85c0c7df0a433aa48ef2449ec9ab4e9efd548bf6
[sdk] / compiler / libec / src / grammar.ec
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43
44 /* Identify Bison output.  */
45 #define YYBISON 1
46
47 /* Bison version.  */
48 #define YYBISON_VERSION "2.4.2"
49
50 /* Skeleton name.  */
51 #define YYSKELETON_NAME "yacc.c"
52
53 /* Pure parsers.  */
54 #define YYPURE 0
55
56 /* Push parsers.  */
57 #define YYPUSH 0
58
59 /* Pull parsers.  */
60 #define YYPULL 1
61
62 /* Using locations.  */
63 #define YYLSP_NEEDED 1
64
65
66
67 /* Copy the first part of user declarations.  */
68
69 /* Line 189 of yacc.c  */
70 #line 1 "grammar.y"
71
72 import "ecdefs"
73
74 #define YYLTYPE Location
75 #include "grammar.h"
76
77 #ifndef YYLLOC_DEFAULT
78 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
79   (Current).start = (Rhs)[1].start;      \
80   (Current).end = (Rhs)[N].end;
81 #endif
82
83 #define PRECOMPILER
84 extern File fileInput;
85 extern char * yytext;
86 OldList * ast;
87 int yylex();
88 int yyerror();
89 bool guess;
90 bool deleteWatchable = false;
91
92 #define MAX_STRUCT_LEVELS     256
93 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
94 int defaultMemberAccess = -1;
95
96 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
97
98 #define C89_DECL_WARNING   "eC expects all declarations to precede statements in the block (C89 style)\n"
99
100 #define uint _uint
101 default:
102
103
104
105 /* Line 189 of yacc.c  */
106 #line 107 "grammar.ec"
107
108 /* Enabling traces.  */
109 #ifndef YYDEBUG
110 # define YYDEBUG 1
111 #endif
112
113 /* Enabling verbose error messages.  */
114 #ifdef YYERROR_VERBOSE
115 # undef YYERROR_VERBOSE
116 # define YYERROR_VERBOSE 1
117 #else
118 # define YYERROR_VERBOSE 0
119 #endif
120
121 /* Enabling the token table.  */
122 #ifndef YYTOKEN_TABLE
123 # define YYTOKEN_TABLE 0
124 #endif
125
126
127 /* Tokens.  */
128 #ifndef YYTOKENTYPE
129 # define YYTOKENTYPE
130    /* Put the tokens into the symbol table, so that GDB and other debuggers
131       know about them.  */
132    enum yytokentype {
133      IDENTIFIER = 258,
134      CONSTANT = 259,
135      STRING_LITERAL = 260,
136      SIZEOF = 261,
137      PTR_OP = 262,
138      INC_OP = 263,
139      DEC_OP = 264,
140      LEFT_OP = 265,
141      RIGHT_OP = 266,
142      LE_OP = 267,
143      GE_OP = 268,
144      EQ_OP = 269,
145      NE_OP = 270,
146      AND_OP = 271,
147      OR_OP = 272,
148      MUL_ASSIGN = 273,
149      DIV_ASSIGN = 274,
150      MOD_ASSIGN = 275,
151      ADD_ASSIGN = 276,
152      SUB_ASSIGN = 277,
153      LEFT_ASSIGN = 278,
154      RIGHT_ASSIGN = 279,
155      AND_ASSIGN = 280,
156      XOR_ASSIGN = 281,
157      OR_ASSIGN = 282,
158      TYPE_NAME = 283,
159      TYPEDEF = 284,
160      EXTERN = 285,
161      STATIC = 286,
162      AUTO = 287,
163      REGISTER = 288,
164      CHAR = 289,
165      SHORT = 290,
166      INT = 291,
167      UINT = 292,
168      INT64 = 293,
169      LONG = 294,
170      SIGNED = 295,
171      UNSIGNED = 296,
172      FLOAT = 297,
173      DOUBLE = 298,
174      CONST = 299,
175      VOLATILE = 300,
176      VOID = 301,
177      VALIST = 302,
178      STRUCT = 303,
179      UNION = 304,
180      ENUM = 305,
181      ELLIPSIS = 306,
182      CASE = 307,
183      DEFAULT = 308,
184      IF = 309,
185      SWITCH = 310,
186      WHILE = 311,
187      DO = 312,
188      FOR = 313,
189      GOTO = 314,
190      CONTINUE = 315,
191      BREAK = 316,
192      RETURN = 317,
193      IFX = 318,
194      ELSE = 319,
195      CLASS = 320,
196      THISCLASS = 321,
197      CLASS_NAME = 322,
198      PROPERTY = 323,
199      SETPROP = 324,
200      GETPROP = 325,
201      NEWOP = 326,
202      RENEW = 327,
203      DELETE = 328,
204      EXT_DECL = 329,
205      EXT_STORAGE = 330,
206      IMPORT = 331,
207      DEFINE = 332,
208      VIRTUAL = 333,
209      ATTRIB = 334,
210      PUBLIC = 335,
211      PRIVATE = 336,
212      TYPED_OBJECT = 337,
213      ANY_OBJECT = 338,
214      _INCREF = 339,
215      EXTENSION = 340,
216      ASM = 341,
217      TYPEOF = 342,
218      WATCH = 343,
219      STOPWATCHING = 344,
220      FIREWATCHERS = 345,
221      WATCHABLE = 346,
222      CLASS_DESIGNER = 347,
223      CLASS_NO_EXPANSION = 348,
224      CLASS_FIXED = 349,
225      ISPROPSET = 350,
226      CLASS_DEFAULT_PROPERTY = 351,
227      PROPERTY_CATEGORY = 352,
228      CLASS_DATA = 353,
229      CLASS_PROPERTY = 354,
230      SUBCLASS = 355,
231      NAMESPACE = 356,
232      NEW0OP = 357,
233      RENEW0 = 358,
234      VAARG = 359,
235      DBTABLE = 360,
236      DBFIELD = 361,
237      DBINDEX = 362,
238      DATABASE_OPEN = 363,
239      ALIGNOF = 364,
240      ATTRIB_DEP = 365,
241      __ATTRIB = 366,
242      BOOL = 367,
243      _BOOL = 368,
244      _COMPLEX = 369,
245      _IMAGINARY = 370,
246      RESTRICT = 371,
247      THREAD = 372
248    };
249 #endif
250
251
252
253 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
254 typedef union YYSTYPE
255 {
256
257 /* Line 214 of yacc.c  */
258 #line 37 "grammar.y"
259
260    SpecifierType specifierType;
261    int i;
262    AccessMode declMode;
263    Identifier id;
264    Expression exp;
265    Specifier specifier;
266    OldList * list;
267    Enumerator enumerator;
268    Declarator declarator;
269    Pointer pointer;
270    Initializer initializer;
271    InitDeclarator initDeclarator;
272    TypeName typeName;
273    Declaration declaration;
274    Statement stmt;
275    FunctionDefinition function;
276    External external;
277    Context context;
278    AsmField asmField;
279    Attrib attrib;
280    ExtDecl extDecl;
281    Attribute attribute;
282
283    Instantiation instance;
284    MembersInit membersInit;
285    MemberInit memberInit;
286    ClassFunction classFunction;
287    ClassDefinition _class;
288    ClassDef classDef;
289    PropertyDef prop;
290    char * string;
291    Symbol symbol;
292    PropertyWatch propertyWatch;
293    TemplateParameter templateParameter;
294    TemplateArgument templateArgument;
295    TemplateDatatype templateDatatype;
296
297    DBTableEntry dbtableEntry;
298    DBIndexItem dbindexItem;
299    DBTableDef dbtableDef;
300
301
302
303 /* Line 214 of yacc.c  */
304 #line 305 "grammar.ec"
305 } YYSTYPE;
306 # define YYSTYPE_IS_TRIVIAL 1
307 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
308 # define YYSTYPE_IS_DECLARED 1
309 #endif
310
311 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
312 typedef struct YYLTYPE
313 {
314   int first_line;
315   int first_column;
316   int last_line;
317   int last_column;
318 } YYLTYPE;
319 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
320 # define YYLTYPE_IS_DECLARED 1
321 # define YYLTYPE_IS_TRIVIAL 1
322 #endif
323
324
325 /* Copy the second part of user declarations.  */
326
327
328 /* Line 264 of yacc.c  */
329 #line 330 "grammar.ec"
330
331 #ifdef short
332 # undef short
333 #endif
334
335 #ifdef YYTYPE_UINT8
336 typedef YYTYPE_UINT8 yytype_uint8;
337 #else
338 typedef unsigned char yytype_uint8;
339 #endif
340
341 #ifdef YYTYPE_INT8
342 typedef YYTYPE_INT8 yytype_int8;
343 #elif (defined __STDC__ || defined __C99__FUNC__ \
344      || defined __cplusplus || defined _MSC_VER)
345 typedef signed char yytype_int8;
346 #else
347 typedef short int yytype_int8;
348 #endif
349
350 #ifdef YYTYPE_UINT16
351 typedef YYTYPE_UINT16 yytype_uint16;
352 #else
353 typedef unsigned short int yytype_uint16;
354 #endif
355
356 #ifdef YYTYPE_INT16
357 typedef YYTYPE_INT16 yytype_int16;
358 #else
359 typedef short int yytype_int16;
360 #endif
361
362 #ifndef YYSIZE_T
363 # ifdef __SIZE_TYPE__
364 #  define YYSIZE_T __SIZE_TYPE__
365 # elif defined size_t
366 #  define YYSIZE_T size_t
367 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
368      || defined __cplusplus || defined _MSC_VER)
369 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
370 #  define YYSIZE_T size_t
371 # else
372 #  define YYSIZE_T unsigned int
373 # endif
374 #endif
375
376 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
377
378 #ifndef YY_
379 # if defined YYENABLE_NLS && YYENABLE_NLS
380 #  if ENABLE_NLS
381 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
382 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
383 #  endif
384 # endif
385 # ifndef YY_
386 #  define YY_(msgid) msgid
387 # endif
388 #endif
389
390 /* Suppress unused-variable warnings by "using" E.  */
391 #if ! defined lint || defined __GNUC__
392 # define YYUSE(e) ((void) (e))
393 #else
394 # define YYUSE(e) /* empty */
395 #endif
396
397 /* Identity function, used to suppress warnings about constant conditions.  */
398 #ifndef lint
399 # define YYID(n) (n)
400 #else
401 #if (defined __STDC__ || defined __C99__FUNC__ \
402      || defined __cplusplus || defined _MSC_VER)
403 static int
404 YYID (int yyi)
405 #else
406 static int
407 YYID (yyi)
408     int yyi;
409 #endif
410 {
411   return yyi;
412 }
413 #endif
414
415 #if ! defined yyoverflow || YYERROR_VERBOSE
416
417 /* The parser invokes alloca or malloc; define the necessary symbols.  */
418
419 # ifdef YYSTACK_USE_ALLOCA
420 #  if YYSTACK_USE_ALLOCA
421 #   ifdef __GNUC__
422 #    define YYSTACK_ALLOC __builtin_alloca
423 #   elif defined __BUILTIN_VA_ARG_INCR
424 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
425 #   elif defined _AIX
426 #    define YYSTACK_ALLOC __alloca
427 #   elif defined _MSC_VER
428 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
429 #    define alloca _alloca
430 #   else
431 #    define YYSTACK_ALLOC alloca
432 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
433      || defined __cplusplus || defined _MSC_VER)
434 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
435 #     ifndef _STDLIB_H
436 #      define _STDLIB_H 1
437 #     endif
438 #    endif
439 #   endif
440 #  endif
441 # endif
442
443 # ifdef YYSTACK_ALLOC
444    /* Pacify GCC's `empty if-body' warning.  */
445 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
446 #  ifndef YYSTACK_ALLOC_MAXIMUM
447     /* The OS might guarantee only one guard page at the bottom of the stack,
448        and a page size can be as small as 4096 bytes.  So we cannot safely
449        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
450        to allow for a few compiler-allocated temporary stack slots.  */
451 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
452 #  endif
453 # else
454 #  define YYSTACK_ALLOC YYMALLOC
455 #  define YYSTACK_FREE YYFREE
456 #  ifndef YYSTACK_ALLOC_MAXIMUM
457 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
458 #  endif
459 #  if (defined __cplusplus && ! defined _STDLIB_H \
460        && ! ((defined YYMALLOC || defined malloc) \
461              && (defined YYFREE || defined free)))
462 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
463 #   ifndef _STDLIB_H
464 #    define _STDLIB_H 1
465 #   endif
466 #  endif
467 #  ifndef YYMALLOC
468 #   define YYMALLOC malloc
469 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
470      || defined __cplusplus || defined _MSC_VER)
471 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
472 #   endif
473 #  endif
474 #  ifndef YYFREE
475 #   define YYFREE free
476 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
477      || defined __cplusplus || defined _MSC_VER)
478 void free (void *); /* INFRINGES ON USER NAME SPACE */
479 #   endif
480 #  endif
481 # endif
482 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
483
484
485 #if (! defined yyoverflow \
486      && (! defined __cplusplus \
487          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
488              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
489
490 /* A type that is properly aligned for any stack member.  */
491 union yyalloc
492 {
493   yytype_int16 yyss_alloc;
494   YYSTYPE yyvs_alloc;
495   YYLTYPE yyls_alloc;
496 };
497
498 /* The size of the maximum gap between one aligned stack and the next.  */
499 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
500
501 /* The size of an array large to enough to hold all stacks, each with
502    N elements.  */
503 # define YYSTACK_BYTES(N) \
504      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
505       + 2 * YYSTACK_GAP_MAXIMUM)
506
507 /* Copy COUNT objects from FROM to TO.  The source and destination do
508    not overlap.  */
509 # ifndef YYCOPY
510 #  if defined __GNUC__ && 1 < __GNUC__
511 #   define YYCOPY(To, From, Count) \
512       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
513 #  else
514 #   define YYCOPY(To, From, Count)              \
515       do                                        \
516         {                                       \
517           YYSIZE_T yyi;                         \
518           for (yyi = 0; yyi < (Count); yyi++)   \
519             (To)[yyi] = (From)[yyi];            \
520         }                                       \
521       while (YYID (0))
522 #  endif
523 # endif
524
525 /* Relocate STACK from its old location to the new one.  The
526    local variables YYSIZE and YYSTACKSIZE give the old and new number of
527    elements in the stack, and YYPTR gives the new location of the
528    stack.  Advance YYPTR to a properly aligned location for the next
529    stack.  */
530 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
531     do                                                                  \
532       {                                                                 \
533         YYSIZE_T yynewbytes;                                            \
534         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
535         Stack = &yyptr->Stack_alloc;                                    \
536         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
537         yyptr += yynewbytes / sizeof (*yyptr);                          \
538       }                                                                 \
539     while (YYID (0))
540
541 #endif
542
543 /* YYFINAL -- State number of the termination state.  */
544 #define YYFINAL  295
545 /* YYLAST -- Last index in YYTABLE.  */
546 #define YYLAST   40121
547
548 /* YYNTOKENS -- Number of terminals.  */
549 #define YYNTOKENS  143
550 /* YYNNTS -- Number of nonterminals.  */
551 #define YYNNTS  257
552 /* YYNRULES -- Number of rules.  */
553 #define YYNRULES  1307
554 /* YYNRULES -- Number of states.  */
555 #define YYNSTATES  2167
556
557 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
558 #define YYUNDEFTOK  2
559 #define YYMAXUTOK   372
560
561 #define YYTRANSLATE(YYX)                                                \
562   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
563
564 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
565 static const yytype_uint8 yytranslate[] =
566 {
567        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
568        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,   137,     2,     2,   131,   139,   134,     2,
571      121,   122,   118,   135,   126,   136,   129,   138,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,   130,   124,
573      119,   125,   120,   142,     2,     2,     2,     2,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
576        2,   132,     2,   133,   140,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,     2,     2,   128,   141,   127,   123,     2,     2,     2,
580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
591        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
592        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
593        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
594       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
595       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
596       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
597       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
598       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
599       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
600       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
601       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
602       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
603      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
604      115,   116,   117
605 };
606
607 #if YYDEBUG
608 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
609    YYRHS.  */
610 static const yytype_uint16 yyprhs[] =
611 {
612        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
613       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
614       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
615       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
616      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
617      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
618      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
619      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
620      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
621      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
622      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
623      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
624      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
625      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
626      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
627      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
628      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
629      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
630      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
631      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
632      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
633      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
634      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
635      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
636      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
637      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
638      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
639      949,   952,   954,   956,   959,   966,   973,   979,   985,   992,
640      999,  1005,  1011,  1019,  1027,  1034,  1041,  1049,  1057,  1064,
641     1071,  1076,  1082,  1087,  1094,  1099,  1101,  1103,  1105,  1107,
642     1111,  1114,  1116,  1119,  1122,  1125,  1127,  1132,  1137,  1141,
643     1146,  1151,  1155,  1159,  1162,  1165,  1170,  1175,  1179,  1184,
644     1188,  1192,  1195,  1198,  1200,  1202,  1206,  1210,  1212,  1214,
645     1218,  1222,  1225,  1228,  1231,  1234,  1237,  1240,  1245,  1251,
646     1257,  1260,  1265,  1267,  1269,  1271,  1273,  1275,  1277,  1279,
647     1281,  1283,  1285,  1287,  1292,  1294,  1298,  1302,  1306,  1310,
648     1314,  1318,  1320,  1324,  1328,  1332,  1336,  1338,  1342,  1346,
649     1350,  1354,  1357,  1359,  1362,  1366,  1370,  1374,  1378,  1382,
650     1386,  1390,  1392,  1396,  1400,  1404,  1408,  1412,  1416,  1420,
651     1424,  1426,  1430,  1434,  1438,  1442,  1444,  1448,  1452,  1456,
652     1460,  1462,  1466,  1470,  1474,  1478,  1480,  1484,  1488,  1490,
653     1494,  1498,  1500,  1506,  1512,  1518,  1524,  1530,  1536,  1542,
654     1548,  1554,  1560,  1566,  1572,  1578,  1584,  1590,  1596,  1598,
655     1602,  1606,  1610,  1614,  1618,  1622,  1626,  1630,  1632,  1634,
656     1636,  1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1654,
657     1658,  1662,  1665,  1667,  1671,  1675,  1677,  1679,  1682,  1685,
658     1689,  1693,  1697,  1701,  1705,  1709,  1713,  1716,  1719,  1722,
659     1725,  1728,  1734,  1741,  1748,  1751,  1757,  1759,  1761,  1763,
660     1768,  1770,  1774,  1778,  1782,  1786,  1790,  1794,  1796,  1800,
661     1804,  1808,  1812,  1814,  1818,  1822,  1826,  1830,  1832,  1835,
662     1839,  1843,  1847,  1851,  1855,  1859,  1863,  1865,  1869,  1873,
663     1877,  1881,  1885,  1889,  1893,  1897,  1899,  1903,  1907,  1911,
664     1915,  1917,  1921,  1925,  1929,  1933,  1935,  1939,  1943,  1947,
665     1951,  1953,  1957,  1961,  1963,  1967,  1971,  1973,  1979,  1985,
666     1991,  1997,  2002,  2007,  2012,  2017,  2023,  2029,  2035,  2041,
667     2046,  2051,  2056,  2061,  2067,  2073,  2079,  2085,  2091,  2097,
668     2103,  2109,  2113,  2117,  2120,  2123,  2125,  2129,  2133,  2137,
669     2141,  2143,  2146,  2150,  2154,  2157,  2160,  2163,  2165,  2168,
670     2172,  2176,  2178,  2180,  2182,  2184,  2186,  2188,  2190,  2192,
671     2194,  2196,  2198,  2200,  2202,  2204,  2206,  2208,  2210,  2214,
672     2218,  2220,  2224,  2227,  2229,  2232,  2235,  2238,  2243,  2248,
673     2252,  2256,  2261,  2267,  2272,  2279,  2286,  2291,  2297,  2302,
674     2309,  2316,  2322,  2328,  2331,  2334,  2337,  2343,  2347,  2353,
675     2360,  2366,  2374,  2382,  2391,  2400,  2408,  2416,  2420,  2424,
676     2428,  2433,  2437,  2443,  2449,  2456,  2464,  2471,  2476,  2478,
677     2480,  2482,  2484,  2486,  2488,  2490,  2492,  2494,  2497,  2499,
678     2501,  2503,  2505,  2507,  2509,  2511,  2513,  2515,  2517,  2519,
679     2521,  2523,  2525,  2527,  2529,  2534,  2539,  2544,  2546,  2548,
680     2550,  2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,
681     2570,  2572,  2574,  2576,  2578,  2580,  2582,  2584,  2586,  2588,
682     2590,  2592,  2594,  2596,  2598,  2603,  2608,  2613,  2615,  2617,
683     2620,  2623,  2627,  2633,  2636,  2640,  2646,  2652,  2658,  2660,
684     2664,  2667,  2670,  2674,  2678,  2681,  2685,  2689,  2694,  2698,
685     2702,  2706,  2710,  2714,  2718,  2723,  2728,  2733,  2735,  2737,
686     2742,  2746,  2749,  2753,  2757,  2761,  2765,  2769,  2773,  2777,
687     2781,  2785,  2789,  2793,  2797,  2799,  2801,  2803,  2806,  2808,
688     2811,  2813,  2816,  2818,  2821,  2823,  2826,  2828,  2831,  2833,
689     2836,  2838,  2841,  2843,  2846,  2848,  2851,  2853,  2856,  2858,
690     2861,  2863,  2866,  2868,  2871,  2873,  2876,  2878,  2881,  2883,
691     2886,  2888,  2891,  2893,  2896,  2898,  2901,  2903,  2906,  2908,
692     2911,  2913,  2916,  2918,  2921,  2923,  2926,  2928,  2931,  2933,
693     2935,  2937,  2940,  2942,  2945,  2947,  2950,  2952,  2955,  2960,
694     2966,  2968,  2970,  2972,  2975,  2977,  2980,  2982,  2985,  2987,
695     2990,  2995,  3001,  3003,  3006,  3008,  3011,  3013,  3016,  3018,
696     3021,  3023,  3026,  3028,  3031,  3036,  3042,  3044,  3047,  3049,
697     3052,  3054,  3057,  3059,  3062,  3064,  3067,  3069,  3072,  3077,
698     3083,  3087,  3091,  3093,  3097,  3101,  3105,  3109,  3111,  3113,
699     3115,  3120,  3125,  3130,  3134,  3139,  3144,  3149,  3153,  3155,
700     3159,  3164,  3168,  3173,  3178,  3183,  3188,  3192,  3195,  3199,
701     3203,  3207,  3211,  3214,  3217,  3220,  3224,  3229,  3231,  3233,
702     3236,  3240,  3244,  3248,  3252,  3255,  3258,  3261,  3265,  3270,
703     3272,  3274,  3276,  3278,  3280,  3285,  3287,  3289,  3291,  3293,
704     3295,  3297,  3299,  3301,  3303,  3308,  3310,  3313,  3317,  3324,
705     3330,  3334,  3339,  3342,  3346,  3350,  3354,  3358,  3363,  3368,
706     3373,  3376,  3380,  3384,  3388,  3393,  3398,  3402,  3407,  3410,
707     3414,  3418,  3422,  3427,  3432,  3434,  3437,  3440,  3444,  3446,
708     3448,  3451,  3454,  3458,  3460,  3462,  3465,  3468,  3472,  3474,
709     3477,  3481,  3484,  3487,  3489,  3492,  3496,  3499,  3501,  3504,
710     3508,  3512,  3514,  3517,  3521,  3525,  3527,  3530,  3534,  3538,
711     3540,  3543,  3547,  3551,  3553,  3556,  3560,  3564,  3566,  3570,
712     3575,  3577,  3582,  3585,  3591,  3595,  3597,  3599,  3601,  3603,
713     3605,  3607,  3611,  3615,  3618,  3621,  3623,  3625,  3629,  3632,
714     3636,  3638,  3642,  3646,  3650,  3654,  3658,  3660,  3663,  3667,
715     3671,  3673,  3676,  3678,  3681,  3684,  3687,  3690,  3694,  3696,
716     3698,  3702,  3706,  3708,  3712,  3717,  3721,  3726,  3730,  3734,
717     3739,  3743,  3748,  3750,  3754,  3758,  3763,  3767,  3771,  3775,
718     3780,  3782,  3786,  3790,  3794,  3798,  3802,  3804,  3808,  3811,
719     3813,  3815,  3817,  3819,  3821,  3824,  3826,  3828,  3830,  3832,
720     3835,  3838,  3841,  3843,  3845,  3847,  3849,  3851,  3854,  3856,
721     3858,  3863,  3871,  3873,  3877,  3878,  3885,  3894,  3905,  3918,
722     3927,  3938,  3949,  3955,  3963,  3973,  3985,  3993,  4003,  4013,
723     4017,  4022,  4027,  4031,  4035,  4039,  4044,  4049,  4053,  4057,
724     4061,  4066,  4071,  4075,  4078,  4082,  4085,  4089,  4094,  4099,
725     4103,  4107,  4109,  4111,  4113,  4115,  4117,  4120,  4124,  4127,
726     4130,  4133,  4137,  4141,  4144,  4150,  4157,  4160,  4163,  4166,
727     4169,  4172,  4175,  4177,  4180,  4183,  4187,  4189,  4192,  4194,
728     4197,  4200,  4202,  4205,  4208,  4211,  4214,  4217,  4220,  4222,
729     4224,  4227,  4230,  4232,  4234,  4237,  4240,  4242,  4245,  4248,
730     4250,  4253,  4255,  4258,  4261,  4267,  4273,  4281,  4289,  4295,
731     4301,  4305,  4308,  4314,  4319,  4324,  4332,  4339,  4346,  4352,
732     4360,  4367,  4372,  4380,  4390,  4394,  4399,  4404,  4410,  4416,
733     4423,  4431,  4438,  4445,  4451,  4457,  4462,  4466,  4469,  4471,
734     4474,  4479,  4483,  4489,  4494,  4498,  4501,  4504,  4507,  4511,
735     4515,  4519,  4523,  4526,  4529,  4531,  4533,  4538,  4542,  4547,
736     4551,  4555,  4558,  4563,  4567,  4572,  4576,  4580,  4583,  4585,
737     4588,  4590,  4592,  4595,  4597,  4600,  4604,  4608,  4610,  4613,
738     4616,  4619,  4623,  4628,  4633,  4636,  4639,  4642,  4645,  4647,
739     4650,  4652,  4655,  4657,  4660,  4663,  4665,  4668,  4670,  4673,
740     4676,  4679,  4682,  4684,  4687,  4690,  4694,  4696,  4698,  4699,
741     4706,  4713,  4719,  4724,  4726,  4729,  4732,  4734,  4738,  4742,
742     4747,  4749,  4751,  4754,  4757,  4764,  4771,  4778
743 };
744
745 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
746 static const yytype_int16 yyrhs[] =
747 {
748      389,     0,    -1,   215,   118,    -1,   215,   119,    -1,   148,
749       -1,   215,   215,    -1,    28,    -1,    28,    -1,   146,    -1,
750      146,   119,   209,   120,    -1,   146,   119,   209,    11,    -1,
751      298,   333,    -1,   331,    -1,   298,   121,   122,    -1,   123,
752      298,   121,   122,    -1,    78,   298,   333,    -1,    78,   331,
753       -1,   298,   334,    -1,   332,    -1,    78,   298,   334,    -1,
754       78,   332,    -1,   149,   373,    -1,   152,   373,    -1,   152,
755      124,    -1,   150,   373,    -1,   151,   373,    -1,   149,   124,
756       -1,   149,   323,   124,    -1,   149,   374,    -1,   153,    -1,
757      152,   374,    -1,   154,    -1,   154,   124,    -1,   297,   333,
758       -1,   297,   335,    -1,   297,   334,    -1,   157,   373,    -1,
759      157,   374,    -1,   158,    -1,   157,    -1,   223,   125,   338,
760       -1,   338,    -1,   223,   125,   339,    -1,   223,   125,     1,
761       -1,   339,    -1,   161,    -1,   163,   126,   161,    -1,   164,
762      126,   161,    -1,   162,    -1,   163,   126,   162,    -1,   164,
763      126,   162,    -1,   163,   126,     1,    -1,   164,   126,     1,
764       -1,   126,    -1,   163,   124,    -1,   164,   124,    -1,   165,
765       -1,   159,    -1,   168,   165,    -1,   168,   159,    -1,   166,
766      165,    -1,   166,   159,    -1,   168,   124,    -1,   166,   124,
767       -1,   124,    -1,   166,    -1,   163,    -1,   166,   163,    -1,
768      168,   163,    -1,   160,    -1,   167,   160,    -1,   168,   160,
769       -1,   166,   160,    -1,   166,   164,    -1,   164,    -1,   163,
770        1,    -1,   170,   127,    -1,   170,     1,   127,    -1,   297,
771      215,   128,   168,    -1,   297,   215,   128,   167,     1,    -1,
772      297,   215,   128,   167,    -1,   297,   215,   128,    -1,   297,
773      215,   128,     1,    -1,   172,   127,    -1,   172,     1,   127,
774       -1,   298,   215,   128,   168,    -1,   298,   215,   128,   167,
775        1,    -1,   298,   215,   128,   167,    -1,   298,   215,   128,
776       -1,   298,   215,   128,     1,    -1,   299,   215,   128,   167,
777      127,    -1,   299,   215,   128,   168,   127,    -1,   299,   215,
778      128,   127,    -1,   175,   127,    -1,   175,     1,   127,    -1,
779      148,   128,   167,    -1,   215,   128,   167,    -1,   148,   128,
780      168,    -1,   148,   128,    -1,   148,   128,   167,     1,    -1,
781      148,   128,     1,    -1,   215,   128,   168,    -1,   215,   128,
782       -1,   215,   128,   167,     1,    -1,   215,   128,     1,    -1,
783      177,   127,    -1,   177,     1,   127,    -1,   128,   168,    -1,
784      128,   167,     1,    -1,   128,     1,    -1,   128,    -1,   128,
785      167,    -1,   223,   125,   338,    -1,   223,   125,   339,    -1,
786      223,   125,     1,    -1,   223,     1,    -1,   178,    -1,   180,
787      126,   178,    -1,   181,   126,   178,    -1,   179,    -1,   180,
788      126,   179,    -1,   181,   126,   179,    -1,   180,     1,    -1,
789       68,   303,   215,   128,    -1,    68,   303,   327,   215,   128,
790       -1,    68,   303,   128,    -1,    68,   303,   327,   128,    -1,
791       68,     1,   128,    -1,   182,    -1,   183,    69,   373,    -1,
792      183,    70,   373,    -1,   183,    95,   373,    -1,   183,    91,
793       -1,   183,    97,   217,    -1,   183,   127,    -1,    99,   303,
794      215,   128,    -1,    99,   303,   327,   215,   128,    -1,    99,
795      303,   128,    -1,    99,   303,   327,   128,    -1,    99,     1,
796      128,    -1,   185,    -1,   186,    69,   373,    -1,   186,    70,
797      373,    -1,   186,   127,    -1,   215,    -1,   188,   215,    -1,
798      188,   373,    -1,    73,   373,    -1,   189,    -1,   190,   189,
799       -1,    88,   121,   188,   122,   373,    -1,    88,   121,   242,
800      122,   128,   190,   127,    -1,   242,   129,    88,   121,   242,
801      122,   128,   190,   127,    -1,    89,   121,   242,   126,   188,
802      122,    -1,   242,   129,    89,   121,   242,   126,   188,   122,
803       -1,    89,   121,   242,   122,    -1,   242,   129,    89,   121,
804      242,   122,    -1,    90,    -1,    90,   188,    -1,   223,   129,
805       90,    -1,   242,   129,    90,   188,    -1,   196,   124,    -1,
806      180,   124,    -1,   155,    -1,   184,    -1,   361,   155,    -1,
807      361,   184,    -1,   187,    -1,    91,    -1,    93,    -1,    94,
808       -1,    99,   121,   215,   122,   125,   338,   124,    -1,   124,
809       -1,   361,   130,    -1,   361,   121,   215,   122,    -1,   156,
810       -1,   298,    -1,   298,   285,    -1,   361,   298,   285,    -1,
811      361,   298,    -1,   361,   174,    -1,   361,   171,    -1,    98,
812      298,   285,    -1,   191,    -1,    92,   215,    -1,    92,   148,
813       -1,    96,   215,    -1,   174,    -1,   171,    -1,   180,    -1,
814      172,     1,    -1,   175,     1,    -1,   361,   156,    -1,   361,
815      172,     1,    -1,   361,   175,     1,    -1,   181,    -1,   195,
816       -1,   197,   195,    -1,   198,   195,    -1,   196,    -1,   197,
817        1,    -1,   198,     1,    -1,   197,   196,    -1,   198,   196,
818       -1,   298,    -1,   298,   327,    -1,   298,    -1,   298,   327,
819       -1,    65,   215,    -1,    65,   215,   125,   200,    -1,    65,
820      215,   130,   199,    -1,    65,   215,   130,   199,   125,   200,
821       -1,    65,   147,    -1,    65,   147,   125,   200,    -1,    65,
822      147,   130,   199,    -1,    65,   147,   130,   199,   125,   200,
823       -1,   215,    -1,   215,    -1,   215,   125,   202,    -1,   232,
824       -1,   298,   215,   125,   204,    -1,   298,   327,   215,   125,
825      204,    -1,   201,    -1,   203,    -1,   205,    -1,   206,    -1,
826      207,   126,   206,    -1,   204,    -1,   202,    -1,   200,    -1,
827      215,   125,   204,    -1,   215,   125,   202,    -1,   215,   125,
828      200,    -1,   208,    -1,   209,   126,   208,    -1,    65,    -1,
829      210,   215,    -1,   210,   146,    -1,   215,   210,   215,    -1,
830      215,   210,   146,    -1,   210,   215,   119,   207,   120,    -1,
831      210,   146,   119,   207,   120,    -1,   215,   210,   215,   119,
832      207,   120,    -1,   215,   210,   146,   119,   207,   120,    -1,
833      214,   127,    -1,   213,   124,    -1,   211,   128,   127,    -1,
834      213,   128,   127,    -1,   210,   215,   124,    -1,   210,   145,
835      124,    -1,   211,   130,   302,    -1,   211,   128,   198,    -1,
836      213,   128,   198,    -1,   211,   128,   197,    -1,   213,   128,
837      197,    -1,   211,   128,     1,    -1,   213,   128,     1,    -1,
838        3,    -1,   219,    -1,   121,   244,   122,    -1,   384,    -1,
839      131,   384,    -1,   131,   384,   129,   384,    -1,     4,    -1,
840      215,    -1,   174,    -1,    85,   121,   373,   122,    -1,    85,
841      121,   244,   122,    -1,    85,   121,   345,   122,   336,    -1,
842       85,   121,   345,   122,   121,   345,   122,   336,    -1,   218,
843      215,    -1,   218,    -1,   217,    -1,   121,   122,    -1,    71,
844      305,   328,   132,   264,   133,    -1,    71,   305,   328,   132,
845      265,   133,    -1,    71,   305,   132,   264,   133,    -1,    71,
846      305,   132,   265,   133,    -1,   102,   305,   328,   132,   264,
847      133,    -1,   102,   305,   328,   132,   265,   133,    -1,   102,
848      305,   132,   264,   133,    -1,   102,   305,   132,   265,   133,
849       -1,    72,   264,   304,   328,   132,   264,   133,    -1,    72,
850      264,   304,   328,   132,   265,   133,    -1,    72,   264,   304,
851      132,   264,   133,    -1,    72,   264,   304,   132,   265,   133,
852       -1,   103,   264,   304,   328,   132,   264,   133,    -1,   103,
853      264,   304,   328,   132,   265,   133,    -1,   103,   264,   304,
854      132,   264,   133,    -1,   103,   264,   304,   132,   265,   133,
855       -1,    65,   121,   297,   122,    -1,    65,   121,   297,   327,
856      122,    -1,    65,   121,   215,   122,    -1,   104,   121,   242,
857      126,   345,   122,    -1,    98,   121,   215,   122,    -1,   396,
858       -1,   397,    -1,   398,    -1,   399,    -1,   132,   224,   133,
859       -1,   132,   133,    -1,   176,    -1,   177,     1,    -1,   121,
860      244,    -1,   121,   262,    -1,   216,    -1,   223,   132,   244,
861      133,    -1,   223,   132,   262,   133,    -1,   223,   121,   122,
862       -1,   223,   121,   224,   122,    -1,   223,   121,   225,   122,
863       -1,   223,   129,   215,    -1,   223,     7,   215,    -1,   223,
864        8,    -1,   223,     9,    -1,   246,   132,   244,   133,    -1,
865      246,   132,   262,   133,    -1,   246,   121,   122,    -1,   246,
866      121,   224,   122,    -1,   246,   129,   215,    -1,   246,     7,
867      215,    -1,   246,     8,    -1,   246,     9,    -1,   242,    -1,
868      220,    -1,   224,   126,   242,    -1,   224,   126,   220,    -1,
869      261,    -1,   221,    -1,   224,   126,   261,    -1,   224,   126,
870      221,    -1,   224,   126,    -1,     8,   227,    -1,     9,   227,
871       -1,   228,   229,    -1,   228,   220,    -1,     6,   227,    -1,
872        6,   121,   346,   122,    -1,     6,   121,    65,   145,   122,
873       -1,     6,   121,    65,   144,   122,    -1,   109,   227,    -1,
874      109,   121,   346,   122,    -1,   226,    -1,   223,    -1,   134,
875       -1,   118,    -1,   135,    -1,   136,    -1,   123,    -1,   137,
876       -1,    73,    -1,    84,    -1,   227,    -1,   121,   345,   122,
877      229,    -1,   229,    -1,   230,   118,   229,    -1,   230,   138,
878      229,    -1,   230,   139,   229,    -1,   250,   118,   229,    -1,
879      250,   138,   229,    -1,   250,   139,   229,    -1,   230,    -1,
880      231,   135,   230,    -1,   231,   136,   230,    -1,   251,   135,
881      230,    -1,   251,   136,   230,    -1,   231,    -1,   232,    10,
882      231,    -1,   232,    11,   231,    -1,   252,    10,   231,    -1,
883      252,    11,   231,    -1,   234,   119,    -1,   232,    -1,   233,
884      232,    -1,   234,   120,   232,    -1,   234,    12,   232,    -1,
885      234,    13,   232,    -1,   253,   119,   232,    -1,   253,   120,
886      232,    -1,   253,    12,   232,    -1,   253,    13,   232,    -1,
887      234,    -1,   235,    14,   234,    -1,   235,    15,   234,    -1,
888      254,    14,   234,    -1,   254,    15,   234,    -1,   235,    14,
889      220,    -1,   235,    15,   220,    -1,   254,    14,   220,    -1,
890      254,    15,   220,    -1,   235,    -1,   236,   134,   235,    -1,
891      255,   134,   235,    -1,   236,   134,   220,    -1,   255,   134,
892      220,    -1,   236,    -1,   237,   140,   236,    -1,   256,   140,
893      236,    -1,   237,   140,   220,    -1,   256,   140,   220,    -1,
894      237,    -1,   238,   141,   237,    -1,   257,   141,   237,    -1,
895      238,   141,   220,    -1,   257,   141,   220,    -1,   238,    -1,
896      239,    16,   238,    -1,   258,    16,   238,    -1,   239,    -1,
897      240,    17,   239,    -1,   259,    17,   239,    -1,   240,    -1,
898      240,   142,   244,   130,   241,    -1,   240,   142,   262,   130,
899      241,    -1,   259,   142,   244,   130,   241,    -1,   259,   142,
900      262,   130,   241,    -1,   240,   142,   245,   130,   241,    -1,
901      240,   142,   263,   130,   241,    -1,   259,   142,   245,   130,
902      241,    -1,   259,   142,   263,   130,   241,    -1,   240,   142,
903      244,   130,   220,    -1,   240,   142,   262,   130,   220,    -1,
904      259,   142,   244,   130,   220,    -1,   259,   142,   262,   130,
905      220,    -1,   240,   142,   245,   130,   220,    -1,   240,   142,
906      263,   130,   220,    -1,   259,   142,   245,   130,   220,    -1,
907      259,   142,   263,   130,   220,    -1,   241,    -1,   227,   243,
908      242,    -1,   248,   243,   242,    -1,   241,   243,   242,    -1,
909      260,   243,   242,    -1,   227,   243,   220,    -1,   248,   243,
910      220,    -1,   241,   243,   220,    -1,   260,   243,   220,    -1,
911      125,    -1,    18,    -1,    19,    -1,    20,    -1,    21,    -1,
912       22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
913       27,    -1,   242,    -1,   244,   126,   242,    -1,   262,   126,
914      242,    -1,   262,   122,    -1,   220,    -1,   244,   126,   220,
915       -1,   262,   126,   220,    -1,   222,    -1,     1,    -1,   223,
916        1,    -1,   175,     1,    -1,   223,     7,     1,    -1,   246,
917        7,     1,    -1,   223,   121,   224,    -1,   223,   121,   225,
918       -1,   223,   129,     1,    -1,   246,   121,   225,    -1,   246,
919      129,     1,    -1,     8,   248,    -1,     9,   248,    -1,   228,
920      249,    -1,   228,   221,    -1,     6,   248,    -1,     6,   121,
921      346,   122,     1,    -1,     6,   121,    65,   145,   122,     1,
922       -1,     6,   121,    65,   144,   122,     1,    -1,   109,   248,
923       -1,   109,   121,   346,   122,     1,    -1,   247,    -1,   246,
924       -1,   248,    -1,   121,   345,   122,   249,    -1,   249,    -1,
925      230,   118,   249,    -1,   230,   138,   249,    -1,   230,   139,
926      249,    -1,   250,   118,   249,    -1,   250,   138,   249,    -1,
927      250,   139,   249,    -1,   250,    -1,   231,   135,   250,    -1,
928      231,   136,   250,    -1,   251,   135,   250,    -1,   251,   136,
929      250,    -1,   251,    -1,   232,    10,   251,    -1,   232,    11,
930      251,    -1,   252,    10,   251,    -1,   252,    11,   251,    -1,
931      252,    -1,   233,   252,    -1,   234,   120,   252,    -1,   234,
932       12,   252,    -1,   234,    13,   252,    -1,   253,   119,   252,
933       -1,   253,   120,   252,    -1,   253,    12,   252,    -1,   253,
934       13,   252,    -1,   253,    -1,   235,    14,   253,    -1,   235,
935       15,   253,    -1,   254,    14,   253,    -1,   254,    15,   253,
936       -1,   235,    14,   221,    -1,   235,    15,   221,    -1,   254,
937       14,   221,    -1,   254,    15,   221,    -1,   254,    -1,   236,
938      134,   254,    -1,   255,   134,   254,    -1,   236,   134,   221,
939       -1,   255,   134,   221,    -1,   255,    -1,   237,   140,   255,
940       -1,   256,   140,   255,    -1,   237,   140,   221,    -1,   256,
941      140,   221,    -1,   256,    -1,   238,   141,   256,    -1,   257,
942      141,   256,    -1,   238,   141,   221,    -1,   257,   141,   221,
943       -1,   257,    -1,   239,    16,   257,    -1,   258,    16,   257,
944       -1,   258,    -1,   240,    17,   258,    -1,   259,    17,   258,
945       -1,   259,    -1,   240,   142,   244,   130,   259,    -1,   240,
946      142,   262,   130,   259,    -1,   259,   142,   244,   130,   259,
947       -1,   259,   142,   262,   130,   259,    -1,   240,   142,   244,
948      130,    -1,   240,   142,   262,   130,    -1,   259,   142,   244,
949      130,    -1,   259,   142,   262,   130,    -1,   240,   142,   245,
950      130,   259,    -1,   240,   142,   263,   130,   259,    -1,   259,
951      142,   245,   130,   259,    -1,   259,   142,   263,   130,   259,
952       -1,   240,   142,   245,   130,    -1,   240,   142,   263,   130,
953       -1,   259,   142,   245,   130,    -1,   259,   142,   263,   130,
954       -1,   240,   142,   244,   130,   221,    -1,   240,   142,   262,
955      130,   221,    -1,   259,   142,   244,   130,   221,    -1,   259,
956      142,   262,   130,   221,    -1,   240,   142,   245,   130,   221,
957       -1,   240,   142,   263,   130,   221,    -1,   259,   142,   245,
958      130,   221,    -1,   259,   142,   263,   130,   221,    -1,   240,
959      142,   130,    -1,   259,   142,   130,    -1,   240,   142,    -1,
960      259,   142,    -1,   260,    -1,   227,   243,   261,    -1,   248,
961      243,   261,    -1,   227,   243,   221,    -1,   248,   243,   221,
962       -1,   261,    -1,   242,     1,    -1,   244,   126,   261,    -1,
963      262,   126,   261,    -1,   244,   244,    -1,   262,   244,    -1,
964      244,   262,    -1,   221,    -1,   220,     1,    -1,   244,   126,
965      221,    -1,   262,   126,   221,    -1,   241,    -1,   260,    -1,
966       29,    -1,    30,    -1,    31,    -1,   117,    -1,    32,    -1,
967       33,    -1,   116,    -1,    29,    -1,    30,    -1,    31,    -1,
968      117,    -1,    32,    -1,    33,    -1,   116,    -1,   215,    -1,
969      215,   125,   264,    -1,   215,   125,   265,    -1,   268,    -1,
970      269,   126,   268,    -1,   269,   126,    -1,    50,    -1,   270,
971      215,    -1,   270,   148,    -1,   273,   127,    -1,   270,   215,
972      128,   127,    -1,   270,   148,   128,   127,    -1,   270,   128,
973      269,    -1,   270,   128,     1,    -1,   270,   215,   128,   269,
974       -1,   270,   215,   128,   269,     1,    -1,   270,   215,   128,
975        1,    -1,   270,   215,   128,   269,   124,   197,    -1,   270,
976      215,   128,   269,   124,   198,    -1,   270,   148,   128,   269,
977       -1,   270,   148,   128,   269,     1,    -1,   270,   148,   128,
978        1,    -1,   270,   148,   128,   269,   124,   197,    -1,   270,
979      148,   128,   269,   124,   198,    -1,   270,   215,   128,   269,
980      124,    -1,   270,   148,   128,   269,   124,    -1,   270,   215,
981       -1,   270,   148,    -1,   276,   127,    -1,   274,   130,   302,
982      128,   127,    -1,   274,   128,   127,    -1,   274,   130,   302,
983      128,   269,    -1,   274,   130,   302,   128,   269,     1,    -1,
984      274,   130,   302,   128,     1,    -1,   274,   130,   302,   128,
985      269,   124,   197,    -1,   274,   130,   302,   128,   269,   124,
986      198,    -1,   274,   130,   302,   128,   269,     1,   124,   197,
987       -1,   274,   130,   302,   128,   269,     1,   124,   198,    -1,
988      274,   130,   302,   128,     1,   124,   197,    -1,   274,   130,
989      302,   128,     1,   124,   198,    -1,   270,   128,   269,    -1,
990      270,   128,     1,    -1,   274,   128,   269,    -1,   274,   128,
991      269,     1,    -1,   274,   128,     1,    -1,   274,   128,   269,
992      124,   197,    -1,   274,   128,   269,   124,   198,    -1,   274,
993      130,   302,   128,   269,   124,    -1,   274,   130,   302,   128,
994      269,     1,   124,    -1,   274,   130,   302,   128,     1,   124,
995       -1,   274,   128,   269,   124,    -1,   275,    -1,   292,    -1,
996      276,    -1,   293,    -1,   318,    -1,    44,    -1,    45,    -1,
997      279,    -1,   280,    -1,   281,   280,    -1,    46,    -1,    34,
998       -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,
999       -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,
1000       -1,    85,    -1,   289,    -1,   271,    -1,   145,    -1,    87,
1001      121,   242,   122,    -1,   100,   121,   145,   122,    -1,   100,
1002      121,   215,   122,    -1,    66,    -1,    82,    -1,    83,    -1,
1003      113,    -1,   112,    -1,   114,    -1,   115,    -1,    46,    -1,
1004       34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,
1005       47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,
1006       41,    -1,    85,    -1,   289,    -1,   271,    -1,   148,    -1,
1007      113,    -1,   112,    -1,   114,    -1,   115,    -1,    87,   121,
1008      242,   122,    -1,   100,   121,   145,   122,    -1,   100,   121,
1009      215,   122,    -1,    66,    -1,   335,    -1,   335,   323,    -1,
1010      130,   264,    -1,   335,   130,   264,    -1,   335,   130,   264,
1011      130,   264,    -1,   130,   265,    -1,   335,   130,   265,    -1,
1012      335,   130,   264,   130,   265,    -1,   335,   130,   265,   130,
1013      265,    -1,   335,   130,   265,   130,   264,    -1,   284,    -1,
1014      285,   126,   284,    -1,   294,   215,    -1,   294,   146,    -1,
1015      294,   318,   215,    -1,   294,   318,   146,    -1,   288,   127,
1016       -1,   286,   128,   127,    -1,   294,   128,   127,    -1,   294,
1017      318,   128,   127,    -1,   286,   128,   197,    -1,   286,   128,
1018      198,    -1,   286,   128,     1,    -1,   294,   128,   197,    -1,
1019      294,   128,   198,    -1,   294,   128,     1,    -1,   294,   318,
1020      128,   197,    -1,   294,   318,   128,   198,    -1,   294,   318,
1021      128,     1,    -1,   286,    -1,   286,    -1,   286,   119,   207,
1022      120,    -1,   290,   130,   302,    -1,   293,   127,    -1,   291,
1023      128,   127,    -1,   290,   128,   127,    -1,   294,   128,   127,
1024       -1,   291,   128,   197,    -1,   291,   128,   198,    -1,   291,
1025      128,     1,    -1,   290,   128,   197,    -1,   290,   128,   198,
1026       -1,   290,   128,     1,    -1,   294,   128,   197,    -1,   294,
1027      128,   198,    -1,   294,   128,     1,    -1,    48,    -1,    49,
1028       -1,   280,    -1,   295,   280,    -1,   282,    -1,   295,   282,
1029       -1,   272,    -1,   295,   272,    -1,   287,    -1,   295,   287,
1030       -1,   280,    -1,   296,   280,    -1,   282,    -1,   296,   282,
1031       -1,   144,    -1,   296,   144,    -1,   272,    -1,   296,   272,
1032       -1,   287,    -1,   296,   287,    -1,   266,    -1,   297,   266,
1033       -1,   280,    -1,   297,   280,    -1,   283,    -1,   297,   283,
1034       -1,   272,    -1,   297,   272,    -1,   287,    -1,   297,   287,
1035       -1,   266,    -1,   298,   266,    -1,   280,    -1,   298,   280,
1036       -1,   282,    -1,   298,   282,    -1,   144,    -1,   298,   144,
1037       -1,   287,    -1,   298,   287,    -1,   272,    -1,   298,   272,
1038       -1,   267,    -1,   299,   267,    -1,   280,    -1,   299,   280,
1039       -1,   282,    -1,   299,   282,    -1,   144,    -1,   299,   144,
1040       -1,   277,    -1,   299,   277,    -1,   278,    -1,   299,   278,
1041       -1,    81,    -1,    80,    -1,   266,    -1,   301,   266,    -1,
1042      280,    -1,   301,   280,    -1,   283,    -1,   301,   283,    -1,
1043      215,    -1,   301,   215,    -1,   215,   119,   209,   120,    -1,
1044      301,   215,   119,   209,   120,    -1,   301,    -1,   294,    -1,
1045      266,    -1,   303,   266,    -1,   280,    -1,   303,   280,    -1,
1046      283,    -1,   303,   283,    -1,   215,    -1,   303,   215,    -1,
1047      215,   119,   209,   120,    -1,   303,   215,   119,   209,   120,
1048       -1,   266,    -1,   304,   266,    -1,   280,    -1,   304,   280,
1049       -1,   283,    -1,   304,   283,    -1,   287,    -1,   304,   287,
1050       -1,   272,    -1,   304,   272,    -1,   215,    -1,   304,   215,
1051       -1,   215,   119,   209,   120,    -1,   304,   215,   119,   209,
1052      120,    -1,   266,    -1,   305,   266,    -1,   280,    -1,   305,
1053      280,    -1,   283,    -1,   305,   283,    -1,   287,    -1,   305,
1054      287,    -1,   272,    -1,   305,   272,    -1,   215,    -1,   305,
1055      215,    -1,   215,   119,   209,   120,    -1,   305,   215,   119,
1056      209,   120,    -1,   307,   126,     1,    -1,   306,   126,     1,
1057       -1,   215,    -1,   307,   126,   215,    -1,   306,   126,   215,
1058       -1,   349,   126,   215,    -1,   350,   126,   215,    -1,   309,
1059       -1,   146,    -1,    37,    -1,   146,   132,   264,   133,    -1,
1060      146,   132,   265,   133,    -1,   146,   132,   145,   133,    -1,
1061      146,   132,   133,    -1,   308,   132,   264,   133,    -1,   308,
1062      132,   265,   133,    -1,   308,   132,   145,   133,    -1,   308,
1063      132,   133,    -1,   215,    -1,   121,   329,   122,    -1,   121,
1064      318,   329,   122,    -1,   121,   330,   122,    -1,   121,   318,
1065      330,   122,    -1,   309,   132,   264,   133,    -1,   309,   132,
1066      265,   133,    -1,   309,   132,   145,   133,    -1,   309,   132,
1067      133,    -1,   309,   121,    -1,   310,   351,   122,    -1,   310,
1068      352,   122,    -1,   310,   307,   122,    -1,   310,   306,   122,
1069       -1,   310,   122,    -1,   310,   306,    -1,   310,     1,    -1,
1070      310,   349,   121,    -1,   310,   298,   215,   121,    -1,   311,
1071       -1,   309,    -1,   308,   121,    -1,   314,   351,   122,    -1,
1072      314,   352,   122,    -1,   314,   307,   122,    -1,   314,   306,
1073      122,    -1,   314,   122,    -1,   314,   306,    -1,   314,     1,
1074       -1,   314,   349,   121,    -1,   314,   298,   215,   121,    -1,
1075      315,    -1,   308,    -1,    74,    -1,    75,    -1,   323,    -1,
1076       86,   121,   384,   122,    -1,    79,    -1,   110,    -1,   111,
1077       -1,     3,    -1,    28,    -1,    75,    -1,    74,    -1,    44,
1078       -1,   320,    -1,   320,   121,   244,   122,    -1,   321,    -1,
1079      322,   321,    -1,   322,   126,   321,    -1,   319,   121,   121,
1080      322,   122,   122,    -1,   319,   121,   121,   122,   122,    -1,
1081      121,   327,   122,    -1,   121,   318,   327,   122,    -1,   132,
1082      133,    -1,   132,   264,   133,    -1,   132,   265,   133,    -1,
1083      132,   145,   133,    -1,   324,   132,   133,    -1,   324,   132,
1084      264,   133,    -1,   324,   132,   145,   133,    -1,   324,   132,
1085      265,   133,    -1,   121,   122,    -1,   121,   351,   122,    -1,
1086      121,   352,   122,    -1,   324,   121,   122,    -1,   324,   121,
1087      351,   122,    -1,   324,   121,   352,   122,    -1,   121,   328,
1088      122,    -1,   121,   318,   328,   122,    -1,   121,   122,    -1,
1089      121,   351,   122,    -1,   121,   352,   122,    -1,   325,   121,
1090      122,    -1,   325,   121,   351,   122,    -1,   325,   121,   352,
1091      122,    -1,   118,    -1,   118,   281,    -1,   118,   326,    -1,
1092      118,   281,   326,    -1,   326,    -1,   324,    -1,   326,   324,
1093       -1,   318,   326,    -1,   318,   326,   324,    -1,   326,    -1,
1094      325,    -1,   326,   325,    -1,   318,   326,    -1,   318,   326,
1095      325,    -1,   313,    -1,   326,   313,    -1,   318,   326,   313,
1096       -1,   329,   318,    -1,   335,   318,    -1,   317,    -1,   326,
1097      317,    -1,   318,   326,   317,    -1,   330,   318,    -1,   311,
1098       -1,   326,   311,    -1,   318,   326,   311,    -1,   326,   318,
1099      311,    -1,   312,    -1,   326,   312,    -1,   318,   326,   312,
1100       -1,   326,   318,   312,    -1,   315,    -1,   326,   315,    -1,
1101      318,   326,   315,    -1,   326,   318,   315,    -1,   316,    -1,
1102      326,   316,    -1,   318,   326,   316,    -1,   326,   318,   316,
1103       -1,   308,    -1,   326,   308,    -1,   318,   326,   308,    -1,
1104      326,   318,   308,    -1,   242,    -1,   128,   340,   127,    -1,
1105      128,   340,   126,   127,    -1,   261,    -1,   128,   340,   127,
1106        1,    -1,   128,   340,    -1,   128,   340,   126,   127,     1,
1107       -1,   128,   340,   126,    -1,   241,    -1,   220,    -1,   260,
1108       -1,   221,    -1,   336,    -1,   337,    -1,   340,   126,   336,
1109       -1,   340,   126,   337,    -1,   340,   336,    -1,   340,   337,
1110       -1,   329,    -1,   330,    -1,   329,   125,   336,    -1,   329,
1111        1,    -1,   329,   125,   337,    -1,   341,    -1,   343,   126,
1112      341,    -1,    37,   126,   341,    -1,    38,   126,   341,    -1,
1113      146,   126,   341,    -1,   344,   126,   341,    -1,   342,    -1,
1114      341,     1,    -1,   343,   126,   342,    -1,   344,   126,   342,
1115       -1,   295,    -1,   295,   327,    -1,   296,    -1,   296,   327,
1116       -1,   298,   330,    -1,   298,   327,    -1,   298,   134,    -1,
1117      298,   134,   330,    -1,   298,    -1,    65,    -1,   298,   330,
1118        1,    -1,   298,   327,     1,    -1,   347,    -1,   349,   126,
1119      347,    -1,   349,     1,   126,   347,    -1,   350,   126,   347,
1120       -1,   350,     1,   126,   347,    -1,     1,   126,   347,    -1,
1121      307,   126,   347,    -1,   307,     1,   126,   347,    -1,   306,
1122      126,   347,    -1,   306,     1,   126,   347,    -1,   348,    -1,
1123      349,   126,   348,    -1,   350,   126,   348,    -1,   350,     1,
1124      126,   348,    -1,     1,   126,   348,    -1,   307,   126,   348,
1125       -1,   306,   126,   348,    -1,   306,     1,   126,   348,    -1,
1126      349,    -1,   349,   126,    51,    -1,   350,   126,    51,    -1,
1127      307,   126,    51,    -1,   306,   126,    51,    -1,     1,   126,
1128       51,    -1,   350,    -1,   349,   126,     1,    -1,   350,     1,
1129       -1,   358,    -1,   323,    -1,   373,    -1,   124,    -1,   130,
1130       -1,   244,   124,    -1,   376,    -1,   378,    -1,   380,    -1,
1131      357,    -1,   194,   124,    -1,   193,   124,    -1,   192,   124,
1132       -1,   359,    -1,   379,    -1,   374,    -1,   377,    -1,   381,
1133       -1,   380,     1,    -1,   262,    -1,   384,    -1,   384,   121,
1134      242,   122,    -1,   132,   215,   133,   384,   121,   242,   122,
1135       -1,   355,    -1,   356,   126,   355,    -1,    -1,    86,   280,
1136      121,   384,   122,   124,    -1,    86,   280,   121,   384,   130,
1137      356,   122,   124,    -1,    86,   280,   121,   384,   130,   356,
1138      130,   356,   122,   124,    -1,    86,   280,   121,   384,   130,
1139      356,   130,   356,   130,   356,   122,   124,    -1,    86,   280,
1140      121,   384,     3,   356,   122,   124,    -1,    86,   280,   121,
1141      384,     3,   356,   130,   356,   122,   124,    -1,    86,   280,
1142      121,   384,   130,   356,     3,   356,   122,   124,    -1,    86,
1143      121,   384,   122,   124,    -1,    86,   121,   384,   130,   356,
1144      122,   124,    -1,    86,   121,   384,   130,   356,   130,   356,
1145      122,   124,    -1,    86,   121,   384,   130,   356,   130,   356,
1146      130,   356,   122,   124,    -1,    86,   121,   384,     3,   356,
1147      122,   124,    -1,    86,   121,   384,     3,   356,   130,   356,
1148      122,   124,    -1,    86,   121,   384,   130,   356,     3,   356,
1149      122,   124,    -1,   215,   130,   353,    -1,    52,   264,   130,
1150      353,    -1,    52,   265,   130,   353,    -1,    52,   130,   353,
1151       -1,    53,   130,   353,    -1,   215,   130,   362,    -1,    52,
1152      264,   130,   362,    -1,    52,   265,   130,   362,    -1,    52,
1153      130,   362,    -1,    53,   130,   362,    -1,   215,   130,   354,
1154       -1,    52,   264,   130,   354,    -1,    52,   265,   130,   354,
1155       -1,    52,   130,   354,    -1,    52,   130,    -1,    53,   130,
1156      354,    -1,    53,   130,    -1,   215,   130,   365,    -1,    52,
1157      264,   130,   365,    -1,    52,   265,   130,   365,    -1,    52,
1158      130,   365,    -1,    53,   130,   365,    -1,    80,    -1,    81,
1159       -1,    53,    -1,    80,    -1,    81,    -1,   297,   124,    -1,
1160      297,   343,   124,    -1,   169,   124,    -1,   365,   124,    -1,
1161      299,   124,    -1,   299,   343,   124,    -1,   300,   343,   124,
1162       -1,   173,   124,    -1,    77,   215,   125,   241,   124,    -1,
1163       31,    77,   215,   125,   241,   124,    -1,   299,     1,    -1,
1164      297,     1,    -1,   365,     1,    -1,   170,     1,    -1,   169,
1165        1,    -1,   297,   344,    -1,   362,    -1,   366,   362,    -1,
1166      367,   362,    -1,   366,     1,   124,    -1,   365,    -1,   366,
1167      365,    -1,   353,    -1,   368,   353,    -1,   369,   353,    -1,
1168      354,    -1,   368,   354,    -1,   369,   354,    -1,   368,   362,
1169       -1,   369,   362,    -1,   368,   365,    -1,   369,   365,    -1,
1170      368,    -1,   366,    -1,   366,   368,    -1,   367,   368,    -1,
1171      369,    -1,   367,    -1,   366,   369,    -1,   367,   369,    -1,
1172      128,    -1,   374,   127,    -1,   372,   371,    -1,   372,    -1,
1173      372,   370,    -1,   124,    -1,   244,   124,    -1,   262,   124,
1174       -1,    54,   121,   244,   122,   353,    -1,    54,   121,   262,
1175      122,   353,    -1,    54,   121,   244,   122,   353,    64,   353,
1176       -1,    54,   121,   262,   122,   353,    64,   353,    -1,    55,
1177      121,   244,   122,   353,    -1,    55,   121,   262,   122,   353,
1178       -1,    54,   121,   262,    -1,   376,     1,    -1,    56,   121,
1179      244,   122,   353,    -1,    56,   121,   262,   353,    -1,    56,
1180      121,   122,   353,    -1,    57,   353,    56,   121,   244,   122,
1181      124,    -1,    57,   353,    56,   121,   262,   124,    -1,    58,
1182      121,   375,   375,   122,   353,    -1,    58,   121,   375,   122,
1183      353,    -1,    58,   121,   375,   375,   244,   122,   353,    -1,
1184       58,   121,   375,   375,   262,   353,    -1,    58,   121,   122,
1185      353,    -1,    58,   121,   215,   130,   244,   122,   353,    -1,
1186       58,   121,   215,   130,   244,   124,   244,   122,   353,    -1,
1187       58,   121,     1,    -1,    58,   121,   262,     1,    -1,    58,
1188      121,   375,     1,    -1,    58,   121,   375,   262,     1,    -1,
1189       58,   121,   375,   375,   262,    -1,    58,   121,   375,   375,
1190      122,   354,    -1,    58,   121,   375,   375,   244,   122,   354,
1191       -1,    58,   121,   375,   375,   262,   354,    -1,    57,   353,
1192       56,   121,   244,   122,    -1,    57,   353,    56,   121,   244,
1193       -1,    57,   353,    56,   121,   262,    -1,    57,   353,    56,
1194      121,    -1,    57,   353,    56,    -1,    57,   353,    -1,    57,
1195       -1,    56,     1,    -1,    56,   121,   122,     1,    -1,    56,
1196      121,   262,    -1,    56,   121,   244,   122,   354,    -1,    56,
1197      121,   262,   354,    -1,    59,   215,   124,    -1,    60,   124,
1198       -1,    61,   124,    -1,    62,   124,    -1,    62,   244,   124,
1199       -1,    62,   262,   124,    -1,    62,   220,   124,    -1,    62,
1200      221,   124,    -1,    62,   262,    -1,    62,   221,    -1,    62,
1201       -1,    59,    -1,   299,   331,   366,   373,    -1,   299,   331,
1202      373,    -1,   299,   333,   366,   373,    -1,   299,   333,   373,
1203       -1,   331,   366,   373,    -1,   331,   373,    -1,   299,   331,
1204      366,   374,    -1,   299,   331,   374,    -1,   299,   333,   366,
1205      374,    -1,   299,   333,   374,    -1,   331,   366,   374,    -1,
1206      331,   374,    -1,     5,    -1,   384,     5,    -1,   382,    -1,
1207      212,    -1,   299,   212,    -1,   363,    -1,    76,   384,    -1,
1208       76,    31,   384,    -1,    76,   215,   384,    -1,   124,    -1,
1209      360,   382,    -1,   360,   212,    -1,   360,   363,    -1,   360,
1210       76,   384,    -1,   360,    76,    31,   384,    -1,   360,    76,
1211      215,   384,    -1,   360,   130,    -1,    31,   130,    -1,   101,
1212      215,    -1,   101,   148,    -1,   390,    -1,   360,   390,    -1,
1213      214,    -1,   299,   214,    -1,   383,    -1,   360,   214,    -1,
1214      360,   383,    -1,   364,    -1,   360,   364,    -1,   386,    -1,
1215      388,   386,    -1,   387,   386,    -1,   388,     1,    -1,   387,
1216        1,    -1,   385,    -1,   388,   385,    -1,   387,   212,    -1,
1217      387,   360,   212,    -1,   388,    -1,   387,    -1,    -1,   105,
1218      384,   215,   128,   395,   127,    -1,   105,   384,   148,   128,
1219      395,   127,    -1,   105,   384,   128,   395,   127,    -1,   298,
1220      215,   384,   124,    -1,   215,    -1,   120,   215,    -1,   119,
1221      215,    -1,   392,    -1,   393,   126,   392,    -1,   107,   393,
1222      124,    -1,   107,   393,   215,   124,    -1,   391,    -1,   394,
1223       -1,   395,   391,    -1,   395,   394,    -1,   108,   121,   242,
1224      126,   242,   122,    -1,   106,   121,   384,   126,   215,   122,
1225       -1,   107,   121,   384,   126,   215,   122,    -1,   105,   121,
1226      384,   122,    -1
1227 };
1228
1229 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1230 static const yytype_uint16 yyrline[] =
1231 {
1232        0,   280,   280,   309,   368,   369,   479,   483,   486,   487,
1233      488,   537,   539,   544,   549,   554,   556,   561,   563,   568,
1234      570,   575,   577,   579,   581,   583,   587,   591,   604,   606,
1235      608,   610,   612,   618,   620,   625,   630,   635,   637,   639,
1236      644,   645,   649,   650,   661,   665,   666,   668,   673,   674,
1237      676,   679,   691,   702,   721,   723,   728,   729,   730,   731,
1238      732,   733,   734,   735,   748,   752,   753,   754,   755,   759,
1239      760,   761,   762,   763,   764,   765,   769,   771,   776,   778,
1240      780,   782,   784,   814,   816,   821,   823,   825,   827,   829,
1241      858,   860,   862,   867,   869,   874,   876,   880,   882,   884,
1242      886,   891,   894,   897,   900,   965,   967,   972,   974,   976,
1243      978,   980,  1011,  1015,  1016,  1017,  1021,  1022,  1023,  1027,
1244     1028,  1029,  1030,  1034,  1037,  1040,  1043,  1046,  1051,  1052,
1245     1054,  1056,  1058,  1060,  1065,  1069,  1072,  1075,  1078,  1081,
1246     1086,  1087,  1089,  1094,  1098,  1100,  1105,  1107,  1112,  1114,
1247     1119,  1124,  1126,  1131,  1133,  1135,  1137,  1142,  1144,  1146,
1248     1148,  1153,  1154,  1155,  1156,  1157,  1158,  1159,  1160,  1161,
1249     1162,  1163,  1165,  1166,  1168,  1172,  1175,  1176,  1177,  1178,
1250     1179,  1180,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,
1251     1190,  1191,  1195,  1196,  1197,  1201,  1205,  1206,  1207,  1211,
1252     1212,  1213,  1214,  1215,  1219,  1220,  1232,  1233,  1237,  1238,
1253     1239,  1240,  1241,  1242,  1243,  1244,  1248,  1252,  1253,  1257,
1254     1265,  1266,  1270,  1271,  1272,  1276,  1277,  1281,  1282,  1283,
1255     1284,  1285,  1286,  1326,  1327,  1331,  1339,  1340,  1348,  1349,
1256     1351,  1352,  1361,  1362,  1366,  1373,  1380,  1386,  1393,  1399,
1257     1408,  1415,  1421,  1427,  1433,  1439,  1445,  1456,  1461,  1462,
1258     1467,  1468,  1469,  1473,  1477,  1478,  1479,  1480,  1481,  1482,
1259     1483,  1496,  1497,  1498,  1499,  1500,  1501,  1502,  1503,  1504,
1260     1505,  1506,  1507,  1508,  1509,  1510,  1511,  1512,  1513,  1514,
1261     1515,  1516,  1517,  1518,  1520,  1521,  1522,  1523,  1524,  1526,
1262     1527,  1531,  1535,  1539,  1540,  1544,  1546,  1547,  1548,  1549,
1263     1550,  1551,  1552,  1553,  1554,  1556,  1557,  1558,  1559,  1560,
1264     1561,  1562,  1563,  1590,  1591,  1592,  1593,  1597,  1598,  1599,
1265     1600,  1601,  1605,  1606,  1607,  1608,  1610,  1611,  1612,  1613,
1266     1616,  1617,  1621,  1622,  1631,  1632,  1633,  1634,  1635,  1636,
1267     1637,  1638,  1642,  1643,  1647,  1648,  1649,  1650,  1651,  1652,
1268     1653,  1657,  1658,  1659,  1660,  1661,  1665,  1666,  1667,  1668,
1269     1669,  1673,  1681,  1682,  1683,  1684,  1685,  1686,  1687,  1688,
1270     1689,  1693,  1694,  1695,  1696,  1697,  1699,  1700,  1701,  1702,
1271     1706,  1707,  1708,  1710,  1711,  1715,  1716,  1717,  1719,  1720,
1272     1724,  1725,  1726,  1728,  1729,  1733,  1734,  1735,  1739,  1740,
1273     1741,  1745,  1746,  1747,  1748,  1749,  1751,  1752,  1753,  1754,
1274     1756,  1757,  1758,  1759,  1761,  1762,  1763,  1764,  1768,  1769,
1275     1770,  1771,  1772,  1774,  1775,  1776,  1777,  1781,  1782,  1783,
1276     1784,  1785,  1786,  1787,  1788,  1789,  1790,  1791,  1795,  1796,
1277     1797,  1798,  1802,  1803,  1804,  1808,  1809,  1810,  1811,  1813,
1278     1814,  1816,  1817,  1822,  1824,  1829,  1857,  1858,  1859,  1860,
1279     1862,  1863,  1864,  1865,  1867,  1868,  1872,  1873,  1882,  1883,
1280     1887,  1888,  1889,  1890,  1891,  1892,  1893,  1897,  1898,  1902,
1281     1906,  1910,  1917,  1918,  1919,  1920,  1921,  1925,  1926,  1977,
1282     1978,  1979,  1980,  1981,  1982,  1983,  1987,  1988,  1989,  1990,
1283     1991,  1998,  1999,  2000,  2001,  2005,  2006,  2007,  2009,  2010,
1284     2014,  2015,  2016,  2018,  2019,  2023,  2024,  2025,  2027,  2028,
1285     2032,  2033,  2034,  2038,  2039,  2040,  2044,  2045,  2046,  2047,
1286     2048,  2049,  2050,  2051,  2052,  2054,  2055,  2056,  2057,  2058,
1287     2059,  2060,  2061,  2063,  2064,  2065,  2066,  2068,  2069,  2070,
1288     2071,  2073,  2081,  2085,  2090,  2097,  2098,  2102,  2107,  2108,
1289     2112,  2113,  2114,  2115,  2121,  2122,  2123,  2127,  2128,  2129,
1290     2130,  2134,  2136,  2140,  2141,  2142,  2143,  2144,  2145,  2146,
1291     2150,  2151,  2152,  2153,  2154,  2155,  2156,  2160,  2161,  2162,
1292     2166,  2167,  2168,  2172,  2176,  2177,  2181,  2182,  2183,  2187,
1293     2188,  2190,  2191,  2192,  2193,  2194,  2196,  2197,  2198,  2199,
1294     2200,  2202,  2203,  2207,  2208,  2212,  2213,  2214,  2218,  2219,
1295     2220,  2221,  2222,  2223,  2224,  2225,  2226,  2228,  2229,  2231,
1296     2232,  2233,  2234,  2235,  2237,  2238,  2239,  2240,  2244,  2245,
1297     2249,  2250,  2254,  2258,  2259,  2260,  2265,  2266,  2270,  2271,
1298     2272,  2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,
1299     2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,  2291,
1300     2292,  2293,  2294,  2295,  2299,  2300,  2301,  2302,  2303,  2304,
1301     2305,  2306,  2307,  2308,  2309,  2310,  2311,  2312,  2313,  2314,
1302     2315,  2316,  2317,  2318,  2319,  2320,  2321,  2322,  2328,  2330,
1303     2332,  2334,  2336,  2338,  2340,  2342,  2344,  2346,  2351,  2352,
1304     2356,  2362,  2368,  2375,  2385,  2386,  2387,  2388,  2392,  2393,
1305     2394,  2396,  2397,  2398,  2400,  2401,  2402,  2406,  2410,  2418,
1306     2427,  2436,  2437,  2439,  2440,  2444,  2451,  2458,  2461,  2474,
1307     2488,  2491,  2493,  2495,  2500,  2501,  2505,  2506,  2507,  2508,
1308     2509,  2510,  2511,  2512,  2516,  2517,  2518,  2519,  2520,  2521,
1309     2522,  2523,  2524,  2525,  2529,  2530,  2531,  2532,  2533,  2534,
1310     2535,  2536,  2537,  2538,  2542,  2543,  2544,  2545,  2546,  2547,
1311     2548,  2549,  2550,  2551,  2552,  2553,  2557,  2558,  2559,  2560,
1312     2561,  2562,  2563,  2564,  2565,  2566,  2570,  2571,  2575,  2576,
1313     2577,  2578,  2579,  2580,  2581,  2582,  2583,  2585,  2587,  2605,
1314     2623,  2624,  2628,  2629,  2630,  2631,  2632,  2633,  2634,  2635,
1315     2636,  2654,  2671,  2672,  2673,  2674,  2675,  2676,  2677,  2678,
1316     2679,  2680,  2681,  2682,  2683,  2701,  2718,  2719,  2720,  2721,
1317     2722,  2723,  2724,  2725,  2726,  2727,  2728,  2729,  2730,  2748,
1318     2765,  2766,  2770,  2771,  2772,  2773,  2774,  2778,  2779,  2786,
1319     2788,  2797,  2806,  2815,  2824,  2825,  2826,  2827,  2831,  2832,
1320     2833,  2834,  2835,  2836,  2837,  2838,  2839,  2843,  2847,  2848,
1321     2849,  2850,  2851,  2856,  2865,  2874,  2883,  2897,  2898,  2903,
1322     2907,  2908,  2909,  2910,  2911,  2916,  2925,  2934,  2943,  2957,
1323     2958,  3007,  3008,  3009,  3010,  3022,  3023,  3024,  3029,  3030,
1324     3031,  3032,  3033,  3037,  3038,  3042,  3043,  3044,  3048,  3049,
1325     3053,  3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,
1326     3063,  3064,  3065,  3066,  3067,  3068,  3072,  3073,  3074,  3075,
1327     3076,  3077,  3078,  3079,  3083,  3084,  3085,  3086,  3090,  3091,
1328     3092,  3093,  3094,  3098,  3099,  3100,  3101,  3102,  3106,  3107,
1329     3109,  3111,  3113,  3118,  3119,  3121,  3123,  3128,  3129,  3130,
1330     3131,  3135,  3136,  3137,  3138,  3142,  3143,  3144,  3145,  3149,
1331     3150,  3151,  3152,  3156,  3157,  3158,  3159,  3163,  3164,  3165,
1332     3182,  3183,  3184,  3185,  3198,  3215,  3216,  3221,  3222,  3226,
1333     3227,  3228,  3229,  3232,  3233,  3237,  3238,  3239,  3243,  3247,
1334     3251,  3252,  3253,  3254,  3255,  3264,  3273,  3274,  3275,  3276,
1335     3280,  3281,  3285,  3286,  3291,  3292,  3293,  3294,  3295,  3296,
1336     3315,  3316,  3320,  3321,  3322,  3323,  3324,  3325,  3327,  3328,
1337     3329,  3330,  3334,  3335,  3336,  3337,  3338,  3340,  3341,  3342,
1338     3346,  3347,  3348,  3349,  3350,  3351,  3355,  3356,  3357,  3362,
1339     3363,  3364,  3365,  3366,  3367,  3368,  3369,  3370,  3371,  3372,
1340     3373,  3374,  3378,  3379,  3380,  3381,  3382,  3383,  3384,  3388,
1341     3389,  3390,  3394,  3395,  3396,  3400,  3401,  3402,  3403,  3405,
1342     3406,  3407,  3409,  3410,  3411,  3412,  3414,  3415,  3416,  3420,
1343     3421,  3422,  3423,  3424,  3426,  3427,  3428,  3429,  3430,  3434,
1344     3435,  3436,  3437,  3438,  3439,  3440,  3442,  3443,  3444,  3445,
1345     3446,  3450,  3451,  3452,  3456,  3457,  3461,  3462,  3463,  3464,
1346     3468,  3469,  3470,  3472,  3473,  3474,  3478,  3482,  3483,  3485,
1347     3486,  3487,  3491,  3492,  3493,  3494,  3498,  3499,  3503,  3504,
1348     3505,  3509,  3510,  3511,  3512,  3513,  3514,  3515,  3519,  3520,
1349     3521,  3522,  3526,  3527,  3528,  3529,  3533,  3537,  3541,  3543,
1350     3546,  3552,  3553,  3554,  3558,  3559,  3560,  3561,  3562,  3563,
1351     3567,  3568,  3572,  3573,  3574,  3576,  3577,  3579,  3580,  3581,
1352     3582,  3583,  3585,  3586,  3590,  3591,  3592,  3593,  3597,  3598,
1353     3599,  3600,  3602,  3603,  3604,  3605,  3606,  3607,  3608,  3611,
1354     3615,  3616,  3620,  3621,  3625,  3626,  3627,  3628,  3629,  3630,
1355     3631,  3632,  3636,  3637,  3638,  3639,  3645,  3646,  3648,  3649,
1356     3652,  3653,  3656,  3657,  3658,  3659,  3660,  3661,  3665,  3666,
1357     3678,  3679,  3682,  3685,  3687,  3688,  3689,  3699,  3701,  3702,
1358     3704,  3705,  3706,  3707,  3717,  3718,  3719,  3720,  3721,  3722,
1359     3726,  3727,  3736,  3738,  3739,  3741,  3743,  3747,  3748,  3749,
1360     3750,  3751,  3755,  3756,  3757,  3759,  3764,  3765,  3766,  3770,
1361     3771,  3772,  3776,  3780,  3781,  3782,  3786,  3787,  3791,  3792,
1362     3796,  3797,  3798,  3799,  3803,  3807,  3811,  3815
1363 };
1364 #endif
1365
1366 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1367 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1368    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1369 static const char *const yytname[] =
1370 {
1371   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1372   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1373   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1374   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1375   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1376   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1377   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1378   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1379   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1380   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1381   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1382   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1383   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1384   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1385   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1386   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1387   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1388   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1389   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1390   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "'*'", "'<'",
1391   "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'",
1392   "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'",
1393   "'^'", "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type",
1394   "base_strict_type_name", "strict_type",
1395   "class_function_definition_start",
1396   "constructor_function_definition_start",
1397   "destructor_function_definition_start",
1398   "virtual_class_function_definition_start",
1399   "class_function_definition_start_error",
1400   "virtual_class_function_definition_start_error",
1401   "class_function_definition", "class_function_definition_error",
1402   "instance_class_function_definition_start",
1403   "instance_class_function_definition_start_error",
1404   "instance_class_function_definition",
1405   "instance_class_function_definition_error", "data_member_initialization",
1406   "data_member_initialization_error", "data_member_initialization_list",
1407   "data_member_initialization_list_error",
1408   "data_member_initialization_list_coloned",
1409   "members_initialization_list_coloned", "members_initialization_list",
1410   "members_initialization_list_error", "instantiation_named",
1411   "instantiation_named_error", "guess_instantiation_named",
1412   "guess_instantiation_named_error", "external_guess_instantiation_named",
1413   "instantiation_unnamed", "instantiation_unnamed_error",
1414   "instantiation_anon", "instantiation_anon_error", "default_property",
1415   "default_property_error", "default_property_list",
1416   "default_property_list_error", "property_start", "property_body",
1417   "property", "class_property_start", "class_property_body",
1418   "class_property", "watch_property_list", "property_watch",
1419   "property_watch_list", "self_watch_definition", "watch_definition",
1420   "stopwatching", "firewatchers", "struct_declaration",
1421   "struct_declaration_error", "struct_declaration_list",
1422   "struct_declaration_list_error", "template_datatype",
1423   "template_type_argument", "template_type_parameter",
1424   "template_identifier_argument", "template_identifier_parameter",
1425   "template_expression_argument", "template_expression_parameter",
1426   "template_parameter", "template_parameters_list", "template_argument",
1427   "template_arguments_list", "class_entry", "class_decl", "class",
1428   "class_head", "class_error", "identifier", "primary_expression",
1429   "i18n_string", "constant", "simple_primary_expression",
1430   "anon_instantiation_expression", "anon_instantiation_expression_error",
1431   "primary_expression_error", "postfix_expression",
1432   "argument_expression_list", "argument_expression_list_error",
1433   "common_unary_expression", "unary_expression", "unary_operator",
1434   "cast_expression", "multiplicative_expression", "additive_expression",
1435   "shift_expression", "relational_expression_smaller_than",
1436   "relational_expression", "equality_expression", "and_expression",
1437   "exclusive_or_expression", "inclusive_or_expression",
1438   "logical_and_expression", "logical_or_expression",
1439   "conditional_expression", "assignment_expression", "assignment_operator",
1440   "expression", "expression_anon_inst", "postfix_expression_error",
1441   "common_unary_expression_error", "unary_expression_error",
1442   "cast_expression_error", "multiplicative_expression_error",
1443   "additive_expression_error", "shift_expression_error",
1444   "relational_expression_error", "equality_expression_error",
1445   "and_expression_error", "exclusive_or_expression_error",
1446   "inclusive_or_expression_error", "logical_and_expression_error",
1447   "logical_or_expression_error", "conditional_expression_error",
1448   "assignment_expression_error", "expression_error",
1449   "expression_anon_inst_error", "constant_expression",
1450   "constant_expression_error", "storage_class_specifier",
1451   "external_storage_class_specifier", "enumerator", "enumerator_list",
1452   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1453   "enum_specifier_compound_error", "enum_decl", "enum_class",
1454   "enum_class_error", "class_specifier", "class_specifier_error",
1455   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1456   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1457   "struct_entry", "struct_or_union_specifier_compound",
1458   "struct_or_union_specifier_compound_error",
1459   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1460   "struct_class", "struct_class_error", "struct_or_union",
1461   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1462   "declaration_specifiers", "guess_declaration_specifiers",
1463   "external_guess_declaration_specifiers",
1464   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1465   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1466   "new_specifiers", "identifier_list_error", "identifier_list",
1467   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1468   "direct_declarator_function_start", "direct_declarator_function",
1469   "direct_declarator_function_error", "direct_declarator",
1470   "direct_declarator_function_start_type_ok",
1471   "direct_declarator_function_type_ok",
1472   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1473   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1474   "attrib", "direct_abstract_declarator",
1475   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1476   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1477   "declarator_function", "declarator_function_error",
1478   "declarator_function_type_ok", "declarator_function_error_type_ok",
1479   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1480   "initializer_condition", "initializer_condition_error",
1481   "initializer_list", "init_declarator", "init_declarator_error",
1482   "init_declarator_list", "init_declarator_list_error", "type_name",
1483   "guess_type_name", "parameter_declaration",
1484   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1485   "parameter_type_list", "parameter_type_list_error", "statement",
1486   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1487   "labeled_statement", "labeled_statement_error", "declaration_mode",
1488   "member_access", "declaration", "external_guess_declaration",
1489   "external_guess_declaration_error", "declaration_error",
1490   "declaration_list", "declaration_list_error", "statement_list",
1491   "statement_list_error", "compound_inside", "compound_inside_error",
1492   "compound_start", "compound_statement", "compound_statement_error",
1493   "expression_statement", "selection_statement",
1494   "selection_statement_error", "iteration_statement",
1495   "iteration_statement_error", "jump_statement", "jump_statement_error",
1496   "function_definition", "function_definition_error", "string_literal",
1497   "external_declaration", "external_declaration_error",
1498   "translation_unit_error", "translation_unit", "thefile",
1499   "dbtable_definition", "dbfield_entry", "dbindex_item",
1500   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1501   "database_open", "dbfield", "dbindex", "dbtable", 0
1502 };
1503 #endif
1504
1505 # ifdef YYPRINT
1506 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1507    token YYLEX-NUM.  */
1508 static const yytype_uint16 yytoknum[] =
1509 {
1510        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1511      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1512      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1513      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1514      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1515      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1516      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1517      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1518      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1519      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1520      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1521      365,   366,   367,   368,   369,   370,   371,   372,    42,    60,
1522       62,    40,    41,   126,    59,    61,    44,   125,   123,    46,
1523       58,    36,    91,    93,    38,    43,    45,    33,    47,    37,
1524       94,   124,    63
1525 };
1526 # endif
1527
1528 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1529 static const yytype_uint16 yyr1[] =
1530 {
1531        0,   143,   144,   144,   145,   145,   146,   147,   148,   148,
1532      148,   149,   149,   150,   151,   152,   152,   153,   153,   154,
1533      154,   155,   155,   155,   155,   155,   155,   155,   156,   156,
1534      156,   156,   156,   157,   157,   158,   159,   160,   160,   160,
1535      161,   161,   162,   162,   162,   163,   163,   163,   164,   164,
1536      164,   164,   164,   164,   165,   165,   166,   166,   166,   166,
1537      166,   166,   166,   166,   166,   167,   167,   167,   167,   168,
1538      168,   168,   168,   168,   168,   168,   169,   169,   170,   170,
1539      170,   170,   170,   171,   171,   172,   172,   172,   172,   172,
1540      173,   173,   173,   174,   174,   175,   175,   175,   175,   175,
1541      175,   175,   175,   175,   175,   176,   176,   177,   177,   177,
1542      177,   177,   178,   179,   179,   179,   180,   180,   180,   181,
1543      181,   181,   181,   182,   182,   182,   182,   182,   183,   183,
1544      183,   183,   183,   183,   184,   185,   185,   185,   185,   185,
1545      186,   186,   186,   187,   188,   188,   189,   189,   190,   190,
1546      191,   192,   192,   193,   193,   193,   193,   194,   194,   194,
1547      194,   195,   195,   195,   195,   195,   195,   195,   195,   195,
1548      195,   195,   195,   195,   195,   196,   196,   196,   196,   196,
1549      196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
1550      196,   196,   196,   196,   196,   196,   197,   197,   197,   198,
1551      198,   198,   198,   198,   199,   199,   200,   200,   201,   201,
1552      201,   201,   201,   201,   201,   201,   202,   203,   203,   204,
1553      205,   205,   206,   206,   206,   207,   207,   208,   208,   208,
1554      208,   208,   208,   209,   209,   210,   211,   211,   211,   211,
1555      211,   211,   211,   211,   212,   212,   212,   212,   212,   212,
1556      213,   214,   214,   214,   214,   214,   214,   215,   216,   216,
1557      217,   217,   217,   218,   219,   219,   219,   219,   219,   219,
1558      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1559      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1560      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1561      219,   220,   221,   222,   222,   223,   223,   223,   223,   223,
1562      223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1563      223,   223,   223,   224,   224,   224,   224,   225,   225,   225,
1564      225,   225,   226,   226,   226,   226,   226,   226,   226,   226,
1565      226,   226,   227,   227,   228,   228,   228,   228,   228,   228,
1566      228,   228,   229,   229,   230,   230,   230,   230,   230,   230,
1567      230,   231,   231,   231,   231,   231,   232,   232,   232,   232,
1568      232,   233,   234,   234,   234,   234,   234,   234,   234,   234,
1569      234,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1570      236,   236,   236,   236,   236,   237,   237,   237,   237,   237,
1571      238,   238,   238,   238,   238,   239,   239,   239,   240,   240,
1572      240,   241,   241,   241,   241,   241,   241,   241,   241,   241,
1573      241,   241,   241,   241,   241,   241,   241,   241,   242,   242,
1574      242,   242,   242,   242,   242,   242,   242,   243,   243,   243,
1575      243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
1576      244,   244,   245,   245,   245,   246,   246,   246,   246,   246,
1577      246,   246,   246,   246,   246,   246,   247,   247,   247,   247,
1578      247,   247,   247,   247,   247,   247,   248,   248,   249,   249,
1579      250,   250,   250,   250,   250,   250,   250,   251,   251,   251,
1580      251,   251,   252,   252,   252,   252,   252,   253,   253,   253,
1581      253,   253,   253,   253,   253,   253,   254,   254,   254,   254,
1582      254,   254,   254,   254,   254,   255,   255,   255,   255,   255,
1583      256,   256,   256,   256,   256,   257,   257,   257,   257,   257,
1584      258,   258,   258,   259,   259,   259,   260,   260,   260,   260,
1585      260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
1586      260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
1587      260,   260,   260,   260,   260,   261,   261,   261,   261,   261,
1588      262,   262,   262,   262,   262,   262,   262,   263,   263,   263,
1589      263,   264,   265,   266,   266,   266,   266,   266,   266,   266,
1590      267,   267,   267,   267,   267,   267,   267,   268,   268,   268,
1591      269,   269,   269,   270,   271,   271,   272,   272,   272,   273,
1592      273,   273,   273,   273,   273,   273,   273,   273,   273,   273,
1593      273,   273,   273,   274,   274,   275,   275,   275,   276,   276,
1594      276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
1595      276,   276,   276,   276,   276,   276,   276,   276,   277,   277,
1596      278,   278,   279,   280,   280,   280,   281,   281,   282,   282,
1597      282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
1598      282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
1599      282,   282,   282,   282,   283,   283,   283,   283,   283,   283,
1600      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1601      283,   283,   283,   283,   283,   283,   283,   283,   284,   284,
1602      284,   284,   284,   284,   284,   284,   284,   284,   285,   285,
1603      286,   286,   286,   286,   287,   287,   287,   287,   288,   288,
1604      288,   288,   288,   288,   288,   288,   288,   289,   290,   290,
1605      291,   292,   292,   292,   292,   293,   293,   293,   293,   293,
1606      293,   293,   293,   293,   294,   294,   295,   295,   295,   295,
1607      295,   295,   295,   295,   296,   296,   296,   296,   296,   296,
1608      296,   296,   296,   296,   297,   297,   297,   297,   297,   297,
1609      297,   297,   297,   297,   298,   298,   298,   298,   298,   298,
1610      298,   298,   298,   298,   298,   298,   299,   299,   299,   299,
1611      299,   299,   299,   299,   299,   299,   300,   300,   301,   301,
1612      301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1613      302,   302,   303,   303,   303,   303,   303,   303,   303,   303,
1614      303,   303,   304,   304,   304,   304,   304,   304,   304,   304,
1615      304,   304,   304,   304,   304,   304,   305,   305,   305,   305,
1616      305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
1617      306,   306,   307,   307,   307,   307,   307,   308,   308,   308,
1618      308,   308,   308,   308,   308,   308,   308,   308,   309,   309,
1619      309,   309,   309,   309,   309,   309,   309,   310,   311,   311,
1620      311,   311,   311,   312,   312,   312,   312,   313,   313,   314,
1621      315,   315,   315,   315,   315,   316,   316,   316,   316,   317,
1622      317,   318,   318,   318,   318,   319,   319,   319,   320,   320,
1623      320,   320,   320,   321,   321,   322,   322,   322,   323,   323,
1624      324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
1625      324,   324,   324,   324,   324,   324,   325,   325,   325,   325,
1626      325,   325,   325,   325,   326,   326,   326,   326,   327,   327,
1627      327,   327,   327,   328,   328,   328,   328,   328,   329,   329,
1628      329,   329,   329,   330,   330,   330,   330,   331,   331,   331,
1629      331,   332,   332,   332,   332,   333,   333,   333,   333,   334,
1630      334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
1631      337,   337,   337,   337,   337,   338,   338,   339,   339,   340,
1632      340,   340,   340,   340,   340,   341,   341,   341,   342,   342,
1633      343,   343,   343,   343,   343,   343,   344,   344,   344,   344,
1634      345,   345,   346,   346,   347,   347,   347,   347,   347,   347,
1635      348,   348,   349,   349,   349,   349,   349,   349,   349,   349,
1636      349,   349,   350,   350,   350,   350,   350,   350,   350,   350,
1637      351,   351,   351,   351,   351,   351,   352,   352,   352,   353,
1638      353,   353,   353,   353,   353,   353,   353,   353,   353,   353,
1639      353,   353,   354,   354,   354,   354,   354,   354,   354,   355,
1640      355,   355,   356,   356,   356,   357,   357,   357,   357,   357,
1641      357,   357,   357,   357,   357,   357,   357,   357,   357,   358,
1642      358,   358,   358,   358,   358,   358,   358,   358,   358,   359,
1643      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1644      359,   360,   360,   360,   361,   361,   362,   362,   362,   362,
1645      363,   363,   363,   363,   363,   363,   364,   365,   365,   365,
1646      365,   365,   366,   366,   366,   366,   367,   367,   368,   368,
1647      368,   369,   369,   369,   369,   369,   369,   369,   370,   370,
1648      370,   370,   371,   371,   371,   371,   372,   373,   374,   374,
1649      374,   375,   375,   375,   376,   376,   376,   376,   376,   376,
1650      377,   377,   378,   378,   378,   378,   378,   378,   378,   378,
1651      378,   378,   378,   378,   379,   379,   379,   379,   379,   379,
1652      379,   379,   379,   379,   379,   379,   379,   379,   379,   379,
1653      379,   379,   379,   379,   380,   380,   380,   380,   380,   380,
1654      380,   380,   381,   381,   381,   381,   382,   382,   382,   382,
1655      382,   382,   383,   383,   383,   383,   383,   383,   384,   384,
1656      385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
1657      385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
1658      386,   386,   386,   386,   386,   386,   386,   387,   387,   387,
1659      387,   387,   388,   388,   388,   388,   389,   389,   389,   390,
1660      390,   390,   391,   392,   392,   392,   393,   393,   394,   394,
1661      395,   395,   395,   395,   396,   397,   398,   399
1662 };
1663
1664 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1665 static const yytype_uint8 yyr2[] =
1666 {
1667        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1668        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1669        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1670        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1671        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1672        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1673        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1674        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1675        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1676        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1677        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1678        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1679        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1680        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1681        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1682        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1683        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1684        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1685        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1686        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1687        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1688        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1689        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1690        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1691        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1692        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1693        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1694        2,     1,     1,     2,     6,     6,     5,     5,     6,     6,
1695        5,     5,     7,     7,     6,     6,     7,     7,     6,     6,
1696        4,     5,     4,     6,     4,     1,     1,     1,     1,     3,
1697        2,     1,     2,     2,     2,     1,     4,     4,     3,     4,
1698        4,     3,     3,     2,     2,     4,     4,     3,     4,     3,
1699        3,     2,     2,     1,     1,     3,     3,     1,     1,     3,
1700        3,     2,     2,     2,     2,     2,     2,     4,     5,     5,
1701        2,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1702        1,     1,     1,     4,     1,     3,     3,     3,     3,     3,
1703        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1704        3,     2,     1,     2,     3,     3,     3,     3,     3,     3,
1705        3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
1706        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1707        1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
1708        3,     1,     5,     5,     5,     5,     5,     5,     5,     5,
1709        5,     5,     5,     5,     5,     5,     5,     5,     1,     3,
1710        3,     3,     3,     3,     3,     3,     3,     1,     1,     1,
1711        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1712        3,     2,     1,     3,     3,     1,     1,     2,     2,     3,
1713        3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
1714        2,     5,     6,     6,     2,     5,     1,     1,     1,     4,
1715        1,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1716        3,     3,     1,     3,     3,     3,     3,     1,     2,     3,
1717        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
1718        3,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1719        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1720        1,     3,     3,     1,     3,     3,     1,     5,     5,     5,
1721        5,     4,     4,     4,     4,     5,     5,     5,     5,     4,
1722        4,     4,     4,     5,     5,     5,     5,     5,     5,     5,
1723        5,     3,     3,     2,     2,     1,     3,     3,     3,     3,
1724        1,     2,     3,     3,     2,     2,     2,     1,     2,     3,
1725        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1726        1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
1727        1,     3,     2,     1,     2,     2,     2,     4,     4,     3,
1728        3,     4,     5,     4,     6,     6,     4,     5,     4,     6,
1729        6,     5,     5,     2,     2,     2,     5,     3,     5,     6,
1730        5,     7,     7,     8,     8,     7,     7,     3,     3,     3,
1731        4,     3,     5,     5,     6,     7,     6,     4,     1,     1,
1732        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
1733        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1734        1,     1,     1,     1,     4,     4,     4,     1,     1,     1,
1735        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1736        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1737        1,     1,     1,     1,     4,     4,     4,     1,     1,     2,
1738        2,     3,     5,     2,     3,     5,     5,     5,     1,     3,
1739        2,     2,     3,     3,     2,     3,     3,     4,     3,     3,
1740        3,     3,     3,     3,     4,     4,     4,     1,     1,     4,
1741        3,     2,     3,     3,     3,     3,     3,     3,     3,     3,
1742        3,     3,     3,     3,     1,     1,     1,     2,     1,     2,
1743        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1744        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1745        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1746        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1747        1,     2,     1,     2,     1,     2,     1,     2,     1,     1,
1748        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1749        1,     1,     1,     2,     1,     2,     1,     2,     1,     2,
1750        4,     5,     1,     2,     1,     2,     1,     2,     1,     2,
1751        1,     2,     1,     2,     4,     5,     1,     2,     1,     2,
1752        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1753        3,     3,     1,     3,     3,     3,     3,     1,     1,     1,
1754        4,     4,     4,     3,     4,     4,     4,     3,     1,     3,
1755        4,     3,     4,     4,     4,     4,     3,     2,     3,     3,
1756        3,     3,     2,     2,     2,     3,     4,     1,     1,     2,
1757        3,     3,     3,     3,     2,     2,     2,     3,     4,     1,
1758        1,     1,     1,     1,     4,     1,     1,     1,     1,     1,
1759        1,     1,     1,     1,     4,     1,     2,     3,     6,     5,
1760        3,     4,     2,     3,     3,     3,     3,     4,     4,     4,
1761        2,     3,     3,     3,     4,     4,     3,     4,     2,     3,
1762        3,     3,     4,     4,     1,     2,     2,     3,     1,     1,
1763        2,     2,     3,     1,     1,     2,     2,     3,     1,     2,
1764        3,     2,     2,     1,     2,     3,     2,     1,     2,     3,
1765        3,     1,     2,     3,     3,     1,     2,     3,     3,     1,
1766        2,     3,     3,     1,     2,     3,     3,     1,     3,     4,
1767        1,     4,     2,     5,     3,     1,     1,     1,     1,     1,
1768        1,     3,     3,     2,     2,     1,     1,     3,     2,     3,
1769        1,     3,     3,     3,     3,     3,     1,     2,     3,     3,
1770        1,     2,     1,     2,     2,     2,     2,     3,     1,     1,
1771        3,     3,     1,     3,     4,     3,     4,     3,     3,     4,
1772        3,     4,     1,     3,     3,     4,     3,     3,     3,     4,
1773        1,     3,     3,     3,     3,     3,     1,     3,     2,     1,
1774        1,     1,     1,     1,     2,     1,     1,     1,     1,     2,
1775        2,     2,     1,     1,     1,     1,     1,     2,     1,     1,
1776        4,     7,     1,     3,     0,     6,     8,    10,    12,     8,
1777       10,    10,     5,     7,     9,    11,     7,     9,     9,     3,
1778        4,     4,     3,     3,     3,     4,     4,     3,     3,     3,
1779        4,     4,     3,     2,     3,     2,     3,     4,     4,     3,
1780        3,     1,     1,     1,     1,     1,     2,     3,     2,     2,
1781        2,     3,     3,     2,     5,     6,     2,     2,     2,     2,
1782        2,     2,     1,     2,     2,     3,     1,     2,     1,     2,
1783        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1784        2,     2,     1,     1,     2,     2,     1,     2,     2,     1,
1785        2,     1,     2,     2,     5,     5,     7,     7,     5,     5,
1786        3,     2,     5,     4,     4,     7,     6,     6,     5,     7,
1787        6,     4,     7,     9,     3,     4,     4,     5,     5,     6,
1788        7,     6,     6,     5,     5,     4,     3,     2,     1,     2,
1789        4,     3,     5,     4,     3,     2,     2,     2,     3,     3,
1790        3,     3,     2,     2,     1,     1,     4,     3,     4,     3,
1791        3,     2,     4,     3,     4,     3,     3,     2,     1,     2,
1792        1,     1,     2,     1,     2,     3,     3,     1,     2,     2,
1793        2,     3,     4,     4,     2,     2,     2,     2,     1,     2,
1794        1,     2,     1,     2,     2,     1,     2,     1,     2,     2,
1795        2,     2,     1,     2,     2,     3,     1,     1,     0,     6,
1796        6,     5,     4,     1,     2,     2,     1,     3,     3,     4,
1797        1,     1,     2,     2,     6,     6,     6,     4
1798 };
1799
1800 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1801    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1802    means the default is an error.  */
1803 static const yytype_uint16 yydefact[] =
1804 {
1805     1288,   257,     6,   590,   591,   592,   594,   595,   659,   660,
1806      661,   662,   663,   665,   668,   669,   666,   667,   653,   654,
1807      658,   664,   754,   755,   603,  1133,   235,   677,   911,   912,
1808        0,     0,   915,  1131,  1132,   678,   679,   670,     0,     0,
1809        0,     0,     0,   916,   917,   681,   680,   682,   683,   596,
1810      593,   954,     0,  1257,   802,   673,     8,     4,     0,     0,
1811        0,  1251,     0,  1270,   878,   796,     0,   672,     0,   648,
1812      650,   804,   806,   655,   798,   800,   737,   671,     0,     0,
1813      649,   651,     0,     0,     0,     0,     0,   977,   652,     0,
1814      913,     0,     0,     0,  1253,  1275,  1250,  1272,  1282,  1277,
1815        0,     0,     0,  1268,     0,  1265,  1248,     0,     0,  1254,
1816        0,     0,     0,     0,  1267,  1266,     0,   656,   955,   652,
1817      956,   869,   868,   878,   910,   867,   897,   968,     0,   909,
1818      973,     0,     0,     0,     0,     0,     0,  1143,     0,   237,
1819      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1820        0,   605,   604,     0,     0,   625,     0,     0,     0,     0,
1821      741,     0,   721,   720,     0,  1146,   592,   662,   663,  1140,
1822      803,     8,  1252,  1271,   878,   797,   805,   807,   799,   801,
1823      977,   985,   652,     0,     0,  1016,     0,     0,     0,  1026,
1824        0,     0,   869,     0,   868,     0,     0,   887,     0,     0,
1825      583,   584,   585,   587,   588,  1039,   589,   586,   892,   790,
1826      862,   784,     0,   794,     0,   786,   788,   737,   792,     0,
1827        0,  1038,     0,     0,  1042,  1052,     0,     0,     0,     0,
1828        0,     0,   978,     0,   685,   686,   687,   688,   689,   691,
1829      694,   695,   692,   693,   684,   690,   707,   696,     0,     0,
1830      701,   700,   702,   703,  1176,   699,     0,     0,   774,   698,
1831      780,   776,   778,   782,   697,     0,  1152,     0,     0,     0,
1832        0,  1241,  1247,   592,     0,  1264,  1259,  1273,     0,  1260,
1833     1276,  1258,  1274,  1269,  1281,  1284,     0,     0,     0,     0,
1834        0,  1279,  1280,  1283,  1278,     1,     0,  1255,  1256,  1249,
1835        0,     0,   456,   263,     0,     0,     0,     0,     0,     0,
1836      350,   351,     0,     0,     0,     0,     0,     0,     0,     0,
1837        0,     0,   345,     0,   348,     0,     0,   344,   346,   347,
1838      349,     0,   265,     0,   264,   305,   272,   271,   258,   455,
1839        0,   342,   352,     0,   354,   361,   366,   372,     0,   381,
1840      390,   395,   400,   405,   408,   411,   428,     0,   477,   476,
1841      478,   480,   487,   492,   497,   506,   515,   520,   525,   530,
1842      533,   536,     0,   260,   295,   296,   297,   298,     0,     0,
1843        0,     0,     0,   657,   957,     0,   899,     0,   904,     0,
1844        0,     0,     0,     0,     0,     0,   910,   969,   974,     0,
1845      879,   971,   881,   976,   972,   670,     4,   229,   228,   227,
1846      233,     0,   264,   352,   219,   478,     0,   206,   249,     0,
1847        0,   248,   255,     0,     0,  1134,  1135,     0,   168,     0,
1848      169,   170,     0,     0,     0,     0,     0,   172,   246,     0,
1849        0,     0,     0,    29,    31,   163,   175,   188,     0,   187,
1850        0,   116,   119,     0,   195,   128,     0,   164,   140,     0,
1851      167,   183,   196,   199,     0,     0,   264,     0,     0,   176,
1852        0,   981,   652,     0,    12,    18,     0,   809,   808,   816,
1853      810,     0,   812,   814,   737,   821,   820,   250,   256,   247,
1854        0,     0,   239,   238,   638,   597,   600,   637,   641,   627,
1855        0,     0,     0,   222,   223,   224,   225,     0,   217,     0,
1856      750,   743,     0,     0,   740,   747,   742,     0,     0,   753,
1857      744,     0,     0,   723,   722,     0,     0,     0,     0,     0,
1858      978,   986,     0,  1018,     0,     0,  1237,  1243,     0,  1239,
1859     1245,  1027,  1141,     0,     0,     0,  1142,   886,     0,   264,
1860      581,   582,     0,     0,     0,     0,   605,   604,   606,     0,
1861      724,     0,     0,   662,     0,     0,  1036,   791,     8,   878,
1862      785,   795,   787,   789,   793,   910,   867,   652,   959,   958,
1863        0,     0,     0,   891,     0,     0,   890,     0,     0,     0,
1864     1068,     0,   888,   889,   979,     0,   980,     0,     0,  1150,
1865     1138,  1149,    76,  1147,   688,   689,  1136,   878,   775,   781,
1866      777,   779,   783,   652,     0,  1151,  1148,  1139,     0,  1153,
1867        0,  1240,  1246,  1154,     0,     0,     0,     0,     0,     0,
1868        0,     0,  1235,     0,     0,     0,   696,     0,     0,     0,
1869      157,  1072,  1073,   699,     0,     0,     0,   264,     0,   352,
1870        0,     0,   478,   565,   570,     0,  1070,  1158,  1161,  1078,
1871     1069,  1082,     0,     0,     0,     0,  1180,  1178,  1071,  1084,
1872        0,  1085,  1076,  1083,     0,  1086,  1177,     0,     0,  1261,
1873      878,     0,     0,     0,  1271,     0,   867,   985,   652,     0,
1874        0,     0,     0,  1247,  1285,     0,     0,   411,     0,     0,
1875      914,     0,   336,   470,     0,   332,   466,   333,   467,     0,
1876      856,   846,   854,   848,   850,   852,     0,     0,     0,     0,
1877        0,     0,     0,     0,     0,     0,     0,     0,   340,   474,
1878      273,     0,     0,     0,   760,   756,   758,   762,  1030,     0,
1879      261,     0,   300,   301,     0,   324,     0,   323,     0,   458,
1880       93,     0,   270,   457,     0,   313,   314,     0,     0,     0,
1881      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1882      437,     0,     0,   335,   469,   334,   468,     0,     0,     0,
1883        0,     0,     0,     0,   373,   498,     0,     0,   371,     0,
1884        0,     0,     0,     0,     0,     0,     0,     0,     0,   674,
1885        0,   321,   322,     0,     0,     0,     0,     0,     0,     0,
1886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1887        0,     0,     0,     0,     0,     0,     0,   675,   676,     0,
1888        0,     0,  1300,  1301,     0,     0,     0,   873,     0,     0,
1889        0,   877,     0,     0,     0,   903,   902,   900,   901,   910,
1890      969,   974,   880,   882,   996,    10,     9,     0,     0,     0,
1891      652,   958,   207,     0,     0,   264,   206,     0,     0,   828,
1892      822,   824,   826,     0,     0,     0,    16,    20,     0,   185,
1893      184,   186,     0,     0,     0,     0,   345,     0,   264,     0,
1894       26,     0,    21,    28,    24,     0,    25,    23,    22,    30,
1895       32,   190,    83,   191,   122,   162,     0,     0,     0,     0,
1896      132,     0,     0,   134,     0,     0,   143,   161,   200,   197,
1897      202,   201,   198,   203,   115,     0,     0,     0,   878,   718,
1898      177,   993,     0,   989,   652,     0,    11,    17,   708,   894,
1899     1038,     0,     0,     0,   982,     0,     0,   173,   165,   192,
1900      181,     0,   180,     0,   166,   878,   179,     0,   605,   604,
1901      817,   811,   813,   815,     0,     0,     0,   602,   640,     0,
1902        0,     7,   212,   208,   739,     0,     0,     0,     0,  1015,
1903     1022,  1023,  1024,    64,    53,    92,    39,    38,    57,    69,
1904       45,    48,     0,    74,    56,     0,     0,     0,  1006,  1008,
1905        0,  1005,  1007,     0,    41,    44,   910,   979,   970,   987,
1906      975,   996,   988,     0,   997,  1000,  1017,  1019,  1236,  1242,
1907     1238,  1244,  1021,  1028,  1025,  1029,   885,   883,   884,  1065,
1908     1047,  1056,   610,   609,     0,     0,   456,   725,     0,     0,
1909      456,   726,     0,     0,     0,   940,   878,     0,     0,   652,
1910      958,     0,     0,     0,   932,     0,     0,     0,     0,     0,
1911     1037,   961,     0,     0,   960,  1041,  1040,     0,   861,  1064,
1912      864,  1050,  1058,     0,   860,  1063,   863,  1048,  1057,     0,
1913     1067,  1061,   865,  1043,  1053,     0,  1062,   866,  1045,  1054,
1914      918,   919,   922,   921,   920,     0,   923,   925,     0,     0,
1915        0,     0,    77,     0,  1137,  1155,     0,     0,     0,     0,
1916        0,     0,  1219,     0,     0,     0,     0,     0,     0,     0,
1917        0,     0,     0,   264,     0,  1070,  1217,  1075,  1077,     0,
1918        0,  1225,  1226,  1227,     0,  1233,     0,     0,     0,     0,
1919        0,     0,   158,   144,  1081,  1080,  1079,     0,     0,     0,
1920      571,     0,  1074,     0,     0,     0,     0,   451,     0,     0,
1921      456,     0,     0,     0,     0,  1159,  1162,  1164,     0,  1160,
1922     1163,  1165,     0,  1191,  1087,  1262,  1263,   237,   236,     0,
1923        0,     0,   986,     0,     0,  1243,     0,  1245,  1246,     0,
1924        0,  1144,     0,     0,   768,   264,   770,   764,   766,   772,
1925     1032,     0,     0,     0,     0,     0,     0,   857,   847,   855,
1926      849,   851,   853,   652,   964,   963,     0,   842,   832,   840,
1927      834,   836,   838,     0,     0,     0,     0,     0,     0,     0,
1928        0,     0,     0,     0,     0,     0,     0,   259,     0,   761,
1929      757,   759,   763,  1031,     0,     0,   456,     0,     0,     0,
1930      105,     0,   299,   456,     0,     0,    94,   456,     0,     0,
1931      459,   312,   308,   328,   461,   462,   327,   463,   311,     0,
1932        0,   433,   429,   302,   355,   481,   356,   482,   357,   483,
1933      362,   488,   363,   489,   367,   493,   368,   494,   375,   500,
1934      376,   501,   374,   499,   386,   511,   382,   507,   387,   512,
1935      383,   508,   393,   518,   391,   516,   398,   523,   396,   521,
1936      403,   528,   401,   526,   406,   531,   409,   534,   561,     0,
1937      577,     0,     0,     0,     0,   435,   431,   460,   320,   317,
1938        0,   464,   465,   319,     0,     0,   434,   430,   358,   484,
1939      359,   485,   360,   486,   364,   490,   365,   491,   369,   495,
1940      370,   496,   379,   504,   380,   505,   377,   502,   378,   503,
1941      388,   513,   384,   509,   389,   514,   385,   510,   394,   519,
1942      392,   517,   399,   524,   397,   522,   404,   529,   402,   527,
1943      407,   532,   410,   535,   562,     0,     0,     0,     0,   436,
1944      432,     0,     0,  1293,  1296,     0,     0,  1291,  1302,  1303,
1945        0,     0,   872,   870,   871,   876,   874,   875,   234,   232,
1946      231,   230,   264,   652,   961,   241,     0,   207,   240,   127,
1947        0,   125,   829,   823,   825,   827,     0,   652,     0,    15,
1948       19,     0,   182,   993,   652,     0,   139,     0,   137,   829,
1949        0,   264,   652,     0,    27,    84,   117,   120,   118,   121,
1950      129,   130,   131,   133,   141,   142,   114,   112,   113,    13,
1951      710,   713,     0,     0,   906,  1038,     0,     0,     0,   994,
1952      990,     0,     0,   709,   878,   895,   983,   984,   878,   193,
1953      194,   178,     0,     0,     0,     0,   598,   599,   601,     0,
1954        0,   630,   626,     0,     0,     0,     0,     0,   226,   218,
1955      216,     0,     0,     0,    36,    37,    75,    54,     0,    55,
1956        0,    63,    61,    72,    67,    73,    60,    90,    39,    70,
1957       62,    91,    59,    71,    68,     0,    58,     0,   688,    33,
1958       35,    34,  1009,  1010,     0,   618,   608,     0,   613,   607,
1959        0,   456,   727,     0,     0,     0,   958,     0,   930,   941,
1960      942,   935,   933,   934,     0,   962,   943,     0,     0,   936,
1961        0,     0,     0,  1051,  1059,  1038,  1049,  1044,  1046,  1055,
1962      929,     0,     0,     0,   926,   704,   705,   706,   456,     0,
1963        0,  1112,  1122,  1117,     0,     0,     0,  1113,  1124,  1118,
1964        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1966     1216,  1204,     0,  1181,   264,     0,     0,     0,  1224,  1230,
1967     1231,  1228,  1229,     0,     0,     0,     0,   145,  1109,  1119,
1968     1114,     0,   159,   568,   566,     0,     0,     0,   449,   572,
1969      569,   567,   450,   573,     0,   987,  1242,  1244,  1145,     0,
1970        0,     0,     0,     0,     0,     0,     0,     0,     0,   769,
1971      771,   765,   767,   773,  1033,     0,   292,   290,     0,     0,
1972      948,   652,     0,     0,     0,     0,     0,     0,   966,     0,
1973      965,     0,     0,     0,   843,   833,   841,   835,   837,   839,
1974        0,   267,     0,   266,   294,     0,     0,     0,     0,     0,
1975        0,  1307,     0,     0,     0,     0,   353,   479,   262,   108,
1976      106,   326,   325,    99,   103,   309,     0,   310,   306,   307,
1977      578,     0,     0,     0,     0,     0,     0,   318,   315,   316,
1978        0,     0,     0,     0,  1295,  1294,  1298,     0,     0,     0,
1979     1290,  1289,     0,   958,   218,     0,     0,   123,   126,     0,
1980        0,     0,     0,     0,   994,     0,   135,   138,     0,    14,
1981      456,     0,     0,   719,     0,   878,   907,   995,   991,   992,
1982      711,   714,   896,   174,   818,     0,   243,   242,     0,   629,
1983        0,   213,   214,   204,   209,   210,   220,     0,     0,    51,
1984       46,    49,    52,    47,    50,    37,    43,    40,    42,     0,
1985        0,  1013,  1014,   617,     0,   612,     0,   961,   960,   931,
1986      944,   945,   938,   937,   939,  1035,  1034,     0,   928,   927,
1987       79,  1110,  1120,  1115,     0,  1111,  1121,  1116,     0,     0,
1988        0,     0,     0,  1220,  1194,     0,     0,  1193,  1223,     0,
1989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1990     1201,     0,  1182,  1205,  1183,  1206,     0,     0,     0,  1094,
1991      914,  1094,     0,     0,   155,     0,     0,     0,   160,     0,
1992        0,     0,     0,     0,     0,     0,     0,     0,     0,   471,
1993      291,   858,     0,   963,     0,   946,   949,   950,   276,   277,
1994        0,   967,   951,     0,     0,     0,     0,     0,     0,     0,
1995        0,     0,     0,   268,   280,   281,     0,     0,     0,     0,
1996        0,     0,     0,     0,     0,   475,   330,   329,   453,   579,
1997      420,   553,   412,   537,   424,   557,   416,   545,   454,   580,
1998      421,   554,   413,   538,   425,   558,   417,   546,   422,   555,
1999      414,   539,   426,   559,   418,   547,   423,   556,   415,   540,
2000      427,   560,   419,   548,  1297,  1299,  1292,   830,     0,   124,
2001      150,   995,     0,   136,    86,   908,     0,     0,   819,     0,
2002        0,     0,     0,     0,     0,   205,     0,   221,     0,     0,
2003     1011,  1012,  1001,     0,     0,     0,     0,   924,  1184,  1185,
2004     1188,  1189,  1192,  1222,     0,     0,     0,     0,     0,     0,
2005        0,  1198,  1207,     0,     0,     0,     0,  1092,     0,  1089,
2006     1102,     0,  1094,     0,  1094,     0,     0,     0,     0,   473,
2007      472,   965,   947,   859,   952,   953,   274,   275,   844,   284,
2008      285,     0,     0,     0,     0,   278,   279,   288,   289,     0,
2009        0,   293,  1305,  1306,  1304,   831,     0,   712,   715,   717,
2010      716,     0,     0,   215,   211,     0,   998,  1003,     0,     0,
2011        0,     0,     0,     0,     0,  1212,  1196,     0,     0,  1197,
2012     1209,     0,  1200,  1211,     0,     0,     0,  1094,     0,  1094,
2013        0,  1094,     0,  1095,     0,     0,     0,   148,     0,   153,
2014        0,   156,     0,   845,   282,   283,     0,   286,   287,   171,
2015      999,  1186,  1187,     0,     0,  1195,  1202,     0,  1199,  1210,
2016        0,  1106,  1093,     0,     0,     0,  1103,     0,     0,  1094,
2017     1094,     0,  1094,   147,   146,   151,   149,     0,     0,   353,
2018      479,   269,     0,     0,     0,  1090,     0,     0,  1094,  1099,
2019        0,     0,  1096,     0,     0,   154,  1203,     0,  1107,  1108,
2020     1104,     0,     0,     0,     0,  1094,   152,     0,     0,  1100,
2021     1101,  1097,     0,  1091,  1105,     0,  1098
2022 };
2023
2024 /* YYDEFGOTO[NTERM-NUM].  */
2025 static const yytype_int16 yydefgoto[] =
2026 {
2027       -1,   209,    55,    56,   972,   331,   439,   440,   441,   442,
2028      443,   444,   445,   446,   986,   987,   988,   989,   990,   991,
2029      992,   993,   994,   995,   996,   997,   256,   257,   447,   448,
2030       58,   332,   333,   743,   772,   451,   452,   453,   454,   455,
2031      456,   457,   458,   459,   460,  2086,  2087,  2088,   461,   644,
2032      645,   646,   462,   463,   464,   465,  1782,   407,   503,   408,
2033      504,   409,   505,   506,   864,   410,   411,    59,    60,    61,
2034       62,    63,   334,   335,   336,   337,   338,   998,   999,   339,
2035      340,   746,  1265,   341,   649,   343,   344,   345,   346,   347,
2036      348,   349,   350,   351,   352,   353,   354,   355,   356,   731,
2037      826,   651,  1322,   358,   359,   652,   361,   362,   363,   364,
2038      365,   366,   367,   368,   369,   370,   371,   653,   654,  1124,
2039     1324,   552,   553,   211,    65,   496,   497,   212,    67,   213,
2040      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2041      262,   929,   930,   217,   218,   219,    77,    78,    79,    80,
2042       81,   220,   738,  1200,   265,   469,    83,    84,   486,   487,
2043      874,  1223,   716,  1047,  1048,   124,    85,   470,    87,   471,
2044      127,   128,   129,   933,   130,   119,    89,  1096,  1097,  1098,
2045       90,   578,  1214,   473,   580,  1216,   133,   185,   474,   475,
2046      187,   937,   135,  1016,  1533,  1004,  1005,  1534,   188,   189,
2047      190,   191,   739,  1201,   224,   225,   226,   227,   228,   229,
2048      657,   658,  2007,  2008,   659,   660,   661,    93,   476,   266,
2049       94,    95,   267,   268,   269,   664,   665,   666,   667,   270,
2050      668,   895,  1617,  1127,   671,   672,   673,  1128,   675,    96,
2051       97,   373,    98,    99,   100,   101,   102,   103,   832,  1394,
2052     1395,   833,   834,   374,   375,   376,   377
2053 };
2054
2055 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2056    STATE-NUM.  */
2057 #define YYPACT_NINF -1556
2058 static const int yypact[] =
2059 {
2060    37011, -1556, -1556, -1556, -1556,   787, -1556, -1556, -1556, -1556,
2061    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2062    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2063      917,    74, -1556, -1556, -1556, -1556, -1556, -1556,   -34,     8,
2064       25,   738,   167, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2065    -1556,  2516,  2277, -1556, -1556, -1556,   214, -1556,   257,   738,
2066      473, -1556,   518,    66,  1080, -1556,   288, -1556,   782, -1556,
2067      335, -1556, -1556, -1556, -1556, -1556,   814, -1556,   809,   316,
2068    -1556,   367,  1140, 36619,  3045,    30, 37303, -1556,   361,   383,
2069    -1556,  1822, 11879, 35307, -1556, -1556, -1556, -1556, -1556, -1556,
2070    37114, 36220,   585, -1556,    74, -1556, -1556,   167,   167,   583,
2071      524,   167, 28164,   738, -1556, -1556,   277, -1556,  2516, -1556,
2072    -1556, -1556,   537, -1556,   185,  1085, -1556, -1556, 37398, -1556,
2073    -1556,  2277,  2446,  2142,  2755,  2519, 22746, -1556,   552,   542,
2074      604, 29259, 39529, -1556, 29384, -1556, -1556, -1556,   738, -1556,
2075     1007,  1116,  1212,   191, 39529, -1556, 39259, 29509, 39529, 29634,
2076    -1556, 29759, -1556, -1556,   738, -1556, -1556,   939,   557, -1556,
2077    -1556,   252, -1556,    66,   641, -1556, -1556, -1556, -1556, -1556,
2078     1456,  1796,   361,  2446,  1559,  2519, 11879, 11879,   203, -1556,
2079     1301,   589,   599,   557,   942,   361,  1321, -1556, 26704,   645,
2080    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2081      453, -1556,   386, -1556,   669, -1556, -1556,   739, -1556,   729,
2082     1871, 34357,    12,   509, -1556, -1556,   626,   658,   688,   748,
2083      307,   756, -1556,   307, -1556, -1556, -1556, -1556, -1556, -1556,
2084    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,   804,   815,
2085    -1556, -1556, -1556, -1556, -1556, -1556,    39,    69, -1556, -1556,
2086    -1556, -1556, -1556, -1556, -1556, 36815, -1556, 16552,  9710, 40004,
2087    16690, -1556,   833,   897,  1050, -1556, -1556,    66, 36717, -1556,
2088    -1556, -1556, -1556, -1556, -1556, -1556,   335,   367, 37873, 11879,
2089    38155, -1556, -1556, -1556, -1556, -1556,   873,   583,   583, -1556,
2090    28164,   317, -1556, -1556, 28237, 28310, 28310,   903, 39709, 28164,
2091    -1556, -1556,   924,   927, 39709, 28164,   954,   965,   979,   991,
2092     1020, 28383, -1556, 10395, -1556,   167, 24441, -1556, -1556, -1556,
2093    -1556,   932, -1556,    97,  1044, -1556, -1556,    74, -1556, -1556,
2094    11763, -1556,  2321, 26777, -1556,   996,  1120,  1271, 28164,  1017,
2095     1424,  1060,  1014,  1043,  1187,    72,  2321,  1100,   608, -1556,
2096     2321, -1556,  1021,  1323,  1497,  1153,  1592,  1137,  1149,  1151,
2097     1290,   126,  2321,   583, -1556, -1556, -1556, -1556,  1179,   270,
2098    39349,  1190,  1205, -1556, -1556, 26850, -1556, 26923, -1556,   683,
2099      764,  1260,  1280,  2446,  2757,  2812,   185, -1556, -1556,   931,
2100    -1556, -1556, -1556, -1556, -1556,   924,   932, -1556, -1556, -1556,
2101    -1556,   694,   657, -1556,  1271, -1556,  1497, 34473, -1556, 22867,
2102    39259, -1556,   670, 38989, 38249, -1556, -1556,  1238, -1556,   738,
2103    -1556, -1556,    74, 38437, 38061, 23718, 39619, -1556, -1556,   883,
2104     1281,  1281,   960, -1556,  1294, -1556, -1556, -1556,   111,   907,
2105      119, -1556, -1556, 28626,  1307, -1556,  1391, -1556, -1556,   101,
2106    -1556, -1556, -1556,  1356, 28759, 28884,   495,   199,   608, 35513,
2107    37493, -1556,   361,  1822, -1556, -1556, 35410, -1556, -1556,  1353,
2108    -1556,   738, -1556, -1556, -1556,  1939, 39709, -1556,   670, -1556,
2109    29009, 29134,  1368,  1381, -1556,  1378, -1556,  1387, -1556, -1556,
2110     3438,  1396,   742, -1556, -1556, -1556, -1556,  1002,   719, 34473,
2111      665, -1556, 29884, 30009, -1556,   665, -1556, 30134, 30259,   665,
2112    -1556, 30384, 30509, -1556, -1556,  2277,  2277,  2277, 20965,   931,
2113     1456,  1796,   931, -1556, 26996,  9710, -1556,   833,  9710, -1556,
2114      833, -1556, -1556,  2277,  2277,   931, -1556, -1556,  1407,   258,
2115    -1556, -1556,  1412,  1416, 39079,  1461,  1401,  1443, -1556, 30634,
2116    -1556, 30759,   554, -1556, 10611, 27069,  2277, -1556,  1226,   453,
2117    -1556, -1556, -1556, -1556, -1556,   185,  1420,   361,   289,   181,
2118      414,   625,  1431, -1556, 38719,  1452, -1556, 38809,  1458, 38899,
2119     1465, 39169, -1556, -1556, -1556,  1183, -1556, 28164,   738, -1556,
2120    -1556,  1460, -1556, -1556,   939,   557, -1556,  1468, -1556, -1556,
2121    -1556, -1556, -1556,   361,  1343,   589, -1556, -1556,  1475, -1556,
2122    16828, -1556,   833, -1556,   187, 27142,  1473,  1507,  1511,   282,
2123    16966,  1518,    74,  1522,  1523, 17104,   924,  1999,  1537,  1540,
2124       74, -1556, -1556,   932,  1532,  1539,  1541,  1345, 15025,  2321,
2125    15310, 24514,  2321,  2321, -1556, 15448, 36913, -1556, -1556, -1556,
2126    -1556, -1556, 17242, 17380, 17518, 17656, -1556, -1556, -1556,   833,
2127    17794, -1556, -1556, -1556, 17932, -1556, -1556,   167,   167,   583,
2128      727,   738,  1348,  1544, -1556,   185,    30, -1556,   361,  2446,
2129    11879, 11879,  9710, -1556, -1556, 37967, 28164,   321,  1549,   381,
2130    -1556, 22988, -1556, -1556, 27215, -1556, -1556, -1556, -1556, 39709,
2131     1555, -1556, -1556, -1556, -1556, -1556, 34788, 39709, 23125,    74,
2132    34893, 39709, 28164,   167,   167,   167, 28164, 10395, -1556, -1556,
2133    -1556, 12009, 12165, 12308, -1556, -1556, -1556, -1556, 35202,  1546,
2134      102, 21102, -1556, -1556,   124, -1556,   271, -1556, 21239,  1548,
2135    -1556, 21376, -1556, -1556,  1478, -1556, -1556, 24587,  1490, 28164,
2136    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2137    -1556, 26777,   154, -1556, -1556, -1556, -1556, 28164, 28164, 28164,
2138    28164, 28164, 28164, 28164,  1271,  1497, 28164, 28164, -1556, 28164,
2139    26777, 26777, 26777, 26777, 26777, 28164, 28164, 12451, 26777, -1556,
2140     1519, -1556, -1556, 24660,  1531, 28164, 26777, 28164, 28164, 28164,
2141    28164, 28164, 28164, 28164, 28164, 28164, 28164, 28164, 26777, 26777,
2142    26777, 26777, 26777, 28164, 28164, 12594, 26777, -1556, -1556,   594,
2143      453, 39619, -1556, -1556, 36319, 39349, 39349, -1556,  1543,  1545,
2144     1553, -1556,  1554,  1557,  1558, -1556, -1556, -1556, -1556,   185,
2145    -1556, -1556, -1556, -1556,  1562, -1556, -1556, 22746, 22746, 34252,
2146      361,   722, -1556,   682,  1026,  1285, 34473,  1062,  1573,  1590,
2147    -1556, -1556, -1556,  1939, 34578, 38343, -1556, -1556,    74, -1556,
2148    -1556, -1556, 35616,  1582,    74, 34683,  1440, 23246,  1462, 38531,
2149    -1556,  1587, -1556,   833, -1556,   833, -1556, -1556, -1556,   833,
2150    -1556,  1591, -1556,   981, -1556, -1556,  3816,  3816,  1281,  1281,
2151    -1556,  1281,   176, -1556,  1281,  1281, -1556, -1556,   922, -1556,
2152     1356,   922, -1556,  1356,  1011, 27288,  2212, 28164,   776, -1556,
2153     1586,   185, 37588, -1556,   361,  2446, -1556, -1556,  1045,   645,
2154    34357, 28493,   642,   307, -1556,   307,  2277, -1556, -1556, -1556,
2155    -1556,   256, -1556,   284, -1556,   495, 35513, 22746, -1556, -1556,
2156     1595, -1556, -1556, -1556, 39259, 39259, 28164,    74, -1556, 30884,
2157      226, -1556,   856,   947, -1556, 39259,    74,   784,    74,  2291,
2158    -1556, -1556, -1556, -1556, -1556, -1556,  1281, -1556, -1556, -1556,
2159    -1556, -1556, 11496,  1429, -1556, 21513, 39904, 21650, -1556, -1556,
2160    11154, -1556, -1556, 38625, -1556, -1556,   185,  1456, -1556,  1796,
2161    -1556,   185, -1556, 26996, -1556, -1556, -1556, -1556, -1556,   833,
2162    -1556,   833, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2163    -1556, -1556, -1556,  1387,   261,   374,  1593, -1556, 31009, 31134,
2164     1594, -1556, 31259, 31384, 31509, -1556,   222,   421,   476,  1311,
2165     1585,  1597,  1600,  1604, -1556,  1596,  1598,  1601,   361,   931,
2166     2519,   181, 37683, 27361,   289, -1556, -1556, 39439, -1556, -1556,
2167      453, -1556, -1556, 39439, -1556, -1556,   453, -1556, -1556, 39439,
2168    -1556, -1556,   453, -1556, -1556, 39439, -1556,   453, -1556, -1556,
2169    -1556, -1556, -1556, -1556, -1556,  1605,  1560, -1556,  1251,  1606,
2170     1608,   352, -1556, 21787, -1556, -1556, 18070,  1603,  1609, 18208,
2171    28164, 28164, -1556, 27434, 27507,  1610,  1615,  1617, 23425,  1621,
2172       74, 24733,  2460,  1433, 24806, -1556,  1687, -1556, -1556, 24879,
2173     1620, -1556, -1556, -1556,  1624,  1628, 24952, 15586,   167,  1634,
2174    28164, 28164,    74, -1556, -1556, -1556, -1556, 20691,   790, 26777,
2175    -1556,  1299, -1556, 28164, 12737, 12880, 26777, -1556, 28164, 13023,
2176     1475, 18346, 18484, 18622, 18760, -1556, -1556, -1556, 18898, -1556,
2177    -1556, -1556, 19036, -1556, -1556,   583,   583,  1638,  1644, 34009,
2178    34133,   931, -1556,   931,  9710, -1556,  9710, -1556, -1556,  1640,
2179    26777, -1556, 26777,   728, -1556,   495, -1556, -1556, -1556, -1556,
2180    35202,  1645,  1647, 39799, 22746, 37208, 28164,  1656, -1556, -1556,
2181    -1556, -1556, -1556,   361,  1658,  1665,  1655,  1669, -1556, -1556,
2182    -1556, -1556, -1556, 34998, 25025,  1667,  1668,  1670, 28164,  1661,
2183    35103,  1672,   565,    85,   113,  1673,  1674, -1556,    74, -1556,
2184    -1556, -1556, -1556, -1556, 28164,   167,   299, 35719, 21924,  1678,
2185    -1556, 26777, -1556,   300, 35819, 22061, -1556,   311, 35919, 22198,
2186    -1556, -1556, -1556, -1556,   985,  1686, -1556, -1556, -1556, 25098,
2187     6146, -1556, -1556,  1678, -1556, -1556, -1556, -1556, -1556, -1556,
2188      996,  1021,   996,  1021,  1120,  1323,  1120,  1323,  1271,  1497,
2189     1271,  1497,  1271,  1497, -1556, -1556,  1017,  1153, -1556, -1556,
2190     1017,  1153, -1556, -1556,  1424,  1592, -1556, -1556,  1060,  1137,
2191    -1556, -1556,  1014,  1149,  1043,  1151,  1187,  1290, -1556,    67,
2192    -1556, 25171,  1680,  8500,  1681, -1556, -1556, -1556, -1556, -1556,
2193     1047, -1556, -1556, -1556, 25244,  9322, -1556, -1556, -1556, -1556,
2194    -1556, -1556, -1556, -1556,   996,  1021,   996,  1021,  1120,  1323,
2195     1120,  1323,  1271,  1497,  1271,  1497,  1271,  1497,  1271,  1497,
2196    -1556, -1556,  1017,  1153, -1556, -1556,  1017,  1153, -1556, -1556,
2197     1424,  1592, -1556, -1556,  1060,  1137, -1556, -1556,  1014,  1149,
2198     1043,  1151,  1187,  1290, -1556, 25317,  1682, 10840,  1683, -1556,
2199    -1556,    74,    74, -1556, -1556,   564,  1237, -1556, -1556, -1556,
2200    36419, 36519, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2201    -1556, -1556,   938,  2005,   722, -1556, 22746,    74, -1556, -1556,
2202    22746, -1556,   653, -1556, -1556, -1556,   494,   361,  2446, -1556,
2203    -1556,   373,  1586,  1562,   361,  2446, -1556,  1692, -1556,   799,
2204      508,  1150,  2277,  1695, -1556, -1556, -1556, -1556, -1556, -1556,
2205    -1556, -1556, -1556, -1556, -1556, -1556,  2777, -1556, -1556, -1556,
2206    -1556, -1556, 22335,  2152,   645, 34357, 20554,   690,   931,   185,
2207    -1556,   931, 28164, -1556,   895, -1556, -1556, -1556,  1696,  1591,
2208     1548,  1586,  1081, 22746,  1111,  1113, -1556, -1556, -1556, 31634,
2209    31759,  1671, -1556,  4332, 39619, 39619, 39619, 39619, -1556, -1556,
2210    -1556, 28164,  1694, 27580, -1556,   833, -1556, -1556, 27653, -1556,
2211    27726, -1556, -1556, -1556,  1438,  1429, -1556, -1556,  1281, -1556,
2212    -1556, -1556, -1556, -1556,  1438,  1429, -1556, 27799,  5944, -1556,
2213    -1556, -1556, -1556, -1556, 19174, -1556, -1556,   132, -1556, -1556,
2214      233,  1693, -1556, 31884, 32009,   361,  1585,  1701, -1556, -1556,
2215    -1556, -1556, -1556, -1556,   931,   289, -1556,  1704,  1705, -1556,
2216     1700,  1703,  1710, -1556, -1556, 34357, -1556, -1556, -1556, -1556,
2217    -1556, 28164,  1712,  1146, -1556, -1556, -1556, -1556,   333, 36019,
2218    22472, -1556, -1556, -1556, 19312, 20691, 20691, -1556, -1556, -1556,
2219    19450, 25390, 15724, 25463, 25536, 23516, 25609, 15862, 20828,  1707,
2220     1708, 20828, 28164, 27872,  1789, 25682,  1628, 23772,   167, 20828,
2221     1725, 11304, 23425, -1556,  1474, 25755, 23857, 25828, -1556, -1556,
2222    -1556, -1556, -1556,   114,   167,  1726,  1144, -1556, -1556, -1556,
2223    -1556, 19588, -1556, -1556, -1556,  1732,  1733,    74, -1556, -1556,
2224    -1556, -1556, -1556, -1556, 39259, -1556, -1556, -1556, -1556, 25901,
2225     1717, 23930,  1727, 25974,  1728, 24003,  1729,  1738,  1740, -1556,
2226    -1556, -1556, -1556, -1556, -1556, 13166, -1556, -1556,  1742,  1127,
2227    -1556,  2454,  1744,  1745,  1751,  1722,  1743, 22746,  1665, 37778,
2228     1658, 28164, 22746, 28164,  1758, -1556, -1556, -1556, -1556, -1556,
2229     1749, -1556, 27945, -1556, -1556,  1750,  1752, 28164, 28164,  1755,
2230     4900, -1556,    74,    74, 28164, 13309, -1556, -1556,   583, -1556,
2231    -1556, -1556, -1556, -1556, -1556, -1556, 13452, -1556, -1556, -1556,
2232    -1556, 26777, 13595, 13738, 26777, 13881, 14024, -1556, -1556, -1556,
2233    14167, 14310, 14453, 14596, -1556, -1556, -1556,   594,  1764,    52,
2234    -1556, -1556,   361,   722,  1878,  1139, 22746, -1556, -1556,  1763,
2235      931,   931,  1281,   931,  1562,  1769, -1556, -1556,  1767, -1556,
2236      344, 36119, 22609, -1556,   361,   984, -1556,   185, -1556, -1556,
2237     1768,  1773, -1556, -1556, -1556,  1208, -1556, -1556, 32134,  1780,
2238    32259, -1556,  1784, 34473, -1556,  1785, -1556, 28164, 26996,  2626,
2239    -1556, -1556,  2626, -1556, -1556, -1556,  2626, -1556, -1556, 19726,
2240    19864, -1556, -1556, -1556, 32384, -1556, 32509,   181,   289, -1556,
2241    -1556, -1556, -1556, -1556, -1556, -1556,  2519, 26047, -1556, -1556,
2242    -1556, -1556, -1556, -1556, 20002, -1556, -1556, -1556, 20140, 23425,
2243    11625, 23425, 11625, 15167, -1556, 23607, 16000, -1556, -1556, 20828,
2244    20828, 26120, 23425, 26193, 23334,  1798, 24076, 26266,   118, 20278,
2245    -1556, 28164, -1556, 15167, -1556, 11304, 23425, 24149, 28018,    15,
2246     1781,    15,   174,  1795, -1556,    74, 28164, 28164,    74, 26777,
2247    26777, 26777, 26777, 26777, 26777, 26777, 26777, 14739, 14882, -1556,
2248    -1556, -1556,   361,  1665,  1802, -1556, -1556, -1556, -1556, -1556,
2249     1218,  1658, -1556,  1803,  1805,  1797,  1806,  1227,  1814,  1815,
2250    22746, 28164, 10395, -1556, -1556, -1556,  1818,  1819,  1821,  1823,
2251    28164,  1807,  1809,  1813,  1816, -1556, -1556, -1556, -1556, -1556,
2252    -1556, -1556, -1556,   381, -1556, -1556, -1556,   381, -1556, -1556,
2253    -1556, -1556, -1556,   381, -1556, -1556, -1556,   381, -1556, -1556,
2254    -1556,   381, -1556, -1556, -1556,   381, -1556, -1556, -1556,   381,
2255    -1556, -1556, -1556,   381, -1556, -1556, -1556, -1556,  1231, -1556,
2256    -1556,  1562, 26777, -1556, -1556, -1556, 28164, 28164, -1556, 32634,
2257    32759, 32884, 33009, 33134, 39619, -1556, 39619, -1556, 24222, 20416,
2258    -1556, -1556, -1556, 33259, 33384, 33509, 33634, -1556,  1864,  1891,
2259    -1556, -1556, -1556, -1556, 23425, 28164, 28091,  1781, 16138, 16276,
2260    24295, -1556, 15167, 23607, 26339, 16414,    74, -1556,   901,   221,
2261    -1556,   213,    15,  1834,    15,   323,   398,  1837,  1182, -1556,
2262    -1556,  1658, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2263    -1556,  1234,  1828,  1829,  1841, -1556, -1556, -1556, -1556,  1831,
2264     1835, -1556, -1556, -1556, -1556, -1556,  1851, -1556, -1556, -1556,
2265    -1556, 33759, 33884, -1556, -1556, 26412, -1556, -1556, 23425, 23425,
2266    26485, 24368, 23425, 26558, 23334,  1853, -1556, 23425, 28164, -1556,
2267    -1556, 23607, -1556, -1556,  1845,  1855,    15,    15, 28164,    15,
2268     1856,    15,   995, -1556,   244,  1281,   530, -1556,   388, -1556,
2269     1859, -1556,    74, -1556, -1556, -1556, 27580, -1556, -1556, -1556,
2270    -1556, -1556, -1556,  1853, 23425, -1556, -1556, 26631, -1556, -1556,
2271      167, -1556, -1556,  1189,  1868,  1249, -1556,  1168,  1867,    15,
2272       15,  1869,    15, -1556, -1556, -1556, -1556,   323,   545, -1556,
2273    -1556, -1556, 23425,   632,  1873, -1556,  1876,  1877,    15, -1556,
2274     1250,  1252, -1556,  1201,   705, -1556, -1556, 28164, -1556, -1556,
2275    -1556,  1258,  1883,  1884,  1885,    15, -1556,  1888,  1887, -1556,
2276    -1556, -1556,  1308, -1556, -1556,  1893, -1556
2277 };
2278
2279 /* YYPGOTO[NTERM-NUM].  */
2280 static const yytype_int16 yypgoto[] =
2281 {
2282    -1556,  3586,    56,  9331, -1556,  1989, -1556, -1556, -1556, -1556,
2283    -1556, -1556,  1536,  1547,  -987, -1556,  -961,  -263,   106,   107,
2284     -923,  -886,  -630, -1556,  -713,  -561, -1556, -1556,  1550,  1551,
2285    -1556,  4689,  5017, -1556,    42,   704,   714, -1556, -1556, -1556,
2286    -1556,  1552, -1556, -1556, -1556,  -637, -1441,  -107, -1556, -1556,
2287    -1556, -1556,  4773,  5164,   -81,   -22,   525,  -843, -1556,  -816,
2288    -1556,  -826, -1556,  1057,  -123,  1167,  -920,    21,  1747,    82,
2289     1753,    31,     0, -1556,  1126, -1556, -1556,  6551,  4573, -1556,
2290     4861,  -223,  1236, -1556,  3352, -1556,  -325,   588,   611,  1035,
2291    -1556,   531,  -647,    58,    75,    77,   142,  -221,  8369,  4297,
2292     -291,  8116,  -640,  3867, -1556,  3918,  -320,   758,   624,  1521,
2293      546,   159,   161,   177,   210,   245,   887,   526,  -508,  6862,
2294     -634,   994,  1817,  9886,   -56,  1075,  -142,  2384,  9877,  7477,
2295    -1556, -1556, -1556,   -75,    -2,   -23, -1556,  6332, -1556,   997,
2296     2173,   582,  -807,  2715,  8025, -1556, 10402, -1556, -1556, -1556,
2297      -71,  3230, -1556, -1556,  2360,  5978,    -1, -1556, -1556,  1298,
2298     1612,  1326,  1746,   -70,   -33,  7129,  8618,   263,  3328,  -368,
2299     -127,  -301,   838,  -890,    54,  2856, -1556, -1556, -1081, -1556,
2300     1138,  -531, -1171,  6686,   143,  -699,   -76,   251,   152,  1630,
2301     -264,  -804,  -457,  -966,  -530,  -915,  -919,   268,  1049,  1082,
2302      -62,  1800,  -717,  1334,  -312,  -481,  -416, -1556,  -109,   -61,
2303     6118,   598,   -13,  -836, -1556, -1556, -1556,  1966, -1556,  1697,
2304     1975,   -47,  3702,   -20,  1799,   961,   968, -1556, -1556, -1556,
2305      -90,  1502, -1555,  -256, -1556, -1556, -1556,   -69, -1556,  1984,
2306        9,    19,  1982,  1535, -1556, -1556, -1556,  1994,  -795,   356,
2307    -1556,  -791,   806, -1556, -1556, -1556, -1556
2308 };
2309
2310 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2311    positive, shift that token.  If negative, reduce the rule which
2312    number is the opposite.  If zero, do what YYDEFACT says.
2313    If YYTABLE_NINF, syntax error.  */
2314 #define YYTABLE_NINF -1288
2315 static const yytype_int16 yytable[] =
2316 {
2317       64,  1225,   271,  1142,  1017,   397,  1458,   184,   184,  1518,
2318     1457,   500,   938,   582,   670,  1409,   222,  1574,   775,   391,
2319      106,  1229,   196,   776,   691,   286,  1015,   175,  1247,   287,
2320      108,   110,  1411,   507,  1512,  1254,  1522,  1482,  1258,  1398,
2321      599,   115,  1410,  1399,  1680,  1470,   280,  1532,  1064,   109,
2322     1847,   771,   123,   223,   942,   394,   397,   299,   389,   140,
2323      177,   116,  1858,   490,   149,   798,   152,   392,  1720,   806,
2324      601,  1430,  1514,  1031,  1524,  1432,   512,     1,   517,   697,
2325      521,   176,   163,   174,   123,   148,   210,   111,   697,   796,
2326      299,   123,   278,    64,   697,   390,   536,   539,   749,   288,
2327       64,    64,   282,  1072,   296,   944,  1078,   299,  1084,  1515,
2328     1089,  1525,   901,   379,   173,   138,   382,  1859,   299,   299,
2329      903,  1859,   491,   299,   277,  1249,   297,   298,   210,   112,
2330      301,   123,   123,  1803,   583,   513,   412,   518,   584,   522,
2331      149,   466,   479,   824,   466,  1304,   113,  2006,   493,  1481,
2332      495,   197,    92,   495,   479,  1273,   508,   466,   479,   466,
2333     1499,   466,   198,   600,   524,   172,   535,   538,   932,   378,
2334      914,   915,   106,  1370,   149,   276,  1956,  2012,   621,   299,
2335     1248,   106,   285,   123,     1,  1386,   398,  1255,   616,   184,
2336     1259,  1388,   498,   145,     1,   148,   602,  -452,   549,  1530,
2337      924,   674,   184,   614,   541,   936,   754,   755,   756,     2,
2338      149,  1702,   557,   286,   797,   286,  2079,   287,   121,   287,
2339      163,   569,   175,  -862,   750,     1,   299,  1491,   916,     1,
2340      123,  1245,   175,   123,  1805,   186,  1860,   398,   902,  1703,
2341     1997,  1431,  1030,   280,  1861,    92,   750,  2120,  1861,  1266,
2342      662,  1250,   289,    92,   548,   177,  1804,  1479,   967,  -616,
2343     1518,     1,  1535,    86,     1,   607,   850,  1518,   825,   692,
2344      647,  1518,  1071,     1,   678,  1077,   176,  1083,   680,  1088,
2345        1,  1250,   299,  1112,  1669,  1480,   176,  1522,    64,   695,
2346       64,     1,  1996,   679,  1522,  1266,  2013,   867,  1522,   282,
2347     -109,  -100,   564,   134,  2014,     2,   386,   325,   710,   681,
2348        1,   617,  -104,   565,   710,    86,     2,   387,   499,   684,
2349      757,   277,   299,   549,   925,  1524,     1, -1020,   758, -1020,
2350     1064,   759,  1524,   136,   -82,  2080,  1524,   752,   796,  2076,
2351      146,   147,  2078,  2081,   740,   -89,    86,    86,  -862,   892,
2352      894,   896,   898,  1492,    86,     1,    86,  1806,  1149,   967,
2353     -611,  1156,  1525,    86,    86,  1516,  2121,  1526,   744,  1525,
2354     2076,   136,   694,  1525,  2122,  1538,     1,     1,   527,   149,
2355      830,   137,   395,   902,   385,   549,   751,   549,  1536,     1,
2356     1579,     1,   828,   123,    86,    86,  2085,  1251,   824,   123,
2357      941,     1,  1008,  1113,  1252,   380,   670,   670,   670,   670,
2358     1062,   750,   149,  1033,     2,  1065,   150,   830,  1008,   865,
2359      508,  1063,   582,   869,   569,   938,  -109,  -100,    52,   880,
2360      186,   691,   881,   830,   869,   888,   830,   223,  -104,   700,
2361      690,   838,   289,   842,   159,  1018,    86,   851,  1020,   979,
2362      979,   979,  1274,  1276,  1278,  1052,     1,  1275,  1277,  1279,
2363      -82,  2085,   155,  1190,   466,   466,   149,   184,   184,   928,
2364      210,   -89,   581,   123,  1577,   697,   955,   585,  1038,    51,
2365     1042,   959,  1338,  1340,  1342,   163,   960,  1339,  1341,  1343,
2366      466,   466,  1819,    86,   160,  1752,    86,     1,     1,   938,
2367     1745,  1539,   973,  1053,   231,  1015,  1672,  1891,   149,   977,
2368      585,     1,   466,   466,   555,  2125,  1467,   466,   466,  1064,
2369     2089,   466,   466,  1192,  1690,   123,   123,   123,    86,   123,
2370     1555,  1699,   123,     1,  1264, -1035, -1035,  1039,  1470,  1043,
2371    -1035,    86,  1580,   123,   123,   123,  1531,   584,     1,   149,
2372     1650,    86,  1654,    86,   830,   495,  1652,     1,  1656,   466,
2373      862,   466,   524,  1775,  1046,   549,   123,     1,  1801,   149,
2374      299,   146,   147,  1409,   932,  1476,   876,  1477,  1768,   123,
2375     1330,  1769,     2,  1010,  1070,   295,  1564,  1076,   299,  1082,
2376     1411,  1087,  1518,   674,   674,   674,   674,     1,  1101,  1010,
2377     1744,   141,   587,   142,  1569,  1398,  1398,     1,  1798,  1399,
2378     1399,  1429,  1797,   146,   147,   800,   801,   802,  1526,  1522,
2379      286,  1055,  1748,   751,   287,  1526,  1066,   588,  1226,  1526,
2380     1123,   586,  1130,   398,   932,   587,  1757,   299,   372,   175,
2381     1143,  1634,   143,   588,     1,  1639,   144,  2126,  1641,   300,
2382     1643,  1781,   978,  1784,  1100,   932,    86,  1524,   254,   590,
2383        1,   419,   647,   647,   647,   647,    -8,  2145,  -216,   385,
2384     1184,  1186,  -456,  -456,  -456,  1786,   418,  -456,  -456,  -456,
2385      149,  1178,  1044,   526,   582,     1,   134,  1701,  1736,   123,
2386     1737,   588,   936,   176,  1525,   569,  1175,  1176,    86,    28,
2387       29,  1195,   932,  2126,    32,   855,    26,  1051,     1,  1202,
2388      971,    38,  2021,  1391,  1392,   544,  1207,  1217,   549,  1227,
2389     1207,  1217,     1,   420,   551,   525,  1903,  1195,   421,   803,
2390        1,     1,  1513,  1519,  1523,    43,    44,   804,  1238,  1529,
2391      805,     1,  1232,  1233,  1234,     1, -1034, -1034, -1060,  1761,
2392     1052, -1034,   589,  2147,  1261,  1563,     2,  1890,  1268,   146,
2393      147,  1566,  1897,  1475, -1060,   585,     2,  1567,   589,   528,
2394      971,   554,  1746,  1568,  1518,   146,   147,  -216,  2085,     1,
2395    -1066,  1747,   858,  -216,   591,   751,  -456,     1,    86,    86,
2396       86,  1267,    86,     1,  -456,    86,   558,  -456,  1053,  -456,
2397     1328,  1522,  -456,   709,  1333,   845,    86,    86,    86,   584,
2398      592,  1766, -1060,   744,   856,   134,   589,  1060,  1450,  1451,
2399      857,  1452,  1532,   391,  1454,  1455,  1958,    86,  1493,  1393,
2400      149,  1396,  2156,  1980,   830,   830,   830,   146,   147,  1524,
2401      744,  1484,  1485,   859,   976,   146,   147,   690,   744,   709,
2402      670,  1308,   372,   670,   565,   528,   560,   412,  1412,   210,
2403     1768,  1769,  1466,   973,   104,   149,   977,   559,   744,  1312,
2404      593,   392,  1314,   163,  1422,   569,  1525,   595,  1143,  1374,
2405     1632,  1243,   569,  1555,  1437,  1439,   846,  1441,  1489,   830,
2406      587,   670,  1537,  1540,   146,   147,  1504,  1378,     1,   390,
2407     1380,  1762,   146,   147,  1462,   670,   670,   670,   670,  1501,
2408      153,   551,   154,   551,  -265,  -265,  -265,   105,  1746,  1706,
2409        1,   181,   106,   397,  1707,   597,   123,  1756,   149,  -456,
2410     -456,  -456,   210,   156,     1,   123,   598,   157,  1316,   158,
2411     1474,     1,  -738,   123,  -738,   123,  1478,  1490,   107,  -216,
2412     1526,  1305,    86,  1557,  1309,   149,   928,   412,    86,     2,
2413      676,  1977,    32,  1543,   508,   508,  1382,   495,   121,   466,
2414      495,  1313,  1884,   394,   104,   508,  1500,   149,  1502,  1371,
2415     2031,  1494,  1375,  1911,  1519,  1523,  1495,     1,  -458,  -458,
2416     -458,  1519,  1523,    43,    44,  1519,  1523,    75,   696,  1379,
2417     1868,  1558,  1051,   123,  1802,  1315,   938,   890,   494,  1417,
2418        1,   254,  1801,   146,   147,  1808,  1772,  1426,  -457,  -457,
2419     -457,   531,  1544,  2075,   709,  2011,  1015,  2076,  1440,   786,
2420      787,  2077,  -265,  1381,   495,   495,  -265,   674,   466,   466,
2421      674,  1317,   466,   466,   466,   718,   149,  2046,   719,   123,
2422      123,  -456,    52,     1,  1002,   106,   146,   147,  -216,   123,
2423      748,   123,   210,   549,  -216,   525,   751,   830,   527,  1383,
2424      149,  -869,  1496,   830,   385,   722,   149,  1497,   674,   830,
2425      179,   677,   149,     1,   897,   830,   723,   149,   254,  1980,
2426       75,   551,   674,   674,   674,   674,  1673,    75,    75,   490,
2427      724,   149,   146,   147,   398,  1965,   647,  1715,  1256,   647,
2428     -458,  1716,   725,   398,   777,  1010,   181,  2118,  1123,  1560,
2429     1130,  2076,   974,   372,    32,  2119,   687,   932,   975,  1614,
2430     2131,  2053,  1526,  2054,   778,   779,   788,   789,   134,   807,
2431     -457,   726,  1627,     1,  1674,    26,  1415,   647,  1268,  1090,
2432       86,   551,   975,     1,   793,    43,    44,  1623,   491,   808,
2433      809,   647,   647,   647,   647,   814,   815,   932,     2,  1727,
2434      932,   414,   751,  1716,  1091,  1472,  2082,   134,  2084,   466,
2435      466,   123,  1418,   123,   794,  2034,  1090,   699,   975,    86,
2436     1092,   581,  1547,   830,   792,   149,   699,   134,   146,   147,
2437      830,  1774,   699,   795,   412,   210,   197,   857,  1917,    86,
2438     -898,  1091,  1808,  1639,    28,    29,  1643,   198,   573,    32,
2439     1093,  1094,   799,  1684,  -878,  -878,    38,  1092,  2016,  -878,
2440     1684,  1776,  -868,  1777,  -868,  -868,  -878,   975,   149,   975,
2441        1,  2113,   106,  2115,  -624,  2117,  -624,  1881,   372,  1658,
2442       43,    44,   372,   857,  1090,   780,   781,  1093,  1094,  1957,
2443     -878,  -878,  1166,  1170,  1708,   857,  1864,  1002,   161,  1981,
2444     1865,   820,   816,   817,  1002,   179,  1555,  1002,   751,  1091,
2445     1015,   782,   783,  2140,  2141,   179,  2143,    75,     1,   821,
2446     2137,  1015,   822,   744,  2076,  1092,  -216,   372,  2138,  -868,
2447      395,   827,  2151,   717,  2091,  1095,   823,   687,  2092,   721,
2448     -868,  2134,    86,    86,     1,  2076,  1519,  1523,   835,  2162,
2449      736,  1296,  1300,  2154,   372,  1093,  1094,  2076,  1968,   670,
2450      670,  2155,   372,   836,   857,  -868,  1297,  1301,  2023,     2,
2451     -623,   670,  -623,  1664,   857,   136,  1668,  2028,   121,  1362,
2452     1366,  2045,   372,   857,  2093,   146,   147,   857,   385,   878,
2453      857,  -868,  -868,  -868,  1363,  1367,   394,  1009,  1280,  1282,
2454     1012,  2136,  2152,  1572,  2153,  2076,  2076,  1573,  2076,   839,
2455     2158,   843,   847,   784,  2076,    28,    29,  1635,  1636,  1637,
2456       32,  1734,  1735,  1284,  1286,  1738,   149,    38,  1344,  1346,
2457      830,   830,   848,   146,   147,  -216,  1285,  1287,   656,   254,
2458     1416,  -216,   149,   751,   573,  1739,  1412,  1502,   900,   850,
2459      412,    43,    44,  1348,  1350,   542,  1749,   543,   123,    51,
2460     2165,  1627,   564,   907,  2076,   123,  1349,  1351,   790,   791,
2461     1758,   149,   123,   565,    86,   546,    86,   543,  1802,   932,
2462      932,  1002,   501,   551,   414,  2128,   514,  -897,   810,   811,
2463      908,   909,  1032,   123,     1,  1765,   573,  1104,   123,   543,
2464     1015,   123,   957,   751,   149,  1147,  1179,  -954,   142,  1260,
2465      917,     1,   910,   412,    18,    19,   911,   964,   912,   466,
2466      466,  1267,   551,     1,   830,   830,   830,   830,  1519,  1523,
2467      965,   697,   697,   966,   697,   697,   573,   812,   813,   697,
2468      697,   697,   697,   967,    28,    29,   674,   674,   913,    32,
2469     1327,  1002,     1,  1002,   970,  1981,    38,  1182,   674,  1034,
2470     -897,  -897,  1332,   687,     1,  -897,  -878,  -878,  1281,  1283,
2471     1026,  -878,  -897,   466,   466,  1027,   123,  1015,  -878,  1028,
2472       43,    44,   198,  1509,   123,  1510,  1547,  1067,    51,  1056,
2473      533,   751,  1507,  1609,  1508,   569,  -897,  -897,  1345,  1347,
2474     1893,  1035,  -878,  -878,   980,   981,   982,   891,  1073,   670,
2475     -897,  -897,  -897,   699,  1079,   647,   647,  1102,     1,   551,
2476      751,  1085,  1022,  1024,   272,  1123,  1103,   647,  1123,  1105,
2477      851,  1123,   751,  1109,  1851,  1614,   818,   819,  1010,  1123,
2478     1446,  1448,  1123,     2,  1790,  1791,  1793,  1794,  1894,  1107,
2479     1447,  1449,   121,  1161,  1163,  1023,  1025,  1848,  1110,  1002,
2480     1162,  1164,  1111,    28,    29,   291,   294,  1143,    32,  1129,
2481      551,  1400,  1401,  1862,   508,    38,  1131,  1132,   697,   697,
2482      697,   697,   697,   697,   697,   697,  1144,   416,  1140,    28,
2483       29,  1141,  1960,  1145,    32,  1146,   372,   372,  1244,    43,
2484       44,    38,  1180,  1191,  1204,  1256,  1402,   412,  1403,   210,
2485     1008,  1571,   412, -1015,   534, -1015,  1404,  1405,   537,   540,
2486     1406,  1407,   179,   395,   387,    43,    44,  1969,  1198,  1972,
2487     1238,  1419,  1912,  1913,  1582,    86,   564,  1588,  1815,  1420,
2488     1436,  1444,  1463,   687,  1483,   736,   581,   565,  1445,  1548,
2489     -730,  -733,  1549,  1983,  1198,  1985,  1550,  1570,  1575,  1551,
2490     1576,  1552,   551,  1585,  1553,  1241,  1602,  1393,  1603,  1586,
2491     1601,   697,  1605,  1610,  1618,  1629,   412,   670,  1619,   670,
2492      123,   123,  1620,   123,   551,  1624,  1970,  1644,  1973,  1166,
2493     1170,  1166,  1170,   420,  1648,   149,   674,  1665,  1125,  1666,
2494      622,  2129,   669,  1182,  1002,  1677,  2130,   372,   466,  1679,
2495      466,  1002,  1984,   830,  1986,  1002,  1205,  1681,  1682,  1692,
2496     1693,   693,  1694,  1697,   687,  1778,  1705,  -909,  1700,  1704,
2497      656,   656,   656,   656,   466,  1710,   466,   123,  1717,    86,
2498     1723,  1726,  1731,  1733,  1755,   670,  1816,  1759,  1773,  1787,
2499     -736,  1288,  1290,  1809,  1292,     1,  1810,  1811,   573,  1123,
2500     1123,  1123,  1123,  1812,  1818,   647,  1813,  1839,  1840,  1123,
2501     1123,   687,  1123,  1814,  1123,  1845,  1849,  1870,  1863,  1352,
2502     1354,  1356,  1358,  1866,  1867,  1888,  1123,  1872,  1874,  1876,
2503     1877,  1010,  1878,   573,  1880,  1143,  1885,  1886,  1627,   785,
2504     -909,  -909,   573,  1887,     1,  -909,  1889,  1900,  2009,   573,
2505     2009,  1901,  -909,  1904,   736,  1905,   573,  1910,  1955,  -231,
2506     2051,  1959,   414,   414,  1962,  1963,    28,    29,  1966,     2,
2507      412,    32,   549,  1967,  1971,  2010,  -909,  -909,    38,  1974,
2508     1976,   744,   744,   744,   744,   744,   744,   744,   744,  1995,
2509     -909,  1460,  -909,  2015,  2022,  2024,  1975,  2025,  2058,  2041,
2510     2026,  2042,    43,    44,   674,  2043,   674,   573,  2044,  2027,
2511      416,   893,     1,    52,   899,    28,    29,  2029,  2030,  2052,
2512       32,  2035,  2036,   573,  2037,  2059,  2038,    38,  2083,  2090,
2513     1486,  2094,  2095,  2096,  2097,   619,   623,     2,  2098,   466,
2514      466,   466,   466,   466,   830,  2099,   830,  2105,  2110,  2111,
2515     2116,    43,    44,   466,   466,   466,   466,  2127,  1002,    57,
2516     2135,  2139,   414,  2142,  1123,  2123,  2124,  2148,   551,   561,
2517     2149,  2150,   674,   647,   744,   647,  2074,  2159,  2160,  2161,
2518     2163,  2164,   948,    28,    29,  1143,  1627,  2166,    32,  1645,
2519     2144,  1012,  1785,   949,  1408,    38,   950,   951,   954,   372,
2520      114,  2009,  1498,  2009,  1002,   682,  1002,  1019,  1453,  1331,
2521     1021,   683,  1488,    18,    19,  1763,   885,  1230,    57,    43,
2522       44,   466,   466,  1002,   877,   151,  1978,  1561,  1123,  1123,
2523      720,  1236,  1123,  2112,  1123,   615,   290,  1123,   279,   663,
2524       86,   647,    57,    28,    29,    57,  1473,   281,    32,    28,
2525       29,   255,    57,   293,    32,    38,  1627,   283,  1143,    57,
2526       57,    38,  1143,  1954,     0,  2009,  2009,     0,  2009,     0,
2527     2009,     0,    57,     0,  1123,   381,  1002,     0,  1599,    43,
2528       44,     0,     0,     0,     0,    43,    44,    57,     0,     0,
2529     1138,     0,     0,    51,     0,   406,   859,  1143,  1627,  2133,
2530      406,   255,  1123,   406,     0,     0,     0,   565,  2009,  2009,
2531        0,  2009,     0,   255,  1143,    57,   406,   255,   406,     0,
2532      406,     0,     0,     0,     0,     1,     0,  2009,     0,     0,
2533        0,     0,     0,     0,   669,   669,   669,   669,     0,     0,
2534        0,     0,     0,     0,  2009,   255,   255,     0,     0,     0,
2535        2,     0,     0,  1822,  1826,     0,     0,   406,     0,   121,
2536        0,     0,  1185,  1187,  1188,  1838,     0,  1662,     0,     0,
2537     1675,   556,   840,     0,   844,     0,     0,   551,     0,   551,
2538       57,     0,     0,     0,     0,     1,    28,    29,   372,     0,
2539        0,    32,  1695,   551,   551,     0,    28,    29,    38,     0,
2540      372,    32,   619,     0,     0,   619,     0,     0,    38,   414,
2541        2,     0,     0,     0,   656,     0,     0,   656,     0,   121,
2542        0,     0,    43,    44,   255,     0,  1125,   255,   255,   643,
2543        0,     0,    43,    44,   400,     0,  1182,    57,     0,     0,
2544       51,     0,     0,    52,     0,     0,     0,    57,   255,    57,
2545        1,     0,   927,     0,     0,   656,    28,    29,  1002,     0,
2546        0,    32,     0,     0,     0,     0,     0,   255,    38,   656,
2547      656,   656,   656,   255,     0,     2,  1645,  1289,  1291,  1012,
2548     1293,     0,   406,     0,   121,   483,     0,     0,     0,     0,
2549        0,     0,    43,    44,     0,     0,     0,   483,     0,     0,
2550       51,   483,     0,    52,  1459,  1353,  1355,  1357,  1359,   760,
2551      761,   762,   763,   764,   765,   766,   767,   768,   769,     0,
2552        0,    28,    29,     0,     0,     0,    32,     0,     0,   619,
2553      623,  1167,  1171,    38,     0,    28,    29,     0,     0,    57,
2554       32,     0,     0,     0,   406,     0,   406,    38,   416,   416,
2555        0,     0,  1057,     0,    66,     0,     0,    43,    44,   619,
2556        0,     0,   372,   372,     0,    51,     0,     0,    52,     0,
2557        0,    43,    44,     0,     0,     0,    57,     0,   406,    57,
2558        0,     0,   255,    57,     0,     0,  1503,     0,   879,     0,
2559        0,     0,    57,   255,     0,    57,     0,   551,     0,     0,
2560        0,     0,     0,  1993,     0,     0,   551,     0,   611,     0,
2561        0,     0,  1108,     0,     0,     0,   770,     0,     0,     1,
2562        0,   414,     0,   406,   406,   414,     0,     0,    57,    57,
2563        0,     0,   573,     0,     0,   406,  1770,    66,     0,     0,
2564      958,     0,     0,     0,     2,   255,     0,    66,   416,   406,
2565      406,   714,     0,   121,    66,    66,     0,   714,  1505,     0,
2566        0,     0,   551,   551,     0,     0,     0,     0,    57,     0,
2567        0,   406,   406,     0,    18,    19,   406,   406,     0,     0,
2568      406,   406,     0,     0,     0,     0,     0,   643,   414,     0,
2569       28,    29,     0,     0,   255,    32,   481,   255,    28,    29,
2570        0,     0,    38,    32,    28,    29,   414,     0,   481,    32,
2571       38,     0,   481,    57,     0,     0,    38,     0,   406,     0,
2572      406,     0,     0,    57,   406,     0,    43,    44,     0,     0,
2573       18,    19,   573,     0,    43,    44,     0,    52,     0,     0,
2574       43,    44,    51,    57,     0,  1205,    57,     0,    57,     0,
2575       57,  1608,     0,     0,     0,     0,     0,    57,  1645,  1012,
2576       28,    29,     0,    28,    29,    32,   872,     0,    32,     0,
2577        0,  2070,    38,  2073,   372,    38,     0,   872,   669,  1923,
2578     1927,   669,  1933,  1937,     0,     0,     0,  1941,  1945,  1949,
2579     1953,     0,   372,     0,     0,     0,    43,    44,     0,    43,
2580       44,     0,     0,  -456,    51,     0,  -456,  -456,  -456,  -456,
2581     -456,  -456,  -456,  -456,     0,     0,     0,     0,     0,   669,
2582        0,   643,   643,   643,   643,     0,     0,     0,     0,   963,
2583        0,     0,    66,   669,   669,   669,   669,     0,     0,  2109,
2584        0,     0,    66,   372,    66,  1895,     0,  1898,     0,   255,
2585      255,   255,     0,     0,    57,     0,  1646,     0,  1647,     0,
2586      406,  1906,  1908,     0,     0,     0,     0,   736,   255,     0,
2587        0,     0,     0,     0,     0,   255,   255,   406,     0,   255,
2588      255,     0,   414,     0,     0,    76,   406,   414,     0,     0,
2589        0,     0,     0,   656,   656,   416,     0,    57,     0,     0,
2590      643,     0,     0,  1125,     0,  1125,   656,   643,     0,   656,
2591      643,     0,     0,     0,  1461,  -456,  -456,   656,     0,     0,
2592     1125,     0,     0,     0,     0,  -456,   699,   699,   699,   699,
2593      699,   699,   699,   699,  -456,  -456,  -456,  -456,  -456,     0,
2594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2595      573,   414,     0,  1487,  -456,  -456,  -456,  -456,  -456,  -456,
2596     -456,  -456,  -456,  -456,  -456,     0,     0,     0,    76,     0,
2597        0,     0,     0,  1583,     0,     0,  1589,   481,    76,     0,
2598        0,     0,     0,     0,     0,    76,    76,     0,   481,     0,
2599       57,     0,   414,    57,    57,    57,     0,     0,     0,    28,
2600       29,    28,    29,     0,    32,     0,    32,     0,     0,     0,
2601        0,    38,     0,    38,  1630,     0,   406,   406,    57,   699,
2602        0,     0,     0,     0,     0,    57,    88,   484,  1167,  1171,
2603     1167,  1171,     0,   255,    57,    43,    44,    43,    44,   484,
2604      481,    57,     0,   484,   255,     0,   406,   402,    57,   852,
2605     1562,   619,     0,   619,     0,     0,    28,    29,  1003,  1211,
2606     1221,    32,     0,  1211,  1221,  2032,  -456,  -456,    38,   736,
2607        0,     0,     0,     0,  2039,     0,  -456,     0,   131,     0,
2608        0,  -456,  -456,  -456,     0,  -456,  -456,  -456,  -456,  -456,
2609        0,    57,    43,    44,     0,     0,     0,     0,     0,    57,
2610        0,  1600,     0,     0,   853,   414,     0,   416,   164,   182,
2611      195,   416,     0,     0,     0,    57,   406,   233,     0,    88,
2612        0,     0,     0,    57,    57,     0,    88,    88,   406,     0,
2613     2047,  2049,     0,     0,    57,     0,     0,  1125,  1125,  1125,
2614     1125,     0,     0,  1125,     0,     0,     0,   656,   656,     0,
2615     1125,     0,  1125,     0,   643,   255,   643,   195,   399,   401,
2616      403,   404,   255,    76,  1125,     0,     0,   472,     0,     0,
2617      472,     0,     0,    76,   416,    76,     0,     0,     0,     0,
2618        0,     0,     0,   472,     0,   472,     0,   472,     0,     0,
2619     1795,     0,   416,  1676,     0,     0,     0,   406,   406,     0,
2620        0,   406,   406,   406,     0,     0,     0,     0,     0,   532,
2621      401,   403,     0,     0,     0,  1696,     0,  1425,     1,     0,
2622        0,    57,   406,     0,     0,     0,    57,     0,  1425,     0,
2623        0,     0,    57,     0,     0,     0,     0,     0,    57,  1203,
2624        0,     0,     0,     2,    57,     0,   562,   577,     0,    66,
2625        0,     0,   192,   193,     0,     0,     0,   669,   669,     0,
2626        0,     0,   643,     0,     0,   643,     0,     0,   643,   669,
2627        0,  1003,     0,     0,     0,     0,     0,     0,  1003,     0,
2628        0,  1003,     0,     0,     0,     0,     0,     0,     0,    28,
2629       29,   613,     0,     0,    32,     0,     0,     0,     0,     0,
2630        0,    38,  1125,     0,   182,     0,   643,     0,   484,     0,
2631        0,  1125,     0,  1125,   688,     0,    88,     0,     0,   484,
2632      643,   643,   643,   643,     0,    43,    44,     0,     0,     0,
2633        0,     0,     0,    51,     0,     0,    52,     0,   406,   406,
2634        0,     0,     0,   255,     0,   255,   611,     0,     0,     0,
2635        0,     0,    57,     0,     0,     0,     0,     0,     0,    57,
2636        0,     0,   255,   406,    57,     0,  1125,  1125,   416,     0,
2637     1125,   484,  1125,   416,     0,  1125,     0,     0,     0,  1125,
2638        0,     0,   255,     0,     0,     0,     0,     0,     0,   255,
2639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2640       82,     0,     0,     0,     0,     0,   255,   643,     0,     0,
2641        0,     0,  1125,   255,   643,     0,     0,   255,   643,   399,
2642      401,   403,     0,     0,     0,     0,     0,     0,   481,     0,
2643        0,     0,     0,     0,     0,     0,     0,   416,     0,   481,
2644     1125,     0,     0,   860,     0,     0,     0,     0,     0,     0,
2645      472,     0,  1823,  1827,     0,     0,     0,     0,     0,  1771,
2646        0,   131,     0,     0,     0,  1583,     0,     0,  1589,     0,
2647        0,     0,     0,     0,     0,     0,  1630,     0,   416,     0,
2648        0,     0,     0,    82,     0,     0,     0,     0,     0,     0,
2649      472,   472,     0,    82,     0,   934,     0,     0,     0,   945,
2650       82,    82,   472,     0,     0,     0,     0,   669,     0,     0,
2651        0,   164,     0,     0,     0,     0,   472,   472,     0,     0,
2652        0,     0,     0,     0,     0,  1003,  1003,  1003,     0,     0,
2653        0,     0,     0,     0,     0,   860,     0,     0,   472,   472,
2654        0,     0,   485,   472,   472,     0,   611,   472,   472,     0,
2655      126,   195,   195,   195,   485,     0,     0,     0,   485,    57,
2656       57,     0,     0,     0,     0,     0,  1688,     0,     0,   195,
2657      195,     0,     0,  1688,     0,   406,     0,     0,     0,   406,
2658       76,   180,   126,     0,     0,   472,     0,   472,     0,   232,
2659     1049,   416,  1058,     0,     0,     0,     0,     0,     0,     0,
2660        0,     0,     0,     0,     0,     0,     0,   403,     0,   968,
2661        0,  -639,     0,     0,     0,     0,     0,     0,     0,     0,
2662        0,   643,     0,     0,    57,     0,     0,     0,     0,   126,
2663      126,     0,     0,  1003,   342,     0,  -639,     0,     0,     0,
2664        0,     0,   406,     0,     0,  -639,  -639,     0,   406,   406,
2665        0,     0,     0,    57,    57,    57,    57,     0,   413,     0,
2666        0,     0,     0,     0,     0,     0,     0,     0,  1896,     0,
2667     1899,     0,     0,     0,     0,   669,     0,   669,    82,     0,
2668        0,   530,  -639,  -639,  1907,  1909,     0,  -639,    82,     0,
2669       82,     0,     0,     0,  -639,     0,     0,     0,     0,     0,
2670        0,     0,   406,   406,     0,     0,  1823,  1827,     0,     0,
2671        0,     0,     0,     0,     0,  1183,     0,     0,  -639,  -639,
2672      413,   688,     0,     0,    57,     0,  -639,     0,   594,  -639,
2673        0,   596,   969,     0,   967,  -639,     0,     0,   255,   643,
2674        0,     0,  1213,   669,   643,   643,  1213,     0,     0,     0,
2675        0,     0,     0,     0,     0,     0,    54,   643,     0,   484,
2676      643,     0,     0,   126,   860,     0,     0,     0,   643,     0,
2677      484,     0,     0,     0,     0,     0,   180,  1003,  1003,     0,
2678        0,     0,     0,     0,  1003,  1003,     0,     0,  1003,  1003,
2679        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2680        0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
2681        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2682        0,     0,   413,   873,     0,     0,   702,   705,   707,     0,
2683        0,   413,     0,     0,   873,     0,   406,   413,    57,   170,
2684        0,   406,     0,   728,     0,     0,     0,     0,   342,    54,
2685        0,     0,     0,     0,     0,     0,    54,    54,     0,    57,
2686        0,     0,     0,     0,     0,   413,     0,     0,     0,     0,
2687      413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2688        0,     0,     0,     0,     0,  1413,   873,     0,  2033,     0,
2689        0,   126,   860,     0,     0,     0,     0,  2040,     0,   164,
2690      860,  1427,     0,     0,     0,   406,     0,   413,  1434,   413,
2691        0,   860,     0,  1442,     0,     0,     0,     0,     0,     0,
2692      255,   643,     0,     0,     0,     0,     0,     0,     0,     0,
2693        0,     0,     0,   126,     0,     0,     0,   406,     0,   406,
2694        0,   413,    57,     0,     0,     0,     0,     0,     0,     0,
2695        0,     0,   131,  2048,  2050,     0,     0,     0,     0,     0,
2696        0,  1471,     0,   406,     0,   406,   577,     0,     0,     0,
2697        0,   232,   131,     0,     0,     0,     0,   567,     0,     0,
2698        0,     0,   934,     0,     0,     0,     0,   302,     0,     1,
2699      303,   106,  1003,     0,     0,   472,     0,     0,   643,   643,
2700        0,     0,     0,     0,     0,   401,     0,     0,     0,     0,
2701        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
2702        0,     0,     0,   126,   126,   126,     0,  1007,     0,   934,
2703      596,     0,     0,     0,   170,     0,     0,     0,     0,     0,
2704        0,   126,   126,   126,   170,     0,    54,     0,     0,     0,
2705      413,   307,     0,     0,     0,     0,     0,   308,   309,   406,
2706        0,   406,   126,     0,   472,   472,     0,     0,   472,   472,
2707      472,   312,     0,     0,     0,  1545,   399,     0,     0,     0,
2708        0,     0,     0,     0,   313,     0,   403,   413,   314,   315,
2709      316,   317,   318,   319,   320,    82,     0,     0,     0,     0,
2710        0,     0,     0,     0,     0,     0,     0,   704,     0,  1003,
2711     1003,     0,     0,     0,     0,     0,     0,   325,   326,   342,
2712        0,     0,     0,     0,     0,     0,     0,     0,   406,   406,
2713      406,   406,   406,    57,     0,    57,     0,     0,     0,     0,
2714      620,   624,   406,   406,   406,   406,     0,   413,     0,     0,
2715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2717        0,     0,     0,   567,     0,     0,     0,     0,   468,     0,
2718        0,   468,     0,     0,     0,     0,     0,   232,     0,     0,
2719        0,     0,     0,     0,   468,     0,   468,     0,   468,     0,
2720      360,     0,     0,     0,     0,   472,   472,     0,     0,     0,
2721      406,   406,     0,     0,     0,     0,     0,     0,   413,     0,
2722        0,     0,     0,     0,   415,   567,   860,     0,     0,   860,
2723        0,  1671,     0,     0,     0,     0,     0,     0,     0,     0,
2724        0,     0,     0,     0,   342,     0,     0,     0,   342,  1213,
2725        0,     0,     0,     0,     0,     0,  1213,     0,     0,     0,
2726        0,     0,     0,   413,     0,   567,     0,     0,     0,     0,
2727      413,     0,     0,   413,   873,     0,     0,     0,     0,     0,
2728        0,     0,     0,     0,     0,   873,   415,     0,     0,     0,
2729        0,  1003,  1003,   342,     0,     0,     0,     0,     0,   413,
2730      413,   413,   413,   413,   413,   413,     0,     0,   413,   413,
2731        0,   413,   413,   413,   413,   413,   413,   413,   413,     0,
2732      342,     0,     0,     0,     0,     0,     0,     0,   342,   413,
2733      413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2734      413,   413,   413,   413,   413,   413,   413,     0,   342,     0,
2735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2737        0,     0,     0,     0,     0,     0,     0,     0,     0,   413,
2738      413,     0,     0,     0,     0,   126,     0,     0,   415,     0,
2739        0,     0,   703,   706,   708,     0,     0,   415,     0,     0,
2740        0,     0,     0,   415,     0,     0,     0,   620,     0,   729,
2741      620,     0,     0,     0,   360,     0,     0,     0,     0,     0,
2742        0,     0,     0,     0,   126,     0,     0,     0,     0,     0,
2743        0,   415,     0,     0,     0,     0,   415,     0,     0,  1742,
2744        0,   594,     0,   596,   126,     0,     0,   413,     0,   413,
2745        0,   170,     0,     0,  1751,     0,     0,  1194,     0,     0,
2746        0,   399,     0,     0,     0,     0,     0,     0,   195,     0,
2747        0,     0,     0,   415,     0,   415,     0,     0,     0,   413,
2748        0,     0,     0,  1194,     0,     0,     0,     0,   413,  1764,
2749        0,   577,     0,     0,     0,     0,     0,     0,     0,     0,
2750        0,   468,   468,  1779,     0,  -628,     0,   415,     0,     0,
2751        0,     0,     0,     0,     0,   472,   472,   413,     0,   413,
2752        0,     0,     0,     0,     0,     0,     0,   468,   468,     0,
2753     -628,     0,     0,     0,   620,   624,  1168,  1172,     0,  -628,
2754     -628,     0,     0,     0,     0,     0,     0,   126,   126,   468,
2755      468,     0,     0,     0,   468,   468,     0,     0,   468,   468,
2756        0,     0,     0,     0,   620,     0,     0,     0,     0,   472,
2757      472,     0,   399,     0,     0,     0,  -628,  -628,     0,   357,
2758        0,  -628,     0,     0,     0,   413,     0,   567,  -628,     0,
2759        0,   577,     0,     0,     0,     0,   468,     0,   468,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,     0,  -628,  -628,     0,     0,   415,     0,     0,     0,
2762     -628,     0,   567,  -628,     0,   413,  1780,     0,   967,  -628,
2763        0,   567,     0,     0,     0,     0,   413,     0,   567,     0,
2764        0,     0,     0,     0,     0,   567,     0,     0,     0,     0,
2765        0,     0,     0,   415,     0,     0,     0,     0,     0,     0,
2766        0,     0,   342,   342,     0,     0,     0,     0,     0,     0,
2767        0,     0,     0,     0,     0,     0,     0,     0,     0,   594,
2768        0,   596,     0,     0,     0,   360,     0,     0,     0,     0,
2769        0,     0,     0,     0,     0,     0,   567,  1882,     0,     0,
2770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2771        0,     0,   567,   415,     0,     0,     0,     0,     0,     0,
2772        0,     0,     0,     0,     0,     0,   413,     0,   413,     0,
2773        0,     0,     0,     0,     0,     0,     0,   650,     0,     0,
2774        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2775      413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2776        0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
2777      413,     0,     0,   342,     0,     0,     0,   413,     0,     0,
2778        0,   413,     0,     0,   415,     0,     0,     0,     0,     0,
2779        0,     0,     0,   747,     0,     0,     0,     0,     0,     0,
2780        0,     0,     0,     0,   472,     0,   472,     0,     0,   860,
2781      360,     0,     0,     0,   360,     0,     0,     0,     0,     0,
2782        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2783      472,     0,   472,     0,     0,     0,   415,     0,     0,   415,
2784        0,     0,   403,     0,     0,     0,     0,     0,     0,     0,
2785        0,     0,     0,     0,     0,     0,     0,     0,     0,   360,
2786        0,     0,     0,     0,     0,   415,   415,   415,   415,   415,
2787      415,   415,     0,     0,   415,   415,     0,   415,   415,   415,
2788      415,   415,   415,   415,   415,     0,   360,     0,     0,     0,
2789        0,     0,     0,     0,   360,   415,   415,   415,   415,   415,
2790      415,   415,   415,   415,   415,   415,   415,   415,   415,   415,
2791      415,   415,   415,     0,   360,     0,     0,     0,     0,     0,
2792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2793        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
2794      126,     0,   413,   468,   468,   415,   415,     0,     0,  1657,
2795        0,     0,     0,     0,     0,     0,  1659,     0,     0,     0,
2796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2797        0,     0,     0,     0,     0,     0,     0,     0,  1584,     0,
2798        0,  1590,     0,     0,   413,     0,     0,     0,     0,     0,
2799        0,     0,     0,     0,   413,   472,   472,   472,   472,   472,
2800      449,  1014,     0,   449,     0,   413,   468,     0,     0,   472,
2801      472,   472,   472,   415,     0,   415,   449,     0,   449,  1631,
2802      449,     0,     0,   413,     0,   342,     0,     0,     0,     0,
2803      413,     0,   413,  1168,  1172,  1168,  1172,     0,     0,     0,
2804        0,     0,     0,     0,   126,   415,     0,     0,     0,   413,
2805        0,     0,     0,     0,   415,     0,   620,     0,   620,     0,
2806        0,     0,     0,     0,  1099,     0,     0,     0,     0,     0,
2807        0,     0,     0,     1,     0,   468,   468,   472,   472,   468,
2808      468,   468,     0,   415,     0,   415,   774,     0,     0,     0,
2809        0,     0,     0,     0,     0,     0,     0,   650,     2,     0,
2810        0,     0,   413,     0,     8,     9,    10,    11,    12,    13,
2811       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2812       24,     0,     0,     0,     0,     0,     0,     0,     0,   650,
2813      650,   650,   650,     0,     0,     0,    27,     0,     0,     0,
2814        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
2815        0,   415,    35,    36,     0,    37,    38,    39,     0,     0,
2816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2817       40,     0,   467,     0,     0,   467,     0,     0,     0,     0,
2818       43,    44,    45,    46,    47,    48,     0,     0,   467,  1231,
2819      467,   415,   467,  1235,     0,     0,     0,     0,     0,   413,
2820        0,     0,   415,   413,   413,   413,     0,     0,     0,     0,
2821        0,     0,     0,     0,   342,     0,   468,   468,     0,   413,
2822      413,   567,     0,     0,   747,     0,   342,     0,   360,   360,
2823        0,     0,     0,     0,     0,     0,     0,     0,  1272,     0,
2824        0,     0,     0,     0,   413,   413,     0,   413,   413,     0,
2825        0,     0,   413,   413,   413,   413,     0,     0,     0,     0,
2826        0,     0,     0,     0,     0,  1326,     0,     0,   413,     0,
2827      747,     0,     0,  1337,     0,     0,     0,     0,     0,     0,
2828        0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
2829        0,     0,   415,  1390,   415,     0,     0,     0,     0,     0,
2830        0,   648,     0,     0,     0,   126,     0,     0,     0,   413,
2831        0,     0,     0,     0,     0,     0,   415,     0,     0,     0,
2832        0,   567,     0,   449,   449,     0,     0,     0,   450,     0,
2833        0,   450,   415,     0,     0,   952,   415,     0,     0,   360,
2834        0,     0,     0,   415,   450,     0,   450,   415,   450,   449,
2835      449,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2836        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2837        0,   449,   449,     0,     0,     0,   449,   449,  1135,     0,
2838      449,   449,     0,     0,     0,     0,     0,     0,   342,   342,
2839        0,   413,   413,   413,   413,   413,   413,   413,   413,     0,
2840        0,     0,     0,     0,     0,     0,     0,   919,   922,     0,
2841        0,     0,     0,     0,     0,     0,     0,     0,   449,     0,
2842      449,     0,   413,   413,     0,     0,     0,     0,     0,     0,
2843        0,     0,   413,   919,   922,     0,     0,     0,     0,     0,
2844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2845        0,     0,     0,     0,     0,   919,   922,  1824,  1828,     0,
2846      919,   922,     0,     0,   919,   922,     0,     0,     0,     0,
2847      624,     0,     0,   624,     0,     0,     0,     0,     0,     0,
2848     1014,   624,     0,     0,   413,     0,     0,     0,   413,   413,
2849        0,     0,     0,     0,     0,   467,   467,     0,     0,     0,
2850     1263,     0,     0,     0,   415,     0,     0,     0,   415,     0,
2851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2852        0,   467,   467,     0,     0,     0,   468,   468,     0,     0,
2853        0,     0,     0,  1295,  1299,  1303,  1307,  1311,     0,   567,
2854     1320,     0,     0,   467,   467,     0,  1263,     0,   467,   467,
2855      415,     0,   467,   467,     0,     0,     0,     0,     0,  1000,
2856      415,  1361,  1365,  1369,  1373,  1377,     0,     0,  1320,     0,
2857        0,   415,     0,   650,     0,     0,   650,     0,     0,     0,
2858      468,   468,     0,     0,     0,   650,     0,     0,     0,   415,
2859      467,   360,   467,     0,     0,     0,   415,     0,   415,     0,
2860      342,     0,     0,     0,     0,     0,     0,  1625,  1626,     0,
2861        0,     0,     0,     0,   650,   415,  1272,     0,   342,     0,
2862     1638,     0,     0,  1337,     0,  1642,     0,     0,   650,   650,
2863      650,   650,     0,     0,     0,     0,     0,     0,     0,     0,
2864        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2865        0,   450,   450,     0,     0,     0,     0,     0,     0,     0,
2866        0,   648,     0,   953,     0,     0,     0,     0,   415,   342,
2867        0,     0,     0,     0,     0,     0,     0,   450,   450,     0,
2868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2869        0,     0,     0,   648,   648,   648,   648,     0,     0,   450,
2870      450,     0,     0,     0,   450,   450,     0,     0,   450,   450,
2871        0,   624,   624,     0,     0,     0,     0,     0,  1712,     0,
2872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2873        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2874        0,     0,     0,     0,     0,     0,   450,     0,   450,     0,
2875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2876        0,     0,     0,     0,     0,   415,     0,     0,     0,   415,
2877      415,   415,  1000,     0,     0,     0,     0,     0,     0,  1000,
2878      360,     0,  1000,     0,     0,   415,   415,     0,     0,     0,
2879        0,     0,   360,     0,     0,     0,     0,     0,   920,   923,
2880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2881      415,   415,     0,   415,   415,   468,     0,   468,   415,   415,
2882      415,   415,     0,     0,   920,   923,     0,     0,   449,     0,
2883        0,     0,     0,     0,   415,     0,     0,     0,     0,     0,
2884        0,   468,     0,   468,     0,     0,   920,   923,     0,     0,
2885      415,   920,   923,     0,     0,   920,   923,     0,     0,     0,
2886        0,     0,     0,     0,  1606,     0,     0,     0,     0,     0,
2887        0,     0,     0,     0,     0,   415,     0,     0,     0,     0,
2888        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2889        0,     0,  1633,     0,     0,     0,     0,   449,   449,  1640,
2890        0,   449,   449,   449,     0,     0,     0,     0,     0,     0,
2891        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2893        0,     0,     0,  1320,     0,  1320,     0,   467,   467,     0,
2894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2895        0,     0,     0,     0,   360,   360,     0,   415,   415,   415,
2896      415,   415,   415,   415,   415,     0,     0,     0,     0,     0,
2897     1014,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2898        0,   919,   922,     0,     0,   919,   922,     0,   415,   415,
2899        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
2900      467,  1014,     0,     0,     0,     0,   468,   468,   468,   468,
2901      468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2902      468,   468,   468,   468,     0,     0,  1000,     0,  1000,     0,
2903        0,     0,     0,     0,     0,     0,     0,     0,   449,   449,
2904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2905      415,     0,   650,   650,   415,   415,     0,     0,     0,     0,
2906        0,     0,   650,     0,   650,   650,     0,     0,   650,   467,
2907      467,     0,     0,   467,   467,   467,   650,     0,     0,   650,
2908        0,     0,     0,     0,     0,     0,     0,     0,   468,   468,
2909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2911        0,     0,     0,     0,     0,  -869,     0,     0,  -869,  -869,
2912     -869,     0,  -869,  -869,     0,     0,     0,     0,     0,     0,
2913        0,     0,     0,     0,  1000,     0,     0,   648,     0,     0,
2914      648,     0,     0,     0,     0,     0,     0,     0,     0,   648,
2915        0,     0,     0,     0,     0,     0,   450,     0,     0,  1014,
2916        0,     0,     0,     0,     0,     0,   360,     0,     0,     0,
2917        0,  1914,     0,     0,     0,     0,     0,     0,   648,  -869,
2918        0,     0,     0,  1712,   360,  -869,  -869,  -869,  1638,     0,
2919        0,  1642,   648,   648,   648,   648,     0,     0,  -869,     0,
2920        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2921      467,   467,  -869,     0,     0,     0,  -869,  -869,  -869,  -869,
2922     -869,  -869,  -869,  -869,     0,   450,   450,     0,     0,   450,
2923      450,   450,     0,     0,   221,   360,     0,  -869,  -869,     0,
2924     -869,  -869,  -869,     0,     0,  -869,  -869,     0,  -869,  -869,
2925     -869,  -869,     0,     0,     0,  1014,     0,     0,     0,     0,
2926        0,     0,     0,     0,     0,     0,  1014,     0,     0,     0,
2927        0,     0,     0,     0,     0,     0,   221,     0,     0,  1000,
2928        0,     0,     0,     0,   417,     0,  1000,     0,     0,     0,
2929     1000,     0,     0,     0,     0,     0,   650,   650,   650,   650,
2930        0,     0,   650,     0,   509,     0,   650,   650,     0,   650,
2931        0,   650,     0,     0,     0,     0,     0,   302,     0,     1,
2932      303,   106,   304,   650,   305,   306,     0,     0,     0,     0,
2933        0,     0,     0,  2017,  2018,     0,     0,     0,     0,     0,
2934        0,     0,     0,     0,     2,     0,     0,     0,   449,   449,
2935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,     0,     0,     0,   450,   450,     0,     0,
2937        0,     0,   920,   923,     0,     0,   920,   923,     0,     0,
2938        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
2939        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2940      311,   312,   449,   449,     0,     0,     0,     0,     0,     0,
2941        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
2942      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
2943        0,     0,   919,   922,   322,     0,     0,   323,  1157,   324,
2944        0,     0,  1158,     0,     0,  1014,     0,   325,   326,  1719,
2945      327,   328,   329,   330,     0,     0,     0,     0,     0,  1916,
2946        0,   650,     0,     0,  1919,  1921,  1925,  1929,  1931,  1935,
2947      650,     0,   650,  1939,  1943,  1947,  1951,     0,     0,     0,
2948        0,     0,     0,     0,     0,     0,   919,   922,     0,     0,
2949        0,     0,     0,  1000,     0,     0,     0,     0,     0,     0,
2950        0,     0,    74,     0,     0,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2952      467,   467,  1014,     0,     0,   650,   650,     0,   831,   650,
2953        0,   650,     0,     0,   650,     0,     0,     0,   650,  1000,
2954        0,  1000,     0,     0,     0,  2114,     0,     0,     0,     0,
2955        0,     0,     0,   117,     0,     0,     0,     0,     0,     0,
2956        0,     0,     0,  1014,     0,     0,     0,   866,   509,     0,
2957        0,   650,   875,     0,   467,   467,     0,     0,     0,     0,
2958        0,   882,     0,     0,   889,   178,     0,     0,     0,     0,
2959        0,     0,     0,     0,   261,    74,     0,     0,     0,   650,
2960        0,     0,    74,    74,     0,     0,     0,     0,     0,     0,
2961        0,  1000,     0,     0,  2157,     0,   648,   648,   940,     0,
2962      383,     0,     0,     0,   956,     0,   648,     0,   648,   648,
2963        0,     0,   648,     0,     0,     0,     0,   449,     0,   449,
2964      648,     0,     0,   648,   482,     0,     0,     0,     0,     0,
2965        0,     0,     0,     0,     0,     0,   482,     0,     0,     0,
2966      482,     0,     0,   449,     0,   449,     0,     0,     0,     0,
2967        0,     0,     0,     0,     0,     0,   450,   450,     0,     0,
2968        0,     0,     0,     0,     0,     0,     0,     0,   261,   261,
2969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2970        0,     0,   221,     0,     0,     0,     0,     0,     0,     0,
2971        0,     0,   221,     0,     0,     0,     0,     0,     0,     0,
2972        0,     0,     0,   572,     0,     0,     0,     0,     0,     0,
2973      450,   450,   221,     0,     0,   221,     0,   221,     0,   221,
2974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2976        0,     0,     0,     0,     0,     0,     0,   610,     0,     0,
2977      261,   261,   261,     0,     0,     0,     0,     0,     0,     0,
2978      178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2979      178,   261,    74,  1000,     0,     0,     0,     0,     0,     0,
2980        0,     0,     0,     0,     0,     0,     0,     0,     0,   467,
2981      713,   467,     0,     0,     0,     0,   713,     0,     0,     0,
2982        0,     0,     0,   920,   923,   735,     0,     0,   449,   449,
2983      449,   449,   449,     0,     0,   467,     0,   467,     0,     0,
2984        0,     0,   449,   449,   449,   449,     0,     0,     0,     0,
2985        0,     0,     0,     0,     0,     0,    91,     0,     0,     0,
2986      648,   648,   648,   648,     0,     0,   648,     0,     0,     0,
2987      648,   648,     0,   648,     0,   648,     0,   920,   923,     0,
2988        0,     0,     0,     0,     0,     0,     0,   648,     0,     0,
2989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2990        0,     0,     0,     0,     0,     0,     0,   120,   132,     0,
2991      449,   449,   919,   922,     0,   919,   922,     0,  1126,   572,
2992        0,     0,     0,     0,     0,   871,   919,   922,   919,   922,
2993        0,     0,     0,     0,     0,     0,   871,     0,     0,   183,
2994      132,     0,     0,     0,   230,     0,     0,     0,     0,    91,
2995        0,     0,  1165,  1169,     0,     0,    91,    91,     0,     0,
2996        0,     0,     0,     0,     0,   450,     0,   450,     0,     0,
2997        0,   572,     0,     0,   384,     0,     0,     0,     0,     0,
2998        0,     0,   831,   831,   831,     0,     0,   393,   962,     0,
2999        0,   450,     0,   450,   919,   922,     0,     0,     0,     0,
3000      467,   467,   467,   467,   467,   417,   417,   221,     0,     0,
3001        0,   572,     0,     0,   467,   467,   467,   467,     0,     0,
3002        0,     0,     0,     0,     0,   648,     0,     0,     0,     0,
3003      261,     0,     0,     0,   648,     0,   648,   261,   529,     0,
3004      261,     0,     0,     0,     0,     0,     0,   745,     0,     0,
3005        0,   545,     0,     0,     0,     0,     0,     0,     0,     0,
3006        0,     0,     0,     0,   773,     0,     0,     0,     0,     0,
3007        0,     0,     0,     0,     0,     0,     0,   579,     0,     0,
3008     1465,     0,   467,   467,     0,     0,     0,     0,     0,   648,
3009      648,     0,     0,   648,     0,   648,     0,     0,   648,     0,
3010        0,     0,   648,     0,     0,   417,     0,     0,     0,     0,
3011        0,     0,   509,   509,     0,     0,     0,     0,     0,     0,
3012        0,   132,     0,   509,     0,     0,     0,     0,     0,     0,
3013        0,     0,     0,     0,   183,   648,     0,     0,     0,  1139,
3014        0,     0,     0,     0,   689,     0,    91,     0,     0,     0,
3015        0,     0,     0,     0,     0,     0,   450,   450,   450,   450,
3016      450,     0,     0,   648,   261,   261,   261,   261,     0,     0,
3017      450,   450,   450,   450,     0,     0,     0,     0,     0,     0,
3018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3019        0,     0,   261,   261,   261,     0,     0,   178,     0,     0,
3020        0,     0,     0,  1197,     0,     0,     0,     0,     0,     0,
3021      221,   261,     0,     0,     0,   221,     0,     0,  1210,  1220,
3022      735,  1565,  1210,  1220,     0,     0,     0,  1565,     0,  1197,
3023        0,     0,     0,   221,     0,     0,     0,     0,   450,   450,
3024     1240,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3025      261,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3027        0,     0,     0,   861,     0,     0,     0,     0,     0,     0,
3028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3029        0,   132,     0,     0,     0,     0,     0,     0,     0,     0,
3030        0,     0,   655,   920,   923,     0,   920,   923,     0,     0,
3031        0,     0,     0,     0,     0,     0,     0,   920,   923,   920,
3032      923,     0,     0,     0,     0,   935,     0,     0,   943,     0,
3033        0,     0,     0,   572,     0,     0,     0,     0,     0,     0,
3034        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3035        0,     0,   417,   221,     0,   733,  1134,     0,     0,     0,
3036        0,     0,     0,     0,     0,   861,     0,     0,   572,     0,
3037        0,     0,     0,     0,     0,     0,  1424,   572,     0,     0,
3038        0,   132,   132,   132,   572,   920,   923,  1424,   117,   735,
3039        0,   572,     0,     0,  1581,     0,     0,  1587,     0,   132,
3040      132,     0,     0,     0,     0,     0,  1604,     0,     0,     0,
3041        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3042     1050,     0,  1059,     0,     0,     0,     0,     0,     0,     0,
3043        0,   396,     0,  1061,     0,  1628,     0,     0,     0,     0,
3044        0,     0,   572,     0,     0,     0,     0,     0,     0,  1165,
3045     1169,  1165,  1169,     0,     0,     0,     0,     0,   572,     0,
3046        0,     0,     0,     0,     0,     0,     0,   733,     0,   545,
3047        0,     0,     0,     0,     0,     0,     0,     0,   745,     0,
3048        0,     0,   396,     0,     0,     0,     0,     0,     0,     0,
3049        0,     0,  1271,     0,     0,     0,     0,   261,   261,   261,
3050        0,     0,     0,     0,     0,   610,     0,     0,     0,     0,
3051        0,  1294,  1298,  1302,  1306,  1310,     0,     0,  1319,  1325,
3052      575,     0,     0,     0,   745,     0,     0,  1336,     0,     0,
3053        0,     0,     0,     0,     0,     0,     0,     0,     0,  1360,
3054     1364,  1368,  1372,  1376,  1181,     0,  1319,  1389,   831,   831,
3055        0,   689,     0,     0,     0,     0,     0,     0,     0,     0,
3056        0,     0,     0,     0,   417,     0,     0,     0,   417,     0,
3057        0,     0,  1215,     0,     0,     0,  1215,     0,     0,     0,
3058        0,     0,     0,     0,     0,     0,     0,   685,     0,     0,
3059        0,     0,     0,     0,   861,     0,     0,     0,     0,     0,
3060        0,     0,     0,     0,     0,   261,     0,     0,   261,     0,
3061        0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3062        0,     0,     0,     0,  1139,     0,     0,     0,     0,     0,
3063        0,   417,     0,     0,     0,     0,     0,     0,     0,     0,
3064        0,     0,   417,  1783,   417,  1783,     0,     0,     0,   261,
3065        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3066        0,     0,     0,   261,   261,   261,   261,  1137,     0,     0,
3067        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3068        0,     0,     0,  1155,     0,     0,   261,     0,   261,     0,
3069        0,     0,   849,     0,   655,   655,   655,   655,   854,     0,
3070        0,     0,  1661,     0,     0,   610,     0,     0,     0,     0,
3071        0,     0,     0,     0,     0,   861,  1414,     0,     0,     0,
3072        0,     0,   861,     0,     0,  1687,     0,     0,     0,     0,
3073      861,  1428,  1687,   733,     0,     0,   733,     0,  1435,   260,
3074        0,   861,   120,   132,     0,     0,     0,     0,     0,   261,
3075      261,     0,     0,     0,     0,     0,   261,   261,     0,   733,
3076      261,   261,     0,     0,  1155,     0,     0,     0,   931,     0,
3077        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3078        0,     0,   132,     0,     0,     0,     0,     0,     0,     0,
3079     1468,  1270,   509,     0,     0,     0,   579,     0,     0,     0,
3080        0,     0,   132,     0,     0,     0,     0,     0,     0,     0,
3081        0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
3082        0,     0,     0,     0,     0,   417,     0,   221,  1006,  1323,
3083      417,  1011,     0,   260,   260,     0,     0,  1335,     0,     0,
3084        0,     0,  1134,     0,  1006,     0,     0,     0,     0,     0,
3085        0,     0,     0,     0,     0,     0,     0,  1387,     0,   935,
3086        0,     0,     0,     0,     0,   575,     0,     0,   571,     0,
3087     1271,     0,     0,  1821,  1825,     0,     0,  1336,   575,     0,
3088        0,     0,     0,  1834,     0,  1837,  1581,     0,     0,  1587,
3089        0,     0,     0,     0,   417,     0,     0,  1628,     0,     0,
3090     1850,     0,     0,     0,     0,  1546,     0,     0,     0,     0,
3091        0,  1319,   609,  1319,  1554,   260,   260,   260,     0,   733,
3092        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3093        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
3094        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3095        0,     0,     0,     0,     0,   712,     0,     0,     0,     0,
3096        0,   712,     0,     0,   261,     0,     0,   572,     0,     0,
3097      734,     0,  1711,     0,     0,     0,     0,     0,     0,     0,
3098        0,     0,     0,     0,     0,     0,     0,     0,   685,     0,
3099        0,     0,     0,     0,   685,     0,     0,     0,     0,     0,
3100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,     0,     0,     0,     0,   417,     0,
3105        0,     0,     0,     0,     0,     0,   861,     0,     0,   861,
3106        0,  1215,     0,     0,   571,     0,     0,   572,     0,  1678,
3107        0,     0,     0,     0,     0,     0,     0,     0,     0,  1215,
3108        0,   261,   261,     0,     0,     0,  1215,   261,   261,     0,
3109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3110      261,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3111        0,   261,     0,     0,     0,     0,   571,  1988,  1989,  1990,
3112     1991,     0,   417,  1992,   417,     0,     0,  1821,  1825,     0,
3113     1834,     0,  1837,     0,     0,     0,     0,     0,   655,     0,
3114        0,   655,  1592,  1594,  2001,  1597,     0,     0,     0,     0,
3115        0,     0,     0,  1607,     0,     0,   571,     0,     0,     0,
3116        0,  1616,     0,     0,     0,     0,     0,     0,  1155,     0,
3117        0,     0,     0,     0,   685,   260,     0,     0,     0,   655,
3118        0,  1433,   260,     0,     0,   260,  1155,     0,     0,     0,
3119        0,  1155,     0,   655,   655,   655,   655,     0,     0,     0,
3120        0,     0,   735,     0,     0,     0,     0,     0,     0,     0,
3121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3122        0,     0,  1651,     0,  1655,     0,     0,     0,     0,     0,
3123        0,     0,     0,     0,  1469,     0,     0,     0,     0,   575,
3124        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3125        0,     0,     0,     0,     0,   931,  1155,     0,     0,     0,
3126        0,     0,     0,   261,   261,     0,     0,     0,     0,  1743,
3127        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3128        0,     0,  1992,  1750,     0,   572,     0,   263,     0,     0,
3129     1753,  2069,     0,  2072,     0,     0,     0,     0,   393,     0,
3130        0,  1155,   931,     0,     0,     0,     0,     0,     0,   260,
3131      260,   260,   260,     0,     0,     0,     0,     0,     0,  1435,
3132        0,   579,     0,     0,     0,     0,     0,     0,     0,     0,
3133        0,     0,     0,     0,     0,     0,     0,   260,   260,   260,
3134        0,   261,   261,     0,     0,     0,  2101,  2102,  1196,   396,
3135     2069,     0,  2072,  1155,     0,  2106,   260,     0,   575,  2108,
3136      575,     0,     0,  1209,  1219,   734,  1155,  1209,  1219,     0,
3137        0,     0,     0,     0,  1196,     0,     0,     0,     0,     0,
3138        0,   263,   263,     0,     0,  1239,     0,     0,   260,     0,
3139        0,     0,  2108,     0,     0,   260,     0,     0,   260,     0,
3140        0,  1807,     0,     0,   735,     0,     0,     0,     0,     0,
3141        0,     0,     0,     0,     0,     0,   574,  1155,     0,     0,
3142     2146,   579,     0,     0,     0,     0,     0,     0,     0,     0,
3143        0,     0,     0,     0,     0,     0,     0,  1711,     0,     0,
3144        0,     0,  1918,  1920,  1924,  1928,  1930,  1934,     0,     0,
3145        0,  1938,  1942,  1946,  1950,     0,     0,     0,     0,     0,
3146      612,     0,     0,   263,   263,   263,     0,     0,     0,     0,
3147        0,     0,     0,     0,     0,     0,     0,     0,   571,     0,
3148      685,     0,   685,     0,   263,     0,     0,     0,     0,     0,
3149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3150        0,     0,     0,   715,     0,     0,     0,     0,     0,   715,
3151        0,     0,     0,   571,     0,     0,     0,     0,   737,     0,
3152        0,     0,   571,     0,     0,     0,     0,  1883,     0,   571,
3153        0,     0,     0,     0,   734,     0,   571,     0,     0,     0,
3154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3158        0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
3159     1920,  1924,  1930,  1934,  1938,  1942,  1946,  1950,  1414,     0,
3160        0,     0,     0,   571,     0,     0,     0,     0,     0,   732,
3161        0,     0,   574,     0,     0,     0,     0,   655,   655,     0,
3162     1753,     0,     0,  1155,     0,  1155,     0,     0,  1155,   655,
3163        0,     0,     0,     0,  1841,  1844,     0,  1846,     0,   861,
3164        0,     0,   260,   260,   260,     0,     0,  1155,     0,  1857,
3165      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3166        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3167        0,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3168        0,  1155,     0,     0,     0,  1155,     0,     0,     0,     0,
3169        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3170        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3171        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3172        0,   732,     0,   263,     0,     0,     0,   685,     0,     0,
3173      263,     0,     0,   263,  1754,   307,     0,   550,  1678,     0,
3174        0,   308,   309,   310,     0,     0,     0,     0,     0,     0,
3175      260,     0,     0,   260,   311,   312,   260,     0,     0,     0,
3176        0,     0,  1433,     0,   575,     0,     0,  1767,   313,     0,
3177     1011,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3178        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
3179        0,   323,  1157,   324,   260,     0,  1724,     0,     0,     0,
3180     1725,   325,   326,     0,   327,   328,   329,   330,   260,   260,
3181      260,   260,     0,     0,     0,     0,     0,     0,     0,     0,
3182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3183        0,   260,     0,   260,     0,     0,     0,     0,     0,   698,
3184      125,     0,     0,     0,     0,   849,     0,  1660,   550,  1155,
3185      609,     0,     0,   575,   550,     0,     0,   263,   263,   263,
3186      263,     0,     0,     0,   575,     0,     0,   655,  1155,     0,
3187     1686,   125,   125,     0,     0,  1155,     0,  1686,     0,  1846,
3188        0,  1999,     0,     0,     0,   263,   263,   263,     0,     0,
3189     2005,     0,     0,     0,   260,   260,  1199,     0,     0,     0,
3190        0,   260,   260,     0,   263,   260,   260,     0,     0,     0,
3191        0,  1212,  1222,   737,     0,  1212,  1222,     0,     0,   125,
3192      125,  1136,  1199,     0,   550,     0,   550,     0,     0,     0,
3193        0,     0,     0,  1242,   733,     0,   263,  1154,     0,     0,
3194        0,  1159,     0,   263,     0,     0,   263,     0,     0,     0,
3195        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3196        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3197        0,   125,     0,     0,     0,     0,     0,     0,     0,     0,
3198        0,     0,     0,     0,     0,     0,     0,   732,     0,     0,
3199      732,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3200        0,     0,     0,     0,  1224,     0,     0,     0,     0,   576,
3201        0,     0,     0,   732,     0,     0,     0,     0,  1154,  1159,
3202        0,     0,     0,     0,     0,     0,   574,  2061,  2064,     0,
3203     1155,     0,  1155,     0,     0,   655,  1155,   655,     0,     0,
3204        0,     0,     0,     0,     0,  1269,     0,     0,     0,   685,
3205      685,     0,  1961,   125,     0,     0,     0,     0,     0,     0,
3206        0,   574,     0,     0,     0,     0,   125,  1001,     0,     0,
3207      574,     0,     0,     0,     0,     0,   686,   574,     0,     0,
3208        0,     0,   737,  1321,   574,     0,     0,     0,     0,     0,
3209        0,  1334,  1155,     0,     0,  1155,     0,     0,     0,     0,
3210        0,     0,     0,   655,   550,     0,  1006,     0,     0,   260,
3211        0,  1385,   571,     0,     0,     0,     0,     0,     0,     0,
3212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3213        0,     0,     0,     0,     0,   574,     0,     0,     0,  1155,
3214        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3215        0,   574,     0,     0,     0,     0,     0,     0,     0,     0,
3216        0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
3217        0,     0,     0,   732,     0,     0,     0,     0,     0,     0,
3218        0,   125,     0,     0,     0,     0,     0,   576,     0,     0,
3219      263,   263,   263,     0,     0,     0,     0,     0,   612,     0,
3220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3221        0,     0,   571,     0,     0,     0,     0,     0,     0,     0,
3222        0,     0,     0,   125,     0,     0,   260,   260,     0,     0,
3223        0,     0,   260,   260,     0,  1189,     0,     0,     0,     0,
3224        0,     0,     0,     0,     0,   260,     0,     0,   260,     0,
3225        0,     0,     0,     0,     0,     0,   260,   576,     0,     0,
3226        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3228     1001,     0,     0,     0,     0,     0,     0,  1001,     0,     0,
3229     1001,     0,     0,     0,     0,     0,     0,     0,   263,     0,
3230        0,   263,     0,     0,   263,     0,     0,     0,     0,     0,
3231        0,     0,     0,   125,   125,   125,     0,   125,     0,     0,
3232      686,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3233        0,   125,   125,   125,     0,     0,     0,     0,     0,     0,
3234        0,     0,   263,     0,     0,     0,     0,   734,     0,     0,
3235        0,     0,   125,     0,   576,     0,   263,   263,   263,   263,
3236        0,     0,     0,     0,     0,     0,     0,   576,     0,     0,
3237        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3238        0,   263,     0,     0,     0,     0,     0,     0,     0,     0,
3239        0,     0,     0,     0,     0,  1663,  1591,  1593,   612,  1596,
3240        0,     0,     0,     0,     0,     0,     0,  1136,   260,   260,
3241     1159,     0,     0,     0,     0,  1615,     0,     0,  1689,     0,
3242        0,     0,  1154,  1159,     0,  1689,     0,     0,     0,     0,
3243      571,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3244     1154,  1159,   263,   263,     0,  1154,     0,     0,     0,   263,
3245      263,     0,     0,   263,   263,     0,     0,     0,     0,     0,
3246        0,     0,     0,     0,  1001,     0,   550,     0,     0,     0,
3247        0,     0,     0,     0,     0,     0,  1649,   686,  1653,     0,
3248        0,     0,     0,   686,     0,     0,   260,   260,     0,     0,
3249        0,     0,     0,   302,     0,     1,   303,   106,   304,     0,
3250      305,   306,     0,     0,     0,   550,     0,     0,     0,     0,
3251     1154,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3252        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3253        0,     0,     0,     0,  1001,     0,  1001,     0,     0,     0,
3254        0,     0,     0,     0,     0,     0,     0,     0,     0,   734,
3255        0,     0,     0,   122,     0,  1154,  1159,   307,     0,     0,
3256      139,     0,     0,   308,   309,   310,     0,     0,     0,     0,
3257        0,     0,     0,     0,     0,     0,   311,   312,     0,     0,
3258        0,     0,     0,   162,   171,   194,     0,     0,     0,     0,
3259      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
3260      320,   321,   550,     0,     0,     0,     0,  1154,     0,  1159,
3261      322,     0,     0,   323,  1157,   324,     0,     0,  1158,     0,
3262     1154,  1159,     0,   325,   326,  1729,   327,   328,   329,   330,
3263        0,     0,   122,   122,     0,     0,     0,     0,     0,     0,
3264        0,     0,  1001,     0,     0,     0,     0,     0,     0,   492,
3265        0,     0,     0,   550,     0,     0,     0,   263,     0,     0,
3266      574,     0,     0,   576,     0,   523,     0,     0,     0,     0,
3267      576,  1154,     0,  1159,     0,   125,     0,     0,     0,     0,
3268        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3271        0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
3272        0,   162,   568,   576,     0,     0,     0,     0,   576,     0,
3273        0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
3274        0,     0,     0,     0,   576,   550,     0,     0,     0,     0,
3275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3276      574,     0,     0,     0,     0,     0,   171,   550,     0,     0,
3277        0,     0,     0,     0,   263,   263,     0,     0,     0,   171,
3278      263,   263,     0,     0,     0,     0,     0,  1001,     0,   568,
3279        0,   576,     0,   263,  1001,     0,   263,     0,  1001,     0,
3280        0,     0,     0,     0,   263,     0,     0,     0,     0,     0,
3281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3283        0,     0,     0,     0,     0,     0,     0,   125,   125,     0,
3284        0,     0,     0,     0,     0,     0,     0,   576,     0,   576,
3285        0,     0,     0,     0,     0,     0,     0,  1817,     0,     0,
3286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3287        0,     0,     0,     0,     0,     0,     0,  1154,  1159,  1154,
3288     1159,   618,  1154,  1836,     0,     0,     0,     0,  1591,  1843,
3289        0,  1615,     0,  1159,   122,   737,     0,     0,     0,     0,
3290      122,  1154,  1159,  1615,     0,     0,     0,     0,     2,   200,
3291      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
3292      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
3293       24,     0,     0,     0,     0,  1154,   568,  1159,     0,  1154,
3294        0,  1159,     0,     0,     0,     0,   246,     0,     0,     0,
3295        0,     0,     0,     0,    28,    29,   263,   263,     0,    32,
3296        0,     0,     0,     0,     0,   247,    38,   248,     0,   686,
3297      568,   686,     0,     0,     0,     0,     0,     0,   574,     0,
3298      249,     0,     0,     0,     0,     0,   162,     0,     0,     0,
3299       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
3300        0,  1001,     0,     0,     0,     0,     0,     0,   254,     0,
3301        0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
3302        0,     0,     0,     0,     0,     0,   122,   122,   122,     0,
3303      122,     0,     0,   122,   263,   263,     0,     0,     0,     0,
3304        0,     0,     0,     0,   122,   122,   122,  1001,     0,  1001,
3305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3306        0,     0,     0,   523,     0,   568,  1001,   122,     0,     0,
3307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3308      122,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3309        0,     0,     0,     0,     0,     0,     0,   737,     0,     0,
3310        0,     0,     0,  1154,     0,     0,     0,     0,     0,     0,
3311        0,     0,     0,     0,     0,     0,     0,     0,     0,  1001,
3312        0,     0,  1154,     0,     0,     0,     0,  1159,     0,  1154,
3313     1836,     0,  1159,  1615,     0,  1998,     0,  2000,     0,   259,
3314        0,     0,     0,  1159,  2004,     0,     0,     0,   258,     0,
3315        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3318        0,     0,  1177,     0,     0,     0,     0,     0,   732,   259,
3319      122,     0,     0,     0,     0,     0,   568,     0,   480,     0,
3320        0,   259,     0,     0,     0,   259,     0,     0,     0,     0,
3321      480,     0,     0,     0,   480,     0,   576,     0,     0,     0,
3322      550,     0,   550,   576,     0,     0,     0,     0,     0,     0,
3323      125,     0,     0,   259,   259,     0,   550,   550,     0,     0,
3324        0,     0,   258,   258,     0,     0,     0,     0,     0,     0,
3325        0,   576,     0,   576,     0,     0,   576,     0,     0,   576,
3326        0,  1922,  1926,     0,  1932,  1936,     0,     0,     0,  1940,
3327     1944,  1948,  1952,     0,     0,     0,     0,   570,     0,     0,
3328        0,  2060,  2063,     0,  1154,  1159,  1154,     0,     0,     0,
3329     1154,  1836,     0,     0,     0,     0,     0,     0,     0,     0,
3330        0,  1001,     0,     0,     0,     0,     0,     0,     0,     0,
3331        0,     0,   259,     0,     0,   259,   259,   259,     0,     0,
3332        0,   608,     0,     0,   258,   258,   258,     0,     0,     0,
3333        0,     0,     0,     0,   125,     0,   259,     0,     0,     0,
3334        0,     0,   576,     0,     0,   258,  1154,  1159,     0,  1154,
3335     1836,     0,     0,   576,  2107,   259,     0,     0,     0,     0,
3336        0,   259,     0,     0,   711,     0,     0,     0,     0,     0,
3337      711,     0,     0,     0,   162,     0,   568,     0,     0,     0,
3338        0,     0,     0,   568,     0,     0,     0,     0,   568,     0,
3339        0,     0,     0,  1154,     0,     0,     0,     0,     0,     0,
3340        0,     0,     0,     0,     0,     0,     0,     0,  1922,  1926,
3341     1932,  1936,  1940,  1944,  1948,  1952,     0,     0,     0,     0,
3342        0,     0,     0,     0,     0,     0,     0,   122,     0,     0,
3343        0,     0,     0,     0,     0,     0,   122,     0,     0,     0,
3344      550,   568,     0,     0,     0,     0,     0,   122,     0,   550,
3345        0,     0,     0,     0,     0,     0,     0,   568,     0,     0,
3346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3347      259,     0,     0,   570,     0,     0,     0,     0,     0,   870,
3348        0,   259,     0,     0,     0,     0,     0,     0,     0,     0,
3349      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3350        0,  1001,     0,     0,   568,   550,   550,     0,     0,     0,
3351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3352        0,     0,     0,     0,     0,   570,     0,     0,     0,     0,
3353        0,     0,     0,   259,     0,     0,     0,     0,   576,   576,
3354        0,   576,   961,     0,     0,     0,     0,     0,     0,     0,
3355      122,   122,     0,     0,     0,     0,     0,     0,     0,     0,
3356      122,     0,   122,     0,     0,   570,   302,     0,     1,   303,
3357      106,   304,     0,   305,   306,   259,     0,     0,     0,     0,
3358        0,     0,   259,     0,   258,   259,     0,     0,     0,     0,
3359        0,   258,     0,     2,   258,   125,     0,     0,     0,     8,
3360        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3361       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
3362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3363      307,    27,     0,     0,     0,     0,   308,   309,   310,    28,
3364       29,     0,     0,     0,    32,     0,     0,    35,    36,   311,
3365      405,    38,    39,     0,     0,     0,     0,     0,     0,     0,
3366        0,     0,     0,   313,   264,    40,     0,   314,   315,   316,
3367      317,   318,   319,   320,   321,    43,    44,    45,    46,    47,
3368       48,     0,   122,   322,   122,     0,   323,   730,   324,     0,
3369        0,     0,     0,     0,     0,     0,   325,   326,     0,   327,
3370      328,   329,   330,     0,     0,     0,     0,     0,     0,   259,
3371      259,   259,   259,     0,   264,     0,     0,     0,   258,   258,
3372      258,   258,     0,     0,     0,     0,   264,     0,     0,     0,
3373      264,     0,     0,     0,     0,     0,     0,   259,   259,   259,
3374        0,     0,     0,     0,     0,     0,   258,   258,   258,     0,
3375        0,     0,     0,     0,     0,     0,   259,     0,   264,   264,
3376        0,     0,     0,   259,   259,   258,     0,   259,   259,     0,
3377        0,     0,  1208,  1218,     0,     0,  1208,  1218,     0,     0,
3378        0,     0,   199,     0,     1,     0,     0,     0,   259,     0,
3379        0,     0,     0,     0,     0,   259,     0,   258,   259,     0,
3380        0,     0,     0,     0,   258,     0,     0,   258,     0,     2,
3381      200,   201,   202,   203,   204,     8,     9,    10,   563,    12,
3382       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
3383       23,    24,     0,     0,     0,     0,     0,   264,     0,     0,
3384      264,   264,   264,     0,     0,     0,   205,    27,     0,     0,
3385        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
3386       32,   264,     0,    35,    36,     0,    37,    38,    39,     0,
3387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3388      264,    40,     0,     0,     0,     0,   264,   570,     0,     0,
3389        0,    43,    44,    45,    46,    47,    48,   206,   207,    51,
3390        0,     0,   564,  1045,     0,     0,     0,     0,     0,     0,
3391        0,     0,     0,   565,     0,     0,     0,     0,     0,     0,
3392        0,   259,   570,     0,     0,     0,     0,     0,     0,   122,
3393     1423,   570,   259,     0,     0,     0,   122,     0,   570,     0,
3394        0,  1423,     0,   122,     0,   570,     0,     0,     0,     0,
3395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3396        0,     0,     0,     0,   122,     0,   568,     0,     0,   122,
3397        0,     0,   122,     0,     0,     0,     0,     0,     0,     0,
3398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3399        0,     0,     0,     0,     0,   264,   570,     0,     0,     0,
3400        0,     0,     0,     0,     0,     0,   264,     0,     0,     0,
3401        0,   302,   570,     1,   303,   106,   304,     0,   305,   306,
3402        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3403        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3404        0,     0,   259,   259,   259,     0,     0,   122,     0,     0,
3405      259,   258,   258,   258,     0,   122,     0,     0,   264,   608,
3406        0,     0,     0,     0,     0,     0,   568,     0,     0,     0,
3407        0,     0,     0,     0,     0,   307,     0,     0,     0,     0,
3408        0,   308,   309,   310,     0,     0,     0,     0,     0,     0,
3409        0,     0,     0,     0,   311,   312,     0,     0,     0,     0,
3410      264,     0,     0,     0,     0,     0,     0,   264,   313,     0,
3411      264,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3412        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
3413        0,   323,  1157,   324,     0,     0,  1724,     0,     0,     0,
3414     1732,   325,   326,     0,   327,   328,   329,   330,     0,     0,
3415      259,     0,     0,   259,     0,     0,   259,     0,     0,   258,
3416        0,     0,   258,     0,     0,   258,     0,     0,     0,     0,
3417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3419        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3420        0,     0,     0,   258,     0,     0,     0,     0,   259,   259,
3421      259,   259,     0,     0,     0,     0,     0,   258,   258,   258,
3422      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3423        0,   259,     0,   259,   264,   264,   264,   264,     0,     0,
3424      258,     0,   258,     0,     0,     0,     0,     0,     0,     0,
3425      259,   122,   122,     0,   122,     0,     0,     0,     0,   608,
3426        0,     0,   264,   264,   264,     0,     0,     0,     0,     0,
3427      259,     0,     0,     0,     0,     0,     0,   259,     0,  1685,
3428        0,   264,     0,     0,     0,     0,  1685,     0,   264,   264,
3429        0,     0,   264,   264,   259,   259,     0,     0,     0,     0,
3430        0,   259,   259,   258,   258,   259,   259,     0,   122,     0,
3431      258,   258,     0,   264,   258,   258,     0,     0,     0,     0,
3432      264,     0,     0,   264,     0,   753,     0,     0,     0,     0,
3433        0,   754,   755,   756,  -343,  -343,  -343,  -343,  -343,  -343,
3434     -343,  -343,     0,     0,     0,     0,     0,     0,     0,     0,
3435        0,     0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3436     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3437     -343,  -343,  -343,  -343,  -343,     0,     0,     0,     0,     0,
3438        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3439     -343,     0,     0,     0,     0,     0,     0,     0,  -343,  -343,
3440        0,     0,     0,  -343,     0,     0,     0,     0,     0,  -343,
3441     -343,  -343,     0,     0,     0,     0,     0,     0,     0,     0,
3442        0,     0,     0,     0,  -343,     0,     0,     0,     0,     0,
3443        0,     0,     0,     0,  -343,  -343,  -343,  -343,  -343,  -343,
3444     -343,  -343,  -343,  -343,  -343,   757,   264,     0,  -343,  1527,
3445     -343,  -343,     0,   758,     0,     0,   759,   264,  -343,  -343,
3446     -343,     0,  -343,  -343,  -343,  -343,  -343,     0,     0,     0,
3447        0,     0,     0,     0,     0,  -456,     0,  -456,  -456,  -456,
3448     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3449     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3450     -456,  -456,  -456,     0,     0,     0,     0,     0,     0,   259,
3451        0,     0,     0,     0,     0,     0,     0,     0,   258,     0,
3452        0,   570,     0,     0,     0,     0,     0,     0,     0,     0,
3453        0,     0,     0,     0,     0,     0,     0,     0,     0,  -456,
3454        0,     0,     0,     0,     0,  -456,  -456,  -456,     0,     0,
3455        0,     0,     0,     0,     0,     0,     0,     0,  -456,  -456,
3456        0,     0,     0,     0,     0,     0,     0,   264,   264,   264,
3457        0,     0,  -456,     0,     0,   264,  -456,  -456,  -456,  -456,
3458     -456,  -456,  -456,  -456,     0,     0,     0,     0,     0,     0,
3459        0,     0,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3460     -456,     0,     0,  -456,     0,  -456,  -456,     0,  -456,  -456,
3461     -456,  -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,
3462        0,   570,     0,     0,     0,     0,   259,   259,     0,     0,
3463        0,     0,   259,   259,     0,   258,   258,     0,     0,     0,
3464        0,   258,   258,     0,     0,   259,     0,     0,   259,     0,
3465        0,     0,     0,     0,   258,     0,   259,   258,     0,     0,
3466        0,     0,     0,     0,     0,   258,     0,  1506,     0,     0,
3467        0,     0,     0,     0,     0,   264,     0,     0,   264,     0,
3468        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3469        0,     0,     0,     0,   -66,   -66,   -66,   -66,   -66,   -66,
3470      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
3471      -66,   -66,   -66,   -66,   -66,   -66,   -66,     0,     0,   264,
3472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3473        0,     0,   -66,   264,   264,   264,   264,     0,     0,     0,
3474      -66,   -66,     0,     0,     0,   -66,     0,     0,     0,     0,
3475        0,   -66,   -66,   -66,     0,     0,   264,     0,   264,     0,
3476        0,     0,     0,     0,     0,     0,   -66,     0,     0,     0,
3477        0,     0,     0,     0,     0,   264,   -66,   -66,   -66,   -66,
3478      -66,   -66,   -66,   -66,     0,     0,     0,     0,     0,     0,
3479     1507,     0,  1508,   -66,     0,   264,   302,     0,     1,   303,
3480      106,   304,   264,   305,   306,     0,     0,     0,   259,   259,
3481        0,     0,     0,     0,     0,     0,     0,   258,   258,   264,
3482      264,     0,     0,     2,     0,     0,   264,   264,     0,     0,
3483      264,   264,     0,     0,     0,     0,     0,     0,     0,   570,
3484        0,     0,     0,     0,     0,     0,     0,  1114,  1115,  1116,
3485      628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,
3486      307,     0,     0,     0,     0,     0,   308,   309,   310,     0,
3487        0,     0,     0,     0,    32,     0,     0,     0,     0,   311,
3488      312,  1122,     0,   638,   639,   640,   259,   259,     0,     0,
3489        0,     0,     0,   313,     0,   258,   258,   314,   315,   316,
3490      317,   318,   319,   320,   321,    43,    44,     0,     0,     0,
3491        0,     0,     0,   322,     0,     0,   323,  -451,   324,   641,
3492        0,  -451,     0,   254,     0,   642,   325,   326,     0,   327,
3493      328,   329,   330,  -343,   753,     0,  -343,  -343,  -343,  -343,
3494      754,   755,   756,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3495     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3496     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3497     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3498     -343,  -343,  -343,  -343,     0,  -343,  -343,  -343,  -343,  -343,
3499     -343,  -343,  -343,  -343,  -343,  -343,     0,     0,  -343,  -343,
3500        0,  -343,     0,     0,  -343,  -343,  -343,  -343,  -343,     0,
3501        0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3502     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,     0,  -343,
3503        0,  -343,  -343,  -343,   264,  -343,  -343,  -343,  -343,  -343,
3504     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3505     -343,  -343,  -343,  -343,   757,  -343,  -343,  -343,  -343,  -343,
3506     -343,  -343,   758,  -343,  -343,   759,  -343,  -343,  -343,  -343,
3507     -343,  -343,  -343,  -343,  -343,  -343,     0,     2,   200,   201,
3508      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
3509      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
3510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3511        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
3512        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
3513        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
3514        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
3515        0,   264,   264,     0,     0,     0,     0,   264,   264,    43,
3516       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
3517      264,     0,     0,   264,     0,     0,     0,   254,     0,  -448,
3518     1150,   264,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3519     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3520     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3521     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3522     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3523        0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3524     -448,  -448,     0,     0,  -448,  -448,     0,  -448,     0,     0,
3525     -448,  -448,  -448,  -448,  -448,     0,     0,  -448,  -448,  -448,
3526     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3527     -448,  -448,  -448,  -448,     0,  -448,     0,  -448,  -448,  -448,
3528        0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3529     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3530     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3531     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3532     -448,  -448,     0,     0,     0,     0,     0,     0,     0,     0,
3533        0,     0,     0,   264,   264,  -303,   302,     0,     1,   303,
3534      106,   304,  -303,   305,   306,  -303,  -303,  -303,  -303,  -303,
3535     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3536     -303,  -303,  -303,     2,  -303,  -303,  -303,  -303,  -303,  -303,
3537     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3538     -303,  -303,  -303,  -303,  -303,  -303,     0,  -303,  -303,  -303,
3539     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,     0,     0,
3540      307,  -303,     0,  -303,     0,     0,   308,   309,   310,  -303,
3541     -303,   264,   264,  -303,  -303,  -303,  -303,  -303,  -303,   311,
3542      312,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3543        0,  -303,     0,   313,  -303,  -303,     0,   314,   315,   316,
3544      317,   318,   319,   320,   321,  -303,  -303,  -303,  -303,  -303,
3545     -303,  -303,  -303,   322,  -303,  -303,   323,  1237,   324,  -303,
3546     -303,  1153,  -303,  -303,  -303,  -303,   325,   326,  -303,   327,
3547      328,   329,   330,  -303,  -303,  -303,  -303,  -303,  -304,   302,
3548        0,     1,   303,   106,   304,  -304,   305,   306,  -304,  -304,
3549     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3550     -304,  -304,  -304,  -304,  -304,  -304,     2,  -304,  -304,  -304,
3551     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3552     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,
3553     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3554     -304,     0,     0,   307,  -304,     0,  -304,     0,     0,   308,
3555      309,   310,  -304,  -304,     0,     0,  -304,  -304,  -304,  -304,
3556     -304,  -304,   311,   312,  -304,  -304,  -304,  -304,  -304,  -304,
3557     -304,  -304,  -304,     0,  -304,     0,   313,  -304,  -304,     0,
3558      314,   315,   316,   317,   318,   319,   320,   321,  -304,  -304,
3559     -304,  -304,  -304,  -304,  -304,  -304,   322,  -304,  -304,   323,
3560     1157,   324,  -304,  -304,  1158,  -304,  -304,  -304,  -304,   325,
3561      326,  -304,   327,   328,   329,   330,  -304,  -304,  -304,  -304,
3562     -304,  -563,   302,     0,     1,   303,   106,   304,  -563,   305,
3563      306,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3564     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,     2,
3565     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3566     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3567     -563,  -563,     0,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3568     -563,  -563,  -563,  -563,     0,     0,   307,  -563,     0,  -563,
3569        0,     0,   308,   309,   310,  -563,  -563,     0,     0,  -563,
3570     -563,  -563,  -563,  -563,  -563,   311,   312,  -563,  -563,  -563,
3571     -563,  -563,  -563,  -563,  -563,  -563,     0,  -563,     0,   313,
3572     -563,  -563,     0,   314,   315,   316,   317,   318,   319,   320,
3573      321,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,   322,
3574     -563,  -563,   323,  -563,   324,  -563,  -563,  -563,  -563,   741,
3575     -563,  1318,   325,   326,  -563,   327,   328,   329,   330,  -563,
3576     -563,  -563,  -563,  -563,  -564,   302,     0,     1,   303,   106,
3577      304,  -564,   305,   306,  -564,  -564,  -564,  -564,  -564,  -564,
3578     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3579     -564,  -564,     2,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3580     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3581     -564,  -564,  -564,  -564,  -564,     0,  -564,  -564,  -564,  -564,
3582     -564,  -564,  -564,  -564,  -564,  -564,  -564,     0,     0,   307,
3583     -564,     0,  -564,     0,     0,   308,   309,   310,  -564,  -564,
3584        0,     0,  -564,  -564,  -564,  -564,  -564,  -564,   311,   312,
3585     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,     0,
3586     -564,     0,   313,  -564,  -564,     0,   314,   315,   316,   317,
3587      318,   319,   320,   321,  -564,  -564,  -564,  -564,  -564,  -564,
3588     -564,  -564,   322,  -564,  -564,   323,  -564,   324,  -564,  -564,
3589     -564,  -564,   741,  -564,  1384,   325,   326,  -564,   327,   328,
3590      329,   330,  -564,  -564,  -564,  -564,  -564,  -574,   302,     0,
3591        1,   303,   106,   304,  -574,   305,   306,  -574,  -574,  -574,
3592     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3593     -574,  -574,  -574,  -574,  -574,     2,  -574,  -574,  -574,  -574,
3594     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3595     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,     0,  -574,
3596     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3597        0,     0,   307,  -574,     0,  -574,     0,     0,   308,   309,
3598      310,  -574,  -574,     0,     0,  -574,  -574,  -574,  -574,  -574,
3599     -574,   311,   312,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3600     -574,  -574,     0,  -574,     0,   313,  -574,  -574,     0,   314,
3601      315,   316,   317,   318,   319,   320,   321,  -574,  -574,  -574,
3602     -574,  -574,  -574,  -574,  -574,   322,  -574,  -574,   323,  -574,
3603      324,  -574,  -574,  1153,  -574,  -574,  -574,  -574,   325,   326,
3604     -574,   327,   328,   329,   330,  -574,  -574,  -574,  -574,  -574,
3605     -576,   302,     0,     1,   303,   106,   304,  -576,   305,   306,
3606     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3607     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     2,  -576,
3608     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3609     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3610     -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3611     -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,     0,
3612        0,   308,   309,   310,  -576,  -576,     0,     0,  -576,  -576,
3613     -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,  -576,
3614     -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,  -576,
3615     -576,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3616     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,  -576,
3617     -576,   323,  1157,   324,  -576,  -576,  1158,  -576,  -576,  -576,
3618     -576,   325,   326,  -576,   327,   328,   329,   330,  -576,  -576,
3619     -576,  -576,  -576,  -575,   302,     0,     1,   303,   106,   304,
3620     -575,   305,   306,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3621     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3622     -575,     2,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3623     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3624     -575,  -575,  -575,  -575,     0,  -575,  -575,  -575,  -575,  -575,
3625     -575,  -575,  -575,  -575,  -575,  -575,     0,     0,   307,  -575,
3626        0,  -575,     0,     0,   308,   309,   310,  -575,  -575,     0,
3627        0,  -575,  -575,  -575,  -575,  -575,  -575,   311,   312,  -575,
3628     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,     0,  -575,
3629        0,   313,  -575,  -575,     0,   314,   315,   316,   317,   318,
3630      319,   320,   321,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3631     -575,   322,  -575,  -575,   323,  -575,   324,  -575,  -575,  1153,
3632     -575,  -575,  -575,  -575,   325,   326,  -575,   327,   328,   329,
3633      330,  -575,  -575,  -575,  -575,  -575,  -337,  1879,     0,  -337,
3634     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3635     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3636     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3637     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3638     -337,  -337,  -337,  -337,  -337,  -337,  -337,     0,  -337,  -337,
3639     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,     0,
3640        0,  -337,  -337,     0,  -337,     0,     0,  -337,  -337,  -337,
3641     -337,  -337,     0,     0,  -337,  -337,  -337,  -337,  -337,  -337,
3642     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3643     -337,     0,  -337,     0,  -337,  -337,  -337,     0,  -337,  -337,
3644     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3645     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3646     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3647     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -341,
3648     1915,     0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3649     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3650     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3651     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3652     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3653        0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3654     -341,  -341,     0,     0,  -341,  -341,     0,  -341,     0,     0,
3655     -341,  -341,  -341,  -341,  -341,     0,     0,  -341,  -341,  -341,
3656     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3657     -341,  -341,  -341,  -341,     0,  -341,     0,  -341,  -341,  -341,
3658        0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3659     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3660     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3661     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3662     -341,  -341,  -331,   302,     0,     1,   303,   106,   304,  -331,
3663      305,   306,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3664     -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3665        2,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3666     -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3667     -331,  -331,  -331,     0,  -331,  -331,  -331,  -331,  -331,  -331,
3668     -331,  -331,  -331,  -331,  -331,     0,     0,   307,  -331,     0,
3669     -331,     0,     0,   308,   309,   310,  -331,  -331,     0,     0,
3670     -331,  -331,  -331,  -331,  -331,  -331,   311,   312,  -331,  -331,
3671     -331,  -331,  -331,  -331,  -331,  -331,  -331,     0,  -331,     0,
3672      313,  -331,  -331,     0,   314,   315,   316,   317,   318,   319,
3673      320,   321,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3674      322,  -331,  -331,   323,  -331,   324,  -331,  -331,  -331,  -331,
3675      741,  -331,  -331,   325,   326,  -331,   327,   328,   329,   330,
3676     -331,  -331,  -331,  -331,  -331,  -541,   302,     0,     1,   303,
3677      106,   304,  -541,   305,   306,  -541,  -541,  -541,  -541,  -541,
3678     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3679     -541,  -541,  -541,     2,  -541,  -541,  -541,  -541,  -541,  -541,
3680     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3681     -541,  -541,  -541,  -541,  -541,  -541,     0,  -541,  -541,  -541,
3682     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,     0,     0,
3683      307,  -541,     0,  -541,     0,     0,   308,   309,   310,  -541,
3684     -541,     0,     0,  -541,  -541,  -541,  -541,  -541,  -541,   311,
3685      312,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3686        0,  -541,     0,   313,  -541,  -541,     0,   314,   315,   316,
3687      317,   318,   319,   320,   321,  -541,  -541,  -541,  -541,  -541,
3688     -541,  -541,  -541,   322,  -541,  -541,   323,  -541,   324,  -541,
3689     -541,  -541,  -541,   741,  -541,  -541,   325,   326,  -541,   327,
3690      328,   329,   330,  -541,  -541,  -541,  -541,  -541,  -549,   302,
3691        0,     1,   303,   106,   304,  -549,   305,   306,  -549,  -549,
3692     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3693     -549,  -549,  -549,  -549,  -549,  -549,     2,  -549,  -549,  -549,
3694     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3695     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,     0,
3696     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3697     -549,     0,     0,   307,  -549,     0,  -549,     0,     0,   308,
3698      309,   310,  -549,  -549,     0,     0,  -549,  -549,  -549,  -549,
3699     -549,  -549,   311,   312,  -549,  -549,  -549,  -549,  -549,  -549,
3700     -549,  -549,  -549,     0,  -549,     0,   313,  -549,  -549,     0,
3701      314,   315,   316,   317,   318,   319,   320,   321,  -549,  -549,
3702     -549,  -549,  -549,  -549,  -549,  -549,   322,  -549,  -549,   323,
3703     -549,   324,  -549,  -549,  -549,  -549,   741,  -549,  -549,   325,
3704      326,  -549,   327,   328,   329,   330,  -549,  -549,  -549,  -549,
3705     -549,  -542,   302,     0,     1,   303,   106,   304,  -542,   305,
3706      306,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3707     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,     2,
3708     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3709     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3710     -542,  -542,     0,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3711     -542,  -542,  -542,  -542,     0,     0,   307,  -542,     0,  -542,
3712        0,     0,   308,   309,   310,  -542,  -542,     0,     0,  -542,
3713     -542,  -542,  -542,  -542,  -542,   311,   312,  -542,  -542,  -542,
3714     -542,  -542,  -542,  -542,  -542,  -542,     0,  -542,     0,   313,
3715     -542,  -542,     0,   314,   315,   316,   317,   318,   319,   320,
3716      321,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   322,
3717     -542,  -542,   323,  -542,   324,  -542,  -542,  -542,  -542,   741,
3718     -542,  -542,   325,   326,  -542,   327,   328,   329,   330,  -542,
3719     -542,  -542,  -542,  -542,  -550,   302,     0,     1,   303,   106,
3720      304,  -550,   305,   306,  -550,  -550,  -550,  -550,  -550,  -550,
3721     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3722     -550,  -550,     2,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3723     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3724     -550,  -550,  -550,  -550,  -550,     0,  -550,  -550,  -550,  -550,
3725     -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,     0,   307,
3726     -550,     0,  -550,     0,     0,   308,   309,   310,  -550,  -550,
3727        0,     0,  -550,  -550,  -550,  -550,  -550,  -550,   311,   312,
3728     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,
3729     -550,     0,   313,  -550,  -550,     0,   314,   315,   316,   317,
3730      318,   319,   320,   321,  -550,  -550,  -550,  -550,  -550,  -550,
3731     -550,  -550,   322,  -550,  -550,   323,  -550,   324,  -550,  -550,
3732     -550,  -550,   741,  -550,  -550,   325,   326,  -550,   327,   328,
3733      329,   330,  -550,  -550,  -550,  -550,  -550,  -543,   302,     0,
3734        1,   303,   106,   304,  -543,   305,   306,  -543,  -543,  -543,
3735     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3736     -543,  -543,  -543,  -543,  -543,     2,  -543,  -543,  -543,  -543,
3737     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3738     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     0,  -543,
3739     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3740        0,     0,   307,  -543,     0,  -543,     0,     0,   308,   309,
3741      310,  -543,  -543,     0,     0,  -543,  -543,  -543,  -543,  -543,
3742     -543,   311,   312,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3743     -543,  -543,     0,  -543,     0,   313,  -543,  -543,     0,   314,
3744      315,   316,   317,   318,   319,   320,   321,  -543,  -543,  -543,
3745     -543,  -543,  -543,  -543,  -543,   322,  -543,  -543,   323,  -543,
3746      324,  -543,  -543,  -543,  -543,   741,  -543,  -543,   325,   326,
3747     -543,   327,   328,   329,   330,  -543,  -543,  -543,  -543,  -543,
3748     -551,   302,     0,     1,   303,   106,   304,  -551,   305,   306,
3749     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3750     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     2,  -551,
3751     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3752     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3753     -551,     0,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3754     -551,  -551,  -551,     0,     0,   307,  -551,     0,  -551,     0,
3755        0,   308,   309,   310,  -551,  -551,     0,     0,  -551,  -551,
3756     -551,  -551,  -551,  -551,   311,   312,  -551,  -551,  -551,  -551,
3757     -551,  -551,  -551,  -551,  -551,     0,  -551,     0,   313,  -551,
3758     -551,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3759     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,   322,  -551,
3760     -551,   323,  -551,   324,  -551,  -551,  -551,  -551,   741,  -551,
3761     -551,   325,   326,  -551,   327,   328,   329,   330,  -551,  -551,
3762     -551,  -551,  -551,  -544,   302,     0,     1,   303,   106,   304,
3763     -544,   305,   306,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3764     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3765     -544,     2,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3766     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3767     -544,  -544,  -544,  -544,     0,  -544,  -544,  -544,  -544,  -544,
3768     -544,  -544,  -544,  -544,  -544,  -544,     0,     0,   307,  -544,
3769        0,  -544,     0,     0,   308,   309,   310,  -544,  -544,     0,
3770        0,  -544,  -544,  -544,  -544,  -544,  -544,   311,   312,  -544,
3771     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     0,  -544,
3772        0,   313,  -544,  -544,     0,   314,   315,   316,   317,   318,
3773      319,   320,   321,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3774     -544,   322,  -544,  -544,   323,  -544,   324,  -544,  -544,  -544,
3775     -544,   741,  -544,  -544,   325,   326,  -544,   327,   328,   329,
3776      330,  -544,  -544,  -544,  -544,  -544,  -552,   302,     0,     1,
3777      303,   106,   304,  -552,   305,   306,  -552,  -552,  -552,  -552,
3778     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3779     -552,  -552,  -552,  -552,     2,  -552,  -552,  -552,  -552,  -552,
3780     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3781     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,  -552,
3782     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,
3783        0,   307,  -552,     0,  -552,     0,     0,   308,   309,   310,
3784     -552,  -552,     0,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3785      311,   312,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3786     -552,     0,  -552,     0,   313,  -552,  -552,     0,   314,   315,
3787      316,   317,   318,   319,   320,   321,  -552,  -552,  -552,  -552,
3788     -552,  -552,  -552,  -552,   322,  -552,  -552,   323,  -552,   324,
3789     -552,  -552,  -552,  -552,   741,  -552,  -552,   325,   326,  -552,
3790      327,   328,   329,   330,  -552,  -552,  -552,  -552,  -552,  -339,
3791     2019,     0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3792     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3793     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3794     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3795     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3796        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3797     -339,  -339,     0,     0,  -339,  -339,     0,  -339,     0,     0,
3798     -339,  -339,  -339,  -339,  -339,     0,     0,  -339,  -339,  -339,
3799     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3800     -339,  -339,  -339,  -339,     0,  -339,     0,  -339,  -339,  -339,
3801        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3802     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3803     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3804     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3805     -339,  -339,  -338,  2020,     0,  -338,  -338,  -338,  -338,  -338,
3806     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3807     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3808     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3809     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3810     -338,  -338,  -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,
3811     -338,  -338,  -338,  -338,  -338,     0,     0,  -338,  -338,     0,
3812     -338,     0,     0,  -338,  -338,  -338,  -338,  -338,     0,     0,
3813     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3814     -338,  -338,  -338,  -338,  -338,  -338,  -338,     0,  -338,     0,
3815     -338,  -338,  -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,
3816     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3817     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3818     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3819     -338,  -338,  -338,  -338,  -338,  -343,   753,     0,  -343,  -343,
3820     -343,  -343,   754,   755,   756,  -343,  -343,  -343,  -343,  -343,
3821     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3822     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3823     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3824     -343,  -343,  -343,  -343,  -343,  -343,     0,  -343,  -343,  -343,
3825     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,     0,     0,
3826     -343,  -343,     0,  -343,     0,     0,  -343,  -343,  -343,  -343,
3827     -343,     0,     0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3828     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3829        0,  -343,     0,  -343,  -343,  -343,     0,  -343,  -343,  -343,
3830     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3831     -343,  -343,  -343,  -343,  -343,  -343,   757,  -343,  -343,  -343,
3832     -343,  -343,  -343,  -343,  1148,  -343,  -343,   759,     0,  -343,
3833     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -456,     0,
3834     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3835     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3836     -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,     0,
3837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3840        0,     0,  -456,     0,     0,     0,     0,     0,  -456,  -456,
3841     -456,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3842        0,  -456,  -456,     0,     0,     0,     0,     0,     0,     0,
3843        0,     0,     0,     0,     0,  -456,     0,     0,     0,  -456,
3844     -456,  -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,
3845        0,     0,     0,     0,     0,  -456,  -456,  -456,  -456,  -456,
3846     -456,     0,  -456,  -456,     0,     0,  -456,     0,  -456,  -456,
3847        0,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3848     -448,  1150,     0,  -448,  -448,  -448,  -448,     0,  -448,  -448,
3849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3850        0,     0,     0,     0,     0,     0,     0,     0,  -448,  -448,
3851     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3852     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3853     -448,     0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3854     -448,  -448,  -448,     0,     0,  -448,  -448,     0,  -448,     0,
3855        0,  -448,  -448,  -448,  -448,  -448,     0,     0,  -448,  -448,
3856     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3857     -448,  -448,  -448,  -448,  -448,     0,  -448,     0,  -448,  -448,
3858     -448,     0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3859     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,     0,
3860        0,  -448,  -448,  -448,  -448,     0,  -448,  -448,  -448,  1151,
3861     -448,  -448,  -448,     0,  -448,  -448,  -448,  -448, -1088,   302,
3862        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
3863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3864        0,     0,     0,     0,     0,     0,     2, -1088, -1088, -1088,
3865    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,
3866    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,     0,
3867    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,
3868    -1088,     0,     0,   307, -1088,     0, -1088,     0,     0,   308,
3869      309,   310, -1088, -1088,     0,     0, -1088, -1088, -1088, -1088,
3870    -1088, -1088,   311,   312, -1088, -1088, -1088, -1088, -1088, -1088,
3871    -1088, -1088, -1088,     0, -1088,     0,   313, -1088, -1088,     0,
3872      314,   315,   316,   317,   318,   319,   320,   321, -1088, -1088,
3873    -1088, -1088, -1088, -1088, -1088, -1088,   322,     0,     0,   323,
3874     1157,   324, -1088,     0,  1158, -1088, -1088,     0, -1088,   325,
3875      326,     0,   327,   328,   329,   330, -1232,   302,     0,     1,
3876      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3878        0,     0,     0,     0,     2, -1232, -1232, -1232, -1232, -1232,
3879    -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,
3880    -1232, -1232, -1232, -1232, -1232, -1232, -1232,     0, -1232, -1232,
3881    -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,     0,
3882        0,   307, -1232,     0, -1232,     0,     0,   308,   309,   310,
3883    -1232, -1232,     0,     0, -1232, -1232, -1232, -1232, -1232, -1232,
3884      311,   312, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,
3885    -1232,     0, -1232,     0,   313, -1232, -1232,     0,   314,   315,
3886      316,   317,   318,   319,   320,   321, -1232, -1232, -1232, -1232,
3887    -1232, -1232, -1232, -1232,   322,     0,     0,   323,  1157,   324,
3888     1622,     0,  1158, -1232, -1232,     0, -1232,   325,   326,     0,
3889      327,   328,   329,   330, -1190,   302,     0,     1,   303,   106,
3890      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3891        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3892        0,     0,     2, -1190, -1190, -1190, -1190, -1190, -1190, -1190,
3893    -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190,
3894    -1190, -1190, -1190, -1190, -1190,     0, -1190, -1190, -1190, -1190,
3895    -1190, -1190, -1190, -1190, -1190, -1190, -1190,     0,     0,   307,
3896    -1190,     0, -1190,     0,     0,   308,   309,   310, -1190, -1190,
3897        0,     0, -1190, -1190, -1190, -1190, -1190, -1190,   311,   312,
3898    -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190,     0,
3899    -1190,     0,   313, -1190, -1190,     0,   314,   315,   316,   317,
3900      318,   319,   320,   321, -1190, -1190, -1190, -1190, -1190, -1190,
3901    -1190, -1190,   322,     0,     0,   323,  1830,   324, -1190,     0,
3902     1158, -1190, -1190,     0, -1190,   325,   326,     0,   327,   328,
3903      329,   330, -1221,   302,     0,     1,   303,   106,   304,     0,
3904      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
3905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3906        2, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
3907    -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
3908    -1221, -1221, -1221,     0,   625,   626,   627,   628,   629,   630,
3909      631,   632,   633,   634,   635,     0,     0,   307, -1221,     0,
3910    -1221,     0,     0,   308,   309,   310, -1221, -1221,     0,     0,
3911    -1221,    32, -1221, -1221, -1221, -1221,   311,   312,  1122, -1221,
3912      638,   639,   640, -1221, -1221, -1221, -1221,     0, -1221,     0,
3913      313, -1221, -1221,     0,   314,   315,   316,   317,   318,   319,
3914      320,   321,    43,    44, -1221, -1221, -1221, -1221, -1221, -1221,
3915      322,     0,     0,   323,  1157,   324,   641,     0,  1158, -1221,
3916      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
3917     -575,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3919        0,     0,     0,     0,     0,     0,     0,     0,     2,  -575,
3920     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3921     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3922     -575,     0,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3923     -575,  -575,  -575,     0,     0,   307,  -575,     0,  -575,     0,
3924        0,   308,   309,   310,  -575,  -575,     0,     0,  -575,  -575,
3925     -575,  -575,  -575,  -575,   311,   312,  -575,  -575,  -575,  -575,
3926     -575,  -575,  -575,  -575,  -575,     0,  -575,     0,   313,  -575,
3927     -575,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3928     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,   322,     0,
3929        0,   323,  -575,   324,  1152,     0,  1153,  -575,  -575,     0,
3930     -575,   325,   326,     0,   327,   328,   329,   330, -1213,   302,
3931        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
3932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3933        0,     0,     0,     0,     0,     0,     2, -1213, -1213, -1213,
3934    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
3935    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,     0,
3936    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
3937    -1213,     0,     0,   307, -1213,     0, -1213,     0,     0,   308,
3938      309,   310, -1213, -1213,     0,     0, -1213, -1213, -1213, -1213,
3939    -1213, -1213,   311,   312, -1213, -1213, -1213, -1213, -1213, -1213,
3940    -1213, -1213, -1213,     0, -1213,     0,   313, -1213, -1213,     0,
3941      314,   315,   316,   317,   318,   319,   320,   321, -1213, -1213,
3942    -1213, -1213, -1213, -1213, -1213, -1213,   322,     0,     0,   323,
3943     2065,   324, -1213,     0,  1153, -1213, -1213,     0, -1213,   325,
3944      326,     0,   327,   328,   329,   330, -1214,   302,     0,     1,
3945      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3946        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3947        0,     0,     0,     0,     2, -1214, -1214, -1214, -1214, -1214,
3948    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
3949    -1214, -1214, -1214, -1214, -1214, -1214, -1214,     0, -1214, -1214,
3950    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,     0,
3951        0,   307, -1214,     0, -1214,     0,     0,   308,   309,   310,
3952    -1214, -1214,     0,     0, -1214, -1214, -1214, -1214, -1214, -1214,
3953      311,   312, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
3954    -1214,     0, -1214,     0,   313, -1214, -1214,     0,   314,   315,
3955      316,   317,   318,   319,   320,   321, -1214, -1214, -1214, -1214,
3956    -1214, -1214, -1214, -1214,   322,     0,     0,   323,  1157,   324,
3957     2066,     0,  1158, -1214, -1214,     0, -1214,   325,   326,     0,
3958      327,   328,   329,   330, -1208,   302,     0,     1,   303,   106,
3959      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3961        0,     0,     2, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
3962    -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
3963    -1208, -1208, -1208, -1208, -1208,     0,   625,   626,   627,   628,
3964      629,   630,   631,   632,   633,   634,   635,     0,     0,   307,
3965    -1208,     0, -1208,     0,     0,   308,   309,   310, -1208, -1208,
3966        0,     0, -1208,    32, -1208, -1208, -1208, -1208,   311,   312,
3967     1122, -1208,   638,   639,   640, -1208, -1208, -1208, -1208,     0,
3968    -1208,     0,   313, -1208, -1208,     0,   314,   315,   316,   317,
3969      318,   319,   320,   321,    43,    44, -1208, -1208, -1208, -1208,
3970    -1208, -1208,   322,     0,     0,   323,  1157,   324,   641,     0,
3971     1158, -1208,   254,     0,   642,   325,   326,     0,   327,   328,
3972      329,   330, -1156,   616,     0, -1156, -1156, -1156, -1156,     0,
3973    -1156, -1156,     0,     0,     0,     0,     0,     0,     0,     0,
3974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3975    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3976    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3977    -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156,
3978    -1156, -1156, -1156, -1156, -1156,     0,     0, -1156, -1156,     0,
3979    -1156,     0,     0, -1156, -1156, -1156, -1156, -1156,     0,     0,
3980    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3981    -1156, -1156, -1156, -1156, -1156, -1156, -1156,     0, -1156,     0,
3982    -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156,
3983    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3984    -1156,     0,     0, -1156,     0, -1156,   617,     0, -1156, -1156,
3985    -1156,     0, -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156,
3986    -1179,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3987        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3988        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
3989      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
3990      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
3991       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
3992      633,   634,   635,     0,     0,   307,   246,     0, -1179,     0,
3993        0,   308,   309,   310,    28,    29,     0,     0, -1179,    32,
3994    -1179, -1179, -1179, -1179,   311,   636,   637,   248,   638,   639,
3995      640, -1179, -1179, -1179, -1179,     0, -1179,     0,   313, -1179,
3996      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3997       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
3998        0,   323,     0,   324,   641,     0, -1179, -1179,   254,     0,
3999      642,   325,   326,     0,   327,   328,   329,   330, -1157,   616,
4000        0, -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,     0,
4001        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4002        0,     0,     0,     0,     0,     0, -1157, -1157, -1157, -1157,
4003    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4004    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,
4005    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4006    -1157,     0,     0, -1157, -1157,     0, -1157,     0,     0, -1157,
4007    -1157, -1157, -1157, -1157,     0,     0, -1157, -1157, -1157, -1157,
4008    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4009    -1157, -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,     0,
4010    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4011    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4012        0, -1157,   617,     0, -1157, -1157, -1157,     0, -1157, -1157,
4013    -1157,     0, -1157, -1157, -1157, -1157, -1218,   302,     0,     1,
4014      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4016        0,     0,     0,     0,     2, -1218, -1218, -1218, -1218, -1218,
4017    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4018    -1218, -1218, -1218, -1218, -1218, -1218, -1218,     0,  1114,  1115,
4019     1116,   628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,
4020        0,   307, -1218,     0, -1218,     0,     0,   308,   309,   310,
4021    -1218, -1218,     0,     0, -1218,    32, -1218, -1218, -1218, -1218,
4022      311,   312,  1122, -1218,   638,   639,   640, -1218, -1218, -1218,
4023    -1218,     0, -1218,     0,   313, -1218, -1218,     0,   314,   315,
4024      316,   317,   318,   319,   320,   321,    43,    44, -1218, -1218,
4025    -1218, -1218, -1218, -1218,   322,     0,     0,   323,     0,   324,
4026      641,     0, -1218, -1218,   254,     0,   642,   325,   326,     0,
4027      327,   328,   329,   330, -1234,   302,     0,     1,   303,   106,
4028      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4030        0,     0,     2, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
4031    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
4032    -1234, -1234, -1234, -1234, -1234,     0, -1234, -1234, -1234, -1234,
4033    -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0,     0,   307,
4034    -1234,     0, -1234,     0,     0,   308,   309,   310, -1234, -1234,
4035        0,     0, -1234, -1234, -1234, -1234, -1234, -1234,   311,   312,
4036    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0,
4037    -1234,     0,   313, -1234, -1234,     0,   314,   315,   316,   317,
4038      318,   319,   320,   321, -1234, -1234, -1234, -1234, -1234, -1234,
4039    -1234, -1234,   322,     0,     0,   323,     0,   324,  1133,     0,
4040    -1234, -1234,   741,     0, -1234,   325,   326,     0,   327,   328,
4041      329,   330, -1169,  1160,     0,     1,   303,   106,   304,     0,
4042      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4044        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4045      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4046       22,    23,    24,     0,   625,   626,   627,   628,   629,   630,
4047      631,   632,   633,   634,   635,     0,     0,   307,   246,     0,
4048    -1169,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4049    -1169,    32, -1169, -1169, -1169, -1169,   311,   636,   637,   248,
4050      638,   639,   640, -1169, -1169, -1169, -1169,     0, -1169,     0,
4051      313, -1169,   249,     0,   314,   315,   316,   317,   318,   319,
4052      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4053      322,     0,     0,   323,     0,   324,   641,     0, -1169, -1169,
4054      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
4055    -1173,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4056        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4057        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4058      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4059      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4060       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4061      633,   634,   635,     0,     0,   307,   246,     0, -1173,     0,
4062        0,   308,   309,   310,    28,    29,     0,     0, -1173,    32,
4063    -1173, -1173, -1173, -1173,   311,   636,   637,   248,   638,   639,
4064      640, -1173, -1173, -1173, -1173,     0, -1173,     0,   313, -1173,
4065      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4066       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4067        0,   323,     0,   324,   641,     0, -1173, -1173,   254,     0,
4068      642,   325,   326,     0,   327,   328,   329,   330, -1168,   302,
4069        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4071        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4072      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4073      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4074      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4075      635,     0,     0,   307,   246,     0, -1168,     0,     0,   308,
4076      309,   310,    28,    29,     0,     0, -1168,    32, -1168, -1168,
4077    -1168, -1168,   311,   636,   637,   248,   638,   639,   640, -1168,
4078    -1168, -1168, -1168,     0, -1168,     0,   313, -1168,   249,     0,
4079      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4080      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4081        0,   324,   641,     0, -1168, -1168,   254,     0,   642,   325,
4082      326,     0,   327,   328,   329,   330, -1172,   302,     0,     1,
4083      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4084        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4085        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4086      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4087       18,    19,   244,   245,    22,    23,    24,     0,   625,   626,
4088      627,   628,   629,   630,   631,   632,   633,   634,   635,     0,
4089        0,   307,   246,     0, -1172,     0,     0,   308,   309,   310,
4090       28,    29,     0,     0, -1172,    32, -1172, -1172, -1172, -1172,
4091      311,   636,   637,   248,   638,   639,   640, -1172, -1172, -1172,
4092    -1172,     0, -1172,     0,   313, -1172,   249,     0,   314,   315,
4093      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4094      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4095      641,     0, -1172, -1172,   254,     0,   642,   325,   326,     0,
4096      327,   328,   329,   330, -1075,  1173,     0, -1075, -1075, -1075,
4097    -1075,     0, -1075, -1075,     0,     0,     0,     0,     0,     0,
4098        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4099        0,     0, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4100    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4101    -1075, -1075, -1075, -1075, -1075,     0, -1075, -1075, -1075, -1075,
4102    -1075, -1075, -1075, -1075, -1075, -1075, -1075,     0,     0, -1075,
4103    -1075,     0, -1075,     0,     0, -1075, -1075, -1075, -1075, -1075,
4104        0,     0, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4105    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,     0,
4106    -1075,     0, -1075, -1075, -1075,     0, -1075, -1075, -1075, -1075,
4107    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4108    -1075, -1075, -1075,     0,     0, -1075,     0, -1075, -1075,     0,
4109    -1075, -1075, -1075,     0, -1075, -1075, -1075,     0, -1075, -1075,
4110    -1075, -1075, -1077,  1174,     0, -1077, -1077, -1077, -1077,     0,
4111    -1077, -1077,     0,     0,     0,     0,     0,     0,     0,     0,
4112        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4113    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4114    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4115    -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4116    -1077, -1077, -1077, -1077, -1077,     0,     0, -1077, -1077,     0,
4117    -1077,     0,     0, -1077, -1077, -1077, -1077, -1077,     0,     0,
4118    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4119    -1077, -1077, -1077, -1077, -1077, -1077, -1077,     0, -1077,     0,
4120    -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4121    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4122    -1077,     0,     0, -1077,     0, -1077, -1077,     0, -1077, -1077,
4123    -1077,     0, -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077,
4124    -1123,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4126        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4127      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4128      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4129       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4130      633,   634,   635,     0,     0,   307,   246,     0, -1123,     0,
4131        0,   308,   309,   310,    28,    29,     0,     0, -1123,    32,
4132    -1123, -1123, -1123, -1123,   311,   636,   637,   248,   638,   639,
4133      640, -1123, -1123, -1123, -1123,     0, -1123,     0,   313, -1123,
4134      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4135       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4136        0,   323,     0,   324,   641,     0, -1123, -1123,   254,     0,
4137      642,   325,   326,     0,   327,   328,   329,   330, -1125,   302,
4138        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4140        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4141      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4142      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4143      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4144      635,     0,     0,   307,   246,     0, -1125,     0,     0,   308,
4145      309,   310,    28,    29,     0,     0, -1125,    32, -1125, -1125,
4146    -1125, -1125,   311,   636,   637,   248,   638,   639,   640, -1125,
4147    -1125, -1125, -1125,     0, -1125,     0,   313, -1125,   249,     0,
4148      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4149      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4150        0,   324,   641,     0, -1125, -1125,   254,     0,   642,   325,
4151      326,     0,   327,   328,   329,   330, -1170,   302,     0,     1,
4152      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4153        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4154        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4155      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4156       18,    19,   244,   245,    22,    23,    24,     0,   625,   626,
4157      627,   628,   629,   630,   631,   632,   633,   634,   635,     0,
4158        0,   307,   246,     0, -1170,     0,     0,   308,   309,   310,
4159       28,    29,     0,     0, -1170,    32, -1170, -1170, -1170, -1170,
4160      311,   636,   637,   248,   638,   639,   640, -1170, -1170, -1170,
4161    -1170,     0, -1170,     0,   313, -1170,   249,     0,   314,   315,
4162      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4163      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4164      641,     0, -1170, -1170,   254,     0,   642,   325,   326,     0,
4165      327,   328,   329,   330, -1174,   302,     0,     1,   303,   106,
4166      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4168        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4169      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4170      244,   245,    22,    23,    24,     0,   625,   626,   627,   628,
4171      629,   630,   631,   632,   633,   634,   635,     0,     0,   307,
4172      246,     0, -1174,     0,     0,   308,   309,   310,    28,    29,
4173        0,     0, -1174,    32, -1174, -1174, -1174, -1174,   311,   636,
4174      637,   248,   638,   639,   640, -1174, -1174, -1174, -1174,     0,
4175    -1174,     0,   313, -1174,   249,     0,   314,   315,   316,   317,
4176      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4177      206,   207,   322,     0,     0,   323,     0,   324,   641,     0,
4178    -1174, -1174,   254,     0,   642,   325,   326,     0,   327,   328,
4179      329,   330, -1171,   302,     0,     1,   303,   106,   304,     0,
4180      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4181        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4182        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4183      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4184       22,    23,    24,     0,   625,   626,   627,   628,   629,   630,
4185      631,   632,   633,   634,   635,     0,     0,   307,   246,     0,
4186    -1171,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4187    -1171,    32, -1171, -1171, -1171, -1171,   311,   636,   637,   248,
4188      638,   639,   640, -1171, -1171, -1171, -1171,     0, -1171,     0,
4189      313, -1171,   249,     0,   314,   315,   316,   317,   318,   319,
4190      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4191      322,     0,     0,   323,     0,   324,   641,     0, -1171, -1171,
4192      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
4193    -1175,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4195        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4196      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4197      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4198       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4199      633,   634,   635,     0,     0,   307,   246,     0, -1175,     0,
4200        0,   308,   309,   310,    28,    29,     0,     0, -1175,    32,
4201    -1175, -1175, -1175, -1175,   311,   636,   637,   248,   638,   639,
4202      640, -1175, -1175, -1175, -1175,     0, -1175,     0,   313, -1175,
4203      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4204       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4205        0,   323,     0,   324,   641,     0, -1175, -1175,   254,     0,
4206      642,   325,   326,     0,   327,   328,   329,   330, -1166,   616,
4207        0, -1166, -1166, -1166, -1166,     0, -1166, -1166,     0,     0,
4208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4209        0,     0,     0,     0,     0,     0, -1166, -1166, -1166, -1166,
4210    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4211    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,     0,
4212    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4213    -1166,     0,     0, -1166, -1166,     0, -1166,     0,     0, -1166,
4214    -1166, -1166, -1166, -1166,     0,     0, -1166, -1166, -1166, -1166,
4215    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4216    -1166, -1166, -1166,     0, -1166,     0, -1166, -1166, -1166,     0,
4217    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4218    -1166, -1166, -1166, -1166, -1166, -1166, -1166,     0,     0, -1166,
4219        0, -1166,   617,     0, -1166, -1166, -1166,     0, -1166, -1166,
4220    -1166,     0, -1166, -1166, -1166, -1166, -1167,   616,     0, -1167,
4221    -1167, -1167, -1167,     0, -1167, -1167,     0,     0,     0,     0,
4222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4223        0,     0,     0,     0, -1167, -1167, -1167, -1167, -1167, -1167,
4224    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4225    -1167, -1167, -1167, -1167, -1167, -1167, -1167,     0, -1167, -1167,
4226    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,     0,
4227        0, -1167, -1167,     0, -1167,     0,     0, -1167, -1167, -1167,
4228    -1167, -1167,     0,     0, -1167, -1167, -1167, -1167, -1167, -1167,
4229    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4230    -1167,     0, -1167,     0, -1167, -1167, -1167,     0, -1167, -1167,
4231    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4232    -1167, -1167, -1167, -1167, -1167,     0,     0, -1167,     0, -1167,
4233      617,     0, -1167, -1167, -1167,     0, -1167, -1167, -1167,     0,
4234    -1167, -1167, -1167, -1167, -1002,   302,     0,     1,   303,   106,
4235      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4237        0,     0,     2, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
4238    -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
4239    -1002, -1002, -1002, -1002, -1002,     0, -1002, -1002, -1002, -1002,
4240    -1002, -1002, -1002, -1002, -1002, -1002, -1002,     0,     0,   307,
4241    -1002,     0, -1002,     0,     0,   308,   309,   310, -1002, -1002,
4242        0,     0, -1002, -1002, -1002, -1002, -1002, -1002,   311,   312,
4243    -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,     0,
4244    -1002,     0,   313, -1002, -1002,     0,   314,   315,   316,   317,
4245      318,   319,   320,   321, -1002, -1002, -1002, -1002, -1002, -1002,
4246    -1002, -1002,   322,     0,     0,   323,     0,   324, -1002,     0,
4247     1799,  1800,  1013,     0, -1002,   325,   326,     0,   327,   328,
4248      329,   330, -1129,   616,     0, -1129, -1129, -1129, -1129,     0,
4249    -1129, -1129,     0,     0,     0,     0,     0,     0,     0,     0,
4250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4251    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4252    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4253    -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4254    -1129, -1129, -1129, -1129, -1129,     0,     0, -1129, -1129,     0,
4255    -1129,     0,     0, -1129, -1129, -1129, -1129, -1129,     0,     0,
4256    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4257    -1129, -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129,     0,
4258    -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4259    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4260    -1129,     0,     0, -1129,     0, -1129,   617,     0, -1129, -1129,
4261    -1129,     0, -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129,
4262    -1130,   616,     0, -1130, -1130, -1130, -1130,     0, -1130, -1130,
4263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4264        0,     0,     0,     0,     0,     0,     0,     0, -1130, -1130,
4265    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4266    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4267    -1130,     0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4268    -1130, -1130, -1130,     0,     0, -1130, -1130,     0, -1130,     0,
4269        0, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130, -1130,
4270    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4271    -1130, -1130, -1130, -1130, -1130,     0, -1130,     0, -1130, -1130,
4272    -1130,     0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4273    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,
4274        0, -1130,     0, -1130,   617,     0, -1130, -1130, -1130,     0,
4275    -1130, -1130, -1130,     0, -1130, -1130, -1130, -1130, -1126,   616,
4276        0, -1126, -1126, -1126, -1126,     0, -1126, -1126,     0,     0,
4277        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4278        0,     0,     0,     0,     0,     0, -1126, -1126, -1126, -1126,
4279    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4280    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,     0,
4281    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4282    -1126,     0,     0, -1126, -1126,     0, -1126,     0,     0, -1126,
4283    -1126, -1126, -1126, -1126,     0,     0, -1126, -1126, -1126, -1126,
4284    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4285    -1126, -1126, -1126,     0, -1126,     0, -1126, -1126, -1126,     0,
4286    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4287    -1126, -1126, -1126, -1126, -1126, -1126, -1126,     0,     0, -1126,
4288        0, -1126,   617,     0, -1126, -1126, -1126,     0, -1126, -1126,
4289    -1126,     0, -1126, -1126, -1126, -1126, -1004,   302,     0,     1,
4290      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4292        0,     0,     0,     0,     2, -1004, -1004, -1004, -1004, -1004,
4293    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4294    -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0, -1004, -1004,
4295    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0,
4296        0,   307, -1004,     0, -1004,     0,     0,   308,   309,   310,
4297    -1004, -1004,     0,     0, -1004, -1004, -1004, -1004, -1004, -1004,
4298      311,   312, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4299    -1004,     0, -1004,     0,   313, -1004, -1004,     0,   314,   315,
4300      316,   317,   318,   319,   320,   321, -1004, -1004, -1004, -1004,
4301    -1004, -1004, -1004, -1004,   322,     0,     0,   323,     0,   324,
4302    -1004,     0, -1004,  1979,  1013,     0, -1004,   325,   326,     0,
4303      327,   328,   329,   330,  -998,  1982,     0,  -998,  -998,  -998,
4304     -998,     0,  -998,  -998,     0,     0,     0,     0,     0,     0,
4305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4306        0,     0,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4307     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4308     -998,  -998,  -998,  -998,  -998,     0,  -998,  -998,  -998,  -998,
4309     -998,  -998,  -998,  -998,  -998,  -998,  -998,     0,     0,  -998,
4310     -998,     0,  -998,     0,     0,  -998,  -998,  -998,  -998,  -998,
4311        0,     0,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4312     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,     0,
4313     -998,     0,  -998,  -998,  -998,     0,  -998,  -998,  -998,  -998,
4314     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4315     -998,  -998,  -998,     0,     0,  -998,     0,  -998,  -998,     0,
4316     -998,  -998,  -998,     0,  -998,  -998,  -998,     0,  -998,  -998,
4317     -998,  -998, -1127,   616,     0, -1127, -1127, -1127, -1127,     0,
4318    -1127, -1127,     0,     0,     0,     0,     0,     0,     0,     0,
4319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4320    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4321    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4322    -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127, -1127, -1127,
4323    -1127, -1127, -1127, -1127, -1127,     0,     0, -1127, -1127,     0,
4324    -1127,     0,     0, -1127, -1127, -1127, -1127, -1127,     0,     0,
4325    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4326    -1127, -1127, -1127, -1127, -1127, -1127, -1127,     0, -1127,     0,
4327    -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127, -1127, -1127,
4328    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4329    -1127,     0,     0, -1127,     0, -1127,   617,     0, -1127, -1127,
4330    -1127,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127,
4331    -1128,   616,     0, -1128, -1128, -1128, -1128,     0, -1128, -1128,
4332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4333        0,     0,     0,     0,     0,     0,     0,     0, -1128, -1128,
4334    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4335    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4336    -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4337    -1128, -1128, -1128,     0,     0, -1128, -1128,     0, -1128,     0,
4338        0, -1128, -1128, -1128, -1128, -1128,     0,     0, -1128, -1128,
4339    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4340    -1128, -1128, -1128, -1128, -1128,     0, -1128,     0, -1128, -1128,
4341    -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4342    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0,
4343        0, -1128,     0, -1128,   617,     0, -1128, -1128, -1128,     0,
4344    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1215,   302,
4345        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4347        0,     0,     0,     0,     0,     0,     2, -1215, -1215, -1215,
4348    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4349    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,     0,
4350    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4351    -1215,     0,     0,   307, -1215,     0, -1215,     0,     0,   308,
4352      309,   310, -1215, -1215,     0,     0, -1215, -1215, -1215, -1215,
4353    -1215, -1215,   311,   312, -1215, -1215, -1215, -1215, -1215, -1215,
4354    -1215, -1215, -1215,     0, -1215,     0,   313, -1215, -1215,     0,
4355      314,   315,   316,   317,   318,   319,   320,   321, -1215, -1215,
4356    -1215, -1215, -1215, -1215, -1215, -1215,   322,     0,     0,   323,
4357        0,   324, -1215,     0, -1215, -1215, -1215,     0, -1215,   325,
4358      326,     0,   327,   328,   329,   330,  -999,  2057,     0,  -999,
4359     -999,  -999,  -999,     0,  -999,  -999,     0,     0,     0,     0,
4360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4361        0,     0,     0,     0,  -999,  -999,  -999,  -999,  -999,  -999,
4362     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4363     -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,  -999,  -999,
4364     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,
4365        0,  -999,  -999,     0,  -999,     0,     0,  -999,  -999,  -999,
4366     -999,  -999,     0,     0,  -999,  -999,  -999,  -999,  -999,  -999,
4367     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4368     -999,     0,  -999,     0,  -999,  -999,  -999,     0,  -999,  -999,
4369     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4370     -999,  -999,  -999,  -999,  -999,     0,     0,  -999,     0,  -999,
4371     -999,     0,  -999,  -999,  -999,     0,  -999,  -999,  -999,     0,
4372     -999,  -999,  -999,  -999,  -905,   582,     0,  -905,  -905,  -905,
4373     -905,     0,  -905,  -905,     0,     0,     0,     0,     0,     0,
4374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4375        0,     0,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4376     -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4377     -905,  -905,  -905,  -905,  -905,     0,     0,  -905,     0,     0,
4378        0,     0,     0,     0,     0,     0,     0,     0,     0,  -905,
4379     -905,     0,  -905,     0,     0,  -905,  -905,  -905,  -905,  -905,
4380        0,     0,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4381     -905,  -905,  -905,     0,     0,  -905,  -905,  -905,  -905,     0,
4382     -905,     0,  -905,  -905,  -905,     0,  -905,  -905,  -905,  -905,
4383     -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4384     -905,  -905,  -905,     0,     0,  -905,   845,  -905,  -905,     0,
4385      584,  -905,  -905,     0,     0,  -905,  -905,     0,  -905,  -905,
4386     -905,  -905,   302,     0,     1,   303,   106,   304,     0,   305,
4387      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4388        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4389      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4390      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4391       23,    24,     0,   625,   626,   627,   628,   629,   630,   631,
4392      632,   633,   634,   635,     0,     0,   307,   246,     0,     0,
4393        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4394       32,     0,     0,     0,     0,   311,   636,   637,   248,   638,
4395      639,   640,     0,     0,     0,     0,     0,     0,     0,   313,
4396        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4397      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4398        0,     0,   323,     0,   324,   641,     0,     0,     0,   254,
4399        0,   642,   325,   326,     0,   327,   328,   329,   330,   302,
4400        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4402        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4403      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4404      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4405     1114,  1115,  1116,   628,  1117,  1118,  1119,  1120,   633,   634,
4406     1121,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4407      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4408        0,     0,   311,   636,   637,   248,   638,   639,   640,     0,
4409        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4410      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4411      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4412        0,   324,   641,     0,     0,     0,   254,     0,   642,   325,
4413      326,     0,   327,   328,   329,   330,   302,     0,     1,   303,
4414      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4416        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4417      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4418       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
4419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4420      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4421       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4422      636,    38,   248,     0,     0,     0,     0,     0,     0,     0,
4423        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4424      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4425      253,   206,   207,   322,     0,     0,   323,     0,   324,   983,
4426        0,   984,   985,   741,     0,     0,   325,   326,     0,   327,
4427      328,   329,   330,  1246,     0,     1,   303,   106,   304,     0,
4428      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4429        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4430        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4431      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4432       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4433        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4434        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4435        0,    32,     0,     0,     0,     0,   311,   636,    38,   248,
4436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4437      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4438      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4439      322,     0,     0,   323,     0,   324,   983,     0,   984,  -110,
4440      741,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4441     1253,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4443        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4444      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4445      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4447        0,     0,     0,     0,   307,   246,     0,     0,     0,     0,
4448      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4449        0,     0,     0,   311,   636,    38,   248,     0,     0,     0,
4450        0,     0,     0,     0,     0,     0,     0,   313,     0,   249,
4451        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4452       44,   250,   251,   252,   253,   206,   207,   322,     0,     0,
4453      323,     0,   324,   983,     0,   984,   -98,   741,     0,     0,
4454      325,   326,     0,   327,   328,   329,   330,  1257,     0,     1,
4455      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4457        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4458      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4459       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4461        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4462       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4463      311,   636,    38,   248,     0,     0,     0,     0,     0,     0,
4464        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4465      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4466      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4467      983,     0,   984,  -102,   741,     0,     0,   325,   326,     0,
4468      327,   328,   329,   330,   302,     0,     1,   303,   106,   304,
4469        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4471        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4472      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4473      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4474        0,     0,     0,     0,     0,     0,     0,     0,   307,   246,
4475        0,     0,     0,     0,   308,   309,   310,    28,    29,     0,
4476        0,     0,    32,     0,     0,     0,     0,   311,   636,    38,
4477      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4478        0,   313,     0,   249,     0,   314,   315,   316,   317,   318,
4479      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4480      207,   322,     0,     0,   323,     0,   324,  1511,     0,   984,
4481      -65,   741,     0,     0,   325,   326,     0,   327,   328,   329,
4482      330,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4484        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4485      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4486      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4487       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4488        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4489        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4490        0,     0,     0,     0,   311,   636,    38,   248,     0,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4492      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4493       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4494        0,   323,     0,   324,  1520,     0,   984,  1521,   741,     0,
4495        0,   325,   326,     0,   327,   328,   329,   330,  1578,     0,
4496        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4498        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
4499      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
4500      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
4501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4502        0,     0,   307,   246,     0,     0,     0,     0,   308,   309,
4503      310,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4504        0,   311,   636,    38,   248,     0,     0,     0,     0,     0,
4505        0,     0,     0,     0,     0,   313,     0,   249,     0,   314,
4506      315,   316,   317,   318,   319,   320,   321,    43,    44,   250,
4507      251,   252,   253,   206,   207,   322,     0,     0,   323,     0,
4508      324,   983,     0,   984,   -81,   741,     0,     0,   325,   326,
4509        0,   327,   328,   329,   330,   302,     0,     1,   303,   106,
4510      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4512        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4513      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4514      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4515        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4516      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4517        0,     0,     0,    32,     0,     0,     0,     0,   311,   636,
4518       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4519        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4520      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4521      206,   207,   322,     0,     0,   323,     0,   324,  1520,     0,
4522      984,  -107,   741,     0,     0,   325,   326,     0,   327,   328,
4523      329,   330,   302,     0,     1,   303,   106,   304,     0,   305,
4524      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4525        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4526      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4527      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4528       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4529        0,     0,     0,     0,     0,     0,   307,   246,     0,     0,
4530        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4531       32,     0,     0,     0,     0,   311,   636,    38,   248,     0,
4532        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4533        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4534      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4535        0,     0,   323,     0,   324,  1520,     0,   984,   -97,   741,
4536        0,     0,   325,   326,     0,   327,   328,   329,   330,   302,
4537        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4539        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4540      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4541      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4542        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4543        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4544      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4545        0,     0,   311,   636,    38,   248,     0,     0,     0,     0,
4546        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4547      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4548      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4549        0,   324,  1520,     0,   984,  -101,   741,     0,     0,   325,
4550      326,     0,   327,   328,   329,   330,  1760,     0,     1,   303,
4551      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4553        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4554      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4555       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
4556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4557      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4558       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4559      636,    38,   248,     0,     0,     0,     0,     0,     0,     0,
4560        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4561      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4562      253,   206,   207,   322,     0,     0,   323,     0,   324,   983,
4563        0,   984,   -88,   741,     0,     0,   325,   326,     0,   327,
4564      328,   329,   330,   302,     0,     1,   303,   106,   304,     0,
4565      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4567        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4568      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4569       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4570        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4571        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4572        0,    32,     0,     0,     0,     0,   311,   636,    38,   248,
4573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4574      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4575      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4576      322,     0,     0,   323,     0,   324,  1520,     0,   984,   -78,
4577      741,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4578      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4580        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4581      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4582      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4584        0,     0,     0,     0,   307,   246,     0,     0,     0,     0,
4585      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4586        0,     0,     0,   311,   636,    38,   248,     0,     0,     0,
4587        0,     0,     0,     0,     0,     0,     0,   313,     0,   249,
4588        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4589       44,   250,   251,   252,   253,   206,   207,   322,     0,     0,
4590      323,     0,   324,  1520,     0,   984,   -85,   741,     0,     0,
4591      325,   326,     0,   327,   328,   329,   330,   302,     0,     1,
4592      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4594        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4595        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4596       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4597        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4598        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4599       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4600      311,   405,    38,    39,     0,     0,     0,     0,     0,     0,
4601        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4602      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4603       47,    48,   206,   207,   322,     0,     0,   323,   302,   324,
4604        1,   303,   106,   304,     0,   305,   306,   325,   326,     0,
4605      327,   328,   329,   330,     0,     0,     0,     0,     0,     0,
4606        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
4607      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
4608       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
4609        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4610        0,     0,   863,    27,     0,     0,     0,     0,   308,   309,
4611      310,    28,    29,     0,     0,     0,    32,     0,     0,    35,
4612       36,   311,   405,    38,    39,     0,     0,     0,     0,     0,
4613        0,     0,     0,     0,     0,   313,     0,    40,     0,   314,
4614      315,   316,   317,   318,   319,   320,   321,    43,    44,    45,
4615       46,    47,    48,   206,   207,   322,     0,     0,   323,   302,
4616      324,     1,   303,   106,   304,     0,   305,   306,   325,   326,
4617        0,   327,   328,   329,   330,     0,     0,     0,     0,     0,
4618        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4619        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4620       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4622        0,     0,     0,  1193,    27,     0,     0,     0,     0,   308,
4623      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4624       35,    36,   311,   405,    38,    39,     0,     0,     0,     0,
4625        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4626      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4627       45,    46,    47,    48,     0,     0,   322,     0,     0,   323,
4628      730,   324,     0,     0,     0,     0,     0,     0,     0,   325,
4629      326,     0,   327,   328,   329,   330,   302,     0,     1,   303,
4630      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4632        0,     0,     0,     2,     0,     0,     0,     0,     0,     8,
4633        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
4634       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
4635        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4636      307,    27,     0,     0,     0,     0,   308,   309,   310,    28,
4637       29,     0,     0,     0,    32,     0,     0,    35,    36,   311,
4638      405,    38,    39,     0,     0,     0,     0,     0,     0,     0,
4639        0,     0,     0,   313,     0,    40,     0,   314,   315,   316,
4640      317,   318,   319,   320,   321,    43,    44,    45,    46,    47,
4641       48,     0,     0,   322,     0,     0,   323,   302,   324,     1,
4642      303,   106,   304,   254,   305,   306,   325,   326,     0,   327,
4643      328,   329,   330,     0,     0,     0,     0,     0,     0,     0,
4644        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4645        8,     9,    10,   563,    12,    13,    14,    15,    16,    17,
4646       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4647        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4648        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4649       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4650      311,   405,    38,    39,     0,   302,     0,     1,   303,   106,
4651      304,     0,   305,   306,   313,     0,    40,     0,   314,   315,
4652      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4653       47,    48,     2,     0,   886,     0,     0,   887,   730,   324,
4654        0,     0,     0,     0,     0,     0,     0,   325,   326,     0,
4655      327,   328,   329,   330,     0,     0,  1114,  1115,  1116,   628,
4656     1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,   307,
4657        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4658        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4659     1122,     0,   638,   639,   640,     0,   302,     0,     1,   303,
4660      106,   304,   313,   305,   306,     0,   314,   315,   316,   317,
4661      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4662        0,     0,   322,     2,     0,   323,  1157,   324,   641,     0,
4663     1158,     0,   254,     0,   642,   325,   326,     0,   327,   328,
4664      329,   330,     0,     0,     0,     0,     0,  1114,  1115,  1116,
4665      628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,
4666      307,     0,     0,     0,     0,     0,   308,   309,   310,     0,
4667        0,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4668      312,  1122,     0,   638,   639,   640,     0,  1833,     0,     1,
4669      303,   106,   304,   313,   305,   306,     0,   314,   315,   316,
4670      317,   318,   319,   320,   321,    43,    44,     0,     0,     0,
4671        0,     0,     0,   322,     2,     0,   323,     0,   324,   641,
4672        0,     0,     0,   254,     0,   642,   325,   326,     0,   327,
4673      328,   329,   330,     0,     0,     0,     0,     0,  1114,  1115,
4674     1116,   628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,
4675        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4676        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4677      311,   312,  1122,     0,   638,   639,   640,     0,   302,     0,
4678        1,   303,   106,   304,   313,   305,   306,     0,   314,   315,
4679      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4680        0,     0,     0,     0,   322,     2,     0,   323,     0,   324,
4681      641,     0,     0,     0,   254,     0,   642,   325,   326,     0,
4682      327,   328,   329,   330,     0,     0,     0,     0,     0,   625,
4683      626,   627,   628,   629,   630,   631,   632,   633,   634,   635,
4684        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4685      310,     0,     0,     0,     0,     0,    32,     0,     0,     0,
4686        0,   311,   312,  1122,     0,   638,   639,   640,     0,     0,
4687        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4688      315,   316,   317,   318,   319,   320,   321,    43,    44,   302,
4689        0,     1,   303,   106,   304,   322,   305,   306,   323,     0,
4690      324,   641,     0,     0,     0,   254,     0,   642,   325,   326,
4691        0,   327,   328,   329,   330,     0,     2,     0,     0,     0,
4692        0,     0,     0,     0,     0,   121,     0,     0,     0,     0,
4693        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4694        0,     0,     0,   302,     0,     1,   303,   106,   304,     0,
4695      305,   306,     0,   307,     0,     0,     0,     0,     0,   308,
4696      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4697        2,     0,   311,   312,    38,     0,     0,     0,     0,     0,
4698        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
4699      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4700        0,     0,     0,     0,     0,     0,   886,   307,     0,   887,
4701      730,   324,     0,   308,   309,   310,     0,     0,     0,   325,
4702      326,     0,   327,   328,   329,   330,   311,   312,  1853,     0,
4703        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4704      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4705      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4706      322,     0,     0,   323,  1157,   324,  1622,     0,  1158,     0,
4707        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4709        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4710      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4711        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4712        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4713      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4714        0,     0,     0,     0,     0,   322,     0,     0,   323,  1157,
4715      324,  1854,     0,  1158,     0,     0,     0,     0,   325,   326,
4716        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4717        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4718        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4719        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4720        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4721        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4722        0,   323,  1157,   324,     0,     0,  1724,     0,     0,     0,
4723     1871,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4724        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4725      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4727        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4728      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4729        0,   322,     0,     0,   323,  1157,   324,     0,     0,  1724,
4730        0,     0,     0,  1875,   325,   326,     0,   327,   328,   329,
4731      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4732     2002,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4733      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4734        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4735      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4736        0,     0,     0,     0,   322,     0,     0,   323,  1157,   324,
4737     1854,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4738      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4739      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4740      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4741        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4742        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4743        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4744      323,  1157,   324,  1854,     0,  1158,     0,     0,     0,     0,
4745      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4746        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4747      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4749      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4750      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4751      322,     0,     0,   323,     0,   324,     0,     0,  2055,  2056,
4752     1013,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4753      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4754        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4755      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4756        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4757      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4758        0,     0,     0,   322,     0,     0,   323,  2067,   324,  2068,
4759        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4760      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4761      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4762      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4763        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4764      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4765        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4766     1157,   324,  2066,     0,  1158,     0,     0,     0,     0,   325,
4767      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4768        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4769      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4770        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4771        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4772      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4773        0,     0,   323,     0,   324,     0,     0,     0,     0,   741,
4774        0,     0,   325,   326,   742,   327,   328,   329,   330,   307,
4775        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4776        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4777        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4778        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4779      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4780        0,     0,   322,     0,     0,   323,     0,   324,  1152,     0,
4781     1153,     0,     0,     0,     0,   325,   326,     0,   327,   328,
4782      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4783      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4784        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4785        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4786      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4787        0,     0,     0,     0,     0,   322,     0,     0,   323,  1262,
4788      324,     0,     0,     0,     0,   741,     0,     0,   325,   326,
4789        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4790        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4791        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4792        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4793        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4794        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4795        0,   323,  1329,   324,     0,     0,     0,     0,   741,     0,
4796        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4797        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4798      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4800        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4801      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4802        0,   322,     0,     0,   323,     0,   324,  1133,     0,     0,
4803        0,   741,     0,     0,   325,   326,     0,   327,   328,   329,
4804      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4805     1611,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4806      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4807        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4808      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4809        0,     0,     0,     0,   322,     0,     0,   323,  1157,   324,
4810        0,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4811      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4812      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4813      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4815        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4816        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4817      323,  1612,   324,  1613,     0,     0,     0,     0,     0,     0,
4818      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4819        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4820      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4821        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4822      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4823      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4824      322,     0,     0,   323,     0,   324,  1621,     0,  1153,     0,
4825        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4826      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4827        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4828      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4829        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4830      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4831        0,     0,     0,   322,     0,     0,   323,  1691,   324,     0,
4832        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4833      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4834      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4835      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4836        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4837      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4838        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4839        0,   324,     0,     0,  1153,     0,     0,     0,     0,   325,
4840      326,  1718,   327,   328,   329,   330,   307,     0,     0,     0,
4841        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4842      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4843        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4844        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4845      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4846        0,     0,   323,     0,   324,     0,     0,  1721,     0,     0,
4847        0,  1722,   325,   326,     0,   327,   328,   329,   330,   307,
4848        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4849        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4852      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4853        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
4854     1153,     0,     0,     0,     0,   325,   326,  1728,   327,   328,
4855      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4856      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4857        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4858        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4859      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4860        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
4861      324,     0,     0,  1721,     0,     0,     0,  1730,   325,   326,
4862        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4863        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4864        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4865        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4866        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4867        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4868        0,   323,  1829,   324,     0,     0,  1153,     0,     0,     0,
4869        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4870        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4871      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4873        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4874      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4875        0,   322,     0,     0,   323,  1831,   324,     0,     0,  1153,
4876        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
4877      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4878      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4879      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4880        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4881      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4882        0,     0,     0,     0,   322,     0,     0,   323,  1832,   324,
4883        0,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4884      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4885      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4886      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4887        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4888        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4889        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4890      323,  1835,   324,     0,     0,  1153,     0,     0,     0,     0,
4891      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4892        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4893      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4895      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4896      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4897      322,     0,     0,   323,  1612,   324,  1613,     0,     0,     0,
4898        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4899      307,     0,     0,     0,     0,     0,   308,   309,   310,  1855,
4900        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4901      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4902        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4903      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4904        0,     0,     0,   322,     0,     0,   323,     0,   324,  1852,
4905        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4906      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4907      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4908      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4909        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4910      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4911        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4912     1856,   324,  1613,     0,     0,     0,     0,     0,     0,   325,
4913      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4914        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4915      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4916        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4917        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4918      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4919        0,     0,   323,     0,   324,     0,     0,  1721,     0,     0,
4920        0,  1869,   325,   326,     0,   327,   328,   329,   330,   307,
4921        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4922        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4923        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4924        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4925      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4926        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
4927     1721,     0,     0,     0,  1873,   325,   326,     0,   327,   328,
4928      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4929      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4930        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4931        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4932      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4933        0,     0,     0,     0,     0,   322,     0,     0,   323,  1987,
4934      324,     0,     0,  1153,     0,     0,     0,     0,   325,   326,
4935        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4936        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4937        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4938        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4939        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4940        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4941        0,   323,  1830,   324,     0,     0,  1158,     0,     0,     0,
4942        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4943        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4944      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4946        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4947      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4948        0,   322,     0,     0,   323,  1994,   324,     0,     0,  1153,
4949        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
4950      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4951      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4952      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4953        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4954      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4955        0,     0,     0,     0,   322,     0,     0,   323,  1856,   324,
4956     1613,     0,     0,     0,     0,     0,     0,   325,   326,     0,
4957      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4958      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4959      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4960        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4961        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4962        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4963      323,  2071,   324,     0,     0,  1153,     0,     0,     0,     0,
4964      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4965        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4966      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4968      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4969      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4970      322,     0,     0,   323,     0,   324,     0,     0,     0,  2100,
4971     1013,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4972      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4973        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4974      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4975        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4976      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4977        0,     0,     0,   322,     0,     0,   323,  2103,   324,     0,
4978        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4979      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4980      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4981      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4982        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4983      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4984        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4985     2104,   324,     0,     0,  1153,     0,     0,     0,     0,   325,
4986      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4987        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4988      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4989        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4990        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4991      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4992        0,     0,   323,  2132,   324,     0,     0,  1153,     0,     0,
4993        0,     0,   325,   326,     0,   327,   328,   329,   330,   307,
4994        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4995        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4997        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4998      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4999        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
5000        0,     0,     0,     0,     0,   325,   326,   547,   327,   328,
5001      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5002      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5003        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5004        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5005      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5006        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
5007      324,     0,     0,     0,     0,   741,     0,     0,   325,   326,
5008        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5009        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
5010        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5011        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5012        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5013        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5014        0,   323,     0,   324,     0,     0,     0,     0,     0,     0,
5015        0,   325,   326,   837,   327,   328,   329,   330,   307,     0,
5016        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
5017      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
5018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5019        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
5020      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
5021        0,   322,     0,     0,   323,     0,   324,     0,     0,     0,
5022        0,     0,     0,     0,   325,   326,   841,   327,   328,   329,
5023      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
5024      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
5025      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
5026        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
5027      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
5028        0,     0,     0,     0,   322,     0,     0,   323,     0,   324,
5029        0,     0,     0,     0,  1013,     0,     0,   325,   326,     0,
5030      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
5031      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
5032      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
5033        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
5034        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
5035        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
5036      323,     0,   324,     0,     0,     0,     0,     0,     0,     0,
5037      325,   326,  1054,   327,   328,   329,   330,   307,     0,     0,
5038        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
5039      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
5040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5041      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
5042      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
5043      322,     0,     0,   323,     0,   324,     0,     0,     0,     0,
5044        0,     0,  1106,   325,   326,     0,   327,   328,   329,   330,
5045      307,     0,     0,     0,     0,     0,   308,   309,   310,  1456,
5046        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
5047      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5048        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
5049      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
5050        0,     0,     0,   322,     0,     0,   323,   730,   324,     0,
5051        0,     0,     0,     0,     0,     0,   325,   326,     0,   327,
5052      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
5053      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
5054      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
5056      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5057        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
5058        0,   324,     0,     0,     0,     0,   741,     0,     0,   325,
5059      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
5060        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
5061      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
5063        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
5064      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
5065        0,     0,   323,     0,   324,     0,     0,     0,     0,     0,
5066        0,     0,   325,   326,  1559,   327,   328,   329,   330,   307,
5067        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
5068        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
5069        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5070        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
5071      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
5072        0,     0,   322,     0,     0,   323,  1595,   324,     0,     0,
5073        0,     0,     0,     0,     0,   325,   326,     0,   327,   328,
5074      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5075      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5076        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5077        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5078      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5079        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
5080      324,     0,     0,     0,     0,     0,     0,  1598,   325,   326,
5081        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5082        0,   308,   309,   310,  1789,     0,     1,   303,   106,   304,
5083        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5084        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5085        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5086        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5087        0,   323,     0,   324,     0,     0,     0,     0,  1788,     0,
5088        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
5089        0,     0,     0,     0,   308,   309,   310,  1792,     0,     1,
5090      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
5091        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5092        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
5093      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
5094        0,   322,     0,     0,   323,     0,   324,     0,     0,     0,
5095        0,   741,     0,     0,   325,   326,     0,   327,   328,   329,
5096      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
5097     1796,     0,     1,   303,   106,   304,     0,   305,   306,     0,
5098      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
5099        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
5100      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
5101        0,     0,     0,     0,   322,     0,     0,   323,     0,   324,
5102        0,     0,     0,     0,   741,     0,     0,   325,   326,     0,
5103      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
5104      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
5105      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
5106        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
5107        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
5108        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
5109      323,     0,   324,     0,     0,     0,     0,   741,     0,     0,
5110      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
5111        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
5112      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5114      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
5115      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
5116      322,     0,     0,   323,  1842,   324,     0,     0,     0,     0,
5117        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
5118      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
5119        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
5120      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5121        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
5122      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
5123        0,     0,     0,   322,     0,     0,  1902,     0,   324,     0,
5124        0,     0,     0,  1788,     0,     0,   325,   326,     0,   327,
5125      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
5126      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
5127      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
5128        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
5129      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5130        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
5131     2003,   324,     0,     0,     0,     0,     0,     0,     0,   325,
5132      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
5133        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
5134      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
5135        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
5136        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
5137      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
5138        0,     0,   323,  2062,   324,     0,     0,     0,     0,     0,
5139        0,     0,   325,   326,     0,   327,   328,   329,   330,   307,
5140        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
5141        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
5142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5143        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
5144      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
5145        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
5146        0,     0,     0,     0,     0,   325,   326,     0,   327,   328,
5147      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5148      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5149        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5150        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5151      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5152        0,     0,     0,     0,     0,   322,     0,     0,   701,     0,
5153      324,     0,     0,     0,     0,     0,     0,     0,   325,   326,
5154        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5155        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
5156        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5158        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5159        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5160        0,   704,     0,   324,     0,     0,     0,     0,     0,     0,
5161        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
5162        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5163        0,     0,     0,     0,     0,     0,     0,   311,   312,     0,
5164        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5165        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5166      319,   320,   321,  -893,   582,     0,  -893,  -893,  -893,     0,
5167        0,   322,     0,     0,   727,     0,   324,     0,     0,     0,
5168        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
5169      330,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5170     -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5171     -893,  -893,  -893,  -893,     0,     0,  -893,     0,     0,     0,
5172        0,     0,     0,     0,     0,     0,     0,     0,  -893,  -893,
5173        0,  -893,     0,     0,  -893,  -893,     0,  -893,  -893,     0,
5174        0,  -893,  -893,  -893,  -893,  -893,  -893,     0,  -893,  -893,
5175     -893,  -893,     0,     0,  -893,  -893,  -893,  -893,     0,  -893,
5176        0,  -893,  -893,  -893,     0,  -893,  -893,  -893,  -893,  -893,
5177     -893,  -893,     0,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5178     -893,  -893,     0,     0,  -893,   583,  -893,  -893,     0,   584,
5179     -893,     0,     0,     0,  -893,  -893,  -189,   904,     0,  -189,
5180     -189,  -189,     0,     0,     0,     0,     0,     0,     0,     0,
5181        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5182        0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,
5183     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5184     -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,
5185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5186        0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,     0,
5187     -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,
5188        0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,  -189,
5189     -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,  -189,
5190     -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,  -189,
5191     -189,  -189,  -189,  -189,  -189,     0,     0,  -189,     0,  -189,
5192      905,     0,   906,  -189,     0,     0,     0,  -189,  -189,  -253,
5193      918,     0,     1,   303,   106,     0,     0,     0,     0,     0,
5194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5195        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5196      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5197       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5198        0,     0,  -253,     0,     0,     0,     0,     0,     0,     0,
5199        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5200      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5201      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5202      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5203        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5204       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5205      435,     0,   436,   437,  -251,   921,  -253,     1,   303,   106,
5206      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5208        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5209       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5210       20,    21,    22,    23,    24,     0,     0,  -251,     0,     0,
5211        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5212       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5213        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5214       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5215      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5216      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5217      206,   207,    51,     0,     0,   435,     0,   436,   437,  -254,
5218      918,  -251,     1,   303,   106,   325,   326,     0,     0,     0,
5219        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5220        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5221      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5222       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5223        0,     0,  -254,     0,     0,     0,     0,     0,     0,     0,
5224        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5225      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5226      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5227      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5228        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5229       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5230      435,     0,   436,   437,  -252,   921,  -254,     1,   303,   106,
5231      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5232        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5233        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5234       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5235       20,    21,    22,    23,    24,     0,     0,  -252,     0,     0,
5236        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5237       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5238        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5239       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5240      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5241      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5242      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5243      422,  -252,     1,   303,   106,   325,   326,     0,     0,     0,
5244        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5245        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5246      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5247       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5248        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5249        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5250      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5251      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5252      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5253        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5254       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5255      435,     0,   436,   437,     0,   488,   438,     1,   303,   106,
5256      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5259       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5260       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5261        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5262       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5263        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5264       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5265      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5266      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5267      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5268      510,   489,     1,   303,   106,   325,   326,     0,     0,     0,
5269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5271      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5272       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5274        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5275      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5276      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5277      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5278        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5279       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5280      435,     0,   436,   437,     0,   515,   511,     1,   303,   106,
5281      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5283        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5284       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5285       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5286        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5287       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5288        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5289       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5290      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5291      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5292      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5293      519,   516,     1,   303,   106,   325,   326,     0,     0,     0,
5294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5295        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5296      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5297       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5299        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5300      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5301      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5302      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5303        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5304       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5305      435,     0,   436,   437,     0,   918,   520,     1,   303,   106,
5306      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5308        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5309       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5310       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5311        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5312       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5313        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5314       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5315      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5316      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5317      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5318      921,  -748,     1,   303,   106,   325,   326,     0,     0,     0,
5319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5320        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5321      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5322       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5324        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5325      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5326      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5327      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5328        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5329       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5330      435,     0,   436,   437,     0,   918,  -749,     1,   303,   106,
5331      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5333        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5334       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5335       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5336        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5337       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5338        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5339       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5340      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5341      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5342      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5343      921,  -745,     1,   303,   106,   325,   326,     0,     0,     0,
5344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5346      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5347       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5350      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5351      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5352      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5353        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5354       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5355      435,     0,   436,   437,     0,   918,  -746,     1,   303,   106,
5356      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5358        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5359       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5360       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5361        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5362       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5363        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5364       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5365      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5366      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5367      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5368      921,  -751,     1,   303,   106,   325,   326,     0,     0,     0,
5369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5370        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5371      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5372       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5374        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5375      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5376      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5377      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5378        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5379       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5380      435,     0,   436,   437,     0,  1036,  -752,     1,   303,   106,
5381      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5383        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5384       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5385       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5386        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5387       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5388        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5389       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5390      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5391      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5392      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5393     1040,  1037,     1,   303,   106,   325,   326,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5395        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5396      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5397       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5399        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5400      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5401      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5402      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5403        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5404       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5405      435,     0,   436,   437,     0,   302,  1041,     1,   303,   106,
5406      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5409       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5410       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5411        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5412       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5413        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5414       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5415      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5416      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5417      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5418      918,  -647,     1,   303,   106,   325,   326,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5421      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5422       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5424        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5425      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5426      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5427      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5428        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5429       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5430      435,     0,   436,   437,     0,   921,  -728,     1,   303,   106,
5431      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5433        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5434       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5435       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5436        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5437       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5438        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5439       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5440      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5441      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5442      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5443      918,  -729,     1,   303,   106,   325,   326,     0,     0,     0,
5444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5445        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5446      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5447       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5448        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5449        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5450      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5451      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5452      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5453        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5454       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5455      435,     0,   436,   437,     0,   921,  -731,     1,   303,   106,
5456      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5458        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5459       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5460       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5461        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5462       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5463        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5464       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5465      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5466      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5467      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5468     1541,  -732,     1,   303,   106,   325,   326,     0,     0,     0,
5469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5471      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5472       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5474        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5475      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5476      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5477      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5478        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5479       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5480      435,     0,   436,   437,     0,   918,  1542,     1,   303,   106,
5481      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5483        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5484       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5485       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5486        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5487       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5488        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5489       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5490      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5491      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5492      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5493      921,  -642,     1,   303,   106,   325,   326,     0,     0,     0,
5494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5496      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5497       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5499        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5500      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5501      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5502      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5503        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5504       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5505      435,     0,   436,   437,     0,   918,  -643,     1,   303,   106,
5506      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5509       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5510       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5511        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5512       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5513        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5514       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5515      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5516      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5517      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5518      921,  -734,     1,   303,   106,   325,   326,     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,   423,     0,     0,
5525      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5526      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5527      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5528        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5529       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5530      435,     0,   436,   437,     0,   302,  -735,     1,   303,   106,
5531      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5534       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5535       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5536        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5537       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5538        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5539       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5540      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5541      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5542      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5543      302,  -646,     1,   303,   106,   325,   326,     0,     0,     0,
5544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5546      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5547       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5550      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5551      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5552      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5553        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5554       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5555      435,     0,   436,   437,     0,   302,  -644,     1,   303,   106,
5556      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5559       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5560       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5562       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5563        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5564       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5565      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5566      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5567      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5568      302,  -622,     1,   303,   106,   325,   326,     0,     0,     0,
5569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5571      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5572       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5574        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5575      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5576      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5577      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5578        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5579       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5580      435,     0,   436,   437,     0,   918,  -621,     1,   303,   106,
5581      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5584       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5585       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5586        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5587       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5588        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5589       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5590      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5591      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5592      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5593      921,  -635,     1,   303,   106,   325,   326,     0,     0,     0,
5594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5595        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5596      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5597       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5599        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5600      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5601      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5602      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5603        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5604       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5605      435,     0,   436,   437,     0,   302,  -636,     1,   303,   106,
5606      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5608        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5609       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5610       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5611        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5612       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5613        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5614       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5615      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5616      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5617      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5618      918,  -645,     1,   303,   106,   325,   326,     0,     0,     0,
5619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5620        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5621      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5622       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5623        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5624        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5625      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5626      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5627      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5628        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5629       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5630      435,     0,   436,   437,     0,   921,  -631,     1,   303,   106,
5631      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5633        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5634       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5635       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5636        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5637       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5638        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5639       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5640      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5641      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5642      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5643      918,  -632,     1,   303,   106,   325,   326,     0,     0,     0,
5644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5645        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5646      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5647       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5648        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5649        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5650      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5651      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5652      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5653        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5654       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5655      435,     0,   436,   437,     0,   921,  -619,     1,   303,   106,
5656      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5659       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5660       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5661        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5662       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5663        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5664       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5665      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5666      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5667      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5668      918,  -620,     1,   303,   106,   325,   326,     0,     0,     0,
5669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5670        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5671      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5672       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5674        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5675      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5676      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5677      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5678        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5679       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5680      435,     0,   436,   437,     0,   921,  -614,     1,   303,   106,
5681      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5683        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5684       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5685       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5686        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5687       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5688        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5689       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5690      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5691      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5692      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5693      918,  -615,     1,   303,   106,   325,   326,     0,     0,     0,
5694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5695        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5696      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5697       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5698        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5699        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5700      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5701      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5702      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5703        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5704       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5705      435,     0,   436,   437,     0,   921,  -633,     1,   303,   106,
5706      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5708        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5709       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5710       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5711        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5712       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5713        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5714       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5715      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5716      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5717      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5718      422,  -634,     1,   303,   106,   325,   326,     0,     0,     0,
5719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5720        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5721      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5722       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5724        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5725      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5726      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5727      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5728        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5729       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5730      435,     0,   436,   437,   488,     0,     1,   303,   106,     0,
5731      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5733        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5734       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5735       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5736        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5737        0,   423,     0,     0,   308,   309,     0,    28,    29,     0,
5738        0,   424,    32,   425,   426,    35,    36,     0,   405,    38,
5739       39,   427,     0,     0,   428,   429,   430,   431,     0,   432,
5740        0,   433,   434,    40,     0,   314,   315,   316,   317,   318,
5741      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5742      207,    51,     0,   199,   435,     1,   436,   437,     0,     0,
5743        0,     0,     0,     0,   325,   326,     0,     0,     0,     0,
5744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5745        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5746       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5747       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5748        0,     0,     0,     0,     0,     0,     0,   205,    27,     0,
5749        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5750        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5752        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5753        1,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5754       51,     0,     0,   859,  1045,     0,     0,     0,     0,     0,
5755        0,     0,     0,     0,   565,     2,   200,   201,   202,   203,
5756      204,     8,     9,    10,   563,    12,    13,    14,    15,    16,
5757       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5758        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5759        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5760        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5761       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5762        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5763        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5764       46,    47,    48,   206,   207,    51,     1,     0,   564,     0,
5765        0,     0,     0,     0,     0,     0,     0,     0,     0,   565,
5766        0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
5767        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5768       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5769       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5770        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5771        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5772        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5773       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5774        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5775        0,     1,     0,    43,    44,    45,    46,    47,    48,   206,
5776      207,    51,     0,     0,   859,     0,     0,     0,     0,     0,
5777        0,     0,     0,     0,     0,   565,     2,   200,   201,   202,
5778      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5779      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5781        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5782        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5783        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5784        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5785        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5786      250,   251,   252,   253,   206,   207,    51,     0,     0,   859,
5787        0,     0,     0,     0,     0,     0,  1421,     0,     0,     0,
5788      565,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5789      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5790      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5791        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5792        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5793        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5794      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5795        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5796        0,     1,     0,    43,    44,   250,   251,   252,   253,   206,
5797      207,    51,     0,     0,   859,     0,     0,     0,     0,     0,
5798        0,  1438,     0,     0,     0,   565,     2,   200,   201,   202,
5799      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5800      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5802        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5803        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5804        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5805        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5806        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5807      250,   251,   252,   253,   206,   207,    51,     0,     0,  1205,
5808        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5809     1206,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5810      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5811      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5812        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5813        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5814        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5815      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5816        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5817        0,     1,     0,    43,    44,   250,   251,   252,   253,   206,
5818      207,    51,     0,     0,  1205,     0,     0,     0,     0,     0,
5819        0,     0,     0,     0,     0,  1228,     2,   200,   201,   202,
5820      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5821      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5823        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5824        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5825        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5826        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5827        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5828      250,   251,   252,   253,   206,   207,    51,     0,     0,  1205,
5829        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5830     1683,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5831      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5832      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5833        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5834        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5835        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5836      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5837        0,     0,     0,   249,     0,     1,     0,     0,     0,     0,
5838        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
5839      207,    51,     0,     0,  1205,     0,     0,     0,     0,     0,
5840        2,     0,     0,     0,     0,  1698,     8,     9,    10,    11,
5841       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5842       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5843        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
5844        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5845        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5847        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5848        1,     0,    43,    44,    45,    46,    47,    48,     0,     0,
5849       51,     0,     0,   859,     0,     0,     0,     0,     0,     0,
5850        0,     0,     0,     0,   565,     2,     3,     4,   273,     6,
5851        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5852       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5854        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5855        0,    28,    29,   274,    31,     0,    32,     0,     0,    35,
5856       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5857        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5858        0,     0,    42,     1,     0,     0,     0,    43,    44,    45,
5859       46,    47,    48,    49,    50,    51,     0,     0,    52,     0,
5860        0,     0,     0,     0,     0,     0,     0,   275,     2,   200,
5861      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5862       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5863       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5864        0,     0,     0,     0,     0,     0,    27,     0,   423,     0,
5865        0,     0,     0,     0,    28,    29,     0,     0,   424,    32,
5866        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5868       40,     0,     0,     0,     0,     0,     1,     0,     0,     0,
5869       43,    44,    45,    46,    47,    48,   206,   207,    51,     0,
5870        0,   946,     0,   436,     0,     0,     0,     0,     0,     0,
5871      947,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5872      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5873       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5874        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5875        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5876        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5877       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5878        0,     0,     0,    40,     0,     0,     0,     0,     0,     1,
5879        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
5880      207,    51,     0,     0,   926,     0,     0,     0,     0,     0,
5881        0,     0,     0,   927,     2,   200,   201,   202,   203,   204,
5882        8,     9,    10,   563,    12,    13,    14,    15,    16,    17,
5883       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5885        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
5886       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5887        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5888        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5889     1709,     0,     0,     0,     0,     0,    43,    44,    45,    46,
5890       47,    48,   206,   207,    51,     0,     0,    52,     0,     0,
5891        0,     0,     0,     0,     0,     0,   927,     2,   200,   201,
5892      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5893      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5895        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5896        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5897        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5898        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5899     1713,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5900       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5901        0,     0,     0,     0,     0,     0,  -111,     2,   200,   201,
5902      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5903      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5905        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5906        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5907        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5908        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5909     1714,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5910       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5911        0,     0,     0,     0,     0,     0,   -95,     2,   200,   201,
5912      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5913      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5915        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5916        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5917        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5918        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5919     1820,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5920       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5921        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
5922      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5923      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5925        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5926        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5927        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5928        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5929     1964,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5930       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5931        0,     0,     0,     0,     0,     0,   -80,     2,   200,   201,
5932      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5933      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5935        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5936        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5937        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5938        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5939    -1286,   292,     0,     1,     0,     0,     0,     0,     0,    43,
5940       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5941        0,     0,     0,     0,     0,     0,   -87,     0,     2,     3,
5942        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
5943       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5944       24,     0,     0,    25,     0,     0,     0,     0,     0,     0,
5945        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
5946        0,     0,     0,     0,    28,    29,    30,    31,     0,    32,
5947       33,    34,    35,    36,     0,    37,    38,    39,     0,     0,
5948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5949       40,    41,     1,     0,     0,    42,     0,     0,     0,     0,
5950       43,    44,    45,    46,    47,    48,    49,    50,    51,     0,
5951        0,    52,     0,     0,    53,     0,     0,     2,   200,   201,
5952      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5953       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5955        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5956        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5957        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5958        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5959        0,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5960       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5961        0,     0,     0,     0,     0,     0,  1397,     2,   200,   201,
5962      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5963       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5964        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5965        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5966        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5967        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5968        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5969        0,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5970       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5971        0,     0,     0,     0,     0,     0,  1740,     2,   200,   201,
5972      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5973       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5974        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5975        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5976        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5977        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5978        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5979      165,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5980       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5981        0,     0,     0,     0,     0,     0,  1741,     2,     3,     4,
5982      166,     6,     7,     8,     9,    10,   167,   168,    13,    14,
5983       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5984        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5985        0,     0,     0,     0,    26,    27,     0,     0,     0,     0,
5986        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5987        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5988        0,     0,     0,     0,     0,     0,     0,     0,   165,    40,
5989        1,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5990       44,    45,    46,    47,    48,    49,    50,    51,     0,     0,
5991       52,     0,     0,   169,     0,     2,     3,     4,   166,     6,
5992        7,     8,     9,    10,   167,   168,    13,    14,    15,    16,
5993       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5995        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5996        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5997       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5998        0,     0,     0,     0,     0,     0,   603,    40,     1,     0,
5999        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6000       46,    47,    48,    49,    50,    51,     0,     0,    52,     0,
6001        0,   169,     0,     2,   200,   201,   202,   203,   204,   234,
6002      235,   236,   604,   605,   239,   240,   241,   242,   243,    18,
6003       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6005        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6006       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6007      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6008        0,     0,     0,     0,  -913,   249,  -913,     0,     0,     0,
6009        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6010      253,   206,   207,    51,     0,     0,    52,     0,     0,   606,
6011        0,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6012     -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6013     -913,  -913,  -913,  -913,     0,     0,     0,     0,     0,     0,
6014        0,     0,     0,     0,     0,     0,     0,     0,     0,  -913,
6015        0,     0,     0,     0,     0,     0,     0,  -913,  -913,     0,
6016        0,     0,  -913,     0,     0,     0,     0,     0,  -913,  -913,
6017     -913,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6018        0,     0,     0,  -913,     1,     0,     0,     0,     0,     0,
6019        0,     0,     0,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6020     -913,  -913,     0,     0,  -913,     0,     0,  -913,     0,     2,
6021        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6022       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6023       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6024        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6025        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6026       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6028        0,    40,    41,     0, -1287,   284,    42,     1,     0,     0,
6029        0,    43,    44,    45,    46,    47,    48,    49,    50,    51,
6030        0,     0,    52,     0,     0,    53,     0,     0,     0,     0,
6031        0,     0,     2,     3,     4,   166,     6,     7,     8,     9,
6032       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6033       20,    21,    22,    23,    24,     0,     0,    25,     0,     0,
6034        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
6035       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6036        0,     0,     0,    32,    33,    34,    35,    36,     0,    37,
6037       38,    39,     0,     0,     0,     0,     0,     0,     0,   199,
6038        0,     1,     0,     0,    40,     0,     0,     0,     0,     0,
6039        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6040       49,    50,    51,     0,     0,    52,     2,   200,   201,   202,
6041      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6042       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6044        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6045        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6046       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6047        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6048        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6049       45,    46,    47,    48,   206,   207,    51,     0,     0,  1205,
6050     1670,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6051       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6052       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6053        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6054        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6055        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6056       39,     0,     0,     0,     0,     0,     0,     0,     0,   199,
6057        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6058        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6059      207,     0,     0,     0,     0,   208,     2,   200,   201,   202,
6060      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6061       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6063        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6064        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6065       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6066        0,     0,     0,     0,   939,     0,     1,     0,    40,     0,
6067        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6068       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6069      388,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6070       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6071       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6072        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6073        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6074        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6075       39,     0,     0,     0,     0,     0,     0,     0,     0,  1464,
6076        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6077        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6078      207,     0,     0,     0,     0,   208,     2,   200,   201,   202,
6079      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6080       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6081        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6082        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6083        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6084       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6085        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6086        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6087       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6088      388,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6089       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6090       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6091        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6092        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6093        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6094       39,     0,     0,     0,     0,     0,     0,     0,     0,   199,
6095        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6096        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6097      207,     0,     0,     0,     0,  1556,     2,   200,   201,   202,
6098      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6099       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6101        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6102        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6103       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6104        0,     0,     0,     0,   165,     0,     1,     0,    40,     0,
6105        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6106       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6107     1892,     2,     3,     4,   166,     6,     7,     8,     9,    10,
6108      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6109       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6110        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6111        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6112        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6113       39,     0,     0,     0,     0,     0,     0,     0,   165,     0,
6114        1,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6115        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6116       50,    51,     0,     0,    52,     2,     3,     4,   166,     6,
6117        7,     8,     9,    10,   563,    12,    13,    14,    15,    16,
6118       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6120        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6121        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6122       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6123        0,     0,   883,     0,     1,     0,     0,    40,     0,     0,
6124        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6125       46,    47,    48,    49,    50,    51,     0,     0,    52,     2,
6126      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
6127      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
6128       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6129        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
6130        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6131       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6132        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6133        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
6134        0,    43,    44,   250,   251,   252,   253,   206,   207,     0,
6135        0,     0,   884,     2,     3,     4,   166,     6,     7,     8,
6136        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6137       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6139       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6140       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6141       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6142        0,     0,     1,     0,     0,    40,     0,     0,     0,     0,
6143        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6144       48,    49,    50,    51,     0,     0,    52,     2,   200,   201,
6145      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6146       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6148        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6149        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6150        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6151        0,     0,     0,     0,     0,     0,     1,     0,     0,    40,
6152        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6153       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
6154       52,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6155      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6156       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6157        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6158        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6159        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6160       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6161        1,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6162        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6163      207,    51,     0,     0,    52,     2,   200,   201,   202,   203,
6164      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6165       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6167        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6168        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6169       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6170        0,     0,     0,     0,     1,     0,     0,    40,     0,     0,
6171        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6172       46,    47,    48,   206,   207,     0,     0,     0,   719,     2,
6173      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6174       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6175       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6176        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6177        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6178       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6179        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6180        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6181        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6182        0,     0,  1443,     2,   200,   201,   202,   203,   204,   234,
6183      235,   236,  1528,   238,   239,   240,   241,   242,   243,    18,
6184       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6186        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6187       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6188      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6189     1068,     0,     1,     0,     0,   249,     0,     0,     0,     0,
6190        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6191      253,   206,   207,    51,     0,     0,    52,     2,   200,   201,
6192      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6193       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6194     1069,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6195        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6196        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6197        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6198     1074,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6199        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6200       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6201      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6202       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6203     1075,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6204        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6205        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6206        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6207     1080,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6208        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6209       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6210      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6211       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6212     1081,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6213        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6214        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6215        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6216      868,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6217        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6218       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6219      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6220      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6221        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6222        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6223        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6224        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6225        0,     0,     1,     0,     0,     0,     0,     0,     0,   249,
6226        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6227       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6228      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6229       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6230     1029,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6231        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6232        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6233        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6234        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6235        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6236       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6237      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6238       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6239     1086,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6240        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6241        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6242        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6243        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6244        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6245       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6246      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6247       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6248        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6249        0,     0,     0,     0,   502,    27,     0,     0,     0,     0,
6250        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6251        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6252        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6253        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6254       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6255      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6256       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6258        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6259        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6260        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6261        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6262        0,     0,     0,     0,     0,     0,   829,     0,     0,    43,
6263       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6264      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6265       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6266        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6267        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6268        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6269        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6270        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6271        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6272       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6273      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6274      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6276        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6277        0,     0,     0,    28,    29,     0,     0,     0,    32,   477,
6278      478,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6279        0,     0,     1,     0,     0,     0,     0,     0,     0,   249,
6280        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6281       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6282      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6283       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6284        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6285        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6286        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6287        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6288        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6289        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6290       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6291      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6292      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6294        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6295        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6296        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6297        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6298        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6299       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6300      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6301      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6303        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6304        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6305        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6306        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6307        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6308       44,   250,   251,   252,   253,   206,   207,    51,     0,     0,
6309      859,  1667,     0,     0,     0,     0,     0,     0,     0,     0,
6310        0,   565,     2,   200,   201,   202,   203,   204,   234,   235,
6311      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
6312      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
6313        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6314      246,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6315        0,     0,     0,    32,     0,     0,     0,     0,     0,   247,
6316       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
6317        0,     0,     0,     0,   249,     0,     0,     0,     0,     0,
6318        0,     0,     0,     0,    43,    44,   250,   251,   252,   253,
6319      206,   207,     0,     0,     0,     0,     0,     0,     0,     0,
6320        0,  1517,     2,   200,   201,   202,   203,   204,   234,   235,
6321      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
6322      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
6323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6324      246,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6325        0,     0,     0,    32,     0,     0,     0,     0,     0,   247,
6326       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
6327        0,     0,     0,     0,   249,     0,     0,     0,     0,     0,
6328        0,     0,     0,     0,    43,    44,   250,   251,   252,   253,
6329      206,   207
6330 };
6331
6332 static const yytype_int16 yycheck[] =
6333 {
6334        0,   718,    92,   640,   534,   132,   925,    83,    84,   996,
6335      925,   153,   469,     1,   270,   858,    86,  1098,   343,   128,
6336        5,   720,    84,   343,   288,   100,   534,    83,   741,   100,
6337       30,    31,   858,   156,   995,   748,   997,   957,   751,   834,
6338        1,    41,   858,   834,  1215,   935,    93,  1013,   579,    30,
6339     1605,   342,    52,    86,   470,   131,   183,     5,   128,    59,
6340       83,    42,  1617,   144,    64,   356,    66,   128,     1,   360,
6341        1,   875,   995,   554,   997,   882,   157,     3,   159,   300,
6342      161,    83,    82,    83,    84,    64,    86,   121,   309,    17,
6343        5,    91,    93,    93,   315,   128,   186,   187,     1,   100,
6344      100,   101,    93,   584,   104,   473,   587,     5,   589,   995,
6345      591,   997,     1,   113,    83,    59,   116,     3,     5,     5,
6346        1,     3,   144,     5,    93,     1,   107,   108,   128,   121,
6347      111,   131,   132,     1,   122,   157,   136,   159,   126,   161,
6348      140,   141,   142,    17,   144,   792,   121,   132,   148,   956,
6349      150,   121,     0,   153,   154,     1,   156,   157,   158,   159,
6350      976,   161,   132,   124,   164,    83,   186,   187,   469,   113,
6351       69,    70,     5,   820,   174,    93,   124,     3,   268,     5,
6352      741,     5,   100,   183,     3,   825,   132,   748,     1,   265,
6353      751,   825,     1,   127,     3,   174,   127,   130,   198,  1003,
6354        1,   270,   278,   265,     1,   469,     7,     8,     9,    28,
6355      210,   126,   212,   288,   142,   290,     3,   288,    37,   290,
6356      220,   221,   278,     1,   127,     3,     5,     1,   127,     3,
6357      230,   129,   288,   233,     1,    83,   122,   183,   127,   126,
6358      122,   878,   554,   290,   130,    93,   127,     3,   130,   757,
6359      270,   127,   100,   101,   198,   278,   124,     1,   126,   127,
6360     1247,     3,     1,     0,     3,   265,   393,  1254,   142,   289,
6361      270,  1258,   584,     3,   274,   587,   278,   589,   278,   591,
6362        3,   127,     5,     1,  1204,     1,   288,  1248,   288,   290,
6363      290,     3,  1847,   274,  1255,   803,   122,   420,  1259,   290,
6364        1,     1,   121,    52,   130,    28,   121,   131,   308,   288,
6365        3,   124,     1,   132,   314,    52,    28,   132,   127,   288,
6366      121,   290,     5,   323,   125,  1248,     3,   124,   129,   126,
6367      861,   132,  1255,   119,     1,   122,  1259,   337,    17,   126,
6368      118,   119,   121,   130,   325,     1,    83,    84,   126,   439,
6369      440,   441,   442,   127,    91,     3,    93,   124,   649,   126,
6370      127,   652,  1248,   100,   101,   995,   122,   997,   326,  1255,
6371      126,   119,   290,  1259,   130,     1,     3,     3,   126,   379,
6372      380,   124,   131,   127,   132,   385,   128,   387,   127,     3,
6373     1103,     3,   122,   393,   131,   132,    73,   126,    17,   399,
6374      470,     3,   529,   121,   133,   128,   662,   663,   664,   665,
6375      121,   127,   412,   555,    28,     1,   128,   417,   545,   419,
6376      420,   132,     1,   423,   424,   882,   127,   127,   121,   429,
6377      278,   695,   432,   433,   434,   435,   436,   470,   127,   122,
6378      288,   385,   290,   387,   128,   535,   183,   393,   538,   525,
6379      526,   527,   777,   778,   779,   564,     3,   777,   778,   779,
6380      127,    73,   127,   142,   464,   465,   466,   543,   544,   469,
6381      470,   127,   221,   473,   122,   696,   476,     1,   559,   118,
6382      561,   481,   807,   808,   809,   485,   486,   807,   808,   809,
6383      490,   491,  1573,   230,   127,   122,   233,     3,     3,   956,
6384     1420,   127,   502,   564,   121,  1013,  1205,  1678,   508,   509,
6385        1,     3,   512,   513,   128,   127,   932,   517,   518,  1050,
6386      122,   521,   522,   142,  1223,   525,   526,   527,   265,   529,
6387     1061,  1230,   532,     3,   757,   121,   122,   559,  1428,   561,
6388      126,   278,  1103,   543,   544,   545,  1003,   126,     3,   549,
6389     1190,   288,  1192,   290,   554,   555,  1190,     3,  1192,   559,
6390      417,   561,   562,  1483,   564,   565,   566,     3,  1534,   569,
6391        5,   118,   119,  1416,   875,   943,   424,   945,  1468,   579,
6392      803,  1471,    28,   529,   584,     0,  1067,   587,     5,   589,
6393     1416,   591,  1579,   662,   663,   664,   665,     3,   598,   545,
6394     1416,   128,   126,   130,  1085,  1400,  1401,     3,  1527,  1400,
6395     1401,   875,  1527,   118,   119,     7,     8,     9,  1248,  1580,
6396      695,   565,   128,   128,   695,  1255,     1,     1,   718,  1259,
6397      630,   122,   632,   579,   935,   126,   128,     5,   112,   695,
6398      640,  1149,   124,     1,     3,  1153,   128,  2088,  1156,   125,
6399     1158,  1494,   509,  1496,   598,   956,   393,  1580,   128,     1,
6400        3,   119,   662,   663,   664,   665,   124,   122,    11,   132,
6401      690,   691,     7,     8,     9,  1501,   124,     7,     8,     9,
6402      680,   681,   128,   126,     1,     3,   435,   122,   124,   689,
6403      126,     1,   956,   695,  1580,   695,   677,   678,   435,    74,
6404       75,   701,  1003,  2144,    79,    11,    65,   564,     3,   709,
6405       28,    86,  1883,   119,   120,   126,   716,   717,   718,   719,
6406      720,   721,     3,   119,   198,   126,  1692,   727,   124,   121,
6407        3,     3,   995,   996,   997,   110,   111,   129,   738,  1003,
6408      132,     3,   723,   724,   725,     3,   121,   122,   122,  1462,
6409      859,   126,   126,   121,   754,  1067,    28,  1677,   758,   118,
6410      119,  1073,  1682,   121,   122,     1,    28,  1079,   126,   128,
6411       28,   126,   119,  1085,  1761,   118,   119,   120,    73,     3,
6412      122,   128,   125,   126,   126,   128,   121,     3,   525,   526,
6413      527,     1,   529,     3,   129,   532,   127,   132,   859,   129,
6414      800,  1762,   132,   121,   804,   122,   543,   544,   545,   126,
6415      122,   121,   122,   771,   120,   564,   126,   566,   908,   909,
6416      126,   911,  1788,   932,   914,   915,  1746,   564,   970,   829,
6417      830,   831,   127,  1799,   834,   835,   836,   118,   119,  1762,
6418      798,   964,   965,   121,   125,   118,   119,   695,   806,   121,
6419     1106,   793,   326,  1109,   132,   128,   127,   857,   858,   859,
6420     1750,  1751,   932,   863,    77,   865,   866,   128,   826,   794,
6421      122,   932,   795,   873,   874,   875,  1762,   121,   878,   821,
6422       90,   738,   882,  1414,   884,   885,   122,   887,   969,   889,
6423      126,  1147,  1034,  1035,   118,   119,   986,   822,     3,   932,
6424      823,  1462,   118,   119,   128,  1161,  1162,  1163,  1164,   125,
6425      128,   385,   130,   387,     7,     8,     9,   130,   119,  1244,
6426        3,    83,     5,  1050,  1244,   121,   926,   128,   928,     7,
6427        8,     9,   932,   119,     3,   935,   121,   128,   796,   130,
6428      940,     3,   128,   943,   130,   945,   946,   969,    31,    11,
6429     1580,   792,   689,  1062,   793,   955,   956,   957,   695,    28,
6430      127,  1787,    79,  1044,   964,   965,   824,   967,    37,   969,
6431      970,   794,  1671,  1049,    77,   975,   976,   977,   978,   820,
6432     1900,   125,   821,  1700,  1247,  1248,   130,     3,     7,     8,
6433        9,  1254,  1255,   110,   111,  1258,  1259,     0,   125,   822,
6434     1637,  1062,   859,  1003,  1534,   795,  1463,   124,     1,   866,
6435        3,   128,  1978,   118,   119,  1546,   121,   874,     7,     8,
6436        9,   183,  1044,   122,   121,  1861,  1534,   126,   885,    12,
6437       13,   130,   125,   823,  1034,  1035,   129,  1106,  1038,  1039,
6438     1109,   796,  1042,  1043,  1044,   121,  1046,  1962,   121,  1049,
6439     1050,   129,   121,     3,   528,     5,   118,   119,   120,  1059,
6440      128,  1061,  1062,  1063,   126,   126,   128,  1067,   126,   824,
6441     1070,   132,   125,  1073,   132,   121,  1076,   130,  1147,  1079,
6442       83,    31,  1082,     3,   124,  1085,   121,  1087,   128,  2055,
6443       93,   565,  1161,  1162,  1163,  1164,  1205,   100,   101,  1180,
6444      121,  1101,   118,   119,  1050,   121,  1106,   122,   127,  1109,
6445      129,   126,   121,  1059,   118,  1061,   278,   122,  1118,  1063,
6446     1120,   126,   120,   597,    79,   130,   288,  1428,   126,  1129,
6447     2096,  1974,  1762,  1976,   138,   139,   119,   120,   887,   118,
6448      129,   121,  1142,     3,  1205,    65,   120,  1147,  1148,     3,
6449      887,   625,   126,     3,   140,   110,   111,  1138,  1180,   138,
6450      139,  1161,  1162,  1163,  1164,    12,    13,  1468,    28,   122,
6451     1471,   136,   128,   126,    28,   130,  2012,   926,  2014,  1179,
6452     1180,  1181,   120,  1183,   141,  1902,     3,   300,   126,   926,
6453       44,   940,  1049,  1193,   134,  1195,   309,   946,   118,   119,
6454     1200,   120,   315,    16,  1204,  1205,   121,   126,  1716,   946,
6455      125,    28,  1743,  1721,    74,    75,  1724,   132,   221,    79,
6456       74,    75,   122,  1223,    74,    75,    86,    44,  1865,    79,
6457     1230,   120,     6,   120,     8,     9,    86,   126,  1238,   126,
6458        3,  2077,     5,  2079,   128,  2081,   130,   120,   722,  1193,
6459      110,   111,   726,   126,     3,   135,   136,    74,    75,   120,
6460      110,   111,   664,   665,  1245,   126,   122,   741,   128,  1799,
6461      126,   134,   119,   120,   748,   278,  1807,   751,   128,    28,
6462     1788,    10,    11,  2119,  2120,   288,  2122,   290,     3,   140,
6463      122,  1799,   141,  1251,   126,    44,    11,   771,   130,    73,
6464     1049,   122,  2138,   309,   122,   122,    16,   469,   126,   315,
6465       84,   122,  1049,  1050,     3,   126,  1579,  1580,   128,  2155,
6466      323,   790,   791,   122,   798,    74,    75,   126,   120,  1585,
6467     1586,   130,   806,   128,   126,   109,   790,   791,   120,    28,
6468      128,  1597,   130,  1200,   126,   119,  1203,   120,    37,   818,
6469      819,   120,   826,   126,   120,   118,   119,   126,   132,   121,
6470      126,   135,   136,   137,   818,   819,  1442,   529,   780,   781,
6471      532,   122,   122,   122,   122,   126,   126,   126,   126,   385,
6472      122,   387,   122,   348,   126,    74,    75,    88,    89,    90,
6473       79,  1391,  1392,   782,   783,  1395,  1396,    86,   810,   811,
6474     1400,  1401,   122,   118,   119,   120,   782,   783,   270,   128,
6475      125,   126,  1412,   128,   417,  1396,  1416,  1417,   124,  1546,
6476     1420,   110,   111,   812,   813,   124,  1426,   126,  1428,   118,
6477      122,  1431,   121,   126,   126,  1435,   812,   813,    14,    15,
6478     1440,  1441,  1442,   132,  1181,   124,  1183,   126,  1978,  1750,
6479     1751,   925,   154,   927,   419,  2092,   158,     1,   135,   136,
6480       69,    70,     1,  1463,     3,  1465,   469,   124,  1468,   126,
6481     1978,  1471,   119,   128,  1474,   130,   128,    37,   130,     1,
6482      124,     3,    91,  1483,    44,    45,    95,   119,    97,  1489,
6483     1490,     1,   966,     3,  1494,  1495,  1496,  1497,  1761,  1762,
6484      119,  1722,  1723,   125,  1725,  1726,   509,    10,    11,  1730,
6485     1731,  1732,  1733,   126,    74,    75,  1585,  1586,   127,    79,
6486        1,   995,     3,   997,   128,  2055,    86,   689,  1597,   128,
6487       74,    75,     1,   695,     3,    79,    74,    75,   780,   781,
6488      133,    79,    86,  1543,  1544,   133,  1546,  2055,    86,   133,
6489      110,   111,   132,   124,  1554,   126,  1413,   126,   118,   565,
6490        1,   128,   124,   130,   126,  1565,   110,   111,   810,   811,
6491     1679,   128,   110,   111,   525,   526,   527,   439,   126,  1835,
6492      124,   125,   126,   696,   126,  1585,  1586,   127,     3,  1063,
6493      128,   126,   543,   544,    92,  1595,   128,  1597,  1598,   124,
6494     1546,  1601,   128,   130,   130,  1605,    14,    15,  1554,  1609,
6495      906,   907,  1612,    28,  1508,  1508,  1510,  1510,  1679,   625,
6496      906,   907,    37,   662,   663,   543,   544,  1608,   121,  1103,
6497      662,   663,   121,    74,    75,   100,   101,  1637,    79,   121,
6498     1114,   835,   836,  1624,  1644,    86,   124,   124,  1869,  1870,
6499     1871,  1872,  1873,  1874,  1875,  1876,   124,   136,   121,    74,
6500       75,   121,  1752,   124,    79,   124,  1140,  1141,   122,   110,
6501      111,    86,   128,   124,   119,   127,   133,  1677,   133,  1679,
6502     1807,   121,  1682,   124,   125,   126,   133,   133,   186,   187,
6503      133,   133,   695,  1442,   132,   110,   111,  1778,   701,  1780,
6504     1700,   128,  1702,  1703,  1106,  1442,   121,  1109,  1565,   119,
6505      128,   124,   126,   875,   119,   718,  1465,   132,   127,   122,
6506      127,   127,   122,  1804,   727,  1806,   122,   122,   122,   133,
6507      122,   133,  1206,   130,   133,   738,   121,  1737,   121,   130,
6508      130,  1962,   121,    56,   124,  1147,  1746,  2003,   124,  2005,
6509     1750,  1751,   124,  1753,  1228,   121,  1778,   119,  1780,  1161,
6510     1162,  1163,  1164,   119,   124,  1765,  1835,   122,   630,   122,
6511      268,  2096,   270,   935,  1248,   119,  2096,  1251,  1778,   121,
6512     1780,  1255,  1804,  1783,  1806,  1259,   121,   132,   119,   122,
6513      122,   289,   122,   132,   956,   124,   122,     1,   126,   126,
6514      662,   663,   664,   665,  1804,   127,  1806,  1807,   122,  1546,
6515      130,   130,   130,   130,   122,  2071,  1565,   122,   122,   125,
6516      127,   786,   787,   122,   789,     3,   122,   122,   831,  1829,
6517     1830,  1831,  1832,   133,   122,  1835,   133,   130,   130,  1839,
6518     1840,  1003,  1842,   133,  1844,    56,   121,   130,   122,   814,
6519      815,   816,   817,   121,   121,   133,  1856,   130,   130,   130,
6520      122,  1807,   122,   866,   122,  1865,   122,   122,  1868,   348,
6521       74,    75,   875,   122,     3,    79,   133,   119,  1859,   882,
6522     1861,   132,    86,   133,   887,   133,   889,   132,   124,    11,
6523     1971,   128,   857,   858,   125,   128,    74,    75,   130,    28,
6524     1900,    79,  1902,   130,   124,   124,   110,   111,    86,   125,
6525      125,  1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,   121,
6526      124,   927,   126,   128,   122,   122,  1783,   122,    64,   122,
6527      133,   122,   110,   111,  2003,   122,  2005,   940,   122,   133,
6528      419,   439,     3,   121,   442,    74,    75,   133,   133,  1971,
6529       79,   133,   133,   956,   133,    64,   133,    86,   124,   122,
6530      966,   133,   133,   122,   133,   268,   269,    28,   133,  1969,
6531     1970,  1971,  1972,  1973,  1974,   124,  1976,   124,   133,   124,
6532      124,   110,   111,  1983,  1984,  1985,  1986,   128,  1462,     0,
6533      122,   124,   957,   124,  1994,  2085,  2086,   124,  1472,   128,
6534      124,   124,  2071,  2003,  1962,  2005,  2006,   124,   124,   124,
6535      122,   124,   476,    74,    75,  2015,  2016,   124,    79,  1181,
6536     2127,  1183,  1497,   476,   857,    86,   476,   476,   476,  1503,
6537       41,  2012,   975,  2014,  1508,   288,  1510,   535,   912,   803,
6538      538,   288,   967,    44,    45,  1463,   434,   721,    59,   110,
6539      111,  2051,  2052,  1527,   424,    66,  1788,  1063,  2058,  2059,
6540      314,   727,  2062,  2076,  2064,   265,   100,  2067,    93,   270,
6541     1807,  2071,    83,    74,    75,    86,   938,    93,    79,    74,
6542       75,    92,    93,   101,    79,    86,  2086,    93,  2088,   100,
6543      101,    86,  2092,  1737,    -1,  2076,  2077,    -1,  2079,    -1,
6544     2081,    -1,   113,    -1,  2104,   116,  1580,    -1,  1114,   110,
6545      111,    -1,    -1,    -1,    -1,   110,   111,   128,    -1,    -1,
6546      121,    -1,    -1,   118,    -1,   136,   121,  2127,  2128,  2110,
6547      141,   142,  2132,   144,    -1,    -1,    -1,   132,  2119,  2120,
6548       -1,  2122,    -1,   154,  2144,   156,   157,   158,   159,    -1,
6549      161,    -1,    -1,    -1,    -1,     3,    -1,  2138,    -1,    -1,
6550       -1,    -1,    -1,    -1,   662,   663,   664,   665,    -1,    -1,
6551       -1,    -1,    -1,    -1,  2155,   186,   187,    -1,    -1,    -1,
6552       28,    -1,    -1,  1585,  1586,    -1,    -1,   198,    -1,    37,
6553       -1,    -1,   690,   691,   692,  1597,    -1,  1200,    -1,    -1,
6554     1206,   212,   385,    -1,   387,    -1,    -1,  1681,    -1,  1683,
6555      221,    -1,    -1,    -1,    -1,     3,    74,    75,  1692,    -1,
6556       -1,    79,  1228,  1697,  1698,    -1,    74,    75,    86,    -1,
6557     1704,    79,   535,    -1,    -1,   538,    -1,    -1,    86,  1204,
6558       28,    -1,    -1,    -1,  1106,    -1,    -1,  1109,    -1,    37,
6559       -1,    -1,   110,   111,   265,    -1,  1118,   268,   269,   270,
6560       -1,    -1,   110,   111,   122,    -1,  1428,   278,    -1,    -1,
6561      118,    -1,    -1,   121,    -1,    -1,    -1,   288,   289,   290,
6562        3,    -1,   130,    -1,    -1,  1147,    74,    75,  1762,    -1,
6563       -1,    79,    -1,    -1,    -1,    -1,    -1,   308,    86,  1161,
6564     1162,  1163,  1164,   314,    -1,    28,  1468,   786,   787,  1471,
6565      789,    -1,   323,    -1,    37,   142,    -1,    -1,    -1,    -1,
6566       -1,    -1,   110,   111,    -1,    -1,    -1,   154,    -1,    -1,
6567      118,   158,    -1,   121,   122,   814,   815,   816,   817,    18,
6568       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
6569       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,   662,
6570      663,   664,   665,    86,    -1,    74,    75,    -1,    -1,   380,
6571       79,    -1,    -1,    -1,   385,    -1,   387,    86,   857,   858,
6572       -1,    -1,   565,    -1,     0,    -1,    -1,   110,   111,   692,
6573       -1,    -1,  1866,  1867,    -1,   118,    -1,    -1,   121,    -1,
6574       -1,   110,   111,    -1,    -1,    -1,   417,    -1,   419,   420,
6575       -1,    -1,   423,   424,    -1,    -1,   125,    -1,   429,    -1,
6576       -1,    -1,   433,   434,    -1,   436,    -1,  1901,    -1,    -1,
6577       -1,    -1,    -1,  1835,    -1,    -1,  1910,    -1,   265,    -1,
6578       -1,    -1,   625,    -1,    -1,    -1,   125,    -1,    -1,     3,
6579       -1,  1416,    -1,   464,   465,  1420,    -1,    -1,   469,   470,
6580       -1,    -1,  1465,    -1,    -1,   476,  1472,    83,    -1,    -1,
6581      481,    -1,    -1,    -1,    28,   486,    -1,    93,   957,   490,
6582      491,   308,    -1,    37,   100,   101,    -1,   314,   986,    -1,
6583       -1,    -1,  1966,  1967,    -1,    -1,    -1,    -1,   509,    -1,
6584       -1,   512,   513,    -1,    44,    45,   517,   518,    -1,    -1,
6585      521,   522,    -1,    -1,    -1,    -1,    -1,   528,  1483,    -1,
6586       74,    75,    -1,    -1,   535,    79,   142,   538,    74,    75,
6587       -1,    -1,    86,    79,    74,    75,  1501,    -1,   154,    79,
6588       86,    -1,   158,   554,    -1,    -1,    86,    -1,   559,    -1,
6589      561,    -1,    -1,   564,   565,    -1,   110,   111,    -1,    -1,
6590       44,    45,  1565,    -1,   110,   111,    -1,   121,    -1,    -1,
6591      110,   111,   118,   584,    -1,   121,   587,    -1,   589,    -1,
6592      591,   121,    -1,    -1,    -1,    -1,    -1,   598,  1750,  1751,
6593       74,    75,    -1,    74,    75,    79,   423,    -1,    79,    -1,
6594       -1,  2003,    86,  2005,  2078,    86,    -1,   434,  1106,  1722,
6595     1723,  1109,  1725,  1726,    -1,    -1,    -1,  1730,  1731,  1732,
6596     1733,    -1,  2096,    -1,    -1,    -1,   110,   111,    -1,   110,
6597      111,    -1,    -1,     7,   118,    -1,    10,    11,    12,    13,
6598       14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,  1147,
6599       -1,   662,   663,   664,   665,    -1,    -1,    -1,    -1,   486,
6600       -1,    -1,   278,  1161,  1162,  1163,  1164,    -1,    -1,  2071,
6601       -1,    -1,   288,  2147,   290,  1681,    -1,  1683,    -1,   690,
6602      691,   692,    -1,    -1,   695,    -1,  1184,    -1,  1186,    -1,
6603      701,  1697,  1698,    -1,    -1,    -1,    -1,  1700,   709,    -1,
6604       -1,    -1,    -1,    -1,    -1,   716,   717,   718,    -1,   720,
6605      721,    -1,  1677,    -1,    -1,     0,   727,  1682,    -1,    -1,
6606       -1,    -1,    -1,  1585,  1586,  1204,    -1,   738,    -1,    -1,
6607      741,    -1,    -1,  1595,    -1,  1597,  1598,   748,    -1,  1601,
6608      751,    -1,    -1,    -1,   927,   119,   120,  1609,    -1,    -1,
6609     1612,    -1,    -1,    -1,    -1,   129,  1869,  1870,  1871,  1872,
6610     1873,  1874,  1875,  1876,   138,   139,   140,   141,   142,    -1,
6611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6612     1783,  1746,    -1,   966,     7,     8,     9,    10,    11,    12,
6613       13,    14,    15,    16,    17,    -1,    -1,    -1,    83,    -1,
6614       -1,    -1,    -1,  1106,    -1,    -1,  1109,   423,    93,    -1,
6615       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,   434,    -1,
6616      831,    -1,  1787,   834,   835,   836,    -1,    -1,    -1,    74,
6617       75,    74,    75,    -1,    79,    -1,    79,    -1,    -1,    -1,
6618       -1,    86,    -1,    86,  1147,    -1,   857,   858,   859,  1962,
6619       -1,    -1,    -1,    -1,    -1,   866,     0,   142,  1161,  1162,
6620     1163,  1164,    -1,   874,   875,   110,   111,   110,   111,   154,
6621      486,   882,    -1,   158,   885,    -1,   887,   122,   889,   122,
6622     1063,  1184,    -1,  1186,    -1,    -1,    74,    75,   528,   716,
6623      717,    79,    -1,   720,   721,  1901,   119,   120,    86,  1902,
6624       -1,    -1,    -1,    -1,  1910,    -1,   129,    -1,    52,    -1,
6625       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
6626       -1,   932,   110,   111,    -1,    -1,    -1,    -1,    -1,   940,
6627       -1,  1114,    -1,    -1,   122,  1900,    -1,  1416,    82,    83,
6628       84,  1420,    -1,    -1,    -1,   956,   957,    91,    -1,    93,
6629       -1,    -1,    -1,   964,   965,    -1,   100,   101,   969,    -1,
6630     1966,  1967,    -1,    -1,   975,    -1,    -1,  1829,  1830,  1831,
6631     1832,    -1,    -1,  1835,    -1,    -1,    -1,  1839,  1840,    -1,
6632     1842,    -1,  1844,    -1,   995,   996,   997,   131,   132,   133,
6633      134,   135,  1003,   278,  1856,    -1,    -1,   141,    -1,    -1,
6634      144,    -1,    -1,   288,  1483,   290,    -1,    -1,    -1,    -1,
6635       -1,    -1,    -1,   157,    -1,   159,    -1,   161,    -1,    -1,
6636     1518,    -1,  1501,  1206,    -1,    -1,    -1,  1038,  1039,    -1,
6637       -1,  1042,  1043,  1044,    -1,    -1,    -1,    -1,    -1,   183,
6638      184,   185,    -1,    -1,    -1,  1228,    -1,   874,     3,    -1,
6639       -1,  1062,  1063,    -1,    -1,    -1,  1067,    -1,   885,    -1,
6640       -1,    -1,  1073,    -1,    -1,    -1,    -1,    -1,  1079,   709,
6641       -1,    -1,    -1,    28,  1085,    -1,   220,   221,    -1,   695,
6642       -1,    -1,    37,    38,    -1,    -1,    -1,  1585,  1586,    -1,
6643       -1,    -1,  1103,    -1,    -1,  1106,    -1,    -1,  1109,  1597,
6644       -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,
6645       -1,   751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
6646       75,   265,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
6647       -1,    86,  1994,    -1,   278,    -1,  1147,    -1,   423,    -1,
6648       -1,  2003,    -1,  2005,   288,    -1,   290,    -1,    -1,   434,
6649     1161,  1162,  1163,  1164,    -1,   110,   111,    -1,    -1,    -1,
6650       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,  1179,  1180,
6651       -1,    -1,    -1,  1184,    -1,  1186,  1003,    -1,    -1,    -1,
6652       -1,    -1,  1193,    -1,    -1,    -1,    -1,    -1,    -1,  1200,
6653       -1,    -1,  1203,  1204,  1205,    -1,  2058,  2059,  1677,    -1,
6654     2062,   486,  2064,  1682,    -1,  2067,    -1,    -1,    -1,  2071,
6655       -1,    -1,  1223,    -1,    -1,    -1,    -1,    -1,    -1,  1230,
6656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6657        0,    -1,    -1,    -1,    -1,    -1,  1247,  1248,    -1,    -1,
6658       -1,    -1,  2104,  1254,  1255,    -1,    -1,  1258,  1259,   393,
6659      394,   395,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,
6660       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1746,    -1,   885,
6661     2132,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,
6662      424,    -1,  1585,  1586,    -1,    -1,    -1,    -1,    -1,  1472,
6663       -1,   435,    -1,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
6664       -1,    -1,    -1,    -1,    -1,    -1,  1609,    -1,  1787,    -1,
6665       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
6666      464,   465,    -1,    93,    -1,   469,    -1,    -1,    -1,   473,
6667      100,   101,   476,    -1,    -1,    -1,    -1,  1835,    -1,    -1,
6668       -1,   485,    -1,    -1,    -1,    -1,   490,   491,    -1,    -1,
6669       -1,    -1,    -1,    -1,    -1,   995,   996,   997,    -1,    -1,
6670       -1,    -1,    -1,    -1,    -1,   509,    -1,    -1,   512,   513,
6671       -1,    -1,   142,   517,   518,    -1,  1203,   521,   522,    -1,
6672       52,   525,   526,   527,   154,    -1,    -1,    -1,   158,  1400,
6673     1401,    -1,    -1,    -1,    -1,    -1,  1223,    -1,    -1,   543,
6674      544,    -1,    -1,  1230,    -1,  1416,    -1,    -1,    -1,  1420,
6675      695,    83,    84,    -1,    -1,   559,    -1,   561,    -1,    91,
6676      564,  1900,   566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6677       -1,    -1,    -1,    -1,    -1,    -1,    -1,   581,    -1,     1,
6678       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6679       -1,  1462,    -1,    -1,  1465,    -1,    -1,    -1,    -1,   131,
6680      132,    -1,    -1,  1103,   112,    -1,    28,    -1,    -1,    -1,
6681       -1,    -1,  1483,    -1,    -1,    37,    38,    -1,  1489,  1490,
6682       -1,    -1,    -1,  1494,  1495,  1496,  1497,    -1,   136,    -1,
6683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1681,    -1,
6684     1683,    -1,    -1,    -1,    -1,  2003,    -1,  2005,   278,    -1,
6685       -1,   183,    74,    75,  1697,  1698,    -1,    79,   288,    -1,
6686      290,    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,
6687       -1,    -1,  1543,  1544,    -1,    -1,  1839,  1840,    -1,    -1,
6688       -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,   110,   111,
6689      198,   695,    -1,    -1,  1565,    -1,   118,    -1,   230,   121,
6690       -1,   233,   124,    -1,   126,   127,    -1,    -1,  1579,  1580,
6691       -1,    -1,   716,  2071,  1585,  1586,   720,    -1,    -1,    -1,
6692       -1,    -1,    -1,    -1,    -1,    -1,     0,  1598,    -1,   874,
6693     1601,    -1,    -1,   265,   738,    -1,    -1,    -1,  1609,    -1,
6694      885,    -1,    -1,    -1,    -1,    -1,   278,  1247,  1248,    -1,
6695       -1,    -1,    -1,    -1,  1254,  1255,    -1,    -1,  1258,  1259,
6696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6697       -1,    -1,    -1,  1644,    -1,    -1,    -1,    -1,    -1,    -1,
6698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6699       -1,    -1,   300,   423,    -1,    -1,   304,   305,   306,    -1,
6700       -1,   309,    -1,    -1,   434,    -1,  1677,   315,  1679,    83,
6701       -1,  1682,    -1,   321,    -1,    -1,    -1,    -1,   326,    93,
6702       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,    -1,  1700,
6703       -1,    -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,    -1,
6704      348,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6705       -1,    -1,    -1,    -1,    -1,   859,   486,    -1,  1901,    -1,
6706       -1,   393,   866,    -1,    -1,    -1,    -1,  1910,    -1,   873,
6707      874,   875,    -1,    -1,    -1,  1746,    -1,   385,   882,   387,
6708       -1,   885,    -1,   887,    -1,    -1,    -1,    -1,    -1,    -1,
6709     1761,  1762,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6710       -1,    -1,    -1,   435,    -1,    -1,    -1,  1778,    -1,  1780,
6711       -1,   419,  1783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6712       -1,    -1,   926,  1966,  1967,    -1,    -1,    -1,    -1,    -1,
6713       -1,   935,    -1,  1804,    -1,  1806,   940,    -1,    -1,    -1,
6714       -1,   473,   946,    -1,    -1,    -1,    -1,   221,    -1,    -1,
6715       -1,    -1,   956,    -1,    -1,    -1,    -1,     1,    -1,     3,
6716        4,     5,  1462,    -1,    -1,   969,    -1,    -1,  1839,  1840,
6717       -1,    -1,    -1,    -1,    -1,   979,    -1,    -1,    -1,    -1,
6718       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
6719       -1,    -1,    -1,   525,   526,   527,    -1,   529,    -1,  1003,
6720      532,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
6721       -1,   543,   544,   545,   288,    -1,   290,    -1,    -1,    -1,
6722      528,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,  1900,
6723       -1,  1902,   564,    -1,  1038,  1039,    -1,    -1,  1042,  1043,
6724     1044,    85,    -1,    -1,    -1,  1049,  1050,    -1,    -1,    -1,
6725       -1,    -1,    -1,    -1,    98,    -1,  1060,   565,   102,   103,
6726      104,   105,   106,   107,   108,   695,    -1,    -1,    -1,    -1,
6727       -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    -1,  1579,
6728     1580,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,   597,
6729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1969,  1970,
6730     1971,  1972,  1973,  1974,    -1,  1976,    -1,    -1,    -1,    -1,
6731      268,   269,  1983,  1984,  1985,  1986,    -1,   625,    -1,    -1,
6732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6734       -1,    -1,    -1,   417,    -1,    -1,    -1,    -1,   141,    -1,
6735       -1,   144,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
6736       -1,    -1,    -1,    -1,   157,    -1,   159,    -1,   161,    -1,
6737      112,    -1,    -1,    -1,    -1,  1179,  1180,    -1,    -1,    -1,
6738     2051,  2052,    -1,    -1,    -1,    -1,    -1,    -1,   696,    -1,
6739       -1,    -1,    -1,    -1,   136,   469,  1200,    -1,    -1,  1203,
6740       -1,  1205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6741       -1,    -1,    -1,    -1,   722,    -1,    -1,    -1,   726,  1223,
6742       -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,    -1,    -1,
6743       -1,    -1,    -1,   741,    -1,   509,    -1,    -1,    -1,    -1,
6744      748,    -1,    -1,   751,   874,    -1,    -1,    -1,    -1,    -1,
6745       -1,    -1,    -1,    -1,    -1,   885,   198,    -1,    -1,    -1,
6746       -1,  1761,  1762,   771,    -1,    -1,    -1,    -1,    -1,   777,
6747      778,   779,   780,   781,   782,   783,    -1,    -1,   786,   787,
6748       -1,   789,   790,   791,   792,   793,   794,   795,   796,    -1,
6749      798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   806,   807,
6750      808,   809,   810,   811,   812,   813,   814,   815,   816,   817,
6751      818,   819,   820,   821,   822,   823,   824,    -1,   826,    -1,
6752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,
6755      858,    -1,    -1,    -1,    -1,   887,    -1,    -1,   300,    -1,
6756       -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,    -1,
6757       -1,    -1,    -1,   315,    -1,    -1,    -1,   535,    -1,   321,
6758      538,    -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,
6759       -1,    -1,    -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,
6760       -1,   343,    -1,    -1,    -1,    -1,   348,    -1,    -1,  1413,
6761       -1,   943,    -1,   945,   946,    -1,    -1,   925,    -1,   927,
6762       -1,   695,    -1,    -1,  1428,    -1,    -1,   701,    -1,    -1,
6763       -1,  1435,    -1,    -1,    -1,    -1,    -1,    -1,  1442,    -1,
6764       -1,    -1,    -1,   385,    -1,   387,    -1,    -1,    -1,   957,
6765       -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,   966,  1463,
6766       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6767       -1,   464,   465,     1,    -1,     3,    -1,   419,    -1,    -1,
6768       -1,    -1,    -1,    -1,    -1,  1489,  1490,   995,    -1,   997,
6769       -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,   491,    -1,
6770       28,    -1,    -1,    -1,   662,   663,   664,   665,    -1,    37,
6771       38,    -1,    -1,    -1,    -1,    -1,    -1,  1049,  1050,   512,
6772      513,    -1,    -1,    -1,   517,   518,    -1,    -1,   521,   522,
6773       -1,    -1,    -1,    -1,   692,    -1,    -1,    -1,    -1,  1543,
6774     1544,    -1,  1546,    -1,    -1,    -1,    74,    75,    -1,   112,
6775       -1,    79,    -1,    -1,    -1,  1063,    -1,   831,    86,    -1,
6776       -1,  1565,    -1,    -1,    -1,    -1,   559,    -1,   561,    -1,
6777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6778       -1,    -1,   110,   111,    -1,    -1,   528,    -1,    -1,    -1,
6779      118,    -1,   866,   121,    -1,  1103,   124,    -1,   126,   127,
6780       -1,   875,    -1,    -1,    -1,    -1,  1114,    -1,   882,    -1,
6781       -1,    -1,    -1,    -1,    -1,   889,    -1,    -1,    -1,    -1,
6782       -1,    -1,    -1,   565,    -1,    -1,    -1,    -1,    -1,    -1,
6783       -1,    -1,  1140,  1141,    -1,    -1,    -1,    -1,    -1,    -1,
6784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1181,
6785       -1,  1183,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,
6786       -1,    -1,    -1,    -1,    -1,    -1,   940,  1671,    -1,    -1,
6787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6788       -1,    -1,   956,   625,    -1,    -1,    -1,    -1,    -1,    -1,
6789       -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,  1206,    -1,
6790       -1,    -1,    -1,    -1,    -1,    -1,    -1,   270,    -1,    -1,
6791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6792     1228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6793       -1,    -1,    -1,    -1,    -1,    -1,  1244,    -1,    -1,    -1,
6794     1248,    -1,    -1,  1251,    -1,    -1,    -1,  1255,    -1,    -1,
6795       -1,  1259,    -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,
6796       -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,
6797       -1,    -1,    -1,    -1,  1778,    -1,  1780,    -1,    -1,  1783,
6798      722,    -1,    -1,    -1,   726,    -1,    -1,    -1,    -1,    -1,
6799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   741,
6800     1804,    -1,  1806,    -1,    -1,    -1,   748,    -1,    -1,   751,
6801       -1,    -1,  1816,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   771,
6803       -1,    -1,    -1,    -1,    -1,   777,   778,   779,   780,   781,
6804      782,   783,    -1,    -1,   786,   787,    -1,   789,   790,   791,
6805      792,   793,   794,   795,   796,    -1,   798,    -1,    -1,    -1,
6806       -1,    -1,    -1,    -1,   806,   807,   808,   809,   810,   811,
6807      812,   813,   814,   815,   816,   817,   818,   819,   820,   821,
6808      822,   823,   824,    -1,   826,    -1,    -1,    -1,    -1,    -1,
6809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1416,    -1,
6811     1442,    -1,  1420,   906,   907,   857,   858,    -1,    -1,  1193,
6812       -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,    -1,    -1,
6813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,
6815       -1,  1109,    -1,    -1,  1462,    -1,    -1,    -1,    -1,    -1,
6816       -1,    -1,    -1,    -1,  1472,  1969,  1970,  1971,  1972,  1973,
6817      141,   534,    -1,   144,    -1,  1483,   969,    -1,    -1,  1983,
6818     1984,  1985,  1986,   925,    -1,   927,   157,    -1,   159,  1147,
6819      161,    -1,    -1,  1501,    -1,  1503,    -1,    -1,    -1,    -1,
6820     1508,    -1,  1510,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
6821       -1,    -1,    -1,    -1,  1546,   957,    -1,    -1,    -1,  1527,
6822       -1,    -1,    -1,    -1,   966,    -1,  1184,    -1,  1186,    -1,
6823       -1,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,    -1,
6824       -1,    -1,    -1,     3,    -1,  1038,  1039,  2051,  2052,  1042,
6825     1043,  1044,    -1,   995,    -1,   997,   343,    -1,    -1,    -1,
6826       -1,    -1,    -1,    -1,    -1,    -1,    -1,   630,    28,    -1,
6827       -1,    -1,  1580,    -1,    34,    35,    36,    37,    38,    39,
6828       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
6829       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   662,
6830      663,   664,   665,    -1,    -1,    -1,    66,    -1,    -1,    -1,
6831       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6832       -1,  1063,    82,    83,    -1,    85,    86,    87,    -1,    -1,
6833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6834      100,    -1,   141,    -1,    -1,   144,    -1,    -1,    -1,    -1,
6835      110,   111,   112,   113,   114,   115,    -1,    -1,   157,   722,
6836      159,  1103,   161,   726,    -1,    -1,    -1,    -1,    -1,  1677,
6837       -1,    -1,  1114,  1681,  1682,  1683,    -1,    -1,    -1,    -1,
6838       -1,    -1,    -1,    -1,  1692,    -1,  1179,  1180,    -1,  1697,
6839     1698,  1465,    -1,    -1,   757,    -1,  1704,    -1,  1140,  1141,
6840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   771,    -1,
6841       -1,    -1,    -1,    -1,  1722,  1723,    -1,  1725,  1726,    -1,
6842       -1,    -1,  1730,  1731,  1732,  1733,    -1,    -1,    -1,    -1,
6843       -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,  1746,    -1,
6844      803,    -1,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,
6845       -1,    -1,    -1,    -1,  1762,    -1,    -1,    -1,    -1,    -1,
6846       -1,    -1,  1204,   826,  1206,    -1,    -1,    -1,    -1,    -1,
6847       -1,   270,    -1,    -1,    -1,  1807,    -1,    -1,    -1,  1787,
6848       -1,    -1,    -1,    -1,    -1,    -1,  1228,    -1,    -1,    -1,
6849       -1,  1565,    -1,   464,   465,    -1,    -1,    -1,   141,    -1,
6850       -1,   144,  1244,    -1,    -1,   476,  1248,    -1,    -1,  1251,
6851       -1,    -1,    -1,  1255,   157,    -1,   159,  1259,   161,   490,
6852      491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6854       -1,   512,   513,    -1,    -1,    -1,   517,   518,   635,    -1,
6855      521,   522,    -1,    -1,    -1,    -1,    -1,    -1,  1866,  1867,
6856       -1,  1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,    -1,
6857       -1,    -1,    -1,    -1,    -1,    -1,    -1,   464,   465,    -1,
6858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   559,    -1,
6859      561,    -1,  1900,  1901,    -1,    -1,    -1,    -1,    -1,    -1,
6860       -1,    -1,  1910,   490,   491,    -1,    -1,    -1,    -1,    -1,
6861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6862       -1,    -1,    -1,    -1,    -1,   512,   513,  1585,  1586,    -1,
6863      517,   518,    -1,    -1,   521,   522,    -1,    -1,    -1,    -1,
6864     1598,    -1,    -1,  1601,    -1,    -1,    -1,    -1,    -1,    -1,
6865     1013,  1609,    -1,    -1,  1962,    -1,    -1,    -1,  1966,  1967,
6866       -1,    -1,    -1,    -1,    -1,   464,   465,    -1,    -1,    -1,
6867      757,    -1,    -1,    -1,  1416,    -1,    -1,    -1,  1420,    -1,
6868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6869       -1,   490,   491,    -1,    -1,    -1,  1489,  1490,    -1,    -1,
6870       -1,    -1,    -1,   790,   791,   792,   793,   794,    -1,  1783,
6871      797,    -1,    -1,   512,   513,    -1,   803,    -1,   517,   518,
6872     1462,    -1,   521,   522,    -1,    -1,    -1,    -1,    -1,   528,
6873     1472,   818,   819,   820,   821,   822,    -1,    -1,   825,    -1,
6874       -1,  1483,    -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,
6875     1543,  1544,    -1,    -1,    -1,  1118,    -1,    -1,    -1,  1501,
6876      559,  1503,   561,    -1,    -1,    -1,  1508,    -1,  1510,    -1,
6877     2078,    -1,    -1,    -1,    -1,    -1,    -1,  1140,  1141,    -1,
6878       -1,    -1,    -1,    -1,  1147,  1527,  1149,    -1,  2096,    -1,
6879     1153,    -1,    -1,  1156,    -1,  1158,    -1,    -1,  1161,  1162,
6880     1163,  1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6882       -1,   464,   465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6883       -1,   630,    -1,   476,    -1,    -1,    -1,    -1,  1580,  2147,
6884       -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,   491,    -1,
6885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6886       -1,    -1,    -1,   662,   663,   664,   665,    -1,    -1,   512,
6887      513,    -1,    -1,    -1,   517,   518,    -1,    -1,   521,   522,
6888       -1,  1839,  1840,    -1,    -1,    -1,    -1,    -1,  1251,    -1,
6889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,   559,    -1,   561,    -1,
6892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6893       -1,    -1,    -1,    -1,    -1,  1677,    -1,    -1,    -1,  1681,
6894     1682,  1683,   741,    -1,    -1,    -1,    -1,    -1,    -1,   748,
6895     1692,    -1,   751,    -1,    -1,  1697,  1698,    -1,    -1,    -1,
6896       -1,    -1,  1704,    -1,    -1,    -1,    -1,    -1,   464,   465,
6897       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6898     1722,  1723,    -1,  1725,  1726,  1778,    -1,  1780,  1730,  1731,
6899     1732,  1733,    -1,    -1,   490,   491,    -1,    -1,   969,    -1,
6900       -1,    -1,    -1,    -1,  1746,    -1,    -1,    -1,    -1,    -1,
6901       -1,  1804,    -1,  1806,    -1,    -1,   512,   513,    -1,    -1,
6902     1762,   517,   518,    -1,    -1,   521,   522,    -1,    -1,    -1,
6903       -1,    -1,    -1,    -1,  1121,    -1,    -1,    -1,    -1,    -1,
6904       -1,    -1,    -1,    -1,    -1,  1787,    -1,    -1,    -1,    -1,
6905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6906       -1,    -1,  1149,    -1,    -1,    -1,    -1,  1038,  1039,  1156,
6907       -1,  1042,  1043,  1044,    -1,    -1,    -1,    -1,    -1,    -1,
6908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,  1190,    -1,  1192,    -1,   906,   907,    -1,
6911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6912       -1,    -1,    -1,    -1,  1866,  1867,    -1,  1869,  1870,  1871,
6913     1872,  1873,  1874,  1875,  1876,    -1,    -1,    -1,    -1,    -1,
6914     1503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6915       -1,  1038,  1039,    -1,    -1,  1042,  1043,    -1,  1900,  1901,
6916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,    -1,
6917      969,  1534,    -1,    -1,    -1,    -1,  1969,  1970,  1971,  1972,
6918     1973,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6919     1983,  1984,  1985,  1986,    -1,    -1,   995,    -1,   997,    -1,
6920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1179,  1180,
6921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6922     1962,    -1,  1585,  1586,  1966,  1967,    -1,    -1,    -1,    -1,
6923       -1,    -1,  1595,    -1,  1597,  1598,    -1,    -1,  1601,  1038,
6924     1039,    -1,    -1,  1042,  1043,  1044,  1609,    -1,    -1,  1612,
6925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2051,  2052,
6926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6928       -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,     4,     5,
6929        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
6930       -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,    -1,
6931     1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1118,
6932       -1,    -1,    -1,    -1,    -1,    -1,   969,    -1,    -1,  1692,
6933       -1,    -1,    -1,    -1,    -1,    -1,  2078,    -1,    -1,    -1,
6934       -1,  1704,    -1,    -1,    -1,    -1,    -1,    -1,  1147,    65,
6935       -1,    -1,    -1,  1716,  2096,    71,    72,    73,  1721,    -1,
6936       -1,  1724,  1161,  1162,  1163,  1164,    -1,    -1,    84,    -1,
6937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6938     1179,  1180,    98,    -1,    -1,    -1,   102,   103,   104,   105,
6939      106,   107,   108,   109,    -1,  1038,  1039,    -1,    -1,  1042,
6940     1043,  1044,    -1,    -1,    86,  2147,    -1,   123,   124,    -1,
6941      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
6942      136,   137,    -1,    -1,    -1,  1788,    -1,    -1,    -1,    -1,
6943       -1,    -1,    -1,    -1,    -1,    -1,  1799,    -1,    -1,    -1,
6944       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,  1248,
6945       -1,    -1,    -1,    -1,   136,    -1,  1255,    -1,    -1,    -1,
6946     1259,    -1,    -1,    -1,    -1,    -1,  1829,  1830,  1831,  1832,
6947       -1,    -1,  1835,    -1,   156,    -1,  1839,  1840,    -1,  1842,
6948       -1,  1844,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
6949        4,     5,     6,  1856,     8,     9,    -1,    -1,    -1,    -1,
6950       -1,    -1,    -1,  1866,  1867,    -1,    -1,    -1,    -1,    -1,
6951       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,  1489,  1490,
6952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6953       -1,    -1,    -1,    -1,    -1,    -1,  1179,  1180,    -1,    -1,
6954       -1,    -1,  1038,  1039,    -1,    -1,  1042,  1043,    -1,    -1,
6955       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
6956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6957       84,    85,  1543,  1544,    -1,    -1,    -1,    -1,    -1,    -1,
6958       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
6959      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
6960       -1,    -1,  1489,  1490,   118,    -1,    -1,   121,   122,   123,
6961       -1,    -1,   126,    -1,    -1,  1978,    -1,   131,   132,   133,
6962      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,  1716,
6963       -1,  1994,    -1,    -1,  1721,  1722,  1723,  1724,  1725,  1726,
6964     2003,    -1,  2005,  1730,  1731,  1732,  1733,    -1,    -1,    -1,
6965       -1,    -1,    -1,    -1,    -1,    -1,  1543,  1544,    -1,    -1,
6966       -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,    -1,    -1,
6967       -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6969     1489,  1490,  2055,    -1,    -1,  2058,  2059,    -1,   380,  2062,
6970       -1,  2064,    -1,    -1,  2067,    -1,    -1,    -1,  2071,  1508,
6971       -1,  1510,    -1,    -1,    -1,  2078,    -1,    -1,    -1,    -1,
6972       -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,  2096,    -1,    -1,    -1,   419,   420,    -1,
6974       -1,  2104,   424,    -1,  1543,  1544,    -1,    -1,    -1,    -1,
6975       -1,   433,    -1,    -1,   436,    83,    -1,    -1,    -1,    -1,
6976       -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,  2132,
6977       -1,    -1,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
6978       -1,  1580,    -1,    -1,  2147,    -1,  1585,  1586,   470,    -1,
6979      118,    -1,    -1,    -1,   476,    -1,  1595,    -1,  1597,  1598,
6980       -1,    -1,  1601,    -1,    -1,    -1,    -1,  1778,    -1,  1780,
6981     1609,    -1,    -1,  1612,   142,    -1,    -1,    -1,    -1,    -1,
6982       -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,
6983      158,    -1,    -1,  1804,    -1,  1806,    -1,    -1,    -1,    -1,
6984       -1,    -1,    -1,    -1,    -1,    -1,  1489,  1490,    -1,    -1,
6985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
6986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6987       -1,    -1,   554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6988       -1,    -1,   564,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6989       -1,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,    -1,
6990     1543,  1544,   584,    -1,    -1,   587,    -1,   589,    -1,   591,
6991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6993       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
6994      268,   269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6995      278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6996      288,   289,   290,  1762,    -1,    -1,    -1,    -1,    -1,    -1,
6997       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1778,
6998      308,  1780,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
6999       -1,    -1,    -1,  1489,  1490,   323,    -1,    -1,  1969,  1970,
7000     1971,  1972,  1973,    -1,    -1,  1804,    -1,  1806,    -1,    -1,
7001       -1,    -1,  1983,  1984,  1985,  1986,    -1,    -1,    -1,    -1,
7002       -1,    -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,
7003     1829,  1830,  1831,  1832,    -1,    -1,  1835,    -1,    -1,    -1,
7004     1839,  1840,    -1,  1842,    -1,  1844,    -1,  1543,  1544,    -1,
7005       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1856,    -1,    -1,
7006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    -1,
7008     2051,  2052,  1969,  1970,    -1,  1972,  1973,    -1,   630,   417,
7009       -1,    -1,    -1,    -1,    -1,   423,  1983,  1984,  1985,  1986,
7010       -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    83,
7011       84,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    93,
7012       -1,    -1,   664,   665,    -1,    -1,   100,   101,    -1,    -1,
7013       -1,    -1,    -1,    -1,    -1,  1778,    -1,  1780,    -1,    -1,
7014       -1,   469,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
7015       -1,    -1,   834,   835,   836,    -1,    -1,   131,   486,    -1,
7016       -1,  1804,    -1,  1806,  2051,  2052,    -1,    -1,    -1,    -1,
7017     1969,  1970,  1971,  1972,  1973,   857,   858,   859,    -1,    -1,
7018       -1,   509,    -1,    -1,  1983,  1984,  1985,  1986,    -1,    -1,
7019       -1,    -1,    -1,    -1,    -1,  1994,    -1,    -1,    -1,    -1,
7020      528,    -1,    -1,    -1,  2003,    -1,  2005,   535,   182,    -1,
7021      538,    -1,    -1,    -1,    -1,    -1,    -1,   326,    -1,    -1,
7022       -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7023       -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,    -1,    -1,
7024       -1,    -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,
7025      932,    -1,  2051,  2052,    -1,    -1,    -1,    -1,    -1,  2058,
7026     2059,    -1,    -1,  2062,    -1,  2064,    -1,    -1,  2067,    -1,
7027       -1,    -1,  2071,    -1,    -1,   957,    -1,    -1,    -1,    -1,
7028       -1,    -1,   964,   965,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,   265,    -1,   975,    -1,    -1,    -1,    -1,    -1,    -1,
7030       -1,    -1,    -1,    -1,   278,  2104,    -1,    -1,    -1,   637,
7031       -1,    -1,    -1,    -1,   288,    -1,   290,    -1,    -1,    -1,
7032       -1,    -1,    -1,    -1,    -1,    -1,  1969,  1970,  1971,  1972,
7033     1973,    -1,    -1,  2132,   662,   663,   664,   665,    -1,    -1,
7034     1983,  1984,  1985,  1986,    -1,    -1,    -1,    -1,    -1,    -1,
7035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7036       -1,    -1,   690,   691,   692,    -1,    -1,   695,    -1,    -1,
7037       -1,    -1,    -1,   701,    -1,    -1,    -1,    -1,    -1,    -1,
7038     1062,   709,    -1,    -1,    -1,  1067,    -1,    -1,   716,   717,
7039      718,  1073,   720,   721,    -1,    -1,    -1,  1079,    -1,   727,
7040       -1,    -1,    -1,  1085,    -1,    -1,    -1,    -1,  2051,  2052,
7041      738,    -1,    -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,
7042      748,    -1,    -1,   751,    -1,    -1,    -1,    -1,    -1,    -1,
7043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7044       -1,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,
7045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7046       -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7047       -1,    -1,   270,  1969,  1970,    -1,  1972,  1973,    -1,    -1,
7048       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1983,  1984,  1985,
7049     1986,    -1,    -1,    -1,    -1,   469,    -1,    -1,   472,    -1,
7050       -1,    -1,    -1,   831,    -1,    -1,    -1,    -1,    -1,    -1,
7051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7052       -1,    -1,  1204,  1205,    -1,   323,   635,    -1,    -1,    -1,
7053       -1,    -1,    -1,    -1,    -1,   509,    -1,    -1,   866,    -1,
7054       -1,    -1,    -1,    -1,    -1,    -1,   874,   875,    -1,    -1,
7055       -1,   525,   526,   527,   882,  2051,  2052,   885,   886,   887,
7056       -1,   889,    -1,    -1,  1106,    -1,    -1,  1109,    -1,   543,
7057      544,    -1,    -1,    -1,    -1,    -1,  1118,    -1,    -1,    -1,
7058       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7059      564,    -1,   566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7060       -1,   132,    -1,   577,    -1,  1147,    -1,    -1,    -1,    -1,
7061       -1,    -1,   940,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
7062     1162,  1163,  1164,    -1,    -1,    -1,    -1,    -1,   956,    -1,
7063       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,   613,
7064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   757,    -1,
7065       -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7066       -1,    -1,   771,    -1,    -1,    -1,    -1,   995,   996,   997,
7067       -1,    -1,    -1,    -1,    -1,  1003,    -1,    -1,    -1,    -1,
7068       -1,   790,   791,   792,   793,   794,    -1,    -1,   797,   798,
7069      221,    -1,    -1,    -1,   803,    -1,    -1,   806,    -1,    -1,
7070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   818,
7071      819,   820,   821,   822,   688,    -1,   825,   826,  1400,  1401,
7072       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7073       -1,    -1,    -1,    -1,  1416,    -1,    -1,    -1,  1420,    -1,
7074       -1,    -1,   716,    -1,    -1,    -1,   720,    -1,    -1,    -1,
7075       -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,
7076       -1,    -1,    -1,    -1,   738,    -1,    -1,    -1,    -1,    -1,
7077       -1,    -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,
7078       -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7079       -1,    -1,    -1,    -1,  1122,    -1,    -1,    -1,    -1,    -1,
7080       -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7081       -1,    -1,  1494,  1495,  1496,  1497,    -1,    -1,    -1,  1147,
7082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7083       -1,    -1,    -1,  1161,  1162,  1163,  1164,   635,    -1,    -1,
7084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7085       -1,    -1,    -1,   651,    -1,    -1,  1184,    -1,  1186,    -1,
7086       -1,    -1,   393,    -1,   662,   663,   664,   665,   399,    -1,
7087       -1,    -1,  1200,    -1,    -1,  1203,    -1,    -1,    -1,    -1,
7088       -1,    -1,    -1,    -1,    -1,   859,   860,    -1,    -1,    -1,
7089       -1,    -1,   866,    -1,    -1,  1223,    -1,    -1,    -1,    -1,
7090      874,   875,  1230,   701,    -1,    -1,   704,    -1,   882,    92,
7091       -1,   885,   886,   887,    -1,    -1,    -1,    -1,    -1,  1247,
7092     1248,    -1,    -1,    -1,    -1,    -1,  1254,  1255,    -1,   727,
7093     1258,  1259,    -1,    -1,   732,    -1,    -1,    -1,   469,    -1,
7094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7095       -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7096      934,   759,  1644,    -1,    -1,    -1,   940,    -1,    -1,    -1,
7097       -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7098       -1,    -1,   956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       -1,    -1,    -1,    -1,    -1,  1677,    -1,  1679,   529,   797,
7100     1682,   532,    -1,   186,   187,    -1,    -1,   805,    -1,    -1,
7101       -1,    -1,  1121,    -1,   545,    -1,    -1,    -1,    -1,    -1,
7102       -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,  1003,
7103       -1,    -1,    -1,    -1,    -1,   566,    -1,    -1,   221,    -1,
7104     1149,    -1,    -1,  1585,  1586,    -1,    -1,  1156,   579,    -1,
7105       -1,    -1,    -1,  1595,    -1,  1597,  1598,    -1,    -1,  1601,
7106       -1,    -1,    -1,    -1,  1746,    -1,    -1,  1609,    -1,    -1,
7107     1612,    -1,    -1,    -1,    -1,  1049,    -1,    -1,    -1,    -1,
7108       -1,  1190,   265,  1192,  1058,   268,   269,   270,    -1,   887,
7109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7110       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,
7111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7112       -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
7113       -1,   314,    -1,    -1,  1462,    -1,    -1,  1465,    -1,    -1,
7114      323,    -1,  1251,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,
7116       -1,    -1,    -1,    -1,   695,    -1,    -1,    -1,    -1,    -1,
7117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1900,    -1,
7122       -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,    -1,  1203,
7123       -1,  1205,    -1,    -1,   417,    -1,    -1,  1565,    -1,  1213,
7124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1223,
7125       -1,  1579,  1580,    -1,    -1,    -1,  1230,  1585,  1586,    -1,
7126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7127     1598,    -1,    -1,  1601,    -1,    -1,    -1,    -1,    -1,    -1,
7128       -1,  1609,    -1,    -1,    -1,    -1,   469,  1829,  1830,  1831,
7129     1832,    -1,  1974,  1835,  1976,    -1,    -1,  1839,  1840,    -1,
7130     1842,    -1,  1844,    -1,    -1,    -1,    -1,    -1,  1106,    -1,
7131       -1,  1109,  1110,  1111,  1856,  1113,    -1,    -1,    -1,    -1,
7132       -1,    -1,    -1,  1121,    -1,    -1,   509,    -1,    -1,    -1,
7133       -1,  1129,    -1,    -1,    -1,    -1,    -1,    -1,  1136,    -1,
7134       -1,    -1,    -1,    -1,   875,   528,    -1,    -1,    -1,  1147,
7135       -1,   882,   535,    -1,    -1,   538,  1154,    -1,    -1,    -1,
7136       -1,  1159,    -1,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
7137       -1,    -1,  1700,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7139       -1,    -1,  1190,    -1,  1192,    -1,    -1,    -1,    -1,    -1,
7140       -1,    -1,    -1,    -1,   935,    -1,    -1,    -1,    -1,   940,
7141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7142       -1,    -1,    -1,    -1,    -1,   956,  1224,    -1,    -1,    -1,
7143       -1,    -1,    -1,  1761,  1762,    -1,    -1,    -1,    -1,  1413,
7144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7145       -1,    -1,  1994,  1427,    -1,  1783,    -1,    92,    -1,    -1,
7146     1434,  2003,    -1,  2005,    -1,    -1,    -1,    -1,  1442,    -1,
7147       -1,  1269,  1003,    -1,    -1,    -1,    -1,    -1,    -1,   662,
7148      663,   664,   665,    -1,    -1,    -1,    -1,    -1,    -1,  1463,
7149       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7150       -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,
7151       -1,  1839,  1840,    -1,    -1,    -1,  2058,  2059,   701,  1050,
7152     2062,    -1,  2064,  1321,    -1,  2067,   709,    -1,  1059,  2071,
7153     1061,    -1,    -1,   716,   717,   718,  1334,   720,   721,    -1,
7154       -1,    -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,    -1,
7155       -1,   186,   187,    -1,    -1,   738,    -1,    -1,   741,    -1,
7156       -1,    -1,  2104,    -1,    -1,   748,    -1,    -1,   751,    -1,
7157       -1,  1545,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,
7158       -1,    -1,    -1,    -1,    -1,    -1,   221,  1385,    -1,    -1,
7159     2132,  1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7160       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1716,    -1,    -1,
7161       -1,    -1,  1721,  1722,  1723,  1724,  1725,  1726,    -1,    -1,
7162       -1,  1730,  1731,  1732,  1733,    -1,    -1,    -1,    -1,    -1,
7163      265,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
7164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,    -1,
7165     1181,    -1,  1183,    -1,   289,    -1,    -1,    -1,    -1,    -1,
7166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7167       -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,   314,
7168       -1,    -1,    -1,   866,    -1,    -1,    -1,    -1,   323,    -1,
7169       -1,    -1,   875,    -1,    -1,    -1,    -1,  1671,    -1,   882,
7170       -1,    -1,    -1,    -1,   887,    -1,   889,    -1,    -1,    -1,
7171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7175       -1,    -1,    -1,    -1,    -1,    -1,    -1,   940,    -1,    -1,
7176     1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1742,    -1,
7177       -1,    -1,    -1,   956,    -1,    -1,    -1,    -1,    -1,   323,
7178       -1,    -1,   417,    -1,    -1,    -1,    -1,  1585,  1586,    -1,
7179     1764,    -1,    -1,  1591,    -1,  1593,    -1,    -1,  1596,  1597,
7180       -1,    -1,    -1,    -1,  1602,  1603,    -1,  1605,    -1,  1783,
7181       -1,    -1,   995,   996,   997,    -1,    -1,  1615,    -1,  1617,
7182     1003,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7183       -1,    -1,    -1,    -1,   469,    -1,    -1,    -1,    -1,    -1,
7184       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7185       -1,  1649,    -1,    -1,    -1,  1653,    -1,    -1,    -1,    -1,
7186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7187       -1,    -1,    -1,    -1,   509,    -1,    -1,    -1,    -1,    -1,
7188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7189       -1,   435,    -1,   528,    -1,    -1,    -1,  1428,    -1,    -1,
7190      535,    -1,    -1,   538,  1435,    65,    -1,   198,  1882,    -1,
7191       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7192     1103,    -1,    -1,  1106,    84,    85,  1109,    -1,    -1,    -1,
7193       -1,    -1,  1463,    -1,  1465,    -1,    -1,  1468,    98,    -1,
7194     1471,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7196       -1,   121,   122,   123,  1147,    -1,   126,    -1,    -1,    -1,
7197      130,   131,   132,    -1,   134,   135,   136,   137,  1161,  1162,
7198     1163,  1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7200       -1,  1184,    -1,  1186,    -1,    -1,    -1,    -1,    -1,   300,
7201       52,    -1,    -1,    -1,    -1,  1546,    -1,  1200,   309,  1817,
7202     1203,    -1,    -1,  1554,   315,    -1,    -1,   662,   663,   664,
7203      665,    -1,    -1,    -1,  1565,    -1,    -1,  1835,  1836,    -1,
7204     1223,    83,    84,    -1,    -1,  1843,    -1,  1230,    -1,  1847,
7205       -1,  1849,    -1,    -1,    -1,   690,   691,   692,    -1,    -1,
7206     1858,    -1,    -1,    -1,  1247,  1248,   701,    -1,    -1,    -1,
7207       -1,  1254,  1255,    -1,   709,  1258,  1259,    -1,    -1,    -1,
7208       -1,   716,   717,   718,    -1,   720,   721,    -1,    -1,   131,
7209      132,   635,   727,    -1,   385,    -1,   387,    -1,    -1,    -1,
7210       -1,    -1,    -1,   738,  1902,    -1,   741,   651,    -1,    -1,
7211       -1,   655,    -1,   748,    -1,    -1,   751,    -1,    -1,    -1,
7212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7214       -1,   183,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,    -1,    -1,    -1,    -1,    -1,    -1,   701,    -1,    -1,
7216      704,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7217       -1,    -1,    -1,    -1,   718,    -1,    -1,    -1,    -1,   221,
7218       -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,   732,   733,
7219       -1,    -1,    -1,    -1,    -1,    -1,   831,  1995,  1996,    -1,
7220     1998,    -1,  2000,    -1,    -1,  2003,  2004,  2005,    -1,    -1,
7221       -1,    -1,    -1,    -1,    -1,   759,    -1,    -1,    -1,  1750,
7222     1751,    -1,  1753,   265,    -1,    -1,    -1,    -1,    -1,    -1,
7223       -1,   866,    -1,    -1,    -1,    -1,   278,   528,    -1,    -1,
7224      875,    -1,    -1,    -1,    -1,    -1,   288,   882,    -1,    -1,
7225       -1,    -1,   887,   797,   889,    -1,    -1,    -1,    -1,    -1,
7226       -1,   805,  2060,    -1,    -1,  2063,    -1,    -1,    -1,    -1,
7227       -1,    -1,    -1,  2071,   565,    -1,  1807,    -1,    -1,  1462,
7228       -1,   825,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7230       -1,    -1,    -1,    -1,    -1,   940,    -1,    -1,    -1,  2107,
7231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7232       -1,   956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233       -1,    -1,    -1,    -1,   625,    -1,    -1,    -1,    -1,    -1,
7234       -1,    -1,    -1,   887,    -1,    -1,    -1,    -1,    -1,    -1,
7235       -1,   393,    -1,    -1,    -1,    -1,    -1,   399,    -1,    -1,
7236      995,   996,   997,    -1,    -1,    -1,    -1,    -1,  1003,    -1,
7237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7238       -1,    -1,  1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7239       -1,    -1,    -1,   435,    -1,    -1,  1579,  1580,    -1,    -1,
7240       -1,    -1,  1585,  1586,    -1,   696,    -1,    -1,    -1,    -1,
7241       -1,    -1,    -1,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
7242       -1,    -1,    -1,    -1,    -1,    -1,  1609,   469,    -1,    -1,
7243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7245      741,    -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,    -1,
7246      751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1103,    -1,
7247       -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,    -1,    -1,
7248       -1,    -1,    -1,   525,   526,   527,    -1,   529,    -1,    -1,
7249      532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7250       -1,   543,   544,   545,    -1,    -1,    -1,    -1,    -1,    -1,
7251       -1,    -1,  1147,    -1,    -1,    -1,    -1,  1700,    -1,    -1,
7252       -1,    -1,   564,    -1,   566,    -1,  1161,  1162,  1163,  1164,
7253       -1,    -1,    -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,
7254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,
7255       -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7256       -1,    -1,    -1,    -1,    -1,  1200,  1110,  1111,  1203,  1113,
7257       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1121,  1761,  1762,
7258     1124,    -1,    -1,    -1,    -1,  1129,    -1,    -1,  1223,    -1,
7259       -1,    -1,  1136,  1137,    -1,  1230,    -1,    -1,    -1,    -1,
7260     1783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7261     1154,  1155,  1247,  1248,    -1,  1159,    -1,    -1,    -1,  1254,
7262     1255,    -1,    -1,  1258,  1259,    -1,    -1,    -1,    -1,    -1,
7263       -1,    -1,    -1,    -1,   925,    -1,   927,    -1,    -1,    -1,
7264       -1,    -1,    -1,    -1,    -1,    -1,  1190,   689,  1192,    -1,
7265       -1,    -1,    -1,   695,    -1,    -1,  1839,  1840,    -1,    -1,
7266       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
7267        8,     9,    -1,    -1,    -1,   966,    -1,    -1,    -1,    -1,
7268     1224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7269       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7270       -1,    -1,    -1,    -1,   995,    -1,   997,    -1,    -1,    -1,
7271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,
7272       -1,    -1,    -1,    52,    -1,  1269,  1270,    65,    -1,    -1,
7273       59,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
7274       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,
7275       -1,    -1,    -1,    82,    83,    84,    -1,    -1,    -1,    -1,
7276       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
7277      108,   109,  1063,    -1,    -1,    -1,    -1,  1321,    -1,  1323,
7278      118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,    -1,
7279     1334,  1335,    -1,   131,   132,   133,   134,   135,   136,   137,
7280       -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7281       -1,    -1,  1103,    -1,    -1,    -1,    -1,    -1,    -1,   148,
7282       -1,    -1,    -1,  1114,    -1,    -1,    -1,  1462,    -1,    -1,
7283     1465,    -1,    -1,   875,    -1,   164,    -1,    -1,    -1,    -1,
7284      882,  1385,    -1,  1387,    -1,   887,    -1,    -1,    -1,    -1,
7285       -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,
7286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7288       -1,    -1,    -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,
7289       -1,   220,   221,   935,    -1,    -1,    -1,    -1,   940,    -1,
7290       -1,    -1,    -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,
7291       -1,    -1,    -1,    -1,   956,  1206,    -1,    -1,    -1,    -1,
7292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7293     1565,    -1,    -1,    -1,    -1,    -1,   265,  1228,    -1,    -1,
7294       -1,    -1,    -1,    -1,  1579,  1580,    -1,    -1,    -1,   278,
7295     1585,  1586,    -1,    -1,    -1,    -1,    -1,  1248,    -1,   288,
7296       -1,  1003,    -1,  1598,  1255,    -1,  1601,    -1,  1259,    -1,
7297       -1,    -1,    -1,    -1,  1609,    -1,    -1,    -1,    -1,    -1,
7298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7300       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1049,  1050,    -1,
7301       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1059,    -1,  1061,
7302       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1571,    -1,    -1,
7303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7304       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1591,  1592,  1593,
7305     1594,     1,  1596,  1597,    -1,    -1,    -1,    -1,  1602,  1603,
7306       -1,  1605,    -1,  1607,   393,  1700,    -1,    -1,    -1,    -1,
7307      399,  1615,  1616,  1617,    -1,    -1,    -1,    -1,    28,    29,
7308       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7309       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7310       50,    -1,    -1,    -1,    -1,  1649,   435,  1651,    -1,  1653,
7311       -1,  1655,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
7312       -1,    -1,    -1,    -1,    74,    75,  1761,  1762,    -1,    79,
7313       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,  1181,
7314      469,  1183,    -1,    -1,    -1,    -1,    -1,    -1,  1783,    -1,
7315      100,    -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,
7316      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
7317       -1,  1462,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
7318       -1,  1472,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7319       -1,    -1,    -1,    -1,    -1,    -1,   525,   526,   527,    -1,
7320      529,    -1,    -1,   532,  1839,  1840,    -1,    -1,    -1,    -1,
7321       -1,    -1,    -1,    -1,   543,   544,   545,  1508,    -1,  1510,
7322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7323       -1,    -1,    -1,   562,    -1,   564,  1527,   566,    -1,    -1,
7324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7325      579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7326       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,    -1,
7327       -1,    -1,    -1,  1817,    -1,    -1,    -1,    -1,    -1,    -1,
7328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1580,
7329       -1,    -1,  1836,    -1,    -1,    -1,    -1,  1841,    -1,  1843,
7330     1844,    -1,  1846,  1847,    -1,  1849,    -1,  1851,    -1,    92,
7331       -1,    -1,    -1,  1857,  1858,    -1,    -1,    -1,    92,    -1,
7332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7335       -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,  1902,   142,
7336      689,    -1,    -1,    -1,    -1,    -1,   695,    -1,   142,    -1,
7337       -1,   154,    -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,
7338      154,    -1,    -1,    -1,   158,    -1,  1428,    -1,    -1,    -1,
7339     1681,    -1,  1683,  1435,    -1,    -1,    -1,    -1,    -1,    -1,
7340     1442,    -1,    -1,   186,   187,    -1,  1697,  1698,    -1,    -1,
7341       -1,    -1,   186,   187,    -1,    -1,    -1,    -1,    -1,    -1,
7342       -1,  1463,    -1,  1465,    -1,    -1,  1468,    -1,    -1,  1471,
7343       -1,  1722,  1723,    -1,  1725,  1726,    -1,    -1,    -1,  1730,
7344     1731,  1732,  1733,    -1,    -1,    -1,    -1,   221,    -1,    -1,
7345       -1,  1995,  1996,    -1,  1998,  1999,  2000,    -1,    -1,    -1,
7346     2004,  2005,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7347       -1,  1762,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7348       -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,
7349       -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,
7350       -1,    -1,    -1,    -1,  1546,    -1,   289,    -1,    -1,    -1,
7351       -1,    -1,  1554,    -1,    -1,   289,  2060,  2061,    -1,  2063,
7352     2064,    -1,    -1,  1565,  2068,   308,    -1,    -1,    -1,    -1,
7353       -1,   314,    -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,
7354      314,    -1,    -1,    -1,   873,    -1,   875,    -1,    -1,    -1,
7355       -1,    -1,    -1,   882,    -1,    -1,    -1,    -1,   887,    -1,
7356       -1,    -1,    -1,  2107,    -1,    -1,    -1,    -1,    -1,    -1,
7357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1869,  1870,
7358     1871,  1872,  1873,  1874,  1875,  1876,    -1,    -1,    -1,    -1,
7359       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,    -1,
7360       -1,    -1,    -1,    -1,    -1,    -1,   935,    -1,    -1,    -1,
7361     1901,   940,    -1,    -1,    -1,    -1,    -1,   946,    -1,  1910,
7362       -1,    -1,    -1,    -1,    -1,    -1,    -1,   956,    -1,    -1,
7363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7364      423,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,   423,
7365       -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7366      434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7367       -1,  1962,    -1,    -1,  1003,  1966,  1967,    -1,    -1,    -1,
7368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7369       -1,    -1,    -1,    -1,    -1,   469,    -1,    -1,    -1,    -1,
7370       -1,    -1,    -1,   486,    -1,    -1,    -1,    -1,  1750,  1751,
7371       -1,  1753,   486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7372     1049,  1050,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7373     1059,    -1,  1061,    -1,    -1,   509,     1,    -1,     3,     4,
7374        5,     6,    -1,     8,     9,   528,    -1,    -1,    -1,    -1,
7375       -1,    -1,   535,    -1,   528,   538,    -1,    -1,    -1,    -1,
7376       -1,   535,    -1,    28,   538,  1807,    -1,    -1,    -1,    34,
7377       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7378       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
7379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7380       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
7381       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
7382       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7383       -1,    -1,    -1,    98,    92,   100,    -1,   102,   103,   104,
7384      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7385      115,    -1,  1181,   118,  1183,    -1,   121,   122,   123,    -1,
7386       -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
7387      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,   662,
7388      663,   664,   665,    -1,   142,    -1,    -1,    -1,   662,   663,
7389      664,   665,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,
7390      158,    -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,
7391       -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,    -1,
7392       -1,    -1,    -1,    -1,    -1,    -1,   709,    -1,   186,   187,
7393       -1,    -1,    -1,   716,   717,   709,    -1,   720,   721,    -1,
7394       -1,    -1,   716,   717,    -1,    -1,   720,   721,    -1,    -1,
7395       -1,    -1,     1,    -1,     3,    -1,    -1,    -1,   741,    -1,
7396       -1,    -1,    -1,    -1,    -1,   748,    -1,   741,   751,    -1,
7397       -1,    -1,    -1,    -1,   748,    -1,    -1,   751,    -1,    28,
7398       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7399       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7400       49,    50,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
7401      268,   269,   270,    -1,    -1,    -1,    65,    66,    -1,    -1,
7402       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
7403       79,   289,    -1,    82,    83,    -1,    85,    86,    87,    -1,
7404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7405      308,   100,    -1,    -1,    -1,    -1,   314,   831,    -1,    -1,
7406       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7407       -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,    -1,
7408       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7409       -1,   874,   866,    -1,    -1,    -1,    -1,    -1,    -1,  1428,
7410      874,   875,   885,    -1,    -1,    -1,  1435,    -1,   882,    -1,
7411       -1,   885,    -1,  1442,    -1,   889,    -1,    -1,    -1,    -1,
7412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7413       -1,    -1,    -1,    -1,  1463,    -1,  1465,    -1,    -1,  1468,
7414       -1,    -1,  1471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7416       -1,    -1,    -1,    -1,    -1,   423,   940,    -1,    -1,    -1,
7417       -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
7418       -1,     1,   956,     3,     4,     5,     6,    -1,     8,     9,
7419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7421       -1,    -1,   995,   996,   997,    -1,    -1,  1546,    -1,    -1,
7422     1003,   995,   996,   997,    -1,  1554,    -1,    -1,   486,  1003,
7423       -1,    -1,    -1,    -1,    -1,    -1,  1565,    -1,    -1,    -1,
7424       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7425       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7426       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,
7427      528,    -1,    -1,    -1,    -1,    -1,    -1,   535,    98,    -1,
7428      538,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7430       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
7431      130,   131,   132,    -1,   134,   135,   136,   137,    -1,    -1,
7432     1103,    -1,    -1,  1106,    -1,    -1,  1109,    -1,    -1,  1103,
7433       -1,    -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,    -1,
7434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7436       -1,    -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,    -1,
7437       -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,  1161,  1162,
7438     1163,  1164,    -1,    -1,    -1,    -1,    -1,  1161,  1162,  1163,
7439     1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7440       -1,  1184,    -1,  1186,   662,   663,   664,   665,    -1,    -1,
7441     1184,    -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7442     1203,  1750,  1751,    -1,  1753,    -1,    -1,    -1,    -1,  1203,
7443       -1,    -1,   690,   691,   692,    -1,    -1,    -1,    -1,    -1,
7444     1223,    -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,  1223,
7445       -1,   709,    -1,    -1,    -1,    -1,  1230,    -1,   716,   717,
7446       -1,    -1,   720,   721,  1247,  1248,    -1,    -1,    -1,    -1,
7447       -1,  1254,  1255,  1247,  1248,  1258,  1259,    -1,  1807,    -1,
7448     1254,  1255,    -1,   741,  1258,  1259,    -1,    -1,    -1,    -1,
7449      748,    -1,    -1,   751,    -1,     1,    -1,    -1,    -1,    -1,
7450       -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7451       16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7452       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7453       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7454       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
7455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7456       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
7457       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
7458       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7459       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
7460       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
7461      116,   117,   118,   119,   120,   121,   874,    -1,   124,   125,
7462      126,   127,    -1,   129,    -1,    -1,   132,   885,   134,   135,
7463      136,    -1,   138,   139,   140,   141,   142,    -1,    -1,    -1,
7464       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
7465        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7466       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7467       26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,  1462,
7468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1462,    -1,
7469       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7471       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
7473       -1,    -1,    -1,    -1,    -1,    -1,    -1,   995,   996,   997,
7474       -1,    -1,    98,    -1,    -1,  1003,   102,   103,   104,   105,
7475      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
7476       -1,    -1,   118,   119,   120,   121,   122,   123,   124,   125,
7477      126,    -1,    -1,   129,    -1,   131,   132,    -1,   134,   135,
7478      136,   137,   138,   139,   140,   141,   142,    -1,    -1,    -1,
7479       -1,  1565,    -1,    -1,    -1,    -1,  1579,  1580,    -1,    -1,
7480       -1,    -1,  1585,  1586,    -1,  1579,  1580,    -1,    -1,    -1,
7481       -1,  1585,  1586,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
7482       -1,    -1,    -1,    -1,  1598,    -1,  1609,  1601,    -1,    -1,
7483       -1,    -1,    -1,    -1,    -1,  1609,    -1,     1,    -1,    -1,
7484       -1,    -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,
7485       -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7486       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7487       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7488       44,    45,    46,    47,    48,    49,    50,    -1,    -1,  1147,
7489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7490       -1,    -1,    66,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
7491       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
7492       -1,    85,    86,    87,    -1,    -1,  1184,    -1,  1186,    -1,
7493       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
7494       -1,    -1,    -1,    -1,    -1,  1203,   110,   111,   112,   113,
7495      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
7496      124,    -1,   126,   127,    -1,  1223,     1,    -1,     3,     4,
7497        5,     6,  1230,     8,     9,    -1,    -1,    -1,  1761,  1762,
7498       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1761,  1762,  1247,
7499     1248,    -1,    -1,    28,    -1,    -1,  1254,  1255,    -1,    -1,
7500     1258,  1259,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1783,
7501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
7502       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7503       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
7504       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
7505       85,    86,    -1,    88,    89,    90,  1839,  1840,    -1,    -1,
7506       -1,    -1,    -1,    98,    -1,  1839,  1840,   102,   103,   104,
7507      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
7508       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
7509       -1,   126,    -1,   128,    -1,   130,   131,   132,    -1,   134,
7510      135,   136,   137,     0,     1,    -1,     3,     4,     5,     6,
7511        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7512       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7513       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7514       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7515       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7516       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7517       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7518       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7519       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7520       -1,    98,    99,   100,  1462,   102,   103,   104,   105,   106,
7521      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7522      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7523      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7524      137,   138,   139,   140,   141,   142,    -1,    28,    29,    30,
7525       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7526       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7528       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
7530       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
7531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
7532       -1,  1579,  1580,    -1,    -1,    -1,    -1,  1585,  1586,   110,
7533      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
7534     1598,    -1,    -1,  1601,    -1,    -1,    -1,   128,    -1,     0,
7535        1,  1609,     3,     4,     5,     6,     7,     8,     9,    10,
7536       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7537       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7538       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7539       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7540       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7541       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7542       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7543       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7544       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7545       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7546      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7547      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7548      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7549      141,   142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7550       -1,    -1,    -1,  1761,  1762,     0,     1,    -1,     3,     4,
7551        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7552       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7553       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7554       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7555       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7556       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7557       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7558       75,  1839,  1840,    78,    79,    80,    81,    82,    83,    84,
7559       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7560       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7561      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7562      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7563      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7564      135,   136,   137,   138,   139,   140,   141,   142,     0,     1,
7565       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7566       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7567       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7568       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7569       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7570       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7571       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7572       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7573       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7574       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7575      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7576      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7577      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7578      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7579      142,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7580        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7581       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7582       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7583       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7584       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7585       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7586       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7587       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7588       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7589       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7590      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7591      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7592      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7593      139,   140,   141,   142,     0,     1,    -1,     3,     4,     5,
7594        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7595       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7596       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7597       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7598       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7599       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7600       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7601       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7602       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7603       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7604      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7605      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7606      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7607      136,   137,   138,   139,   140,   141,   142,     0,     1,    -1,
7608        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7609       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7610       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7611       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7612       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7613       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7614       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7615       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7616       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7617       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7618      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7619      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7620      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7621      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7622        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7623       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7624       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7625       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7626       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7627       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7628       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7629       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7630       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7631       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7632      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7633      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7634      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7635      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7636      140,   141,   142,     0,     1,    -1,     3,     4,     5,     6,
7637        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7638       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7639       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7640       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7641       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7642       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7643       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7644       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7645       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7646       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7647      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7648      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7649      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7650      137,   138,   139,   140,   141,   142,     0,     1,    -1,     3,
7651        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7652       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7653       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7654       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7655       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7656       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7657       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7658       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7659       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7660       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7661      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7662      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7663      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7664      134,   135,   136,   137,   138,   139,   140,   141,   142,     0,
7665        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7666       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7667       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7668       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7669       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7670       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7671       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7672       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7673       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7674       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7675       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7676      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7677      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7678      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7679      141,   142,     0,     1,    -1,     3,     4,     5,     6,     7,
7680        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7681       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7682       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7683       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7684       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7685       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7686       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7687       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7688       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7689       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7690      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7691      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7692      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7693      138,   139,   140,   141,   142,     0,     1,    -1,     3,     4,
7694        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7695       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7696       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7697       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7698       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7699       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7700       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7701       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7702       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7703       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7704      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7705      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7706      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7707      135,   136,   137,   138,   139,   140,   141,   142,     0,     1,
7708       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7709       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7710       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7711       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7712       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7713       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7714       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7715       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7716       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7717       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7718      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7719      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7720      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7721      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7722      142,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7723        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7724       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7725       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7726       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7727       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7728       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7729       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7730       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7731       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7732       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7733      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7734      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7735      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7736      139,   140,   141,   142,     0,     1,    -1,     3,     4,     5,
7737        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7738       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7739       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7740       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7741       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7742       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7743       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7744       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7745       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7746       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7747      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7748      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7749      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7750      136,   137,   138,   139,   140,   141,   142,     0,     1,    -1,
7751        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7752       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7753       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7754       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7755       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7756       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7757       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7758       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7759       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7760       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7761      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7762      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7763      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7764      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7765        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7766       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7767       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7768       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7769       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7770       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7771       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7772       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7773       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7774       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7775      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7776      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7777      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7778      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7779      140,   141,   142,     0,     1,    -1,     3,     4,     5,     6,
7780        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7781       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7782       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7783       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7784       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7785       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7786       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7787       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7788       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7789       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7790      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7791      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7792      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7793      137,   138,   139,   140,   141,   142,     0,     1,    -1,     3,
7794        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7795       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7796       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7797       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7798       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7799       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7800       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7801       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7802       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7803       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7804      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7805      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7806      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7807      134,   135,   136,   137,   138,   139,   140,   141,   142,     0,
7808        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7809       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7810       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7811       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7812       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7813       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7814       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7815       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7816       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7817       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7818       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7819      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7820      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7821      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7822      141,   142,     0,     1,    -1,     3,     4,     5,     6,     7,
7823        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7824       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7825       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7826       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7827       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7828       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7829       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7830       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7831       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7832       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7833      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7834      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7835      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7836      138,   139,   140,   141,   142,     0,     1,    -1,     3,     4,
7837        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7838       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7839       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7840       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7841       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7842       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7843       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7844       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7845       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7846       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7847      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7848      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7849      125,   126,   127,   128,   129,   130,   131,   132,    -1,   134,
7850      135,   136,   137,   138,   139,   140,   141,   142,     1,    -1,
7851        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7852       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7853       23,    24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,
7854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7857       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7858       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7859       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7860       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
7861      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
7862       -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
7863      123,    -1,   125,   126,    -1,    -1,   129,    -1,   131,   132,
7864       -1,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7865        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7868       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7869       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7870       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7871       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7872       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7873       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7874       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7875      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7876      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
7877       -1,   121,   122,   123,   124,    -1,   126,   127,   128,   129,
7878      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
7879       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7881       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7882       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7883       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7884       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7885       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7886       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7887       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7888       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7889      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7890      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
7891      122,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
7892      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
7893        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7895       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7896       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7897       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7898       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7899       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7900       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7901       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7902       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7903      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7904      114,   115,   116,   117,   118,    -1,    -1,   121,   122,   123,
7905      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
7906      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
7907        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7909       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7910       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7911       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7912       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7913       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7914       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7915       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7916       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7917      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7918      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
7919      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
7920      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
7921        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7923       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7924       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7925       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7926       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7927       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7928       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7929       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7930       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7931      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7932      118,    -1,    -1,   121,   122,   123,   124,    -1,   126,   127,
7933      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
7934        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7937       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7938       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7939       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7940       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7941       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7942       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7943       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7944      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7945      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
7946       -1,   121,   122,   123,   124,    -1,   126,   127,   128,    -1,
7947      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
7948       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7950       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7951       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7952       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7953       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7954       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7955       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7956       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7957       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7958      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7959      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
7960      122,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
7961      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
7962        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7964       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7965       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7966       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7967       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7968       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7969       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7970       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7971       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7972      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7973      114,   115,   116,   117,   118,    -1,    -1,   121,   122,   123,
7974      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
7975      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
7976        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7978       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7979       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7980       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7981       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7982       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7983       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7984       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7985       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7986      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7987      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
7988      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
7989      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
7990        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7992       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7993       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7994       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7995       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7996       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7997       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7998       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7999       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8000      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8001      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8002      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8003        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8004       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8006       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8007       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8008       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8009       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8010       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8011       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8012       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8013      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8014      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8015       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8016      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8017       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8019       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8020       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8021       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8022       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8023       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8024       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8025       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8026       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8027      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8028      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8029       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8030      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8031        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8033       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8034       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8035       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8036       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8037       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8038       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8039       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8040       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8041      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8042      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8043      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8044      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8045        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8047       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8048       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8049       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8050       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8051       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8052       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8053       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8054       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8055      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8056      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8057      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8058      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8059        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8061       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8062       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8063       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8064       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8065       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8066       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8067       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8068       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8069      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8070      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8071      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8072        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8075       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8076       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8077       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8078       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8079       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8080       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8081       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8082      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8083      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8084       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8085      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8086       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8088       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8089       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8090       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8091       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8092       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8093       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8094       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8095       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8096      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8097      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8098       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8099      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8100        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8102       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8103       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8104       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8105       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8106       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8107       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8108       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8109       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8110      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8111      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8112      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8113      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8114        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8116       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8117       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8118       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8119       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8120       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8121       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8122       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8123       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8124      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8125      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8126      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8127      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8128        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8130       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8131       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8132       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8133       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8134       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8135       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8136       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8137       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8138      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8139      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8140      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8141        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8144       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8145       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8146       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8147       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8148       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8149       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8150       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8151      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8152      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8153       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8154      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8155       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8157       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8158       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8159       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8160       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8161       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8162       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8163       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8164       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8165      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8166      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8167       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8168      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8169        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8171       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8172       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8173       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8174       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8175       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8176       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8177       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8178       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8179      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8180      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8181      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8182      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8183        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8185       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8186       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8187       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8188       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8189       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8190       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8191       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8192       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8193      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8194      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8195      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8196      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8197        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8199       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8200       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8201       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8202       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8203       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8204       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8205       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8206       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8207      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8208      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8209      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8210        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8213       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8214       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8215       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8216       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8217       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8218       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8219       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8220      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8221      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8222       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8223      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8224       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8226       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8227       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8228       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8229       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8230       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8231       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8232       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8233       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8234      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8235      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8236       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8237      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8238        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8240       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8241       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8242       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8243       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8244       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8245       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8246       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8247       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8248      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8249      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8250      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8251      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8252        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8254       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8255       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8256       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8257       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8258       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8259       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8260       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8261       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8262      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8263      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8264      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8265      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8266        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8268       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8269       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8270       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8271       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8272       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8273       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8274       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8275       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8276      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8277      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8278      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8279        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8282       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8283       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8284       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8285       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8286       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8287       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8288       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8289      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8290      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8291       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8292      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8293       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8295       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8296       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8297       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8298       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8299       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8300       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8301       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8302       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8303      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8304      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8305       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8306      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8307        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8308       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8309       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8310       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8311       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8312       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8313       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8314       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8315       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8316       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8317      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8318      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8319      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8320      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8321        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8323       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8324       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8325       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8326       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8327       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8328       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8329       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8330       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8331      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8332      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8333      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8334      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8335        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8337       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8338       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8339       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8340       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8341       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8342       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8343       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8344       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8345      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8346      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8347      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8348        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8349       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8351       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8352       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8353       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8354       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8355       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8356       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8357       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8358      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8359      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8360       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8361      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8362       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8364       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8365       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8366       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8367       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8368       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8369       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8370       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8371       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8372      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8373      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8374       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8375      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8376        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8378       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8379       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8380       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8381       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8382       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8383       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8384       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8385       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8386      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8387      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8388      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8389      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8390        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8392       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8393       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8394       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
8395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8396       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8397       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8398       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8399       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8400      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8401      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
8402      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
8403      136,   137,     1,    -1,     3,     4,     5,     6,    -1,     8,
8404        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8406       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8407       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8408       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8409       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    -1,
8410       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8411       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    88,
8412       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8413       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8414      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8415       -1,    -1,   121,    -1,   123,   124,    -1,    -1,    -1,   128,
8416       -1,   130,   131,   132,    -1,   134,   135,   136,   137,     1,
8417       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8419       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8420       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8421       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8422       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8423       62,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8424       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8425       -1,    -1,    84,    85,    86,    87,    88,    89,    90,    -1,
8426       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8427      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8428      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8429       -1,   123,   124,    -1,    -1,    -1,   128,    -1,   130,   131,
8430      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8431        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8433       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8434       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8435       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8437       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8438       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8439       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8440       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8441      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8442      115,   116,   117,   118,    -1,    -1,   121,    -1,   123,   124,
8443       -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,   134,
8444      135,   136,   137,     1,    -1,     3,     4,     5,     6,    -1,
8445        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8447       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8448       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8449       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8451       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8452       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8454       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8455      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8456      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8457      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8458        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8461       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8462       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8464       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8465       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8466       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8468       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8469      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
8470      121,    -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,
8471      131,   132,    -1,   134,   135,   136,   137,     1,    -1,     3,
8472        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8474       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8475       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8476       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8478       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8479       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8480       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8481       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8482      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8483      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8484      124,    -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,
8485      134,   135,   136,   137,     1,    -1,     3,     4,     5,     6,
8486       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8488       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8489       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8490       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8492       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8493       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8494       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8495       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8496      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8497      117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,
8498      127,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8499      137,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8502       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8503       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8504       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8505       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8506       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8507       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8509      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8510      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8511       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8512       -1,   131,   132,    -1,   134,   135,   136,   137,     1,    -1,
8513        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8515       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8516       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8517       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8519       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8520       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8521       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8522       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8523      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8524      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
8525      123,   124,    -1,   126,   127,   128,    -1,    -1,   131,   132,
8526       -1,   134,   135,   136,   137,     1,    -1,     3,     4,     5,
8527        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8529       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8530       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8531       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8533       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8534       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8535       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8536       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8537      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8538      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8539      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
8540      136,   137,     1,    -1,     3,     4,     5,     6,    -1,     8,
8541        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8543       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8544       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8545       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8546       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8547       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8548       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8550       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8551      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8552       -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,   128,
8553       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,     1,
8554       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8556       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8557       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8558       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8560       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8561       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8562       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8563       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8564      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8565      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8566       -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,   131,
8567      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8568        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8570       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8571       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8572       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8573       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8574       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8575       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8576       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8577       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8578      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8579      115,   116,   117,   118,    -1,    -1,   121,    -1,   123,   124,
8580       -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,   134,
8581      135,   136,   137,     1,    -1,     3,     4,     5,     6,    -1,
8582        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8584       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8585       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8586       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8588       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8589       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8591       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8592      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8593      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8594      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8595        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8598       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8599       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8601       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8602       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8603       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8605       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8606      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
8607      121,    -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,
8608      131,   132,    -1,   134,   135,   136,   137,     1,    -1,     3,
8609        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8610       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8611       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8612       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8613       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8615       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8616       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8617       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8618       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8619      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8620      114,   115,   116,   117,   118,    -1,    -1,   121,     1,   123,
8621        3,     4,     5,     6,    -1,     8,     9,   131,   132,    -1,
8622      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,
8623       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8624       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8625       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8627       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8628       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
8629       83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8630       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8631      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8632      113,   114,   115,   116,   117,   118,    -1,    -1,   121,     1,
8633      123,     3,     4,     5,     6,    -1,     8,     9,   131,   132,
8634       -1,   134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,
8635       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8636       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8637       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8639       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8640       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8641       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8642       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8643      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8644      112,   113,   114,   115,    -1,    -1,   118,    -1,    -1,   121,
8645      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
8646      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8647        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8649       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,
8650       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8651       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8653       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8654       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
8655       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8656       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8657      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8658      115,    -1,    -1,   118,    -1,    -1,   121,     1,   123,     3,
8659        4,     5,     6,   128,     8,     9,   131,   132,    -1,   134,
8660      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8661       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8662       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8663       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8665       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8666       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8667       84,    85,    86,    87,    -1,     1,    -1,     3,     4,     5,
8668        6,    -1,     8,     9,    98,    -1,   100,    -1,   102,   103,
8669      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8670      114,   115,    28,    -1,   118,    -1,    -1,   121,   122,   123,
8671       -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,
8672      134,   135,   136,   137,    -1,    -1,    52,    53,    54,    55,
8673       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8674       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8675       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8676       86,    -1,    88,    89,    90,    -1,     1,    -1,     3,     4,
8677        5,     6,    98,     8,     9,    -1,   102,   103,   104,   105,
8678      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8679       -1,    -1,   118,    28,    -1,   121,   122,   123,   124,    -1,
8680      126,    -1,   128,    -1,   130,   131,   132,    -1,   134,   135,
8681      136,   137,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
8682       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8683       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
8684       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8685       85,    86,    -1,    88,    89,    90,    -1,     1,    -1,     3,
8686        4,     5,     6,    98,     8,     9,    -1,   102,   103,   104,
8687      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
8688       -1,    -1,    -1,   118,    28,    -1,   121,    -1,   123,   124,
8689       -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,   134,
8690      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    52,    53,
8691       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8692       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8693       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8694       84,    85,    86,    -1,    88,    89,    90,    -1,     1,    -1,
8695        3,     4,     5,     6,    98,     8,     9,    -1,   102,   103,
8696      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8697       -1,    -1,    -1,    -1,   118,    28,    -1,   121,    -1,   123,
8698      124,    -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,
8699      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,    52,
8700       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8701       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8702       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8703       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,    -1,
8704       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
8705      103,   104,   105,   106,   107,   108,   109,   110,   111,     1,
8706       -1,     3,     4,     5,     6,   118,     8,     9,   121,    -1,
8707      123,   124,    -1,    -1,    -1,   128,    -1,   130,   131,   132,
8708       -1,   134,   135,   136,   137,    -1,    28,    -1,    -1,    -1,
8709       -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
8710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8711       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
8712        8,     9,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8713       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8714       28,    -1,    84,    85,    86,    -1,    -1,    -1,    -1,    -1,
8715       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8716      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8717       -1,    -1,    -1,    -1,    -1,    -1,   118,    65,    -1,   121,
8718      122,   123,    -1,    71,    72,    73,    -1,    -1,    -1,   131,
8719      132,    -1,   134,   135,   136,   137,    84,    85,     1,    -1,
8720        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8721       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8722      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
8723      118,    -1,    -1,   121,   122,   123,   124,    -1,   126,    -1,
8724       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8726       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8727       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8728       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8729       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8730      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8731       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8732      123,   124,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,
8733       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8734       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8735       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8737       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8739       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8740      130,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8741       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8742        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8744       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8745      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8746       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8747       -1,    -1,    -1,   130,   131,   132,    -1,   134,   135,   136,
8748      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8749        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8750       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8751       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8752      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8753       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8754      124,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8755      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8756       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8757        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8758       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8759       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8760       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8761      121,   122,   123,   124,    -1,   126,    -1,    -1,    -1,    -1,
8762      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8763       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8764        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8766       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8767      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8768      118,    -1,    -1,   121,    -1,   123,    -1,    -1,   126,   127,
8769      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8770       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8771       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8772       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8773       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8774      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8775       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
8776       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8777      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8778       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8779        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8780       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8781      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8782       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8783      122,   123,   124,    -1,   126,    -1,    -1,    -1,    -1,   131,
8784      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8785       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8786        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8788       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8789      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8790       -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,   128,
8791       -1,    -1,   131,   132,   133,   134,   135,   136,   137,    65,
8792       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8793        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8795       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8796      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8797       -1,    -1,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8798      126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
8799      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8800       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8801       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8802       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8803      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8804       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8805      123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
8806       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8807       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8808       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8810       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8812       -1,   121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,
8813       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8814       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8815        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8817       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8818      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8819       -1,   118,    -1,    -1,   121,    -1,   123,   124,    -1,    -1,
8820       -1,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8821      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8822        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8823       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8824       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8825      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8826       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8827       -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8828      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8829       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8830        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8832       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8833       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8834      121,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
8835      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8836       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8837        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8839       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8840      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8841      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,    -1,
8842       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8843       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8844       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8845       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8846       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8847      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8848       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
8849       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8850      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8851       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8852        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8853       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8854      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8855       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8856       -1,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,
8857      132,   133,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8858       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8859        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8861       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8862      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8863       -1,    -1,   121,    -1,   123,    -1,    -1,   126,    -1,    -1,
8864       -1,   130,   131,   132,    -1,   134,   135,   136,   137,    65,
8865       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8866        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8868       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8869      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8870       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
8871      126,    -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,
8872      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8873       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8874       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8875       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8876      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8877       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
8878      123,    -1,    -1,   126,    -1,    -1,    -1,   130,   131,   132,
8879       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8880       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8881       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8883       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8885       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8886       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8887       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8888        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8890       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8891      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8892       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8893       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8894      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8895        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8896       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8897       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8898      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8899       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8900       -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8901      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8902       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8903        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8905       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8906       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8907      121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
8908      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8909       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8910        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8912       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8913      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8914      118,    -1,    -1,   121,   122,   123,   124,    -1,    -1,    -1,
8915       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8916       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8917       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8918       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8919       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8920      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8921       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,   124,
8922       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8923      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8924       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8925        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8926       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8927      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8928       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8929      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,   131,
8930      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8931       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8932        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8934       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8935      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8936       -1,    -1,   121,    -1,   123,    -1,    -1,   126,    -1,    -1,
8937       -1,   130,   131,   132,    -1,   134,   135,   136,   137,    65,
8938       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8939        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8941       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8942      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8943       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
8944      126,    -1,    -1,    -1,   130,   131,   132,    -1,   134,   135,
8945      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8946       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8947       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8948       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8949      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8950       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8951      123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,
8952       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8953       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8954       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8956       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8958       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8959       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8960       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8961        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8963       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8964      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8965       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8966       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8967      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8968        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8969       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8970       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8971      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8972       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8973      124,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,
8974      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8975       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8976        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8978       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8979       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8980      121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
8981      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8982       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8983        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8985       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8986      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8987      118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,   127,
8988      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8989       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8990       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8991       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8992       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8993      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8994       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
8995       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8996      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8997       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8998        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8999       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9000      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9001       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9002      122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,
9003      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9004       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9005        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9007       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9008      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9009       -1,    -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,
9010       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,    65,
9011       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9012        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9014       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9015      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9016       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
9017       -1,    -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,
9018      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9019       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9020       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9021       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9022      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9023       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9024      123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
9025       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9026       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9027       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9029       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9031       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9032       -1,   131,   132,   133,   134,   135,   136,   137,    65,    -1,
9033       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9034        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9036       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9037      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9038       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9039       -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,   136,
9040      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9041        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9042       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9043       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9044      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9045       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
9046       -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
9047      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
9048       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9049        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9051       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9052       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
9053      121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9054      131,   132,   133,   134,   135,   136,   137,    65,    -1,    -1,
9055       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9056        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9058       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9059      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9060      118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,
9061       -1,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
9062       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9063       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9064       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9065       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9066      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9067       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
9068       -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
9069      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
9070       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9071        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9072       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9073      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9075       -1,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,
9076      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9077       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9078        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9080       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9081      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9082       -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,
9083       -1,    -1,   131,   132,   133,   134,   135,   136,   137,    65,
9084       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9085        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9088      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9089       -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,
9090       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
9091      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9092       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9093       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9094       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9095      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9096       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9097      123,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,   132,
9098       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9099       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9100       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9102       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9104       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,   128,    -1,
9105       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
9106       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9107        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9109       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9110      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9111       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9112       -1,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
9113      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9114        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9115       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9116       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9117      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9118       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
9119       -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
9120      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
9121       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9122        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9124       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9125       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
9126      121,    -1,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
9127      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
9128       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9129        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9131       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9132      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9133      118,    -1,    -1,   121,   122,   123,    -1,    -1,    -1,    -1,
9134       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
9135       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9136       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9137       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9138       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9139      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9140       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,
9141       -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,   134,
9142      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
9143       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9144        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9145       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9146      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9147       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9148      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
9149      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9150       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9151        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9153       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9154      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9155       -1,    -1,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
9156       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,    65,
9157       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9158        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9160       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9161      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9162       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
9163       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
9164      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9165       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9166       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9167       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9168      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9169       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9170      123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,
9171       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9172       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9173       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9175       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9177       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9178       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
9179       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,
9181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9182       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9183      107,   108,   109,     0,     1,    -1,     3,     4,     5,    -1,
9184       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9185       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
9186      137,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9187       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9188       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9189       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9190       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9191       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9192       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9193       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9194      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9195      117,   118,    -1,    -1,   121,   122,   123,   124,    -1,   126,
9196      127,    -1,    -1,    -1,   131,   132,     0,     1,    -1,     3,
9197        4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9199       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9200       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9201       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
9202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9203       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9204       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9205       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9206       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9207      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
9208      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
9209      124,    -1,   126,   127,    -1,    -1,    -1,   131,   132,     0,
9210        1,    -1,     3,     4,     5,    -1,    -1,    -1,    -1,    -1,
9211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9213       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9214       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9215       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9216       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9217       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9218       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9219       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9220       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9221      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9222      121,    -1,   123,   124,     0,     1,   127,     3,     4,     5,
9223      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9224       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9225       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9226       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9227       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9229       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9230       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9231       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9232       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9233      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9234      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,     0,
9235        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9238       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9239       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9240       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9241       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9242       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9243       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9244       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9245       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9246      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9247      121,    -1,   123,   124,     0,     1,   127,     3,     4,     5,
9248      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9250       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9251       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9252       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9254       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9255       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9256       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9257       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9258      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9259      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9260        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9263       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9264       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9266       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9267       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9268       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9269       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9270       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9271      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9272      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9273      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9275       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9276       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9277       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9278       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9279       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9280       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9281       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9282       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9283      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9284      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9285        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9288       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9289       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9291       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9292       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9293       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9294       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9295       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9296      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9297      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9298      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9300       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9301       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9302       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9304       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9305       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9306       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9307       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9308      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9309      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9310        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9313       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9314       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9315       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9316       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9317       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9318       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9319       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9320       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9321      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9322      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9323      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9325       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9326       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9327       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9329       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9330       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9331       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9332       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9333      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9334      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9335        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9338       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9339       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9341       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9342       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9343       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9344       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9345       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9346      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9347      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9348      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9349       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9350       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9351       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9352       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9354       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9355       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9356       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9357       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9358      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9359      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9360        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9363       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9364       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9366       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9367       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9368       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9369       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9370       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9371      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9372      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9373      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9375       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9376       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9377       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9379       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9380       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9381       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9382       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9383      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9384      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9385        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9388       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9389       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9391       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9392       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9393       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9394       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9395       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9396      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9397      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9398      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9399       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9400       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9401       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9402       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9404       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9405       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9406       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9407       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9408      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9409      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9410        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9413       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9414       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9416       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9417       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9418       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9419       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9420       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9421      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9422      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9423      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9425       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9426       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9427       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9429       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9430       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9431       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9432       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9433      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9434      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9435        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9438       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9439       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9441       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9442       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9443       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9444       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9445       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9446      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9447      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9448      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9449       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9450       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9451       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9452       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9454       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9455       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9456       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9457       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9458      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9459      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9460        1,   127,     3,     4,     5,   131,   132,    -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,    -1,    -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,    -1,    -1,
9472      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9473      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9476       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9477       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9479       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9480       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9481       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9482       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9483      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9484      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9485        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9488       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9489       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9491       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9492       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9493       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9494       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9495       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9496      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9497      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9498      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9501       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9502       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9504       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9505       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9506       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9507       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9508      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9509      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9510        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9513       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9514       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9516       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9517       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9518       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9519       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9520       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9521      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9522      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9523      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9525       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9526       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9527       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9529       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9530       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9531       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9532       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9533      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9534      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9535        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9538       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9539       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9541       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9542       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9543       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9544       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9545       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9546      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9547      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9548      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9550       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9551       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9552       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9554       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9555       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9556       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9557       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9558      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9559      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9560        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9563       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9564       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9566       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9567       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9568       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9569       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9570       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9571      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9572      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9573      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9575       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9576       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9577       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9579       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9580       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9581       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9582       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9583      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9584      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9585        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9586       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9588       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9589       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9590       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9591       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9592       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9593       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9594       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9595       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9596      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9597      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9598      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9600       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9601       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9602       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9604       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9605       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9606       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9607       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9608      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9609      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9610        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9613       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9614       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9616       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9617       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9618       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9619       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9620       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9621      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9622      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9623      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9626       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9627       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9628       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9629       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9630       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9631       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9632       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9633      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9634      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9635        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9638       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9639       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9641       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9642       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9643       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9644       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9645       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9646      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9647      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9648      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9650       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9651       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9652       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9654       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9655       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9656       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9657       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9658      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9659      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9660        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9662       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9663       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9664       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9666       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9667       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9668       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9669       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9670       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9671      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9672      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9673      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9675       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9676       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9677       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9679       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9680       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9681       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9682       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9683      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9684      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9685        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9688       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9689       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9691       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9692       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9693       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9694       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9695       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9696      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9697      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9698      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9700       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9701       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9702       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9704       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9705       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9706       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9707       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9708      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9709      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9710        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9713       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9714       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9716       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9717       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9718       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9719       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9720       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9721      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9722      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9723      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9725       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9726       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9727       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9729       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9730       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9731       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9732       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9733      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9734      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9735        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9738       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9739       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9741       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9742       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9743       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9744       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9745       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9746      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9747      121,    -1,   123,   124,     1,    -1,     3,     4,     5,    -1,
9748      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9750       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9751       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9752       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9754       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9755       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9756       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9757       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9758      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9759      117,   118,    -1,     1,   121,     3,   123,   124,    -1,    -1,
9760       -1,    -1,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
9761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9762       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9763       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9764       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9766       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9767       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9769       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9770        3,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
9771      118,    -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,
9772       -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,    32,
9773       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9774       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9776       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9777       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9778       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9779       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9780       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9781      113,   114,   115,   116,   117,   118,     3,    -1,   121,    -1,
9782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132,
9783       -1,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9784       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9785       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9786       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9789       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9790       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9791       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9792       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9793      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9794       -1,    -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9795       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9796       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9798       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9799       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9800       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9802       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9803      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9804       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,
9805      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9806       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9807       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9810       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9811       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9812       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9813       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9814      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9815       -1,   128,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9816       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9817       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9819       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9820       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9821       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9823       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9824      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9826      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9827       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9828       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9831       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9832       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9833       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9834       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9835      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9836       -1,    -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9837       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9838       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9840       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9841       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9842       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9844       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9845      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9847      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9848       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9849       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9852       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9853       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9854       -1,    -1,    -1,   100,    -1,     3,    -1,    -1,    -1,    -1,
9855       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
9856      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9857       28,    -1,    -1,    -1,    -1,   132,    34,    35,    36,    37,
9858       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9859       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9861       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9862       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9864       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9865        3,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
9866      118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,    -1,
9867       -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,    32,
9868       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9869       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9871       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9872       -1,    74,    75,    76,    77,    -1,    79,    -1,    -1,    82,
9873       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9874       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9875       -1,    -1,   105,     3,    -1,    -1,    -1,   110,   111,   112,
9876      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
9877       -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,    28,    29,
9878       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9879       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9880       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9881       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
9882       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    79,
9883       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9885      100,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9886      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9887       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9888      130,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9889       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9890       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9893       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9894       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9895       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,     3,
9896       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
9897      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9898       -1,    -1,    -1,   130,    28,    29,    30,    31,    32,    33,
9899       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9900       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9902       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9903       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9904       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9905       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9906        1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
9907      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,    -1,
9908       -1,    -1,    -1,    -1,    -1,    -1,   130,    28,    29,    30,
9909       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9910       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9912       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9913       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9914       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9916        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9917      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9918       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9919       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9920       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9922       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9923       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9924       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9926        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9927      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9928       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9929       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9930       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9932       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9933       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9934       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9936        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9937      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9938       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9939       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9940       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9942       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9943       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9944       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9946        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9947      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9948       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9949       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9950       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9951       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9952       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9953       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9954       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9956        0,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,   110,
9957      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9958       -1,    -1,    -1,    -1,    -1,    -1,   127,    -1,    28,    29,
9959       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9960       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9961       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
9962       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9963       -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,    79,
9964       80,    81,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9966      100,   101,     3,    -1,    -1,   105,    -1,    -1,    -1,    -1,
9967      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9968       -1,   121,    -1,    -1,   124,    -1,    -1,    28,    29,    30,
9969       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9970       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9972       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9973       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9974       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9976       -1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9977      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9978       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9979       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9980       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9982       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9983       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9984       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9986       -1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9987      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9988       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9989       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9990       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9992       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9993       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9994       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9996        1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9997      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9998       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9999       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10000       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10002       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10003       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10004       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,
10006        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10007      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10008      121,    -1,    -1,   124,    -1,    28,    29,    30,    31,    32,
10009       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10010       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10012       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10013       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10014       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10015       -1,    -1,    -1,    -1,    -1,    -1,     1,   100,     3,    -1,
10016       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10017      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
10018       -1,   124,    -1,    28,    29,    30,    31,    32,    33,    34,
10019       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10020       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10022       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10023       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10024       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10025       -1,    -1,    -1,    -1,     1,   100,     3,    -1,    -1,    -1,
10026       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10027      115,   116,   117,   118,    -1,    -1,   121,    -1,    -1,   124,
10028       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10029       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10030       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10033       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10034       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10035       -1,    -1,    -1,   100,     3,    -1,    -1,    -1,    -1,    -1,
10036       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10037      117,   118,    -1,    -1,   121,    -1,    -1,   124,    -1,    28,
10038       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10039       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10040       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10041       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10042       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10043       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10045       -1,   100,   101,    -1,     0,     1,   105,     3,    -1,    -1,
10046       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
10047       -1,    -1,   121,    -1,    -1,   124,    -1,    -1,    -1,    -1,
10048       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10049       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10050       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
10051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10052       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10053       -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,    85,
10054       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10055       -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10056       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10057      116,   117,   118,    -1,    -1,   121,    28,    29,    30,    31,
10058       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10059       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10061       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10062       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10063       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10064       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10065       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10066      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
10067      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10068       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10069       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10072       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10073       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10074       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10075       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10076      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10077       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10078       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10080       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10081       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10082       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10083       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10085      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10086      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10087       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10088       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10091       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10092       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10093       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10094       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10095      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10096       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10097       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10099       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10100       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10101       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10102       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10104      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10105      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10106       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10107       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10110       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10111       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10112       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10113       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10114      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10115       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10116       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10118       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10119       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10120       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10121       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10123      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10124      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10125       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10126       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10129       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10130       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
10131        3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10132       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10133      117,   118,    -1,    -1,   121,    28,    29,    30,    31,    32,
10134       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10135       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10137       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10138       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10139       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10140       -1,    -1,     1,    -1,     3,    -1,    -1,   100,    -1,    -1,
10141       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10142      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    28,
10143       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10144       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10145       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10147       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10148       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10150       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10151       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10152       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
10153       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10154       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10156       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10157       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10158       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10159       -1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10160       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10161      115,   116,   117,   118,    -1,    -1,   121,    28,    29,    30,
10162       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10163       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10165       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10166       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10167       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10168       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   100,
10169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10170      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10171      121,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10172       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10173       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10176       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10177       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10178        3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10179       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10180      117,   118,    -1,    -1,   121,    28,    29,    30,    31,    32,
10181       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10182       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10184       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10185       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10186       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10187       -1,    -1,    -1,    -1,     3,    -1,    -1,   100,    -1,    -1,
10188       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10189      113,   114,   115,   116,   117,    -1,    -1,    -1,   121,    28,
10190       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10191       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10192       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10194       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10195       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10197       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10198       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10199       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
10200       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10201       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10203       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10204       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10205       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10206        1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10207       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10208      115,   116,   117,   118,    -1,    -1,   121,    28,    29,    30,
10209       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10210       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10211       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10212       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10213       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10214       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10215        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10217      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10218       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10219       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10220       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10221       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10222       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10223       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10224        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10226      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10227       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10228       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10229       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10230       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10231       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10232       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10233        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10235      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10236       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10237       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10239       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10240       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10241       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10242       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10244      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10245       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10246       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10247       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10248       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10249       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10250       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10251       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10253      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10254       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10255       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10256       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10257       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10258       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10259       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10260       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10262      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10263       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10264       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10266       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10267       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10268       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10269       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10271      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10272       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10273       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10275       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10276       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10277       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10278       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10279       -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,
10280      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10281       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10282       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10284       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10285       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10286       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10287       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10289      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10290       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10291       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10293       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10294       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,
10295       81,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10296       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10298      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10299       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10300       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10302       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10303       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10304       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10305       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10306       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10307      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10308       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10309       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10311       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10312       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10313       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10314       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10315       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10316      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10317       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10318       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10319       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10320       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10321       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10322       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10325      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10326      121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10327       -1,   132,    28,    29,    30,    31,    32,    33,    34,    35,
10328       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10329       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10331       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10332       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10333       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10334       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10335       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10336      116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10337       -1,   127,    28,    29,    30,    31,    32,    33,    34,    35,
10338       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10339       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10341       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10342       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10343       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10344       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10345       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10346      116,   117
10347 };
10348
10349 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10350    symbol of state STATE-NUM.  */
10351 static const yytype_uint16 yystos[] =
10352 {
10353        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10354       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10355       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10356       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10357      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10358      117,   118,   121,   124,   144,   145,   146,   148,   173,   210,
10359      211,   212,   213,   214,   215,   267,   270,   271,   274,   275,
10360      276,   277,   278,   279,   280,   282,   286,   289,   290,   291,
10361      292,   293,   294,   299,   300,   309,   310,   311,   318,   319,
10362      323,   326,   331,   360,   363,   364,   382,   383,   385,   386,
10363      387,   388,   389,   390,    77,   130,     5,    31,   215,   384,
10364      215,   121,   121,   121,   148,   215,   384,   280,   281,   318,
10365      326,    37,   146,   215,   308,   309,   311,   313,   314,   315,
10366      317,   318,   326,   329,   330,   335,   119,   124,   145,   146,
10367      215,   128,   130,   124,   128,   127,   118,   119,   210,   215,
10368      128,   148,   215,   128,   130,   127,   119,   128,   130,   128,
10369      127,   128,   146,   215,   318,     1,    31,    37,    38,   124,
10370      144,   146,   212,   214,   215,   267,   277,   278,   280,   282,
10371      311,   315,   318,   326,   329,   330,   331,   333,   341,   342,
10372      343,   344,    37,    38,   146,   318,   343,   121,   132,     1,
10373       29,    30,    31,    32,    33,    65,   116,   117,   122,   144,
10374      215,   266,   270,   272,   273,   280,   282,   286,   287,   288,
10375      294,   298,   306,   307,   347,   348,   349,   350,   351,   352,
10376      326,   121,   311,   318,    34,    35,    36,    37,    38,    39,
10377       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10378      112,   113,   114,   115,   128,   148,   169,   170,   266,   271,
10379      272,   280,   283,   287,   289,   297,   362,   365,   366,   367,
10380      372,   373,   374,    31,    76,   130,   212,   214,   299,   363,
10381      364,   382,   383,   390,     1,   212,   276,   293,   299,   331,
10382      360,   386,     1,   385,   386,     0,   215,   384,   384,     5,
10383      125,   384,     1,     4,     6,     8,     9,    65,    71,    72,
10384       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10385      108,   109,   118,   121,   123,   131,   132,   134,   135,   136,
10386      137,   148,   174,   175,   215,   216,   217,   218,   219,   222,
10387      223,   226,   227,   228,   229,   230,   231,   232,   233,   234,
10388      235,   236,   237,   238,   239,   240,   241,   242,   246,   247,
10389      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10390      258,   259,   260,   384,   396,   397,   398,   399,   145,   215,
10391      128,   148,   215,   280,   326,   132,   121,   132,   122,   306,
10392      307,   351,   352,   326,   329,   330,   308,   313,   317,   318,
10393      122,   318,   122,   318,   318,    85,   148,   200,   202,   204,
10394      208,   209,   215,   227,   232,   248,   252,   298,   124,   119,
10395      119,   124,     1,    68,    78,    80,    81,    88,    91,    92,
10396       93,    94,    96,    98,    99,   121,   123,   124,   127,   149,
10397      150,   151,   152,   153,   154,   155,   156,   171,   172,   174,
10398      175,   178,   179,   180,   181,   182,   183,   184,   185,   186,
10399      187,   191,   195,   196,   197,   198,   215,   223,   246,   298,
10400      310,   312,   318,   326,   331,   332,   361,    80,    81,   215,
10401      266,   270,   280,   283,   286,   294,   301,   302,     1,   127,
10402      197,   198,   146,   215,     1,   215,   268,   269,     1,   127,
10403      269,   302,    65,   201,   203,   205,   206,   207,   215,   298,
10404        1,   127,   197,   198,   302,     1,   127,   197,   198,     1,
10405      127,   197,   198,   146,   215,   126,   126,   126,   128,   326,
10406      311,   315,   318,     1,   125,   366,   373,   374,   366,   373,
10407      374,     1,   124,   126,   126,   326,   124,   133,   145,   215,
10408      241,   260,   264,   265,   126,   128,   148,   215,   127,   128,
10409      127,   128,   318,    37,   121,   132,   134,   144,   146,   215,
10410      266,   272,   280,   282,   287,   308,   309,   318,   324,   326,
10411      327,   330,     1,   122,   126,     1,   122,   126,     1,   126,
10412        1,   126,   122,   122,   311,   121,   311,   121,   121,     1,
10413      124,     1,   127,     1,    37,    38,   124,   215,   266,   272,
10414      280,   283,   287,   318,   343,   344,     1,   124,     1,   362,
10415      365,   373,   374,   362,   365,    52,    53,    54,    55,    56,
10416       57,    58,    59,    60,    61,    62,    85,    86,    88,    89,
10417       90,   124,   130,   148,   192,   193,   194,   215,   223,   227,
10418      242,   244,   248,   260,   261,   262,   323,   353,   354,   357,
10419      358,   359,   366,   367,   368,   369,   370,   371,   373,   374,
10420      376,   377,   378,   379,   380,   381,   127,    31,   215,   384,
10421      215,   210,   211,   213,   214,   308,   309,   315,   318,   326,
10422      331,   333,   366,   374,   212,   299,   125,   240,   241,   259,
10423      122,   121,   227,   248,   121,   227,   248,   227,   248,   121,
10424      215,   266,   272,   280,   283,   287,   305,   264,   121,   121,
10425      305,   264,   121,   121,   121,   121,   121,   121,   227,   248,
10426      122,   242,   244,   262,   272,   280,   282,   287,   295,   345,
10427      384,   128,   133,   176,   177,   220,   224,   242,   128,     1,
10428      127,   128,   215,     1,     7,     8,     9,   121,   129,   132,
10429       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
10430      125,   243,   177,   220,   221,   229,   249,   118,   138,   139,
10431      135,   136,    10,    11,   232,   252,    12,    13,   119,   120,
10432       14,    15,   134,   140,   141,    16,    17,   142,   243,   122,
10433        7,     8,     9,   121,   129,   132,   243,   118,   138,   139,
10434      135,   136,    10,    11,    12,    13,   119,   120,    14,    15,
10435      134,   140,   141,    16,    17,   142,   243,   122,   122,   107,
10436      215,   298,   391,   394,   395,   128,   128,   133,   145,   264,
10437      265,   133,   145,   264,   265,   122,   122,   122,   122,   308,
10438      313,   317,   122,   122,   308,    11,   120,   126,   125,   121,
10439      318,   326,   327,    65,   207,   215,   298,   207,     1,   215,
10440      266,   280,   283,   294,   303,   298,   331,   332,   121,   148,
10441      215,   215,   298,     1,   121,   303,   118,   121,   215,   298,
10442      124,   323,   373,   374,   373,   374,   373,   124,   373,   374,
10443      124,     1,   127,     1,     1,   124,   126,   126,    69,    70,
10444       91,    95,    97,   127,    69,    70,   127,   124,     1,   195,
10445      196,     1,   195,   196,     1,   125,   121,   130,   215,   284,
10446      285,   308,   314,   316,   318,   326,   333,   334,   335,     1,
10447      298,   306,   349,   326,   312,   318,   121,   130,   155,   156,
10448      171,   172,   174,   175,   184,   215,   298,   119,   148,   215,
10449      215,   266,   280,   283,   119,   119,   125,   126,     1,   124,
10450      128,    28,   147,   215,   120,   126,   125,   215,   327,   329,
10451      341,   341,   341,   124,   126,   127,   157,   158,   159,   160,
10452      161,   162,   163,   164,   165,   166,   167,   168,   220,   221,
10453      223,   241,   260,   297,   338,   339,   308,   311,   313,   315,
10454      317,   308,   315,   128,   242,   261,   336,   337,   373,   374,
10455      373,   374,   341,   342,   341,   342,   133,   133,   133,    51,
10456      347,   348,     1,   269,   128,   128,     1,   127,   197,   198,
10457        1,   127,   197,   198,   128,   122,   215,   306,   307,   318,
10458      326,   327,   351,   352,   133,   145,   264,   265,   318,   326,
10459      330,   326,   121,   132,   324,     1,     1,   126,     1,    51,
10460      215,   347,   348,   126,     1,    51,   215,   347,   348,   126,
10461        1,    51,   215,   347,   348,   126,    51,   215,   347,   348,
10462        3,    28,    44,    74,    75,   122,   320,   321,   322,   242,
10463      145,   215,   127,   128,   124,   124,   130,   264,   265,   130,
10464      121,   121,     1,   121,    52,    53,    54,    56,    57,    58,
10465       59,    62,    86,   215,   262,   323,   353,   376,   380,   121,
10466      215,   124,   124,   124,   220,   221,   244,   262,   121,   280,
10467      121,   121,   188,   215,   124,   124,   124,   130,   129,   243,
10468        1,   129,   124,   126,   244,   262,   243,   122,   126,   244,
10469        1,   368,   369,   368,   369,   353,   354,   362,   365,   353,
10470      354,   362,   365,     1,     1,   384,   384,   146,   215,   128,
10471      128,   326,   315,   318,   366,   374,   366,   374,   374,   241,
10472      142,   124,   142,    65,   144,   215,   272,   280,   282,   287,
10473      296,   346,   215,   297,   119,   121,   132,   215,   266,   272,
10474      280,   283,   287,   318,   325,   326,   328,   215,   266,   272,
10475      280,   283,   287,   304,   244,   345,   373,   215,   132,   328,
10476      304,   242,   384,   384,   384,   242,   346,   122,   215,   272,
10477      280,   282,   287,   327,   122,   129,     1,   167,   168,     1,
10478      127,   126,   133,     1,   167,   168,   127,     1,   167,   168,
10479        1,   215,   122,   221,   224,   225,   261,     1,   215,   244,
10480      262,   220,   242,     1,   229,   249,   229,   249,   229,   249,
10481      230,   250,   230,   250,   231,   251,   231,   251,   232,   252,
10482      232,   252,   232,   252,   220,   221,   234,   253,   220,   221,
10483      234,   253,   220,   221,   235,   254,   220,   221,   236,   255,
10484      220,   221,   237,   256,   238,   257,   239,   258,   130,   220,
10485      221,   244,   245,   262,   263,   220,   242,     1,   215,   122,
10486      224,   225,     1,   215,   244,   262,   220,   242,   229,   249,
10487      229,   249,   229,   249,   230,   250,   230,   250,   231,   251,
10488      231,   251,   232,   252,   232,   252,   232,   252,   232,   252,
10489      220,   221,   234,   253,   220,   221,   234,   253,   220,   221,
10490      235,   254,   220,   221,   236,   255,   220,   221,   237,   256,
10491      238,   257,   239,   258,   130,   244,   245,   262,   263,   220,
10492      242,   119,   120,   215,   392,   393,   215,   127,   391,   394,
10493      395,   395,   133,   133,   133,   133,   133,   133,   208,   200,
10494      202,   204,   215,   318,   326,   120,   125,   327,   120,   128,
10495      119,   128,   215,   266,   280,   283,   327,   318,   326,   333,
10496      334,   188,   285,   308,   318,   326,   128,   215,   128,   215,
10497      327,   215,   318,   121,   124,   127,   178,   179,   178,   179,
10498      373,   373,   373,   217,   373,   373,     1,   338,   339,   122,
10499      264,   265,   128,   126,     1,   298,   306,   349,   326,   308,
10500      316,   318,   130,   323,   215,   121,   312,   312,   215,     1,
10501        1,   285,   209,   119,   207,   207,   264,   265,   268,   197,
10502      198,     1,   127,   269,   125,   130,   125,   130,   206,   202,
10503      215,   125,   215,   125,   373,   374,     1,   124,   126,   124,
10504      126,   124,   159,   160,   163,   164,   165,   127,   157,   160,
10505      124,   127,   159,   160,   163,   164,   165,   125,    37,   333,
10506      334,   335,   336,   337,   340,     1,   127,   269,     1,   127,
10507      269,     1,   127,   197,   198,   318,   326,   327,   122,   122,
10508      122,   133,   133,   133,   326,   324,   122,   351,   352,   133,
10509      145,   264,   265,   347,   348,   298,   347,   347,   347,   348,
10510      122,   121,   122,   126,   321,   122,   122,   122,     1,   167,
10511      168,   353,   354,   362,   365,   130,   130,   353,   354,   362,
10512      365,   244,   262,   244,   262,   122,   244,   262,   130,   264,
10513      265,   130,   121,   121,   353,   121,   221,   262,   121,   130,
10514       56,     1,   122,   124,   215,   244,   262,   375,   124,   124,
10515      124,   124,   124,   384,   121,   242,   242,   215,   353,   354,
10516      362,   365,    90,   221,   261,    88,    89,    90,   242,   261,
10517      221,   261,   242,   261,   119,   315,   374,   374,   124,   244,
10518      245,   262,   263,   244,   245,   262,   263,   144,   145,   144,
10519      272,   280,   282,   287,   327,   122,   122,   122,   327,   209,
10520      122,   318,   328,   351,   352,   264,   265,   119,   326,   121,
10521      325,   132,   119,   132,   215,   266,   272,   280,   283,   287,
10522      328,   122,   122,   122,   122,   264,   265,   132,   132,   328,
10523      126,   122,   126,   126,   126,   122,   229,   249,   384,     1,
10524      127,   220,   242,     1,     1,   122,   126,   122,   133,   133,
10525        1,   126,   130,   130,   126,   130,   130,   122,   133,   133,
10526      130,   130,   130,   130,   215,   215,   124,   126,   215,   384,
10527      127,   127,   318,   326,   202,   209,   119,   128,   128,   215,
10528      326,   318,   122,   326,   308,   122,   128,   128,   215,   122,
10529        1,   167,   168,   284,   318,   215,   121,   308,   316,   316,
10530      264,   265,   121,   122,   120,   209,   120,   120,   124,     1,
10531      124,   200,   199,   298,   200,   199,   204,   125,   128,     1,
10532      161,   162,     1,   161,   162,   374,     1,   338,   339,   126,
10533      127,   336,   337,     1,   124,     1,   124,   326,   324,   122,
10534      122,   122,   133,   133,   133,   327,   330,   244,   122,   321,
10535        1,   353,   354,   362,   365,   353,   354,   362,   365,   122,
10536      122,   122,   122,     1,   353,   122,   244,   353,   354,   130,
10537      130,   262,   122,   244,   262,    56,   262,   375,   384,   121,
10538      353,   130,   124,     1,   124,     1,   122,   262,   375,     3,
10539      122,   130,   384,   122,   122,   126,   121,   121,   188,   130,
10540      130,   130,   130,   130,   130,   130,   130,   122,   122,     1,
10541      122,   120,   318,   326,   328,   122,   122,   122,   133,   133,
10542      209,   325,   122,   351,   352,   264,   265,   209,   264,   265,
10543      119,   132,   121,   336,   133,   133,   264,   265,   264,   265,
10544      132,   345,   215,   215,   242,     1,   221,   261,   220,   221,
10545      220,   221,   241,   259,   220,   221,   241,   259,   220,   221,
10546      220,   221,   241,   259,   220,   221,   241,   259,   220,   221,
10547      241,   259,   220,   221,   241,   259,   220,   221,   241,   259,
10548      220,   221,   241,   259,   392,   124,   124,   120,   209,   128,
10549      373,   308,   125,   128,     1,   121,   130,   130,   120,   197,
10550      198,   124,   197,   198,   125,   327,   125,   204,   340,   127,
10551      336,   337,     1,   197,   198,   197,   198,   122,   353,   353,
10552      353,   353,   353,   354,   122,   121,   375,   122,   244,   262,
10553      244,   353,     1,   122,   244,   262,   132,   355,   356,   384,
10554      124,   356,     3,   122,   130,   128,   188,   242,   242,     1,
10555        1,   325,   122,   120,   122,   122,   133,   133,   120,   133,
10556      133,   209,   264,   265,   345,   133,   133,   133,   133,   264,
10557      265,   122,   122,   122,   122,   120,   338,   264,   265,   264,
10558      265,   197,   198,   200,   200,   126,   127,     1,    64,    64,
10559      244,   262,   122,   244,   262,   122,   124,   122,   124,   353,
10560      354,   122,   353,   354,   215,   122,   126,   130,   121,     3,
10561      122,   130,   356,   124,   356,    73,   188,   189,   190,   122,
10562      122,   122,   126,   120,   133,   133,   122,   133,   133,   124,
10563      127,   353,   353,   122,   122,   124,   353,   244,   353,   354,
10564      133,   124,   355,   356,   242,   356,   124,   356,   122,   130,
10565        3,   122,   130,   373,   373,   127,   189,   128,   188,   229,
10566      249,   336,   122,   384,   122,   122,   122,   122,   130,   124,
10567      356,   356,   124,   356,   190,   122,   353,   121,   124,   124,
10568      124,   356,   122,   122,   122,   130,   127,   242,   122,   124,
10569      124,   124,   356,   122,   124,   122,   124
10570 };
10571
10572 #define yyerrok         (yyerrstatus = 0)
10573 #define yyclearin       (yychar = YYEMPTY)
10574 #define YYEMPTY         (-2)
10575 #define YYEOF           0
10576
10577 #define YYACCEPT        goto yyacceptlab
10578 #define YYABORT         goto yyabortlab
10579 #define YYERROR         goto yyerrorlab
10580
10581
10582 /* Like YYERROR except do call yyerror.  This remains here temporarily
10583    to ease the transition to the new meaning of YYERROR, for GCC.
10584    Once GCC version 2 has supplanted version 1, this can go.  However,
10585    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10586    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10587    discussed.  */
10588
10589 #define YYFAIL          goto yyerrlab
10590 #if defined YYFAIL
10591   /* This is here to suppress warnings from the GCC cpp's
10592      -Wunused-macros.  Normally we don't worry about that warning, but
10593      some users do, and we want to make it easy for users to remove
10594      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10595 #endif
10596
10597 #define YYRECOVERING()  (!!yyerrstatus)
10598
10599 #define YYBACKUP(Token, Value)                                  \
10600 do                                                              \
10601   if (yychar == YYEMPTY && yylen == 1)                          \
10602     {                                                           \
10603       yychar = (Token);                                         \
10604       yylval = (Value);                                         \
10605       yytoken = YYTRANSLATE (yychar);                           \
10606       YYPOPSTACK (1);                                           \
10607       goto yybackup;                                            \
10608     }                                                           \
10609   else                                                          \
10610     {                                                           \
10611       yyerror (YY_("syntax error: cannot back up")); \
10612       YYERROR;                                                  \
10613     }                                                           \
10614 while (YYID (0))
10615
10616
10617 #define YYTERROR        1
10618 #define YYERRCODE       256
10619
10620
10621 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10622    If N is 0, then set CURRENT to the empty location which ends
10623    the previous symbol: RHS[0] (always defined).  */
10624
10625 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10626 #ifndef YYLLOC_DEFAULT
10627 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10628     do                                                                  \
10629       if (YYID (N))                                                    \
10630         {                                                               \
10631           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10632           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10633           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10634           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10635         }                                                               \
10636       else                                                              \
10637         {                                                               \
10638           (Current).first_line   = (Current).last_line   =              \
10639             YYRHSLOC (Rhs, 0).last_line;                                \
10640           (Current).first_column = (Current).last_column =              \
10641             YYRHSLOC (Rhs, 0).last_column;                              \
10642         }                                                               \
10643     while (YYID (0))
10644 #endif
10645
10646
10647 /* YY_LOCATION_PRINT -- Print the location on the stream.
10648    This macro was not mandated originally: define only if we know
10649    we won't break user code: when these are the locations we know.  */
10650
10651 #ifndef YY_LOCATION_PRINT
10652 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10653 #  define YY_LOCATION_PRINT(File, Loc)                  \
10654      fprintf (File, "%d.%d-%d.%d",                      \
10655               (Loc).first_line, (Loc).first_column,     \
10656               (Loc).last_line,  (Loc).last_column)
10657 # else
10658 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10659 # endif
10660 #endif
10661
10662
10663 /* YYLEX -- calling `yylex' with the right arguments.  */
10664
10665 #ifdef YYLEX_PARAM
10666 # define YYLEX yylex (YYLEX_PARAM)
10667 #else
10668 # define YYLEX yylex ()
10669 #endif
10670
10671 /* Enable debugging if requested.  */
10672 #if YYDEBUG
10673
10674 # ifndef YYFPRINTF
10675 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10676 #  define YYFPRINTF fprintf
10677 # endif
10678
10679 # define YYDPRINTF(Args)                        \
10680 do {                                            \
10681   if (yydebug)                                  \
10682     YYFPRINTF Args;                             \
10683 } while (YYID (0))
10684
10685 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10686 do {                                                                      \
10687   if (yydebug)                                                            \
10688     {                                                                     \
10689       YYFPRINTF (stderr, "%s ", Title);                                   \
10690       yy_symbol_print (stderr,                                            \
10691                   Type, Value, Location); \
10692       YYFPRINTF (stderr, "\n");                                           \
10693     }                                                                     \
10694 } while (YYID (0))
10695
10696
10697 /*--------------------------------.
10698 | Print this symbol on YYOUTPUT.  |
10699 `--------------------------------*/
10700
10701 /*ARGSUSED*/
10702 #if (defined __STDC__ || defined __C99__FUNC__ \
10703      || defined __cplusplus || defined _MSC_VER)
10704 static void
10705 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10706 #else
10707 static void
10708 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10709     FILE *yyoutput;
10710     int yytype;
10711     YYSTYPE const * const yyvaluep;
10712     YYLTYPE const * const yylocationp;
10713 #endif
10714 {
10715   if (!yyvaluep)
10716     return;
10717   YYUSE (yylocationp);
10718 # ifdef YYPRINT
10719   if (yytype < YYNTOKENS)
10720     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10721 # else
10722   YYUSE (yyoutput);
10723 # endif
10724   switch (yytype)
10725     {
10726       default:
10727         break;
10728     }
10729 }
10730
10731
10732 /*--------------------------------.
10733 | Print this symbol on YYOUTPUT.  |
10734 `--------------------------------*/
10735
10736 #if (defined __STDC__ || defined __C99__FUNC__ \
10737      || defined __cplusplus || defined _MSC_VER)
10738 static void
10739 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10740 #else
10741 static void
10742 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10743     FILE *yyoutput;
10744     int yytype;
10745     YYSTYPE const * const yyvaluep;
10746     YYLTYPE const * const yylocationp;
10747 #endif
10748 {
10749   if (yytype < YYNTOKENS)
10750     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10751   else
10752     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10753
10754   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10755   YYFPRINTF (yyoutput, ": ");
10756   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10757   YYFPRINTF (yyoutput, ")");
10758 }
10759
10760 /*------------------------------------------------------------------.
10761 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10762 | TOP (included).                                                   |
10763 `------------------------------------------------------------------*/
10764
10765 #if (defined __STDC__ || defined __C99__FUNC__ \
10766      || defined __cplusplus || defined _MSC_VER)
10767 static void
10768 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10769 #else
10770 static void
10771 yy_stack_print (yybottom, yytop)
10772     yytype_int16 *yybottom;
10773     yytype_int16 *yytop;
10774 #endif
10775 {
10776   YYFPRINTF (stderr, "Stack now");
10777   for (; yybottom <= yytop; yybottom++)
10778     {
10779       int yybot = *yybottom;
10780       YYFPRINTF (stderr, " %d", yybot);
10781     }
10782   YYFPRINTF (stderr, "\n");
10783 }
10784
10785 # define YY_STACK_PRINT(Bottom, Top)                            \
10786 do {                                                            \
10787   if (yydebug)                                                  \
10788     yy_stack_print ((Bottom), (Top));                           \
10789 } while (YYID (0))
10790
10791
10792 /*------------------------------------------------.
10793 | Report that the YYRULE is going to be reduced.  |
10794 `------------------------------------------------*/
10795
10796 #if (defined __STDC__ || defined __C99__FUNC__ \
10797      || defined __cplusplus || defined _MSC_VER)
10798 static void
10799 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10800 #else
10801 static void
10802 yy_reduce_print (yyvsp, yylsp, yyrule)
10803     YYSTYPE *yyvsp;
10804     YYLTYPE *yylsp;
10805     int yyrule;
10806 #endif
10807 {
10808   int yynrhs = yyr2[yyrule];
10809   int yyi;
10810   unsigned long int yylno = yyrline[yyrule];
10811   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10812              yyrule - 1, yylno);
10813   /* The symbols being reduced.  */
10814   for (yyi = 0; yyi < yynrhs; yyi++)
10815     {
10816       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10817       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10818                        &(yyvsp[(yyi + 1) - (yynrhs)])
10819                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10820       YYFPRINTF (stderr, "\n");
10821     }
10822 }
10823
10824 # define YY_REDUCE_PRINT(Rule)          \
10825 do {                                    \
10826   if (yydebug)                          \
10827     yy_reduce_print (yyvsp, yylsp, Rule); \
10828 } while (YYID (0))
10829
10830 /* Nonzero means print parse trace.  It is left uninitialized so that
10831    multiple parsers can coexist.  */
10832 int yydebug;
10833 #else /* !YYDEBUG */
10834 # define YYDPRINTF(Args)
10835 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10836 # define YY_STACK_PRINT(Bottom, Top)
10837 # define YY_REDUCE_PRINT(Rule)
10838 #endif /* !YYDEBUG */
10839
10840
10841 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10842 #ifndef YYINITDEPTH
10843 # define YYINITDEPTH 200
10844 #endif
10845
10846 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10847    if the built-in stack extension method is used).
10848
10849    Do not make this value too large; the results are undefined if
10850    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
10851    evaluated with infinite-precision integer arithmetic.  */
10852
10853 #ifndef YYMAXDEPTH
10854 # define YYMAXDEPTH 10000
10855 #endif
10856
10857 \f
10858
10859 #if YYERROR_VERBOSE
10860
10861 # ifndef yystrlen
10862 #  if defined __GLIBC__ && defined _STRING_H
10863 #   define yystrlen strlen
10864 #  else
10865 /* Return the length of YYSTR.  */
10866 #if (defined __STDC__ || defined __C99__FUNC__ \
10867      || defined __cplusplus || defined _MSC_VER)
10868 static YYSIZE_T
10869 yystrlen (const char *yystr)
10870 #else
10871 static YYSIZE_T
10872 yystrlen (yystr)
10873     const char *yystr;
10874 #endif
10875 {
10876   YYSIZE_T yylen;
10877   for (yylen = 0; yystr[yylen]; yylen++)
10878     continue;
10879   return yylen;
10880 }
10881 #  endif
10882 # endif
10883
10884 # ifndef yystpcpy
10885 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
10886 #   define yystpcpy stpcpy
10887 #  else
10888 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10889    YYDEST.  */
10890 #if (defined __STDC__ || defined __C99__FUNC__ \
10891      || defined __cplusplus || defined _MSC_VER)
10892 static char *
10893 yystpcpy (char *yydest, const char *yysrc)
10894 #else
10895 static char *
10896 yystpcpy (yydest, yysrc)
10897     char *yydest;
10898     const char *yysrc;
10899 #endif
10900 {
10901   char *yyd = yydest;
10902   const char *yys = yysrc;
10903
10904   while ((*yyd++ = *yys++) != '\0')
10905     continue;
10906
10907   return yyd - 1;
10908 }
10909 #  endif
10910 # endif
10911
10912 # ifndef yytnamerr
10913 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
10914    quotes and backslashes, so that it's suitable for yyerror.  The
10915    heuristic is that double-quoting is unnecessary unless the string
10916    contains an apostrophe, a comma, or backslash (other than
10917    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
10918    null, do not copy; instead, return the length of what the result
10919    would have been.  */
10920 static YYSIZE_T
10921 yytnamerr (char *yyres, const char *yystr)
10922 {
10923   if (*yystr == '"')
10924     {
10925       YYSIZE_T yyn = 0;
10926       char const *yyp = yystr;
10927
10928       for (;;)
10929         switch (*++yyp)
10930           {
10931           case '\'':
10932           case ',':
10933             goto do_not_strip_quotes;
10934
10935           case '\\':
10936             if (*++yyp != '\\')
10937               goto do_not_strip_quotes;
10938             /* Fall through.  */
10939           default:
10940             if (yyres)
10941               yyres[yyn] = *yyp;
10942             yyn++;
10943             break;
10944
10945           case '"':
10946             if (yyres)
10947               yyres[yyn] = '\0';
10948             return yyn;
10949           }
10950     do_not_strip_quotes: ;
10951     }
10952
10953   if (! yyres)
10954     return yystrlen (yystr);
10955
10956   return yystpcpy (yyres, yystr) - yyres;
10957 }
10958 # endif
10959
10960 /* Copy into YYRESULT an error message about the unexpected token
10961    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
10962    including the terminating null byte.  If YYRESULT is null, do not
10963    copy anything; just return the number of bytes that would be
10964    copied.  As a special case, return 0 if an ordinary "syntax error"
10965    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
10966    size calculation.  */
10967 static YYSIZE_T
10968 yysyntax_error (char *yyresult, int yystate, int yychar)
10969 {
10970   int yyn = yypact[yystate];
10971
10972   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
10973     return 0;
10974   else
10975     {
10976       int yytype = YYTRANSLATE (yychar);
10977       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
10978       YYSIZE_T yysize = yysize0;
10979       YYSIZE_T yysize1;
10980       int yysize_overflow = 0;
10981       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10982       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10983       int yyx;
10984
10985 # if 0
10986       /* This is so xgettext sees the translatable formats that are
10987          constructed on the fly.  */
10988       YY_("syntax error, unexpected %s");
10989       YY_("syntax error, unexpected %s, expecting %s");
10990       YY_("syntax error, unexpected %s, expecting %s or %s");
10991       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
10992       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
10993 # endif
10994       char *yyfmt;
10995       char const *yyf;
10996       static char const yyunexpected[] = "syntax error, unexpected %s";
10997       static char const yyexpecting[] = ", expecting %s";
10998       static char const yyor[] = " or %s";
10999       char yyformat[sizeof yyunexpected
11000                     + sizeof yyexpecting - 1
11001                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11002                        * (sizeof yyor - 1))];
11003       char const *yyprefix = yyexpecting;
11004
11005       /* Start YYX at -YYN if negative to avoid negative indexes in
11006          YYCHECK.  */
11007       int yyxbegin = yyn < 0 ? -yyn : 0;
11008
11009       /* Stay within bounds of both yycheck and yytname.  */
11010       int yychecklim = YYLAST - yyn + 1;
11011       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11012       int yycount = 1;
11013
11014       yyarg[0] = yytname[yytype];
11015       yyfmt = yystpcpy (yyformat, yyunexpected);
11016
11017       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11018         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11019           {
11020             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11021               {
11022                 yycount = 1;
11023                 yysize = yysize0;
11024                 yyformat[sizeof yyunexpected - 1] = '\0';
11025                 break;
11026               }
11027             yyarg[yycount++] = yytname[yyx];
11028             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11029             yysize_overflow |= (yysize1 < yysize);
11030             yysize = yysize1;
11031             yyfmt = yystpcpy (yyfmt, yyprefix);
11032             yyprefix = yyor;
11033           }
11034
11035       yyf = YY_(yyformat);
11036       yysize1 = yysize + yystrlen (yyf);
11037       yysize_overflow |= (yysize1 < yysize);
11038       yysize = yysize1;
11039
11040       if (yysize_overflow)
11041         return YYSIZE_MAXIMUM;
11042
11043       if (yyresult)
11044         {
11045           /* Avoid sprintf, as that infringes on the user's name space.
11046              Don't have undefined behavior even if the translation
11047              produced a string with the wrong number of "%s"s.  */
11048           char *yyp = yyresult;
11049           int yyi = 0;
11050           while ((*yyp = *yyf) != '\0')
11051             {
11052               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11053                 {
11054                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11055                   yyf += 2;
11056                 }
11057               else
11058                 {
11059                   yyp++;
11060                   yyf++;
11061                 }
11062             }
11063         }
11064       return yysize;
11065     }
11066 }
11067 #endif /* YYERROR_VERBOSE */
11068 \f
11069
11070 /*-----------------------------------------------.
11071 | Release the memory associated to this symbol.  |
11072 `-----------------------------------------------*/
11073
11074 /*ARGSUSED*/
11075 #if (defined __STDC__ || defined __C99__FUNC__ \
11076      || defined __cplusplus || defined _MSC_VER)
11077 static void
11078 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11079 #else
11080 static void
11081 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11082     const char *yymsg;
11083     int yytype;
11084     YYSTYPE *yyvaluep;
11085     YYLTYPE *yylocationp;
11086 #endif
11087 {
11088   YYUSE (yyvaluep);
11089   YYUSE (yylocationp);
11090
11091   if (!yymsg)
11092     yymsg = "Deleting";
11093   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11094
11095   switch (yytype)
11096     {
11097       case 144: /* "guess_type" */
11098
11099 /* Line 1009 of yacc.c  */
11100 #line 211 "grammar.y"
11101         { FreeSpecifier((yyvaluep->specifier)); };
11102
11103 /* Line 1009 of yacc.c  */
11104 #line 11105 "grammar.ec"
11105         break;
11106       case 145: /* "type" */
11107
11108 /* Line 1009 of yacc.c  */
11109 #line 211 "grammar.y"
11110         { FreeSpecifier((yyvaluep->specifier)); };
11111
11112 /* Line 1009 of yacc.c  */
11113 #line 11114 "grammar.ec"
11114         break;
11115       case 146: /* "base_strict_type" */
11116
11117 /* Line 1009 of yacc.c  */
11118 #line 211 "grammar.y"
11119         { FreeSpecifier((yyvaluep->specifier)); };
11120
11121 /* Line 1009 of yacc.c  */
11122 #line 11123 "grammar.ec"
11123         break;
11124       case 147: /* "base_strict_type_name" */
11125
11126 /* Line 1009 of yacc.c  */
11127 #line 246 "grammar.y"
11128         { delete (yyvaluep->string); };
11129
11130 /* Line 1009 of yacc.c  */
11131 #line 11132 "grammar.ec"
11132         break;
11133       case 148: /* "strict_type" */
11134
11135 /* Line 1009 of yacc.c  */
11136 #line 211 "grammar.y"
11137         { FreeSpecifier((yyvaluep->specifier)); };
11138
11139 /* Line 1009 of yacc.c  */
11140 #line 11141 "grammar.ec"
11141         break;
11142       case 149: /* "class_function_definition_start" */
11143
11144 /* Line 1009 of yacc.c  */
11145 #line 238 "grammar.y"
11146         { FreeClassFunction((yyvaluep->classFunction)); };
11147
11148 /* Line 1009 of yacc.c  */
11149 #line 11150 "grammar.ec"
11150         break;
11151       case 150: /* "constructor_function_definition_start" */
11152
11153 /* Line 1009 of yacc.c  */
11154 #line 238 "grammar.y"
11155         { FreeClassFunction((yyvaluep->classFunction)); };
11156
11157 /* Line 1009 of yacc.c  */
11158 #line 11159 "grammar.ec"
11159         break;
11160       case 151: /* "destructor_function_definition_start" */
11161
11162 /* Line 1009 of yacc.c  */
11163 #line 238 "grammar.y"
11164         { FreeClassFunction((yyvaluep->classFunction)); };
11165
11166 /* Line 1009 of yacc.c  */
11167 #line 11168 "grammar.ec"
11168         break;
11169       case 152: /* "virtual_class_function_definition_start" */
11170
11171 /* Line 1009 of yacc.c  */
11172 #line 238 "grammar.y"
11173         { FreeClassFunction((yyvaluep->classFunction)); };
11174
11175 /* Line 1009 of yacc.c  */
11176 #line 11177 "grammar.ec"
11177         break;
11178       case 153: /* "class_function_definition_start_error" */
11179
11180 /* Line 1009 of yacc.c  */
11181 #line 238 "grammar.y"
11182         { FreeClassFunction((yyvaluep->classFunction)); };
11183
11184 /* Line 1009 of yacc.c  */
11185 #line 11186 "grammar.ec"
11186         break;
11187       case 154: /* "virtual_class_function_definition_start_error" */
11188
11189 /* Line 1009 of yacc.c  */
11190 #line 238 "grammar.y"
11191         { FreeClassFunction((yyvaluep->classFunction)); };
11192
11193 /* Line 1009 of yacc.c  */
11194 #line 11195 "grammar.ec"
11195         break;
11196       case 155: /* "class_function_definition" */
11197
11198 /* Line 1009 of yacc.c  */
11199 #line 238 "grammar.y"
11200         { FreeClassFunction((yyvaluep->classFunction)); };
11201
11202 /* Line 1009 of yacc.c  */
11203 #line 11204 "grammar.ec"
11204         break;
11205       case 156: /* "class_function_definition_error" */
11206
11207 /* Line 1009 of yacc.c  */
11208 #line 238 "grammar.y"
11209         { FreeClassFunction((yyvaluep->classFunction)); };
11210
11211 /* Line 1009 of yacc.c  */
11212 #line 11213 "grammar.ec"
11213         break;
11214       case 157: /* "instance_class_function_definition_start" */
11215
11216 /* Line 1009 of yacc.c  */
11217 #line 238 "grammar.y"
11218         { FreeClassFunction((yyvaluep->classFunction)); };
11219
11220 /* Line 1009 of yacc.c  */
11221 #line 11222 "grammar.ec"
11222         break;
11223       case 158: /* "instance_class_function_definition_start_error" */
11224
11225 /* Line 1009 of yacc.c  */
11226 #line 238 "grammar.y"
11227         { FreeClassFunction((yyvaluep->classFunction)); };
11228
11229 /* Line 1009 of yacc.c  */
11230 #line 11231 "grammar.ec"
11231         break;
11232       case 159: /* "instance_class_function_definition" */
11233
11234 /* Line 1009 of yacc.c  */
11235 #line 238 "grammar.y"
11236         { FreeClassFunction((yyvaluep->classFunction)); };
11237
11238 /* Line 1009 of yacc.c  */
11239 #line 11240 "grammar.ec"
11240         break;
11241       case 160: /* "instance_class_function_definition_error" */
11242
11243 /* Line 1009 of yacc.c  */
11244 #line 238 "grammar.y"
11245         { FreeClassFunction((yyvaluep->classFunction)); };
11246
11247 /* Line 1009 of yacc.c  */
11248 #line 11249 "grammar.ec"
11249         break;
11250       case 161: /* "data_member_initialization" */
11251
11252 /* Line 1009 of yacc.c  */
11253 #line 236 "grammar.y"
11254         { FreeMemberInit((yyvaluep->memberInit)); };
11255
11256 /* Line 1009 of yacc.c  */
11257 #line 11258 "grammar.ec"
11258         break;
11259       case 162: /* "data_member_initialization_error" */
11260
11261 /* Line 1009 of yacc.c  */
11262 #line 236 "grammar.y"
11263         { FreeMemberInit((yyvaluep->memberInit)); };
11264
11265 /* Line 1009 of yacc.c  */
11266 #line 11267 "grammar.ec"
11267         break;
11268       case 163: /* "data_member_initialization_list" */
11269
11270 /* Line 1009 of yacc.c  */
11271 #line 261 "grammar.y"
11272         { FreeList((yyvaluep->list), FreeMemberInit); };
11273
11274 /* Line 1009 of yacc.c  */
11275 #line 11276 "grammar.ec"
11276         break;
11277       case 164: /* "data_member_initialization_list_error" */
11278
11279 /* Line 1009 of yacc.c  */
11280 #line 261 "grammar.y"
11281         { FreeList((yyvaluep->list), FreeMemberInit); };
11282
11283 /* Line 1009 of yacc.c  */
11284 #line 11285 "grammar.ec"
11285         break;
11286       case 165: /* "data_member_initialization_list_coloned" */
11287
11288 /* Line 1009 of yacc.c  */
11289 #line 261 "grammar.y"
11290         { FreeList((yyvaluep->list), FreeMemberInit); };
11291
11292 /* Line 1009 of yacc.c  */
11293 #line 11294 "grammar.ec"
11294         break;
11295       case 166: /* "members_initialization_list_coloned" */
11296
11297 /* Line 1009 of yacc.c  */
11298 #line 262 "grammar.y"
11299         { FreeList((yyvaluep->list), FreeMembersInit); };
11300
11301 /* Line 1009 of yacc.c  */
11302 #line 11303 "grammar.ec"
11303         break;
11304       case 167: /* "members_initialization_list" */
11305
11306 /* Line 1009 of yacc.c  */
11307 #line 262 "grammar.y"
11308         { FreeList((yyvaluep->list), FreeMembersInit); };
11309
11310 /* Line 1009 of yacc.c  */
11311 #line 11312 "grammar.ec"
11312         break;
11313       case 168: /* "members_initialization_list_error" */
11314
11315 /* Line 1009 of yacc.c  */
11316 #line 262 "grammar.y"
11317         { FreeList((yyvaluep->list), FreeMembersInit); };
11318
11319 /* Line 1009 of yacc.c  */
11320 #line 11321 "grammar.ec"
11321         break;
11322       case 169: /* "instantiation_named" */
11323
11324 /* Line 1009 of yacc.c  */
11325 #line 234 "grammar.y"
11326         { FreeInstance((yyvaluep->instance)); };
11327
11328 /* Line 1009 of yacc.c  */
11329 #line 11330 "grammar.ec"
11330         break;
11331       case 170: /* "instantiation_named_error" */
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 234 "grammar.y"
11335         { FreeInstance((yyvaluep->instance)); };
11336
11337 /* Line 1009 of yacc.c  */
11338 #line 11339 "grammar.ec"
11339         break;
11340       case 174: /* "instantiation_unnamed" */
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 234 "grammar.y"
11344         { FreeInstance((yyvaluep->instance)); };
11345
11346 /* Line 1009 of yacc.c  */
11347 #line 11348 "grammar.ec"
11348         break;
11349       case 175: /* "instantiation_unnamed_error" */
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 234 "grammar.y"
11353         { FreeInstance((yyvaluep->instance)); };
11354
11355 /* Line 1009 of yacc.c  */
11356 #line 11357 "grammar.ec"
11357         break;
11358       case 178: /* "default_property" */
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 236 "grammar.y"
11362         { FreeMemberInit((yyvaluep->memberInit)); };
11363
11364 /* Line 1009 of yacc.c  */
11365 #line 11366 "grammar.ec"
11366         break;
11367       case 179: /* "default_property_error" */
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 236 "grammar.y"
11371         { FreeMemberInit((yyvaluep->memberInit)); };
11372
11373 /* Line 1009 of yacc.c  */
11374 #line 11375 "grammar.ec"
11375         break;
11376       case 180: /* "default_property_list" */
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 261 "grammar.y"
11380         { FreeList((yyvaluep->list), FreeMemberInit); };
11381
11382 /* Line 1009 of yacc.c  */
11383 #line 11384 "grammar.ec"
11384         break;
11385       case 181: /* "default_property_list_error" */
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 261 "grammar.y"
11389         { FreeList((yyvaluep->list), FreeMemberInit); };
11390
11391 /* Line 1009 of yacc.c  */
11392 #line 11393 "grammar.ec"
11393         break;
11394       case 184: /* "property" */
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 247 "grammar.y"
11398         { FreeProperty((yyvaluep->prop)); };
11399
11400 /* Line 1009 of yacc.c  */
11401 #line 11402 "grammar.ec"
11402         break;
11403       case 195: /* "struct_declaration" */
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 245 "grammar.y"
11407         { FreeClassDef((yyvaluep->classDef)); };
11408
11409 /* Line 1009 of yacc.c  */
11410 #line 11411 "grammar.ec"
11411         break;
11412       case 196: /* "struct_declaration_error" */
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 245 "grammar.y"
11416         { FreeClassDef((yyvaluep->classDef)); };
11417
11418 /* Line 1009 of yacc.c  */
11419 #line 11420 "grammar.ec"
11420         break;
11421       case 197: /* "struct_declaration_list" */
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 260 "grammar.y"
11425         { FreeList((yyvaluep->list), FreeClassDef); };
11426
11427 /* Line 1009 of yacc.c  */
11428 #line 11429 "grammar.ec"
11429         break;
11430       case 198: /* "struct_declaration_list_error" */
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 260 "grammar.y"
11434         { FreeList((yyvaluep->list), FreeClassDef); };
11435
11436 /* Line 1009 of yacc.c  */
11437 #line 11438 "grammar.ec"
11438         break;
11439       case 199: /* "template_datatype" */
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 266 "grammar.y"
11443         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11444
11445 /* Line 1009 of yacc.c  */
11446 #line 11447 "grammar.ec"
11447         break;
11448       case 200: /* "template_type_argument" */
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 265 "grammar.y"
11452         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11453
11454 /* Line 1009 of yacc.c  */
11455 #line 11456 "grammar.ec"
11456         break;
11457       case 201: /* "template_type_parameter" */
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 264 "grammar.y"
11461         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11462
11463 /* Line 1009 of yacc.c  */
11464 #line 11465 "grammar.ec"
11465         break;
11466       case 202: /* "template_identifier_argument" */
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 265 "grammar.y"
11470         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11471
11472 /* Line 1009 of yacc.c  */
11473 #line 11474 "grammar.ec"
11474         break;
11475       case 203: /* "template_identifier_parameter" */
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 264 "grammar.y"
11479         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11480
11481 /* Line 1009 of yacc.c  */
11482 #line 11483 "grammar.ec"
11483         break;
11484       case 204: /* "template_expression_argument" */
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 265 "grammar.y"
11488         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11489
11490 /* Line 1009 of yacc.c  */
11491 #line 11492 "grammar.ec"
11492         break;
11493       case 205: /* "template_expression_parameter" */
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 264 "grammar.y"
11497         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11498
11499 /* Line 1009 of yacc.c  */
11500 #line 11501 "grammar.ec"
11501         break;
11502       case 206: /* "template_parameter" */
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 264 "grammar.y"
11506         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11507
11508 /* Line 1009 of yacc.c  */
11509 #line 11510 "grammar.ec"
11510         break;
11511       case 207: /* "template_parameters_list" */
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 267 "grammar.y"
11515         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11516
11517 /* Line 1009 of yacc.c  */
11518 #line 11519 "grammar.ec"
11519         break;
11520       case 208: /* "template_argument" */
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 265 "grammar.y"
11524         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11525
11526 /* Line 1009 of yacc.c  */
11527 #line 11528 "grammar.ec"
11528         break;
11529       case 209: /* "template_arguments_list" */
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 268 "grammar.y"
11533         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11534
11535 /* Line 1009 of yacc.c  */
11536 #line 11537 "grammar.ec"
11537         break;
11538       case 210: /* "class_entry" */
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 242 "grammar.y"
11542         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11543
11544 /* Line 1009 of yacc.c  */
11545 #line 11546 "grammar.ec"
11546         break;
11547       case 211: /* "class_decl" */
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 243 "grammar.y"
11551         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11552
11553 /* Line 1009 of yacc.c  */
11554 #line 11555 "grammar.ec"
11555         break;
11556       case 212: /* "class" */
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 244 "grammar.y"
11560         { FreeClass((yyvaluep->_class)); };
11561
11562 /* Line 1009 of yacc.c  */
11563 #line 11564 "grammar.ec"
11564         break;
11565       case 213: /* "class_head" */
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 244 "grammar.y"
11569         { FreeClass((yyvaluep->_class)); };
11570
11571 /* Line 1009 of yacc.c  */
11572 #line 11573 "grammar.ec"
11573         break;
11574       case 214: /* "class_error" */
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 244 "grammar.y"
11578         { FreeClass((yyvaluep->_class)); };
11579
11580 /* Line 1009 of yacc.c  */
11581 #line 11582 "grammar.ec"
11582         break;
11583       case 215: /* "identifier" */
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 198 "grammar.y"
11587         { FreeIdentifier((yyvaluep->id)); };
11588
11589 /* Line 1009 of yacc.c  */
11590 #line 11591 "grammar.ec"
11591         break;
11592       case 216: /* "primary_expression" */
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 200 "grammar.y"
11596         { FreeExpression((yyvaluep->exp)); };
11597
11598 /* Line 1009 of yacc.c  */
11599 #line 11600 "grammar.ec"
11600         break;
11601       case 217: /* "i18n_string" */
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 200 "grammar.y"
11605         { FreeExpression((yyvaluep->exp)); };
11606
11607 /* Line 1009 of yacc.c  */
11608 #line 11609 "grammar.ec"
11609         break;
11610       case 222: /* "primary_expression_error" */
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 200 "grammar.y"
11614         { FreeExpression((yyvaluep->exp)); };
11615
11616 /* Line 1009 of yacc.c  */
11617 #line 11618 "grammar.ec"
11618         break;
11619       case 223: /* "postfix_expression" */
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 200 "grammar.y"
11623         { FreeExpression((yyvaluep->exp)); };
11624
11625 /* Line 1009 of yacc.c  */
11626 #line 11627 "grammar.ec"
11627         break;
11628       case 224: /* "argument_expression_list" */
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 249 "grammar.y"
11632         { FreeList((yyvaluep->list), FreeExpression); };
11633
11634 /* Line 1009 of yacc.c  */
11635 #line 11636 "grammar.ec"
11636         break;
11637       case 225: /* "argument_expression_list_error" */
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 249 "grammar.y"
11641         { FreeList((yyvaluep->list), FreeExpression); };
11642
11643 /* Line 1009 of yacc.c  */
11644 #line 11645 "grammar.ec"
11645         break;
11646       case 227: /* "unary_expression" */
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 200 "grammar.y"
11650         { FreeExpression((yyvaluep->exp)); };
11651
11652 /* Line 1009 of yacc.c  */
11653 #line 11654 "grammar.ec"
11654         break;
11655       case 229: /* "cast_expression" */
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 200 "grammar.y"
11659         { FreeExpression((yyvaluep->exp)); };
11660
11661 /* Line 1009 of yacc.c  */
11662 #line 11663 "grammar.ec"
11663         break;
11664       case 230: /* "multiplicative_expression" */
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 200 "grammar.y"
11668         { FreeExpression((yyvaluep->exp)); };
11669
11670 /* Line 1009 of yacc.c  */
11671 #line 11672 "grammar.ec"
11672         break;
11673       case 231: /* "additive_expression" */
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 200 "grammar.y"
11677         { FreeExpression((yyvaluep->exp)); };
11678
11679 /* Line 1009 of yacc.c  */
11680 #line 11681 "grammar.ec"
11681         break;
11682       case 232: /* "shift_expression" */
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 200 "grammar.y"
11686         { FreeExpression((yyvaluep->exp)); };
11687
11688 /* Line 1009 of yacc.c  */
11689 #line 11690 "grammar.ec"
11690         break;
11691       case 234: /* "relational_expression" */
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 200 "grammar.y"
11695         { FreeExpression((yyvaluep->exp)); };
11696
11697 /* Line 1009 of yacc.c  */
11698 #line 11699 "grammar.ec"
11699         break;
11700       case 235: /* "equality_expression" */
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 200 "grammar.y"
11704         { FreeExpression((yyvaluep->exp)); };
11705
11706 /* Line 1009 of yacc.c  */
11707 #line 11708 "grammar.ec"
11708         break;
11709       case 236: /* "and_expression" */
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 200 "grammar.y"
11713         { FreeExpression((yyvaluep->exp)); };
11714
11715 /* Line 1009 of yacc.c  */
11716 #line 11717 "grammar.ec"
11717         break;
11718       case 237: /* "exclusive_or_expression" */
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 200 "grammar.y"
11722         { FreeExpression((yyvaluep->exp)); };
11723
11724 /* Line 1009 of yacc.c  */
11725 #line 11726 "grammar.ec"
11726         break;
11727       case 238: /* "inclusive_or_expression" */
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 200 "grammar.y"
11731         { FreeExpression((yyvaluep->exp)); };
11732
11733 /* Line 1009 of yacc.c  */
11734 #line 11735 "grammar.ec"
11735         break;
11736       case 239: /* "logical_and_expression" */
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 200 "grammar.y"
11740         { FreeExpression((yyvaluep->exp)); };
11741
11742 /* Line 1009 of yacc.c  */
11743 #line 11744 "grammar.ec"
11744         break;
11745       case 240: /* "logical_or_expression" */
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 200 "grammar.y"
11749         { FreeExpression((yyvaluep->exp)); };
11750
11751 /* Line 1009 of yacc.c  */
11752 #line 11753 "grammar.ec"
11753         break;
11754       case 241: /* "conditional_expression" */
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 200 "grammar.y"
11758         { FreeExpression((yyvaluep->exp)); };
11759
11760 /* Line 1009 of yacc.c  */
11761 #line 11762 "grammar.ec"
11762         break;
11763       case 242: /* "assignment_expression" */
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 200 "grammar.y"
11767         { FreeExpression((yyvaluep->exp)); };
11768
11769 /* Line 1009 of yacc.c  */
11770 #line 11771 "grammar.ec"
11771         break;
11772       case 244: /* "expression" */
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 249 "grammar.y"
11776         { FreeList((yyvaluep->list), FreeExpression); };
11777
11778 /* Line 1009 of yacc.c  */
11779 #line 11780 "grammar.ec"
11780         break;
11781       case 246: /* "postfix_expression_error" */
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 200 "grammar.y"
11785         { FreeExpression((yyvaluep->exp)); };
11786
11787 /* Line 1009 of yacc.c  */
11788 #line 11789 "grammar.ec"
11789         break;
11790       case 248: /* "unary_expression_error" */
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 200 "grammar.y"
11794         { FreeExpression((yyvaluep->exp)); };
11795
11796 /* Line 1009 of yacc.c  */
11797 #line 11798 "grammar.ec"
11798         break;
11799       case 249: /* "cast_expression_error" */
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 200 "grammar.y"
11803         { FreeExpression((yyvaluep->exp)); };
11804
11805 /* Line 1009 of yacc.c  */
11806 #line 11807 "grammar.ec"
11807         break;
11808       case 250: /* "multiplicative_expression_error" */
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 200 "grammar.y"
11812         { FreeExpression((yyvaluep->exp)); };
11813
11814 /* Line 1009 of yacc.c  */
11815 #line 11816 "grammar.ec"
11816         break;
11817       case 251: /* "additive_expression_error" */
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 200 "grammar.y"
11821         { FreeExpression((yyvaluep->exp)); };
11822
11823 /* Line 1009 of yacc.c  */
11824 #line 11825 "grammar.ec"
11825         break;
11826       case 252: /* "shift_expression_error" */
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 200 "grammar.y"
11830         { FreeExpression((yyvaluep->exp)); };
11831
11832 /* Line 1009 of yacc.c  */
11833 #line 11834 "grammar.ec"
11834         break;
11835       case 253: /* "relational_expression_error" */
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 200 "grammar.y"
11839         { FreeExpression((yyvaluep->exp)); };
11840
11841 /* Line 1009 of yacc.c  */
11842 #line 11843 "grammar.ec"
11843         break;
11844       case 254: /* "equality_expression_error" */
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 200 "grammar.y"
11848         { FreeExpression((yyvaluep->exp)); };
11849
11850 /* Line 1009 of yacc.c  */
11851 #line 11852 "grammar.ec"
11852         break;
11853       case 255: /* "and_expression_error" */
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 200 "grammar.y"
11857         { FreeExpression((yyvaluep->exp)); };
11858
11859 /* Line 1009 of yacc.c  */
11860 #line 11861 "grammar.ec"
11861         break;
11862       case 256: /* "exclusive_or_expression_error" */
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 200 "grammar.y"
11866         { FreeExpression((yyvaluep->exp)); };
11867
11868 /* Line 1009 of yacc.c  */
11869 #line 11870 "grammar.ec"
11870         break;
11871       case 257: /* "inclusive_or_expression_error" */
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 200 "grammar.y"
11875         { FreeExpression((yyvaluep->exp)); };
11876
11877 /* Line 1009 of yacc.c  */
11878 #line 11879 "grammar.ec"
11879         break;
11880       case 258: /* "logical_and_expression_error" */
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 200 "grammar.y"
11884         { FreeExpression((yyvaluep->exp)); };
11885
11886 /* Line 1009 of yacc.c  */
11887 #line 11888 "grammar.ec"
11888         break;
11889       case 259: /* "logical_or_expression_error" */
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 200 "grammar.y"
11893         { FreeExpression((yyvaluep->exp)); };
11894
11895 /* Line 1009 of yacc.c  */
11896 #line 11897 "grammar.ec"
11897         break;
11898       case 260: /* "conditional_expression_error" */
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 200 "grammar.y"
11902         { FreeExpression((yyvaluep->exp)); };
11903
11904 /* Line 1009 of yacc.c  */
11905 #line 11906 "grammar.ec"
11906         break;
11907       case 261: /* "assignment_expression_error" */
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 200 "grammar.y"
11911         { FreeExpression((yyvaluep->exp)); };
11912
11913 /* Line 1009 of yacc.c  */
11914 #line 11915 "grammar.ec"
11915         break;
11916       case 262: /* "expression_error" */
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 249 "grammar.y"
11920         { FreeList((yyvaluep->list), FreeExpression); };
11921
11922 /* Line 1009 of yacc.c  */
11923 #line 11924 "grammar.ec"
11924         break;
11925       case 264: /* "constant_expression" */
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 200 "grammar.y"
11929         { FreeExpression((yyvaluep->exp)); };
11930
11931 /* Line 1009 of yacc.c  */
11932 #line 11933 "grammar.ec"
11933         break;
11934       case 265: /* "constant_expression_error" */
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 200 "grammar.y"
11938         { FreeExpression((yyvaluep->exp)); };
11939
11940 /* Line 1009 of yacc.c  */
11941 #line 11942 "grammar.ec"
11942         break;
11943       case 266: /* "storage_class_specifier" */
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 211 "grammar.y"
11947         { FreeSpecifier((yyvaluep->specifier)); };
11948
11949 /* Line 1009 of yacc.c  */
11950 #line 11951 "grammar.ec"
11951         break;
11952       case 267: /* "external_storage_class_specifier" */
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 211 "grammar.y"
11956         { FreeSpecifier((yyvaluep->specifier)); };
11957
11958 /* Line 1009 of yacc.c  */
11959 #line 11960 "grammar.ec"
11960         break;
11961       case 268: /* "enumerator" */
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 216 "grammar.y"
11965         { FreeEnumerator((yyvaluep->enumerator)); };
11966
11967 /* Line 1009 of yacc.c  */
11968 #line 11969 "grammar.ec"
11969         break;
11970       case 269: /* "enumerator_list" */
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 250 "grammar.y"
11974         { FreeList((yyvaluep->list), FreeEnumerator); };
11975
11976 /* Line 1009 of yacc.c  */
11977 #line 11978 "grammar.ec"
11978         break;
11979       case 271: /* "enum_specifier_nocompound" */
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 211 "grammar.y"
11983         { FreeSpecifier((yyvaluep->specifier)); };
11984
11985 /* Line 1009 of yacc.c  */
11986 #line 11987 "grammar.ec"
11987         break;
11988       case 272: /* "enum_specifier_compound" */
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 211 "grammar.y"
11992         { FreeSpecifier((yyvaluep->specifier)); };
11993
11994 /* Line 1009 of yacc.c  */
11995 #line 11996 "grammar.ec"
11996         break;
11997       case 273: /* "enum_specifier_compound_error" */
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 211 "grammar.y"
12001         { FreeSpecifier((yyvaluep->specifier)); };
12002
12003 /* Line 1009 of yacc.c  */
12004 #line 12005 "grammar.ec"
12005         break;
12006       case 275: /* "enum_class" */
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 211 "grammar.y"
12010         { FreeSpecifier((yyvaluep->specifier)); };
12011
12012 /* Line 1009 of yacc.c  */
12013 #line 12014 "grammar.ec"
12014         break;
12015       case 276: /* "enum_class_error" */
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 211 "grammar.y"
12019         { FreeSpecifier((yyvaluep->specifier)); };
12020
12021 /* Line 1009 of yacc.c  */
12022 #line 12023 "grammar.ec"
12023         break;
12024       case 277: /* "class_specifier" */
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 211 "grammar.y"
12028         { FreeSpecifier((yyvaluep->specifier)); };
12029
12030 /* Line 1009 of yacc.c  */
12031 #line 12032 "grammar.ec"
12032         break;
12033       case 278: /* "class_specifier_error" */
12034
12035 /* Line 1009 of yacc.c  */
12036 #line 211 "grammar.y"
12037         { FreeSpecifier((yyvaluep->specifier)); };
12038
12039 /* Line 1009 of yacc.c  */
12040 #line 12041 "grammar.ec"
12041         break;
12042       case 279: /* "ext_storage" */
12043
12044 /* Line 1009 of yacc.c  */
12045 #line 211 "grammar.y"
12046         { FreeSpecifier((yyvaluep->specifier)); };
12047
12048 /* Line 1009 of yacc.c  */
12049 #line 12050 "grammar.ec"
12050         break;
12051       case 280: /* "type_qualifier" */
12052
12053 /* Line 1009 of yacc.c  */
12054 #line 211 "grammar.y"
12055         { FreeSpecifier((yyvaluep->specifier)); };
12056
12057 /* Line 1009 of yacc.c  */
12058 #line 12059 "grammar.ec"
12059         break;
12060       case 281: /* "type_qualifier_list" */
12061
12062 /* Line 1009 of yacc.c  */
12063 #line 251 "grammar.y"
12064         { FreeList((yyvaluep->list), FreeSpecifier); };
12065
12066 /* Line 1009 of yacc.c  */
12067 #line 12068 "grammar.ec"
12068         break;
12069       case 282: /* "type_specifier" */
12070
12071 /* Line 1009 of yacc.c  */
12072 #line 211 "grammar.y"
12073         { FreeSpecifier((yyvaluep->specifier)); };
12074
12075 /* Line 1009 of yacc.c  */
12076 #line 12077 "grammar.ec"
12077         break;
12078       case 283: /* "strict_type_specifier" */
12079
12080 /* Line 1009 of yacc.c  */
12081 #line 211 "grammar.y"
12082         { FreeSpecifier((yyvaluep->specifier)); };
12083
12084 /* Line 1009 of yacc.c  */
12085 #line 12086 "grammar.ec"
12086         break;
12087       case 284: /* "struct_declarator" */
12088
12089 /* Line 1009 of yacc.c  */
12090 #line 217 "grammar.y"
12091         { FreeDeclarator((yyvaluep->declarator)); };
12092
12093 /* Line 1009 of yacc.c  */
12094 #line 12095 "grammar.ec"
12095         break;
12096       case 285: /* "struct_declarator_list" */
12097
12098 /* Line 1009 of yacc.c  */
12099 #line 253 "grammar.y"
12100         { FreeList((yyvaluep->list), FreeDeclarator); };
12101
12102 /* Line 1009 of yacc.c  */
12103 #line 12104 "grammar.ec"
12104         break;
12105       case 286: /* "struct_entry" */
12106
12107 /* Line 1009 of yacc.c  */
12108 #line 211 "grammar.y"
12109         { FreeSpecifier((yyvaluep->specifier)); };
12110
12111 /* Line 1009 of yacc.c  */
12112 #line 12113 "grammar.ec"
12113         break;
12114       case 287: /* "struct_or_union_specifier_compound" */
12115
12116 /* Line 1009 of yacc.c  */
12117 #line 211 "grammar.y"
12118         { FreeSpecifier((yyvaluep->specifier)); };
12119
12120 /* Line 1009 of yacc.c  */
12121 #line 12122 "grammar.ec"
12122         break;
12123       case 288: /* "struct_or_union_specifier_compound_error" */
12124
12125 /* Line 1009 of yacc.c  */
12126 #line 211 "grammar.y"
12127         { FreeSpecifier((yyvaluep->specifier)); };
12128
12129 /* Line 1009 of yacc.c  */
12130 #line 12131 "grammar.ec"
12131         break;
12132       case 289: /* "struct_or_union_specifier_nocompound" */
12133
12134 /* Line 1009 of yacc.c  */
12135 #line 211 "grammar.y"
12136         { FreeSpecifier((yyvaluep->specifier)); };
12137
12138 /* Line 1009 of yacc.c  */
12139 #line 12140 "grammar.ec"
12140         break;
12141       case 290: /* "struct_decl" */
12142
12143 /* Line 1009 of yacc.c  */
12144 #line 211 "grammar.y"
12145         { FreeSpecifier((yyvaluep->specifier)); };
12146
12147 /* Line 1009 of yacc.c  */
12148 #line 12149 "grammar.ec"
12149         break;
12150       case 291: /* "struct_head" */
12151
12152 /* Line 1009 of yacc.c  */
12153 #line 211 "grammar.y"
12154         { FreeSpecifier((yyvaluep->specifier)); };
12155
12156 /* Line 1009 of yacc.c  */
12157 #line 12158 "grammar.ec"
12158         break;
12159       case 292: /* "struct_class" */
12160
12161 /* Line 1009 of yacc.c  */
12162 #line 211 "grammar.y"
12163         { FreeSpecifier((yyvaluep->specifier)); };
12164
12165 /* Line 1009 of yacc.c  */
12166 #line 12167 "grammar.ec"
12167         break;
12168       case 293: /* "struct_class_error" */
12169
12170 /* Line 1009 of yacc.c  */
12171 #line 211 "grammar.y"
12172         { FreeSpecifier((yyvaluep->specifier)); };
12173
12174 /* Line 1009 of yacc.c  */
12175 #line 12176 "grammar.ec"
12176         break;
12177       case 295: /* "specifier_qualifier_list" */
12178
12179 /* Line 1009 of yacc.c  */
12180 #line 251 "grammar.y"
12181         { FreeList((yyvaluep->list), FreeSpecifier); };
12182
12183 /* Line 1009 of yacc.c  */
12184 #line 12185 "grammar.ec"
12185         break;
12186       case 296: /* "guess_specifier_qualifier_list" */
12187
12188 /* Line 1009 of yacc.c  */
12189 #line 251 "grammar.y"
12190         { FreeList((yyvaluep->list), FreeSpecifier); };
12191
12192 /* Line 1009 of yacc.c  */
12193 #line 12194 "grammar.ec"
12194         break;
12195       case 297: /* "declaration_specifiers" */
12196
12197 /* Line 1009 of yacc.c  */
12198 #line 251 "grammar.y"
12199         { FreeList((yyvaluep->list), FreeSpecifier); };
12200
12201 /* Line 1009 of yacc.c  */
12202 #line 12203 "grammar.ec"
12203         break;
12204       case 298: /* "guess_declaration_specifiers" */
12205
12206 /* Line 1009 of yacc.c  */
12207 #line 251 "grammar.y"
12208         { FreeList((yyvaluep->list), FreeSpecifier); };
12209
12210 /* Line 1009 of yacc.c  */
12211 #line 12212 "grammar.ec"
12212         break;
12213       case 299: /* "external_guess_declaration_specifiers" */
12214
12215 /* Line 1009 of yacc.c  */
12216 #line 251 "grammar.y"
12217         { FreeList((yyvaluep->list), FreeSpecifier); };
12218
12219 /* Line 1009 of yacc.c  */
12220 #line 12221 "grammar.ec"
12221         break;
12222       case 300: /* "external_guess_declaration_specifiers_error" */
12223
12224 /* Line 1009 of yacc.c  */
12225 #line 251 "grammar.y"
12226         { FreeList((yyvaluep->list), FreeSpecifier); };
12227
12228 /* Line 1009 of yacc.c  */
12229 #line 12230 "grammar.ec"
12230         break;
12231       case 301: /* "_inheritance_specifiers" */
12232
12233 /* Line 1009 of yacc.c  */
12234 #line 251 "grammar.y"
12235         { FreeList((yyvaluep->list), FreeSpecifier); };
12236
12237 /* Line 1009 of yacc.c  */
12238 #line 12239 "grammar.ec"
12239         break;
12240       case 302: /* "inheritance_specifiers" */
12241
12242 /* Line 1009 of yacc.c  */
12243 #line 251 "grammar.y"
12244         { FreeList((yyvaluep->list), FreeSpecifier); };
12245
12246 /* Line 1009 of yacc.c  */
12247 #line 12248 "grammar.ec"
12248         break;
12249       case 306: /* "identifier_list_error" */
12250
12251 /* Line 1009 of yacc.c  */
12252 #line 257 "grammar.y"
12253         { FreeList((yyvaluep->list), FreeTypeName); };
12254
12255 /* Line 1009 of yacc.c  */
12256 #line 12257 "grammar.ec"
12257         break;
12258       case 307: /* "identifier_list" */
12259
12260 /* Line 1009 of yacc.c  */
12261 #line 257 "grammar.y"
12262         { FreeList((yyvaluep->list), FreeTypeName); };
12263
12264 /* Line 1009 of yacc.c  */
12265 #line 12266 "grammar.ec"
12266         break;
12267       case 308: /* "direct_declarator_nofunction_type_ok" */
12268
12269 /* Line 1009 of yacc.c  */
12270 #line 217 "grammar.y"
12271         { FreeDeclarator((yyvaluep->declarator)); };
12272
12273 /* Line 1009 of yacc.c  */
12274 #line 12275 "grammar.ec"
12275         break;
12276       case 309: /* "direct_declarator_nofunction" */
12277
12278 /* Line 1009 of yacc.c  */
12279 #line 217 "grammar.y"
12280         { FreeDeclarator((yyvaluep->declarator)); };
12281
12282 /* Line 1009 of yacc.c  */
12283 #line 12284 "grammar.ec"
12284         break;
12285       case 310: /* "direct_declarator_function_start" */
12286
12287 /* Line 1009 of yacc.c  */
12288 #line 217 "grammar.y"
12289         { FreeDeclarator((yyvaluep->declarator)); };
12290
12291 /* Line 1009 of yacc.c  */
12292 #line 12293 "grammar.ec"
12293         break;
12294       case 311: /* "direct_declarator_function" */
12295
12296 /* Line 1009 of yacc.c  */
12297 #line 217 "grammar.y"
12298         { FreeDeclarator((yyvaluep->declarator)); };
12299
12300 /* Line 1009 of yacc.c  */
12301 #line 12302 "grammar.ec"
12302         break;
12303       case 312: /* "direct_declarator_function_error" */
12304
12305 /* Line 1009 of yacc.c  */
12306 #line 217 "grammar.y"
12307         { FreeDeclarator((yyvaluep->declarator)); };
12308
12309 /* Line 1009 of yacc.c  */
12310 #line 12311 "grammar.ec"
12311         break;
12312       case 313: /* "direct_declarator" */
12313
12314 /* Line 1009 of yacc.c  */
12315 #line 217 "grammar.y"
12316         { FreeDeclarator((yyvaluep->declarator)); };
12317
12318 /* Line 1009 of yacc.c  */
12319 #line 12320 "grammar.ec"
12320         break;
12321       case 314: /* "direct_declarator_function_start_type_ok" */
12322
12323 /* Line 1009 of yacc.c  */
12324 #line 217 "grammar.y"
12325         { FreeDeclarator((yyvaluep->declarator)); };
12326
12327 /* Line 1009 of yacc.c  */
12328 #line 12329 "grammar.ec"
12329         break;
12330       case 315: /* "direct_declarator_function_type_ok" */
12331
12332 /* Line 1009 of yacc.c  */
12333 #line 217 "grammar.y"
12334         { FreeDeclarator((yyvaluep->declarator)); };
12335
12336 /* Line 1009 of yacc.c  */
12337 #line 12338 "grammar.ec"
12338         break;
12339       case 316: /* "direct_declarator_function_error_type_ok" */
12340
12341 /* Line 1009 of yacc.c  */
12342 #line 217 "grammar.y"
12343         { FreeDeclarator((yyvaluep->declarator)); };
12344
12345 /* Line 1009 of yacc.c  */
12346 #line 12347 "grammar.ec"
12347         break;
12348       case 317: /* "direct_declarator_type_ok" */
12349
12350 /* Line 1009 of yacc.c  */
12351 #line 217 "grammar.y"
12352         { FreeDeclarator((yyvaluep->declarator)); };
12353
12354 /* Line 1009 of yacc.c  */
12355 #line 12356 "grammar.ec"
12356         break;
12357       case 318: /* "ext_decl" */
12358
12359 /* Line 1009 of yacc.c  */
12360 #line 271 "grammar.y"
12361         { FreeExtDecl((yyvaluep->extDecl)); };
12362
12363 /* Line 1009 of yacc.c  */
12364 #line 12365 "grammar.ec"
12365         break;
12366       case 320: /* "attribute_word" */
12367
12368 /* Line 1009 of yacc.c  */
12369 #line 246 "grammar.y"
12370         { delete (yyvaluep->string); };
12371
12372 /* Line 1009 of yacc.c  */
12373 #line 12374 "grammar.ec"
12374         break;
12375       case 321: /* "attribute" */
12376
12377 /* Line 1009 of yacc.c  */
12378 #line 272 "grammar.y"
12379         { FreeAttribute((yyvaluep->attribute)); };
12380
12381 /* Line 1009 of yacc.c  */
12382 #line 12383 "grammar.ec"
12383         break;
12384       case 322: /* "attribs_list" */
12385
12386 /* Line 1009 of yacc.c  */
12387 #line 273 "grammar.y"
12388         { FreeList((yyvaluep->list), FreeAttribute); };
12389
12390 /* Line 1009 of yacc.c  */
12391 #line 12392 "grammar.ec"
12392         break;
12393       case 323: /* "attrib" */
12394
12395 /* Line 1009 of yacc.c  */
12396 #line 270 "grammar.y"
12397         { FreeAttrib((yyvaluep->attrib)); };
12398
12399 /* Line 1009 of yacc.c  */
12400 #line 12401 "grammar.ec"
12401         break;
12402       case 324: /* "direct_abstract_declarator" */
12403
12404 /* Line 1009 of yacc.c  */
12405 #line 217 "grammar.y"
12406         { FreeDeclarator((yyvaluep->declarator)); };
12407
12408 /* Line 1009 of yacc.c  */
12409 #line 12410 "grammar.ec"
12410         break;
12411       case 325: /* "direct_abstract_declarator_noarray" */
12412
12413 /* Line 1009 of yacc.c  */
12414 #line 217 "grammar.y"
12415         { FreeDeclarator((yyvaluep->declarator)); };
12416
12417 /* Line 1009 of yacc.c  */
12418 #line 12419 "grammar.ec"
12419         break;
12420       case 326: /* "pointer" */
12421
12422 /* Line 1009 of yacc.c  */
12423 #line 199 "grammar.y"
12424         { FreePointer((yyvaluep->pointer)); };
12425
12426 /* Line 1009 of yacc.c  */
12427 #line 12428 "grammar.ec"
12428         break;
12429       case 327: /* "abstract_declarator" */
12430
12431 /* Line 1009 of yacc.c  */
12432 #line 217 "grammar.y"
12433         { FreeDeclarator((yyvaluep->declarator)); };
12434
12435 /* Line 1009 of yacc.c  */
12436 #line 12437 "grammar.ec"
12437         break;
12438       case 328: /* "abstract_declarator_noarray" */
12439
12440 /* Line 1009 of yacc.c  */
12441 #line 217 "grammar.y"
12442         { FreeDeclarator((yyvaluep->declarator)); };
12443
12444 /* Line 1009 of yacc.c  */
12445 #line 12446 "grammar.ec"
12446         break;
12447       case 329: /* "declarator" */
12448
12449 /* Line 1009 of yacc.c  */
12450 #line 217 "grammar.y"
12451         { FreeDeclarator((yyvaluep->declarator)); };
12452
12453 /* Line 1009 of yacc.c  */
12454 #line 12455 "grammar.ec"
12455         break;
12456       case 330: /* "declarator_type_ok" */
12457
12458 /* Line 1009 of yacc.c  */
12459 #line 217 "grammar.y"
12460         { FreeDeclarator((yyvaluep->declarator)); };
12461
12462 /* Line 1009 of yacc.c  */
12463 #line 12464 "grammar.ec"
12464         break;
12465       case 331: /* "declarator_function" */
12466
12467 /* Line 1009 of yacc.c  */
12468 #line 217 "grammar.y"
12469         { FreeDeclarator((yyvaluep->declarator)); };
12470
12471 /* Line 1009 of yacc.c  */
12472 #line 12473 "grammar.ec"
12473         break;
12474       case 332: /* "declarator_function_error" */
12475
12476 /* Line 1009 of yacc.c  */
12477 #line 217 "grammar.y"
12478         { FreeDeclarator((yyvaluep->declarator)); };
12479
12480 /* Line 1009 of yacc.c  */
12481 #line 12482 "grammar.ec"
12482         break;
12483       case 333: /* "declarator_function_type_ok" */
12484
12485 /* Line 1009 of yacc.c  */
12486 #line 217 "grammar.y"
12487         { FreeDeclarator((yyvaluep->declarator)); };
12488
12489 /* Line 1009 of yacc.c  */
12490 #line 12491 "grammar.ec"
12491         break;
12492       case 334: /* "declarator_function_error_type_ok" */
12493
12494 /* Line 1009 of yacc.c  */
12495 #line 217 "grammar.y"
12496         { FreeDeclarator((yyvaluep->declarator)); };
12497
12498 /* Line 1009 of yacc.c  */
12499 #line 12500 "grammar.ec"
12500         break;
12501       case 335: /* "declarator_nofunction_type_ok" */
12502
12503 /* Line 1009 of yacc.c  */
12504 #line 217 "grammar.y"
12505         { FreeDeclarator((yyvaluep->declarator)); };
12506
12507 /* Line 1009 of yacc.c  */
12508 #line 12509 "grammar.ec"
12509         break;
12510       case 336: /* "initializer" */
12511
12512 /* Line 1009 of yacc.c  */
12513 #line 223 "grammar.y"
12514         { FreeInitializer((yyvaluep->initializer)); };
12515
12516 /* Line 1009 of yacc.c  */
12517 #line 12518 "grammar.ec"
12518         break;
12519       case 337: /* "initializer_error" */
12520
12521 /* Line 1009 of yacc.c  */
12522 #line 223 "grammar.y"
12523         { FreeInitializer((yyvaluep->initializer)); };
12524
12525 /* Line 1009 of yacc.c  */
12526 #line 12527 "grammar.ec"
12527         break;
12528       case 338: /* "initializer_condition" */
12529
12530 /* Line 1009 of yacc.c  */
12531 #line 223 "grammar.y"
12532         { FreeInitializer((yyvaluep->initializer)); };
12533
12534 /* Line 1009 of yacc.c  */
12535 #line 12536 "grammar.ec"
12536         break;
12537       case 339: /* "initializer_condition_error" */
12538
12539 /* Line 1009 of yacc.c  */
12540 #line 223 "grammar.y"
12541         { FreeInitializer((yyvaluep->initializer)); };
12542
12543 /* Line 1009 of yacc.c  */
12544 #line 12545 "grammar.ec"
12545         break;
12546       case 340: /* "initializer_list" */
12547
12548 /* Line 1009 of yacc.c  */
12549 #line 255 "grammar.y"
12550         { FreeList((yyvaluep->list), FreeInitializer); };
12551
12552 /* Line 1009 of yacc.c  */
12553 #line 12554 "grammar.ec"
12554         break;
12555       case 341: /* "init_declarator" */
12556
12557 /* Line 1009 of yacc.c  */
12558 #line 224 "grammar.y"
12559         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12560
12561 /* Line 1009 of yacc.c  */
12562 #line 12563 "grammar.ec"
12563         break;
12564       case 342: /* "init_declarator_error" */
12565
12566 /* Line 1009 of yacc.c  */
12567 #line 224 "grammar.y"
12568         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12569
12570 /* Line 1009 of yacc.c  */
12571 #line 12572 "grammar.ec"
12572         break;
12573       case 343: /* "init_declarator_list" */
12574
12575 /* Line 1009 of yacc.c  */
12576 #line 256 "grammar.y"
12577         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12578
12579 /* Line 1009 of yacc.c  */
12580 #line 12581 "grammar.ec"
12581         break;
12582       case 344: /* "init_declarator_list_error" */
12583
12584 /* Line 1009 of yacc.c  */
12585 #line 256 "grammar.y"
12586         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12587
12588 /* Line 1009 of yacc.c  */
12589 #line 12590 "grammar.ec"
12590         break;
12591       case 345: /* "type_name" */
12592
12593 /* Line 1009 of yacc.c  */
12594 #line 225 "grammar.y"
12595         { FreeTypeName((yyvaluep->typeName)); };
12596
12597 /* Line 1009 of yacc.c  */
12598 #line 12599 "grammar.ec"
12599         break;
12600       case 346: /* "guess_type_name" */
12601
12602 /* Line 1009 of yacc.c  */
12603 #line 225 "grammar.y"
12604         { FreeTypeName((yyvaluep->typeName)); };
12605
12606 /* Line 1009 of yacc.c  */
12607 #line 12608 "grammar.ec"
12608         break;
12609       case 347: /* "parameter_declaration" */
12610
12611 /* Line 1009 of yacc.c  */
12612 #line 225 "grammar.y"
12613         { FreeTypeName((yyvaluep->typeName)); };
12614
12615 /* Line 1009 of yacc.c  */
12616 #line 12617 "grammar.ec"
12617         break;
12618       case 348: /* "parameter_declaration_error" */
12619
12620 /* Line 1009 of yacc.c  */
12621 #line 225 "grammar.y"
12622         { FreeTypeName((yyvaluep->typeName)); };
12623
12624 /* Line 1009 of yacc.c  */
12625 #line 12626 "grammar.ec"
12626         break;
12627       case 349: /* "parameter_list" */
12628
12629 /* Line 1009 of yacc.c  */
12630 #line 257 "grammar.y"
12631         { FreeList((yyvaluep->list), FreeTypeName); };
12632
12633 /* Line 1009 of yacc.c  */
12634 #line 12635 "grammar.ec"
12635         break;
12636       case 350: /* "parameter_list_error" */
12637
12638 /* Line 1009 of yacc.c  */
12639 #line 257 "grammar.y"
12640         { FreeList((yyvaluep->list), FreeTypeName); };
12641
12642 /* Line 1009 of yacc.c  */
12643 #line 12644 "grammar.ec"
12644         break;
12645       case 351: /* "parameter_type_list" */
12646
12647 /* Line 1009 of yacc.c  */
12648 #line 257 "grammar.y"
12649         { FreeList((yyvaluep->list), FreeTypeName); };
12650
12651 /* Line 1009 of yacc.c  */
12652 #line 12653 "grammar.ec"
12653         break;
12654       case 352: /* "parameter_type_list_error" */
12655
12656 /* Line 1009 of yacc.c  */
12657 #line 257 "grammar.y"
12658         { FreeList((yyvaluep->list), FreeTypeName); };
12659
12660 /* Line 1009 of yacc.c  */
12661 #line 12662 "grammar.ec"
12662         break;
12663       case 353: /* "statement" */
12664
12665 /* Line 1009 of yacc.c  */
12666 #line 226 "grammar.y"
12667         { FreeStatement((yyvaluep->stmt)); };
12668
12669 /* Line 1009 of yacc.c  */
12670 #line 12671 "grammar.ec"
12671         break;
12672       case 354: /* "statement_error" */
12673
12674 /* Line 1009 of yacc.c  */
12675 #line 226 "grammar.y"
12676         { FreeStatement((yyvaluep->stmt)); };
12677
12678 /* Line 1009 of yacc.c  */
12679 #line 12680 "grammar.ec"
12680         break;
12681       case 358: /* "labeled_statement" */
12682
12683 /* Line 1009 of yacc.c  */
12684 #line 226 "grammar.y"
12685         { FreeStatement((yyvaluep->stmt)); };
12686
12687 /* Line 1009 of yacc.c  */
12688 #line 12689 "grammar.ec"
12689         break;
12690       case 359: /* "labeled_statement_error" */
12691
12692 /* Line 1009 of yacc.c  */
12693 #line 226 "grammar.y"
12694         { FreeStatement((yyvaluep->stmt)); };
12695
12696 /* Line 1009 of yacc.c  */
12697 #line 12698 "grammar.ec"
12698         break;
12699       case 360: /* "declaration_mode" */
12700
12701 /* Line 1009 of yacc.c  */
12702 #line 269 "grammar.y"
12703         { };
12704
12705 /* Line 1009 of yacc.c  */
12706 #line 12707 "grammar.ec"
12707         break;
12708       case 362: /* "declaration" */
12709
12710 /* Line 1009 of yacc.c  */
12711 #line 230 "grammar.y"
12712         { FreeDeclaration((yyvaluep->declaration)); };
12713
12714 /* Line 1009 of yacc.c  */
12715 #line 12716 "grammar.ec"
12716         break;
12717       case 366: /* "declaration_list" */
12718
12719 /* Line 1009 of yacc.c  */
12720 #line 254 "grammar.y"
12721         { FreeList((yyvaluep->list), FreeDeclaration); };
12722
12723 /* Line 1009 of yacc.c  */
12724 #line 12725 "grammar.ec"
12725         break;
12726       case 367: /* "declaration_list_error" */
12727
12728 /* Line 1009 of yacc.c  */
12729 #line 254 "grammar.y"
12730         { FreeList((yyvaluep->list), FreeDeclaration); };
12731
12732 /* Line 1009 of yacc.c  */
12733 #line 12734 "grammar.ec"
12734         break;
12735       case 368: /* "statement_list" */
12736
12737 /* Line 1009 of yacc.c  */
12738 #line 258 "grammar.y"
12739         { FreeList((yyvaluep->list), FreeStatement); };
12740
12741 /* Line 1009 of yacc.c  */
12742 #line 12743 "grammar.ec"
12743         break;
12744       case 369: /* "statement_list_error" */
12745
12746 /* Line 1009 of yacc.c  */
12747 #line 258 "grammar.y"
12748         { FreeList((yyvaluep->list), FreeStatement); };
12749
12750 /* Line 1009 of yacc.c  */
12751 #line 12752 "grammar.ec"
12752         break;
12753       case 370: /* "compound_inside" */
12754
12755 /* Line 1009 of yacc.c  */
12756 #line 226 "grammar.y"
12757         { FreeStatement((yyvaluep->stmt)); };
12758
12759 /* Line 1009 of yacc.c  */
12760 #line 12761 "grammar.ec"
12761         break;
12762       case 371: /* "compound_inside_error" */
12763
12764 /* Line 1009 of yacc.c  */
12765 #line 226 "grammar.y"
12766         { FreeStatement((yyvaluep->stmt)); };
12767
12768 /* Line 1009 of yacc.c  */
12769 #line 12770 "grammar.ec"
12770         break;
12771       case 372: /* "compound_start" */
12772
12773 /* Line 1009 of yacc.c  */
12774 #line 263 "grammar.y"
12775         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
12776
12777 /* Line 1009 of yacc.c  */
12778 #line 12779 "grammar.ec"
12779         break;
12780       case 373: /* "compound_statement" */
12781
12782 /* Line 1009 of yacc.c  */
12783 #line 226 "grammar.y"
12784         { FreeStatement((yyvaluep->stmt)); };
12785
12786 /* Line 1009 of yacc.c  */
12787 #line 12788 "grammar.ec"
12788         break;
12789       case 374: /* "compound_statement_error" */
12790
12791 /* Line 1009 of yacc.c  */
12792 #line 226 "grammar.y"
12793         { FreeStatement((yyvaluep->stmt)); };
12794
12795 /* Line 1009 of yacc.c  */
12796 #line 12797 "grammar.ec"
12797         break;
12798       case 375: /* "expression_statement" */
12799
12800 /* Line 1009 of yacc.c  */
12801 #line 226 "grammar.y"
12802         { FreeStatement((yyvaluep->stmt)); };
12803
12804 /* Line 1009 of yacc.c  */
12805 #line 12806 "grammar.ec"
12806         break;
12807       case 376: /* "selection_statement" */
12808
12809 /* Line 1009 of yacc.c  */
12810 #line 226 "grammar.y"
12811         { FreeStatement((yyvaluep->stmt)); };
12812
12813 /* Line 1009 of yacc.c  */
12814 #line 12815 "grammar.ec"
12815         break;
12816       case 377: /* "selection_statement_error" */
12817
12818 /* Line 1009 of yacc.c  */
12819 #line 226 "grammar.y"
12820         { FreeStatement((yyvaluep->stmt)); };
12821
12822 /* Line 1009 of yacc.c  */
12823 #line 12824 "grammar.ec"
12824         break;
12825       case 378: /* "iteration_statement" */
12826
12827 /* Line 1009 of yacc.c  */
12828 #line 226 "grammar.y"
12829         { FreeStatement((yyvaluep->stmt)); };
12830
12831 /* Line 1009 of yacc.c  */
12832 #line 12833 "grammar.ec"
12833         break;
12834       case 379: /* "iteration_statement_error" */
12835
12836 /* Line 1009 of yacc.c  */
12837 #line 226 "grammar.y"
12838         { FreeStatement((yyvaluep->stmt)); };
12839
12840 /* Line 1009 of yacc.c  */
12841 #line 12842 "grammar.ec"
12842         break;
12843       case 380: /* "jump_statement" */
12844
12845 /* Line 1009 of yacc.c  */
12846 #line 226 "grammar.y"
12847         { FreeStatement((yyvaluep->stmt)); };
12848
12849 /* Line 1009 of yacc.c  */
12850 #line 12851 "grammar.ec"
12851         break;
12852       case 381: /* "jump_statement_error" */
12853
12854 /* Line 1009 of yacc.c  */
12855 #line 226 "grammar.y"
12856         { FreeStatement((yyvaluep->stmt)); };
12857
12858 /* Line 1009 of yacc.c  */
12859 #line 12860 "grammar.ec"
12860         break;
12861       case 382: /* "function_definition" */
12862
12863 /* Line 1009 of yacc.c  */
12864 #line 231 "grammar.y"
12865         { FreeFunction((yyvaluep->function)); };
12866
12867 /* Line 1009 of yacc.c  */
12868 #line 12869 "grammar.ec"
12869         break;
12870       case 383: /* "function_definition_error" */
12871
12872 /* Line 1009 of yacc.c  */
12873 #line 231 "grammar.y"
12874         { FreeFunction((yyvaluep->function)); };
12875
12876 /* Line 1009 of yacc.c  */
12877 #line 12878 "grammar.ec"
12878         break;
12879       case 384: /* "string_literal" */
12880
12881 /* Line 1009 of yacc.c  */
12882 #line 246 "grammar.y"
12883         { delete (yyvaluep->string); };
12884
12885 /* Line 1009 of yacc.c  */
12886 #line 12887 "grammar.ec"
12887         break;
12888       case 385: /* "external_declaration" */
12889
12890 /* Line 1009 of yacc.c  */
12891 #line 232 "grammar.y"
12892         { FreeExternal((yyvaluep->external)); };
12893
12894 /* Line 1009 of yacc.c  */
12895 #line 12896 "grammar.ec"
12896         break;
12897       case 386: /* "external_declaration_error" */
12898
12899 /* Line 1009 of yacc.c  */
12900 #line 232 "grammar.y"
12901         { FreeExternal((yyvaluep->external)); };
12902
12903 /* Line 1009 of yacc.c  */
12904 #line 12905 "grammar.ec"
12905         break;
12906       case 387: /* "translation_unit_error" */
12907
12908 /* Line 1009 of yacc.c  */
12909 #line 259 "grammar.y"
12910         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12911
12912 /* Line 1009 of yacc.c  */
12913 #line 12914 "grammar.ec"
12914         break;
12915       case 388: /* "translation_unit" */
12916
12917 /* Line 1009 of yacc.c  */
12918 #line 259 "grammar.y"
12919         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12920
12921 /* Line 1009 of yacc.c  */
12922 #line 12923 "grammar.ec"
12923         break;
12924
12925       default:
12926         break;
12927     }
12928 }
12929
12930 /* Prevent warnings from -Wmissing-prototypes.  */
12931 #ifdef YYPARSE_PARAM
12932 #if defined __STDC__ || defined __cplusplus
12933 int yyparse (void *YYPARSE_PARAM);
12934 #else
12935 int yyparse ();
12936 #endif
12937 #else /* ! YYPARSE_PARAM */
12938 #if defined __STDC__ || defined __cplusplus
12939 int yyparse (void);
12940 #else
12941 int yyparse ();
12942 #endif
12943 #endif /* ! YYPARSE_PARAM */
12944
12945
12946 /* The lookahead symbol.  */
12947 int yychar;
12948
12949 /* The semantic value of the lookahead symbol.  */
12950 YYSTYPE yylval;
12951
12952 /* Location data for the lookahead symbol.  */
12953 YYLTYPE yylloc;
12954
12955 /* Number of syntax errors so far.  */
12956 int yynerrs;
12957
12958
12959
12960 /*-------------------------.
12961 | yyparse or yypush_parse.  |
12962 `-------------------------*/
12963
12964 #ifdef YYPARSE_PARAM
12965 #if (defined __STDC__ || defined __C99__FUNC__ \
12966      || defined __cplusplus || defined _MSC_VER)
12967 int
12968 yyparse (void *YYPARSE_PARAM)
12969 #else
12970 int
12971 yyparse (YYPARSE_PARAM)
12972     void *YYPARSE_PARAM;
12973 #endif
12974 #else /* ! YYPARSE_PARAM */
12975 #if (defined __STDC__ || defined __C99__FUNC__ \
12976      || defined __cplusplus || defined _MSC_VER)
12977 int
12978 yyparse (void)
12979 #else
12980 int
12981 yyparse ()
12982
12983 #endif
12984 #endif
12985 {
12986
12987
12988     int yystate;
12989     /* Number of tokens to shift before error messages enabled.  */
12990     int yyerrstatus;
12991
12992     /* The stacks and their tools:
12993        `yyss': related to states.
12994        `yyvs': related to semantic values.
12995        `yyls': related to locations.
12996
12997        Refer to the stacks thru separate pointers, to allow yyoverflow
12998        to reallocate them elsewhere.  */
12999
13000     /* The state stack.  */
13001     yytype_int16 yyssa[YYINITDEPTH];
13002     yytype_int16 *yyss;
13003     yytype_int16 *yyssp;
13004
13005     /* The semantic value stack.  */
13006     YYSTYPE yyvsa[YYINITDEPTH];
13007     YYSTYPE *yyvs;
13008     YYSTYPE *yyvsp;
13009
13010     /* The location stack.  */
13011     YYLTYPE yylsa[YYINITDEPTH];
13012     YYLTYPE *yyls;
13013     YYLTYPE *yylsp;
13014
13015     /* The locations where the error started and ended.  */
13016     YYLTYPE yyerror_range[2];
13017
13018     YYSIZE_T yystacksize;
13019
13020   int yyn;
13021   int yyresult;
13022   /* Lookahead token as an internal (translated) token number.  */
13023   int yytoken;
13024   /* The variables used to return semantic value and location from the
13025      action routines.  */
13026   YYSTYPE yyval;
13027   YYLTYPE yyloc;
13028
13029 #if YYERROR_VERBOSE
13030   /* Buffer for error messages, and its allocated size.  */
13031   char yymsgbuf[128];
13032   char *yymsg = yymsgbuf;
13033   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13034 #endif
13035
13036 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13037
13038   /* The number of symbols on the RHS of the reduced rule.
13039      Keep to zero when no symbol should be popped.  */
13040   int yylen = 0;
13041
13042   yytoken = 0;
13043   yyss = yyssa;
13044   yyvs = yyvsa;
13045   yyls = yylsa;
13046   yystacksize = YYINITDEPTH;
13047
13048   YYDPRINTF ((stderr, "Starting parse\n"));
13049
13050   yystate = 0;
13051   yyerrstatus = 0;
13052   yynerrs = 0;
13053   yychar = YYEMPTY; /* Cause a token to be read.  */
13054
13055   /* Initialize stack pointers.
13056      Waste one element of value and location stack
13057      so that they stay on the same level as the state stack.
13058      The wasted elements are never initialized.  */
13059   yyssp = yyss;
13060   yyvsp = yyvs;
13061   yylsp = yyls;
13062
13063 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13064   /* Initialize the default location before parsing starts.  */
13065   yylloc.first_line   = yylloc.last_line   = 1;
13066   yylloc.first_column = yylloc.last_column = 1;
13067 #endif
13068
13069   goto yysetstate;
13070
13071 /*------------------------------------------------------------.
13072 | yynewstate -- Push a new state, which is found in yystate.  |
13073 `------------------------------------------------------------*/
13074  yynewstate:
13075   /* In all cases, when you get here, the value and location stacks
13076      have just been pushed.  So pushing a state here evens the stacks.  */
13077   yyssp++;
13078
13079  yysetstate:
13080   *yyssp = yystate;
13081
13082   if (yyss + yystacksize - 1 <= yyssp)
13083     {
13084       /* Get the current used size of the three stacks, in elements.  */
13085       YYSIZE_T yysize = yyssp - yyss + 1;
13086
13087 #ifdef yyoverflow
13088       {
13089         /* Give user a chance to reallocate the stack.  Use copies of
13090            these so that the &'s don't force the real ones into
13091            memory.  */
13092         YYSTYPE *yyvs1 = yyvs;
13093         yytype_int16 *yyss1 = yyss;
13094         YYLTYPE *yyls1 = yyls;
13095
13096         /* Each stack pointer address is followed by the size of the
13097            data in use in that stack, in bytes.  This used to be a
13098            conditional around just the two extra args, but that might
13099            be undefined if yyoverflow is a macro.  */
13100         yyoverflow (YY_("memory exhausted"),
13101                     &yyss1, yysize * sizeof (*yyssp),
13102                     &yyvs1, yysize * sizeof (*yyvsp),
13103                     &yyls1, yysize * sizeof (*yylsp),
13104                     &yystacksize);
13105
13106         yyls = yyls1;
13107         yyss = yyss1;
13108         yyvs = yyvs1;
13109       }
13110 #else /* no yyoverflow */
13111 # ifndef YYSTACK_RELOCATE
13112       goto yyexhaustedlab;
13113 # else
13114       /* Extend the stack our own way.  */
13115       if (YYMAXDEPTH <= yystacksize)
13116         goto yyexhaustedlab;
13117       yystacksize *= 2;
13118       if (YYMAXDEPTH < yystacksize)
13119         yystacksize = YYMAXDEPTH;
13120
13121       {
13122         yytype_int16 *yyss1 = yyss;
13123         union yyalloc *yyptr =
13124           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13125         if (! yyptr)
13126           goto yyexhaustedlab;
13127         YYSTACK_RELOCATE (yyss_alloc, yyss);
13128         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13129         YYSTACK_RELOCATE (yyls_alloc, yyls);
13130 #  undef YYSTACK_RELOCATE
13131         if (yyss1 != yyssa)
13132           YYSTACK_FREE (yyss1);
13133       }
13134 # endif
13135 #endif /* no yyoverflow */
13136
13137       yyssp = yyss + yysize - 1;
13138       yyvsp = yyvs + yysize - 1;
13139       yylsp = yyls + yysize - 1;
13140
13141       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13142                   (unsigned long int) yystacksize));
13143
13144       if (yyss + yystacksize - 1 <= yyssp)
13145         YYABORT;
13146     }
13147
13148   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13149
13150   if (yystate == YYFINAL)
13151     YYACCEPT;
13152
13153   goto yybackup;
13154
13155 /*-----------.
13156 | yybackup.  |
13157 `-----------*/
13158 yybackup:
13159
13160   /* Do appropriate processing given the current state.  Read a
13161      lookahead token if we need one and don't already have one.  */
13162
13163   /* First try to decide what to do without reference to lookahead token.  */
13164   yyn = yypact[yystate];
13165   if (yyn == YYPACT_NINF)
13166     goto yydefault;
13167
13168   /* Not known => get a lookahead token if don't already have one.  */
13169
13170   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13171   if (yychar == YYEMPTY)
13172     {
13173       YYDPRINTF ((stderr, "Reading a token: "));
13174       yychar = YYLEX;
13175     }
13176
13177   if (yychar <= YYEOF)
13178     {
13179       yychar = yytoken = YYEOF;
13180       YYDPRINTF ((stderr, "Now at end of input.\n"));
13181     }
13182   else
13183     {
13184       yytoken = YYTRANSLATE (yychar);
13185       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13186     }
13187
13188   /* If the proper action on seeing token YYTOKEN is to reduce or to
13189      detect an error, take that action.  */
13190   yyn += yytoken;
13191   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13192     goto yydefault;
13193   yyn = yytable[yyn];
13194   if (yyn <= 0)
13195     {
13196       if (yyn == 0 || yyn == YYTABLE_NINF)
13197         goto yyerrlab;
13198       yyn = -yyn;
13199       goto yyreduce;
13200     }
13201
13202   /* Count tokens shifted since error; after three, turn off error
13203      status.  */
13204   if (yyerrstatus)
13205     yyerrstatus--;
13206
13207   /* Shift the lookahead token.  */
13208   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13209
13210   /* Discard the shifted token.  */
13211   yychar = YYEMPTY;
13212
13213   yystate = yyn;
13214   *++yyvsp = yylval;
13215   *++yylsp = yylloc;
13216   goto yynewstate;
13217
13218
13219 /*-----------------------------------------------------------.
13220 | yydefault -- do the default action for the current state.  |
13221 `-----------------------------------------------------------*/
13222 yydefault:
13223   yyn = yydefact[yystate];
13224   if (yyn == 0)
13225     goto yyerrlab;
13226   goto yyreduce;
13227
13228
13229 /*-----------------------------.
13230 | yyreduce -- Do a reduction.  |
13231 `-----------------------------*/
13232 yyreduce:
13233   /* yyn is the number of a rule to reduce with.  */
13234   yylen = yyr2[yyn];
13235
13236   /* If YYLEN is nonzero, implement the default value of the action:
13237      `$$ = $1'.
13238
13239      Otherwise, the following line sets YYVAL to garbage.
13240      This behavior is undocumented and Bison
13241      users should not rely upon it.  Assigning to YYVAL
13242      unconditionally makes the parser a bit smaller, and it avoids a
13243      GCC warning that YYVAL may be used uninitialized.  */
13244   yyval = yyvsp[1-yylen];
13245
13246   /* Default location.  */
13247   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13248   YY_REDUCE_PRINT (yyn);
13249   switch (yyn)
13250     {
13251         case 2:
13252
13253 /* Line 1464 of yacc.c  */
13254 #line 281 "grammar.y"
13255     {
13256       (yyval.specifier) = null;
13257       // if($1._class && !$1._class.name)
13258       if((yyvsp[(1) - (2)].id)._class)
13259       {
13260          char name[1024];
13261          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13262          strcat(name, "::");
13263          strcat(name, (yyvsp[(1) - (2)].id).string);
13264          _DeclClass(0, name);
13265       }
13266       else
13267          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13268
13269       FreeIdentifier((yyvsp[(1) - (2)].id));
13270
13271       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13272       resetScannerPos(&(yylsp[(1) - (2)]).start);
13273       yyclearin;
13274
13275       YYPOPSTACK(1);
13276       yystate = *yyssp;
13277       YY_STACK_PRINT (yyss, yyssp);
13278       YYPOPSTACK(1);
13279       yystate = *yyssp;
13280       YY_STACK_PRINT (yyss, yyssp);
13281       goto yysetstate;
13282    ;}
13283     break;
13284
13285   case 3:
13286
13287 /* Line 1464 of yacc.c  */
13288 #line 310 "grammar.y"
13289     {
13290       (yyval.specifier) = null;
13291    #ifdef PRECOMPILER
13292       // if($1._class && !$1._class.name)
13293       if((yyvsp[(1) - (2)].id)._class)
13294       {
13295          char name[1024];
13296          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13297          strcat(name, "::");
13298          strcat(name, (yyvsp[(1) - (2)].id).string);
13299          _DeclClass(0, name);
13300       }
13301       else
13302          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13303
13304       FreeIdentifier((yyvsp[(1) - (2)].id));
13305
13306       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13307       resetScannerPos(&(yylsp[(1) - (2)]).start);
13308       yyclearin;
13309
13310       YYPOPSTACK(1);
13311       yystate = *yyssp;
13312       YY_STACK_PRINT (yyss, yyssp);
13313       YYPOPSTACK(1);
13314       yystate = *yyssp;
13315       YY_STACK_PRINT (yyss, yyssp);
13316       goto yysetstate;
13317    #endif
13318    ;}
13319     break;
13320
13321   case 4:
13322
13323 /* Line 1464 of yacc.c  */
13324 #line 368 "grammar.y"
13325     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13326     break;
13327
13328   case 5:
13329
13330 /* Line 1464 of yacc.c  */
13331 #line 370 "grammar.y"
13332     {
13333    #ifdef PRECOMPILER
13334       if(!(yyvsp[(1) - (2)].id).string[0])
13335       {
13336          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13337          FreeIdentifier((yyvsp[(1) - (2)].id));
13338          FreeIdentifier((yyvsp[(2) - (2)].id));
13339       }
13340       else
13341       {
13342          // if($1._class && !$1._class.name)
13343          if((yyvsp[(1) - (2)].id)._class)
13344          {
13345             char name[1024];
13346             strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13347             strcat(name, "::");
13348             strcat(name, (yyvsp[(1) - (2)].id).string);
13349             _DeclClass(0, name);
13350          }
13351          else
13352             _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13353
13354          FreeIdentifier((yyvsp[(1) - (2)].id));
13355          FreeIdentifier((yyvsp[(2) - (2)].id));
13356
13357          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13358          resetScannerPos(&(yylsp[(1) - (2)]).start);
13359          yyclearin;
13360
13361          YYPOPSTACK(1);
13362          yystate = *yyssp;
13363          YY_STACK_PRINT (yyss, yyssp);
13364          YYPOPSTACK(1);
13365          yystate = *yyssp;
13366          YY_STACK_PRINT (yyss, yyssp);
13367          goto yysetstate;
13368    #else
13369          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13370          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13371          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13372    #endif
13373       }
13374    ;}
13375     break;
13376
13377   case 6:
13378
13379 /* Line 1464 of yacc.c  */
13380 #line 479 "grammar.y"
13381     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13382     break;
13383
13384   case 7:
13385
13386 /* Line 1464 of yacc.c  */
13387 #line 483 "grammar.y"
13388     { (yyval.string) = CopyString(yytext); ;}
13389     break;
13390
13391   case 9:
13392
13393 /* Line 1464 of yacc.c  */
13394 #line 487 "grammar.y"
13395     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13396     break;
13397
13398   case 10:
13399
13400 /* Line 1464 of yacc.c  */
13401 #line 489 "grammar.y"
13402     {
13403       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13404       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13405       (yyval.specifier).loc = (yyloc);
13406
13407       (yylsp[(4) - (4)]).end.pos--;
13408       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13409       resetScannerPos(&(yylsp[(4) - (4)]).end);
13410       yyclearin;
13411     ;}
13412     break;
13413
13414   case 11:
13415
13416 /* Line 1464 of yacc.c  */
13417 #line 538 "grammar.y"
13418     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13419     break;
13420
13421   case 12:
13422
13423 /* Line 1464 of yacc.c  */
13424 #line 540 "grammar.y"
13425     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13426     break;
13427
13428   case 13:
13429
13430 /* Line 1464 of yacc.c  */
13431 #line 545 "grammar.y"
13432     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13433     break;
13434
13435   case 14:
13436
13437 /* Line 1464 of yacc.c  */
13438 #line 550 "grammar.y"
13439     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13440     break;
13441
13442   case 15:
13443
13444 /* Line 1464 of yacc.c  */
13445 #line 555 "grammar.y"
13446     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13447     break;
13448
13449   case 16:
13450
13451 /* Line 1464 of yacc.c  */
13452 #line 557 "grammar.y"
13453     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13454     break;
13455
13456   case 17:
13457
13458 /* Line 1464 of yacc.c  */
13459 #line 562 "grammar.y"
13460     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13461     break;
13462
13463   case 18:
13464
13465 /* Line 1464 of yacc.c  */
13466 #line 564 "grammar.y"
13467     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13468     break;
13469
13470   case 19:
13471
13472 /* Line 1464 of yacc.c  */
13473 #line 569 "grammar.y"
13474     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13475     break;
13476
13477   case 20:
13478
13479 /* Line 1464 of yacc.c  */
13480 #line 571 "grammar.y"
13481     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13482     break;
13483
13484   case 21:
13485
13486 /* Line 1464 of yacc.c  */
13487 #line 576 "grammar.y"
13488     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13489     break;
13490
13491   case 22:
13492
13493 /* Line 1464 of yacc.c  */
13494 #line 578 "grammar.y"
13495     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13496     break;
13497
13498   case 23:
13499
13500 /* Line 1464 of yacc.c  */
13501 #line 580 "grammar.y"
13502     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13503     break;
13504
13505   case 24:
13506
13507 /* Line 1464 of yacc.c  */
13508 #line 582 "grammar.y"
13509     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13510     break;
13511
13512   case 25:
13513
13514 /* Line 1464 of yacc.c  */
13515 #line 584 "grammar.y"
13516     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13517     break;
13518
13519   case 26:
13520
13521 /* Line 1464 of yacc.c  */
13522 #line 588 "grammar.y"
13523     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13524     break;
13525
13526   case 27:
13527
13528 /* Line 1464 of yacc.c  */
13529 #line 592 "grammar.y"
13530     {
13531          if((yyvsp[(1) - (3)].classFunction).declarator)
13532          {
13533             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13534             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13535          }
13536          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13537          (yyval.classFunction).loc = (yyloc);
13538       ;}
13539     break;
13540
13541   case 28:
13542
13543 /* Line 1464 of yacc.c  */
13544 #line 605 "grammar.y"
13545     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13546     break;
13547
13548   case 29:
13549
13550 /* Line 1464 of yacc.c  */
13551 #line 607 "grammar.y"
13552     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13553     break;
13554
13555   case 30:
13556
13557 /* Line 1464 of yacc.c  */
13558 #line 609 "grammar.y"
13559     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13560     break;
13561
13562   case 31:
13563
13564 /* Line 1464 of yacc.c  */
13565 #line 611 "grammar.y"
13566     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13567     break;
13568
13569   case 32:
13570
13571 /* Line 1464 of yacc.c  */
13572 #line 613 "grammar.y"
13573     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13574     break;
13575
13576   case 33:
13577
13578 /* Line 1464 of yacc.c  */
13579 #line 619 "grammar.y"
13580     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13581     break;
13582
13583   case 34:
13584
13585 /* Line 1464 of yacc.c  */
13586 #line 621 "grammar.y"
13587     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13588     break;
13589
13590   case 35:
13591
13592 /* Line 1464 of yacc.c  */
13593 #line 626 "grammar.y"
13594     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13595     break;
13596
13597   case 36:
13598
13599 /* Line 1464 of yacc.c  */
13600 #line 631 "grammar.y"
13601     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13602     break;
13603
13604   case 37:
13605
13606 /* Line 1464 of yacc.c  */
13607 #line 636 "grammar.y"
13608     { 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++;;}
13609     break;
13610
13611   case 38:
13612
13613 /* Line 1464 of yacc.c  */
13614 #line 638 "grammar.y"
13615     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13616     break;
13617
13618   case 39:
13619
13620 /* Line 1464 of yacc.c  */
13621 #line 640 "grammar.y"
13622     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13623     break;
13624
13625   case 40:
13626
13627 /* Line 1464 of yacc.c  */
13628 #line 644 "grammar.y"
13629     { (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;;}
13630     break;
13631
13632   case 41:
13633
13634 /* Line 1464 of yacc.c  */
13635 #line 645 "grammar.y"
13636     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13637     break;
13638
13639   case 42:
13640
13641 /* Line 1464 of yacc.c  */
13642 #line 649 "grammar.y"
13643     { (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;;}
13644     break;
13645
13646   case 43:
13647
13648 /* Line 1464 of yacc.c  */
13649 #line 651 "grammar.y"
13650     {
13651          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13652          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13653
13654          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13655          yyclearin;
13656          resetScannerPos(&(yylsp[(2) - (3)]).end);
13657          (yyloc).start = (yylsp[(1) - (3)]).start;
13658          (yyloc).end = (yylsp[(2) - (3)]).end;
13659       ;}
13660     break;
13661
13662   case 44:
13663
13664 /* Line 1464 of yacc.c  */
13665 #line 661 "grammar.y"
13666     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13667     break;
13668
13669   case 45:
13670
13671 /* Line 1464 of yacc.c  */
13672 #line 665 "grammar.y"
13673     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13674     break;
13675
13676   case 46:
13677
13678 /* Line 1464 of yacc.c  */
13679 #line 667 "grammar.y"
13680     { ((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); ;}
13681     break;
13682
13683   case 47:
13684
13685 /* Line 1464 of yacc.c  */
13686 #line 669 "grammar.y"
13687     { ((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); ;}
13688     break;
13689
13690   case 48:
13691
13692 /* Line 1464 of yacc.c  */
13693 #line 673 "grammar.y"
13694     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13695     break;
13696
13697   case 49:
13698
13699 /* Line 1464 of yacc.c  */
13700 #line 675 "grammar.y"
13701     { ((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); ;}
13702     break;
13703
13704   case 50:
13705
13706 /* Line 1464 of yacc.c  */
13707 #line 677 "grammar.y"
13708     { ((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); ;}
13709     break;
13710
13711   case 51:
13712
13713 /* Line 1464 of yacc.c  */
13714 #line 680 "grammar.y"
13715     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13716          {
13717             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13718             MemberInit memberInit = MkMemberInit(null, dummy);
13719             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13720             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13721             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13722           }
13723           (yyval.list) = (yyvsp[(1) - (3)].list);
13724        ;}
13725     break;
13726
13727   case 52:
13728
13729 /* Line 1464 of yacc.c  */
13730 #line 692 "grammar.y"
13731     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13732          {
13733             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13734             MemberInit memberInit = MkMemberInit(null, dummy);
13735             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13736             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13737             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13738           }
13739           (yyval.list) = (yyvsp[(1) - (3)].list);
13740        ;}
13741     break;
13742
13743   case 53:
13744
13745 /* Line 1464 of yacc.c  */
13746 #line 703 "grammar.y"
13747     {
13748          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13749          MemberInit memberInit = MkMemberInit(null, dummy);
13750          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13751          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13752
13753          (yyval.list) = MkList();
13754          ListAdd((yyval.list), memberInit);
13755
13756          dummy = MkInitializerAssignment(MkExpDummy());
13757          memberInit = MkMemberInit(null, dummy);
13758          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13759          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13760          ListAdd((yyval.list), memberInit);
13761       ;}
13762     break;
13763
13764   case 54:
13765
13766 /* Line 1464 of yacc.c  */
13767 #line 722 "grammar.y"
13768     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13769     break;
13770
13771   case 55:
13772
13773 /* Line 1464 of yacc.c  */
13774 #line 724 "grammar.y"
13775     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13776     break;
13777
13778   case 56:
13779
13780 /* Line 1464 of yacc.c  */
13781 #line 728 "grammar.y"
13782     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13783     break;
13784
13785   case 57:
13786
13787 /* Line 1464 of yacc.c  */
13788 #line 729 "grammar.y"
13789     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13790     break;
13791
13792   case 58:
13793
13794 /* Line 1464 of yacc.c  */
13795 #line 730 "grammar.y"
13796     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13797     break;
13798
13799   case 59:
13800
13801 /* Line 1464 of yacc.c  */
13802 #line 731 "grammar.y"
13803     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13804     break;
13805
13806   case 60:
13807
13808 /* Line 1464 of yacc.c  */
13809 #line 732 "grammar.y"
13810     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13811     break;
13812
13813   case 61:
13814
13815 /* Line 1464 of yacc.c  */
13816 #line 733 "grammar.y"
13817     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13818     break;
13819
13820   case 63:
13821
13822 /* Line 1464 of yacc.c  */
13823 #line 736 "grammar.y"
13824     {
13825       MembersInit members = (MembersInit)(yyval.list)->last;
13826       if(members.type == dataMembersInit)
13827          members.loc.end = (yyloc).end;
13828       else
13829       {
13830          MembersInit members = MkMembersInitList(MkList());
13831          ListAdd((yyval.list), members);
13832          members.loc = (yylsp[(2) - (2)]);
13833       }
13834       (yyval.list) = (yyvsp[(1) - (2)].list);
13835    ;}
13836     break;
13837
13838   case 64:
13839
13840 /* Line 1464 of yacc.c  */
13841 #line 748 "grammar.y"
13842     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
13843     break;
13844
13845   case 66:
13846
13847 /* Line 1464 of yacc.c  */
13848 #line 753 "grammar.y"
13849     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13850     break;
13851
13852   case 67:
13853
13854 /* Line 1464 of yacc.c  */
13855 #line 754 "grammar.y"
13856     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13857     break;
13858
13859   case 68:
13860
13861 /* Line 1464 of yacc.c  */
13862 #line 755 "grammar.y"
13863     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13864     break;
13865
13866   case 69:
13867
13868 /* Line 1464 of yacc.c  */
13869 #line 759 "grammar.y"
13870     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13871     break;
13872
13873   case 70:
13874
13875 /* Line 1464 of yacc.c  */
13876 #line 760 "grammar.y"
13877     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13878     break;
13879
13880   case 71:
13881
13882 /* Line 1464 of yacc.c  */
13883 #line 761 "grammar.y"
13884     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13885     break;
13886
13887   case 72:
13888
13889 /* Line 1464 of yacc.c  */
13890 #line 762 "grammar.y"
13891     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13892     break;
13893
13894   case 73:
13895
13896 /* Line 1464 of yacc.c  */
13897 #line 763 "grammar.y"
13898     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13899     break;
13900
13901   case 74:
13902
13903 /* Line 1464 of yacc.c  */
13904 #line 764 "grammar.y"
13905     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13906     break;
13907
13908   case 75:
13909
13910 /* Line 1464 of yacc.c  */
13911 #line 765 "grammar.y"
13912     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13913     break;
13914
13915   case 76:
13916
13917 /* Line 1464 of yacc.c  */
13918 #line 770 "grammar.y"
13919     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13920     break;
13921
13922   case 77:
13923
13924 /* Line 1464 of yacc.c  */
13925 #line 772 "grammar.y"
13926     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13927     break;
13928
13929   case 78:
13930
13931 /* Line 1464 of yacc.c  */
13932 #line 777 "grammar.y"
13933     { (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++; ;}
13934     break;
13935
13936   case 79:
13937
13938 /* Line 1464 of yacc.c  */
13939 #line 779 "grammar.y"
13940     { (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++; ;}
13941     break;
13942
13943   case 80:
13944
13945 /* Line 1464 of yacc.c  */
13946 #line 781 "grammar.y"
13947     { (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++; ;}
13948     break;
13949
13950   case 81:
13951
13952 /* Line 1464 of yacc.c  */
13953 #line 783 "grammar.y"
13954     { (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++; ;}
13955     break;
13956
13957   case 82:
13958
13959 /* Line 1464 of yacc.c  */
13960 #line 785 "grammar.y"
13961     { (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++; ;}
13962     break;
13963
13964   case 83:
13965
13966 /* Line 1464 of yacc.c  */
13967 #line 815 "grammar.y"
13968     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13969     break;
13970
13971   case 84:
13972
13973 /* Line 1464 of yacc.c  */
13974 #line 817 "grammar.y"
13975     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13976     break;
13977
13978   case 85:
13979
13980 /* Line 1464 of yacc.c  */
13981 #line 822 "grammar.y"
13982     { (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++; ;}
13983     break;
13984
13985   case 86:
13986
13987 /* Line 1464 of yacc.c  */
13988 #line 824 "grammar.y"
13989     { (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++; ;}
13990     break;
13991
13992   case 87:
13993
13994 /* Line 1464 of yacc.c  */
13995 #line 826 "grammar.y"
13996     { (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++; ;}
13997     break;
13998
13999   case 88:
14000
14001 /* Line 1464 of yacc.c  */
14002 #line 828 "grammar.y"
14003     { (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++; ;}
14004     break;
14005
14006   case 89:
14007
14008 /* Line 1464 of yacc.c  */
14009 #line 830 "grammar.y"
14010     { (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++; ;}
14011     break;
14012
14013   case 90:
14014
14015 /* Line 1464 of yacc.c  */
14016 #line 859 "grammar.y"
14017     { (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;;}
14018     break;
14019
14020   case 91:
14021
14022 /* Line 1464 of yacc.c  */
14023 #line 861 "grammar.y"
14024     { (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;;}
14025     break;
14026
14027   case 92:
14028
14029 /* Line 1464 of yacc.c  */
14030 #line 863 "grammar.y"
14031     { (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;;}
14032     break;
14033
14034   case 93:
14035
14036 /* Line 1464 of yacc.c  */
14037 #line 868 "grammar.y"
14038     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14039     break;
14040
14041   case 94:
14042
14043 /* Line 1464 of yacc.c  */
14044 #line 870 "grammar.y"
14045     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14046     break;
14047
14048   case 95:
14049
14050 /* Line 1464 of yacc.c  */
14051 #line 875 "grammar.y"
14052     { (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++; ;}
14053     break;
14054
14055   case 96:
14056
14057 /* Line 1464 of yacc.c  */
14058 #line 877 "grammar.y"
14059     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14060       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)); ;}
14061     break;
14062
14063   case 97:
14064
14065 /* Line 1464 of yacc.c  */
14066 #line 881 "grammar.y"
14067     { (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++; ;}
14068     break;
14069
14070   case 98:
14071
14072 /* Line 1464 of yacc.c  */
14073 #line 883 "grammar.y"
14074     { (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++; ;}
14075     break;
14076
14077   case 99:
14078
14079 /* Line 1464 of yacc.c  */
14080 #line 885 "grammar.y"
14081     { (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++; ;}
14082     break;
14083
14084   case 100:
14085
14086 /* Line 1464 of yacc.c  */
14087 #line 887 "grammar.y"
14088     { (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++;  ;}
14089     break;
14090
14091   case 101:
14092
14093 /* Line 1464 of yacc.c  */
14094 #line 892 "grammar.y"
14095     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14096       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)); ;}
14097     break;
14098
14099   case 102:
14100
14101 /* Line 1464 of yacc.c  */
14102 #line 895 "grammar.y"
14103     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14104       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)); ;}
14105     break;
14106
14107   case 103:
14108
14109 /* Line 1464 of yacc.c  */
14110 #line 898 "grammar.y"
14111     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14112       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)); ;}
14113     break;
14114
14115   case 104:
14116
14117 /* Line 1464 of yacc.c  */
14118 #line 901 "grammar.y"
14119     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14120       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)); ;}
14121     break;
14122
14123   case 105:
14124
14125 /* Line 1464 of yacc.c  */
14126 #line 966 "grammar.y"
14127     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14128     break;
14129
14130   case 106:
14131
14132 /* Line 1464 of yacc.c  */
14133 #line 968 "grammar.y"
14134     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14135     break;
14136
14137   case 107:
14138
14139 /* Line 1464 of yacc.c  */
14140 #line 973 "grammar.y"
14141     { (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++; ;}
14142     break;
14143
14144   case 108:
14145
14146 /* Line 1464 of yacc.c  */
14147 #line 975 "grammar.y"
14148     { (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++; ;}
14149     break;
14150
14151   case 109:
14152
14153 /* Line 1464 of yacc.c  */
14154 #line 977 "grammar.y"
14155     { (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++;  ;}
14156     break;
14157
14158   case 110:
14159
14160 /* Line 1464 of yacc.c  */
14161 #line 979 "grammar.y"
14162     { (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++; ;}
14163     break;
14164
14165   case 111:
14166
14167 /* Line 1464 of yacc.c  */
14168 #line 981 "grammar.y"
14169     { (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++; ;}
14170     break;
14171
14172   case 112:
14173
14174 /* Line 1464 of yacc.c  */
14175 #line 1011 "grammar.y"
14176     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14177     break;
14178
14179   case 113:
14180
14181 /* Line 1464 of yacc.c  */
14182 #line 1015 "grammar.y"
14183     { (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; ;}
14184     break;
14185
14186   case 114:
14187
14188 /* Line 1464 of yacc.c  */
14189 #line 1016 "grammar.y"
14190     { (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; ;}
14191     break;
14192
14193   case 115:
14194
14195 /* Line 1464 of yacc.c  */
14196 #line 1017 "grammar.y"
14197     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14198     break;
14199
14200   case 116:
14201
14202 /* Line 1464 of yacc.c  */
14203 #line 1021 "grammar.y"
14204     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14205     break;
14206
14207   case 117:
14208
14209 /* Line 1464 of yacc.c  */
14210 #line 1022 "grammar.y"
14211     { ((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); ;}
14212     break;
14213
14214   case 118:
14215
14216 /* Line 1464 of yacc.c  */
14217 #line 1023 "grammar.y"
14218     { ((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); ;}
14219     break;
14220
14221   case 119:
14222
14223 /* Line 1464 of yacc.c  */
14224 #line 1027 "grammar.y"
14225     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14226     break;
14227
14228   case 120:
14229
14230 /* Line 1464 of yacc.c  */
14231 #line 1028 "grammar.y"
14232     { ((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); ;}
14233     break;
14234
14235   case 121:
14236
14237 /* Line 1464 of yacc.c  */
14238 #line 1029 "grammar.y"
14239     { ((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); ;}
14240     break;
14241
14242   case 123:
14243
14244 /* Line 1464 of yacc.c  */
14245 #line 1035 "grammar.y"
14246     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14247     break;
14248
14249   case 124:
14250
14251 /* Line 1464 of yacc.c  */
14252 #line 1038 "grammar.y"
14253     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14254     break;
14255
14256   case 125:
14257
14258 /* Line 1464 of yacc.c  */
14259 #line 1041 "grammar.y"
14260     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14261     break;
14262
14263   case 126:
14264
14265 /* Line 1464 of yacc.c  */
14266 #line 1044 "grammar.y"
14267     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14268     break;
14269
14270   case 127:
14271
14272 /* Line 1464 of yacc.c  */
14273 #line 1047 "grammar.y"
14274     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14275     break;
14276
14277   case 129:
14278
14279 /* Line 1464 of yacc.c  */
14280 #line 1053 "grammar.y"
14281     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14282     break;
14283
14284   case 130:
14285
14286 /* Line 1464 of yacc.c  */
14287 #line 1055 "grammar.y"
14288     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14289     break;
14290
14291   case 131:
14292
14293 /* Line 1464 of yacc.c  */
14294 #line 1057 "grammar.y"
14295     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14296     break;
14297
14298   case 132:
14299
14300 /* Line 1464 of yacc.c  */
14301 #line 1059 "grammar.y"
14302     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14303     break;
14304
14305   case 133:
14306
14307 /* Line 1464 of yacc.c  */
14308 #line 1061 "grammar.y"
14309     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14310     break;
14311
14312   case 134:
14313
14314 /* Line 1464 of yacc.c  */
14315 #line 1065 "grammar.y"
14316     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14317     break;
14318
14319   case 135:
14320
14321 /* Line 1464 of yacc.c  */
14322 #line 1070 "grammar.y"
14323     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14324     break;
14325
14326   case 136:
14327
14328 /* Line 1464 of yacc.c  */
14329 #line 1073 "grammar.y"
14330     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14331     break;
14332
14333   case 137:
14334
14335 /* Line 1464 of yacc.c  */
14336 #line 1076 "grammar.y"
14337     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14338     break;
14339
14340   case 138:
14341
14342 /* Line 1464 of yacc.c  */
14343 #line 1079 "grammar.y"
14344     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14345     break;
14346
14347   case 139:
14348
14349 /* Line 1464 of yacc.c  */
14350 #line 1082 "grammar.y"
14351     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14352     break;
14353
14354   case 141:
14355
14356 /* Line 1464 of yacc.c  */
14357 #line 1088 "grammar.y"
14358     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14359     break;
14360
14361   case 142:
14362
14363 /* Line 1464 of yacc.c  */
14364 #line 1090 "grammar.y"
14365     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14366     break;
14367
14368   case 143:
14369
14370 /* Line 1464 of yacc.c  */
14371 #line 1094 "grammar.y"
14372     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14373     break;
14374
14375   case 144:
14376
14377 /* Line 1464 of yacc.c  */
14378 #line 1099 "grammar.y"
14379     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14380     break;
14381
14382   case 145:
14383
14384 /* Line 1464 of yacc.c  */
14385 #line 1101 "grammar.y"
14386     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14387     break;
14388
14389   case 146:
14390
14391 /* Line 1464 of yacc.c  */
14392 #line 1106 "grammar.y"
14393     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14394     break;
14395
14396   case 147:
14397
14398 /* Line 1464 of yacc.c  */
14399 #line 1108 "grammar.y"
14400     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14401     break;
14402
14403   case 148:
14404
14405 /* Line 1464 of yacc.c  */
14406 #line 1113 "grammar.y"
14407     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14408     break;
14409
14410   case 149:
14411
14412 /* Line 1464 of yacc.c  */
14413 #line 1115 "grammar.y"
14414     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14415     break;
14416
14417   case 150:
14418
14419 /* Line 1464 of yacc.c  */
14420 #line 1120 "grammar.y"
14421     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14422     break;
14423
14424   case 151:
14425
14426 /* Line 1464 of yacc.c  */
14427 #line 1125 "grammar.y"
14428     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14429     break;
14430
14431   case 152:
14432
14433 /* Line 1464 of yacc.c  */
14434 #line 1127 "grammar.y"
14435     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14436     break;
14437
14438   case 153:
14439
14440 /* Line 1464 of yacc.c  */
14441 #line 1132 "grammar.y"
14442     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14443     break;
14444
14445   case 154:
14446
14447 /* Line 1464 of yacc.c  */
14448 #line 1134 "grammar.y"
14449     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14450     break;
14451
14452   case 155:
14453
14454 /* Line 1464 of yacc.c  */
14455 #line 1136 "grammar.y"
14456     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14457     break;
14458
14459   case 156:
14460
14461 /* Line 1464 of yacc.c  */
14462 #line 1138 "grammar.y"
14463     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14464     break;
14465
14466   case 157:
14467
14468 /* Line 1464 of yacc.c  */
14469 #line 1143 "grammar.y"
14470     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14471     break;
14472
14473   case 158:
14474
14475 /* Line 1464 of yacc.c  */
14476 #line 1145 "grammar.y"
14477     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14478     break;
14479
14480   case 159:
14481
14482 /* Line 1464 of yacc.c  */
14483 #line 1147 "grammar.y"
14484     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14485     break;
14486
14487   case 160:
14488
14489 /* Line 1464 of yacc.c  */
14490 #line 1149 "grammar.y"
14491     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14492     break;
14493
14494   case 161:
14495
14496 /* Line 1464 of yacc.c  */
14497 #line 1153 "grammar.y"
14498     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14499     break;
14500
14501   case 162:
14502
14503 /* Line 1464 of yacc.c  */
14504 #line 1154 "grammar.y"
14505     { (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); ;}
14506     break;
14507
14508   case 163:
14509
14510 /* Line 1464 of yacc.c  */
14511 #line 1155 "grammar.y"
14512     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14513     break;
14514
14515   case 164:
14516
14517 /* Line 1464 of yacc.c  */
14518 #line 1156 "grammar.y"
14519     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14520     break;
14521
14522   case 165:
14523
14524 /* Line 1464 of yacc.c  */
14525 #line 1157 "grammar.y"
14526     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14527     break;
14528
14529   case 166:
14530
14531 /* Line 1464 of yacc.c  */
14532 #line 1158 "grammar.y"
14533     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14534     break;
14535
14536   case 167:
14537
14538 /* Line 1464 of yacc.c  */
14539 #line 1159 "grammar.y"
14540     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14541     break;
14542
14543   case 168:
14544
14545 /* Line 1464 of yacc.c  */
14546 #line 1160 "grammar.y"
14547     { (yyval.classDef) = null; deleteWatchable = true; ;}
14548     break;
14549
14550   case 169:
14551
14552 /* Line 1464 of yacc.c  */
14553 #line 1161 "grammar.y"
14554     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14555     break;
14556
14557   case 170:
14558
14559 /* Line 1464 of yacc.c  */
14560 #line 1162 "grammar.y"
14561     { (yyval.classDef) = MkClassDefFixed(); ;}
14562     break;
14563
14564   case 171:
14565
14566 /* Line 1464 of yacc.c  */
14567 #line 1163 "grammar.y"
14568     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14569     break;
14570
14571   case 172:
14572
14573 /* Line 1464 of yacc.c  */
14574 #line 1165 "grammar.y"
14575     { (yyval.classDef) = null; ;}
14576     break;
14577
14578   case 173:
14579
14580 /* Line 1464 of yacc.c  */
14581 #line 1166 "grammar.y"
14582     { 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; ;}
14583     break;
14584
14585   case 174:
14586
14587 /* Line 1464 of yacc.c  */
14588 #line 1168 "grammar.y"
14589     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14590     break;
14591
14592   case 175:
14593
14594 /* Line 1464 of yacc.c  */
14595 #line 1172 "grammar.y"
14596     { (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]; ;}
14597     break;
14598
14599   case 176:
14600
14601 /* Line 1464 of yacc.c  */
14602 #line 1175 "grammar.y"
14603     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14604     break;
14605
14606   case 177:
14607
14608 /* Line 1464 of yacc.c  */
14609 #line 1176 "grammar.y"
14610     { (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]; ;}
14611     break;
14612
14613   case 178:
14614
14615 /* Line 1464 of yacc.c  */
14616 #line 1177 "grammar.y"
14617     { (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); ;}
14618     break;
14619
14620   case 179:
14621
14622 /* Line 1464 of yacc.c  */
14623 #line 1178 "grammar.y"
14624     { (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); ;}
14625     break;
14626
14627   case 180:
14628
14629 /* Line 1464 of yacc.c  */
14630 #line 1179 "grammar.y"
14631     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14632     break;
14633
14634   case 181:
14635
14636 /* Line 1464 of yacc.c  */
14637 #line 1180 "grammar.y"
14638     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14639     break;
14640
14641   case 182:
14642
14643 /* Line 1464 of yacc.c  */
14644 #line 1181 "grammar.y"
14645     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14646     break;
14647
14648   case 183:
14649
14650 /* Line 1464 of yacc.c  */
14651 #line 1182 "grammar.y"
14652     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14653     break;
14654
14655   case 184:
14656
14657 /* Line 1464 of yacc.c  */
14658 #line 1183 "grammar.y"
14659     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14660     break;
14661
14662   case 185:
14663
14664 /* Line 1464 of yacc.c  */
14665 #line 1184 "grammar.y"
14666     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14667     break;
14668
14669   case 186:
14670
14671 /* Line 1464 of yacc.c  */
14672 #line 1185 "grammar.y"
14673     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14674     break;
14675
14676   case 187:
14677
14678 /* Line 1464 of yacc.c  */
14679 #line 1186 "grammar.y"
14680     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14681     break;
14682
14683   case 188:
14684
14685 /* Line 1464 of yacc.c  */
14686 #line 1187 "grammar.y"
14687     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14688     break;
14689
14690   case 189:
14691
14692 /* Line 1464 of yacc.c  */
14693 #line 1188 "grammar.y"
14694     { (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); ;}
14695     break;
14696
14697   case 190:
14698
14699 /* Line 1464 of yacc.c  */
14700 #line 1190 "grammar.y"
14701     { (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]; ;}
14702     break;
14703
14704   case 191:
14705
14706 /* Line 1464 of yacc.c  */
14707 #line 1191 "grammar.y"
14708     { (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]; ;}
14709     break;
14710
14711   case 192:
14712
14713 /* Line 1464 of yacc.c  */
14714 #line 1195 "grammar.y"
14715     { (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); ;}
14716     break;
14717
14718   case 193:
14719
14720 /* Line 1464 of yacc.c  */
14721 #line 1196 "grammar.y"
14722     { (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); ;}
14723     break;
14724
14725   case 194:
14726
14727 /* Line 1464 of yacc.c  */
14728 #line 1197 "grammar.y"
14729     { (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); ;}
14730     break;
14731
14732   case 195:
14733
14734 /* Line 1464 of yacc.c  */
14735 #line 1201 "grammar.y"
14736     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14737     break;
14738
14739   case 196:
14740
14741 /* Line 1464 of yacc.c  */
14742 #line 1205 "grammar.y"
14743     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14744     break;
14745
14746   case 197:
14747
14748 /* Line 1464 of yacc.c  */
14749 #line 1206 "grammar.y"
14750     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14751     break;
14752
14753   case 198:
14754
14755 /* Line 1464 of yacc.c  */
14756 #line 1207 "grammar.y"
14757     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14758     break;
14759
14760   case 199:
14761
14762 /* Line 1464 of yacc.c  */
14763 #line 1211 "grammar.y"
14764     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14765     break;
14766
14767   case 202:
14768
14769 /* Line 1464 of yacc.c  */
14770 #line 1214 "grammar.y"
14771     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14772     break;
14773
14774   case 203:
14775
14776 /* Line 1464 of yacc.c  */
14777 #line 1215 "grammar.y"
14778     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14779     break;
14780
14781   case 204:
14782
14783 /* Line 1464 of yacc.c  */
14784 #line 1219 "grammar.y"
14785     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14786     break;
14787
14788   case 205:
14789
14790 /* Line 1464 of yacc.c  */
14791 #line 1220 "grammar.y"
14792     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14793     break;
14794
14795   case 206:
14796
14797 /* Line 1464 of yacc.c  */
14798 #line 1232 "grammar.y"
14799     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
14800     break;
14801
14802   case 207:
14803
14804 /* Line 1464 of yacc.c  */
14805 #line 1233 "grammar.y"
14806     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
14807     break;
14808
14809   case 208:
14810
14811 /* Line 1464 of yacc.c  */
14812 #line 1237 "grammar.y"
14813     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
14814     break;
14815
14816   case 209:
14817
14818 /* Line 1464 of yacc.c  */
14819 #line 1238 "grammar.y"
14820     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14821     break;
14822
14823   case 210:
14824
14825 /* Line 1464 of yacc.c  */
14826 #line 1239 "grammar.y"
14827     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14828     break;
14829
14830   case 211:
14831
14832 /* Line 1464 of yacc.c  */
14833 #line 1240 "grammar.y"
14834     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14835     break;
14836
14837   case 212:
14838
14839 /* Line 1464 of yacc.c  */
14840 #line 1241 "grammar.y"
14841     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
14842     break;
14843
14844   case 213:
14845
14846 /* Line 1464 of yacc.c  */
14847 #line 1242 "grammar.y"
14848     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14849     break;
14850
14851   case 214:
14852
14853 /* Line 1464 of yacc.c  */
14854 #line 1243 "grammar.y"
14855     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14856     break;
14857
14858   case 215:
14859
14860 /* Line 1464 of yacc.c  */
14861 #line 1244 "grammar.y"
14862     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14863     break;
14864
14865   case 216:
14866
14867 /* Line 1464 of yacc.c  */
14868 #line 1248 "grammar.y"
14869     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
14870     break;
14871
14872   case 217:
14873
14874 /* Line 1464 of yacc.c  */
14875 #line 1252 "grammar.y"
14876     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
14877     break;
14878
14879   case 218:
14880
14881 /* Line 1464 of yacc.c  */
14882 #line 1253 "grammar.y"
14883     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
14884     break;
14885
14886   case 219:
14887
14888 /* Line 1464 of yacc.c  */
14889 #line 1257 "grammar.y"
14890     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
14891     break;
14892
14893   case 220:
14894
14895 /* Line 1464 of yacc.c  */
14896 #line 1265 "grammar.y"
14897     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
14898     break;
14899
14900   case 221:
14901
14902 /* Line 1464 of yacc.c  */
14903 #line 1266 "grammar.y"
14904     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
14905     break;
14906
14907   case 225:
14908
14909 /* Line 1464 of yacc.c  */
14910 #line 1276 "grammar.y"
14911     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
14912     break;
14913
14914   case 226:
14915
14916 /* Line 1464 of yacc.c  */
14917 #line 1277 "grammar.y"
14918     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
14919     break;
14920
14921   case 230:
14922
14923 /* Line 1464 of yacc.c  */
14924 #line 1284 "grammar.y"
14925     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14926     break;
14927
14928   case 231:
14929
14930 /* Line 1464 of yacc.c  */
14931 #line 1285 "grammar.y"
14932     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14933     break;
14934
14935   case 232:
14936
14937 /* Line 1464 of yacc.c  */
14938 #line 1286 "grammar.y"
14939     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14940     break;
14941
14942   case 233:
14943
14944 /* Line 1464 of yacc.c  */
14945 #line 1326 "grammar.y"
14946     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
14947     break;
14948
14949   case 234:
14950
14951 /* Line 1464 of yacc.c  */
14952 #line 1327 "grammar.y"
14953     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
14954     break;
14955
14956   case 235:
14957
14958 /* Line 1464 of yacc.c  */
14959 #line 1332 "grammar.y"
14960     {
14961       if(curContext != globalContext)
14962          PopContext(curContext);
14963       (yyval.context) = PushContext();
14964    ;}
14965     break;
14966
14967   case 236:
14968
14969 /* Line 1464 of yacc.c  */
14970 #line 1339 "grammar.y"
14971     { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14972     break;
14973
14974   case 237:
14975
14976 /* Line 1464 of yacc.c  */
14977 #line 1341 "grammar.y"
14978     {
14979       (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
14980       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
14981       FreeSpecifier((yyvsp[(2) - (2)].specifier));
14982       ++defaultMemberAccess;
14983       memberAccessStack[defaultMemberAccess] = privateAccess;
14984    ;}
14985     break;
14986
14987   case 238:
14988
14989 /* Line 1464 of yacc.c  */
14990 #line 1348 "grammar.y"
14991     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14992     break;
14993
14994   case 239:
14995
14996 /* Line 1464 of yacc.c  */
14997 #line 1349 "grammar.y"
14998     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14999     break;
15000
15001   case 240:
15002
15003 /* Line 1464 of yacc.c  */
15004 #line 1351 "grammar.y"
15005     { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15006     break;
15007
15008   case 241:
15009
15010 /* Line 1464 of yacc.c  */
15011 #line 1353 "grammar.y"
15012     {
15013       (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
15014       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15015       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15016       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15017       ++defaultMemberAccess;
15018       memberAccessStack[defaultMemberAccess] = privateAccess;
15019    ;}
15020     break;
15021
15022   case 242:
15023
15024 /* Line 1464 of yacc.c  */
15025 #line 1361 "grammar.y"
15026     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15027     break;
15028
15029   case 243:
15030
15031 /* Line 1464 of yacc.c  */
15032 #line 1362 "grammar.y"
15033     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15034     break;
15035
15036   case 244:
15037
15038 /* Line 1464 of yacc.c  */
15039 #line 1367 "grammar.y"
15040     {
15041          (yyval._class).loc = (yyloc);
15042          (yyval._class) = (yyvsp[(1) - (2)]._class);
15043       ;}
15044     break;
15045
15046   case 245:
15047
15048 /* Line 1464 of yacc.c  */
15049 #line 1374 "grammar.y"
15050     {
15051          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15052          POP_DEFAULT_ACCESS
15053          PopContext(curContext);
15054       ;}
15055     break;
15056
15057   case 246:
15058
15059 /* Line 1464 of yacc.c  */
15060 #line 1381 "grammar.y"
15061     {
15062          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15063          POP_DEFAULT_ACCESS
15064          PopContext(curContext);
15065       ;}
15066     break;
15067
15068   case 247:
15069
15070 /* Line 1464 of yacc.c  */
15071 #line 1387 "grammar.y"
15072     {
15073          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15074          POP_DEFAULT_ACCESS
15075          PopContext(curContext);
15076       ;}
15077     break;
15078
15079   case 248:
15080
15081 /* Line 1464 of yacc.c  */
15082 #line 1394 "grammar.y"
15083     {
15084          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
15085          POP_DEFAULT_ACCESS
15086          PopContext(curContext);
15087       ;}
15088     break;
15089
15090   case 249:
15091
15092 /* Line 1464 of yacc.c  */
15093 #line 1400 "grammar.y"
15094     {
15095          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
15096          POP_DEFAULT_ACCESS
15097          PopContext(curContext);
15098       ;}
15099     break;
15100
15101   case 250:
15102
15103 /* Line 1464 of yacc.c  */
15104 #line 1409 "grammar.y"
15105     {
15106          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15107       ;}
15108     break;
15109
15110   case 251:
15111
15112 /* Line 1464 of yacc.c  */
15113 #line 1416 "grammar.y"
15114     {
15115          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15116          POP_DEFAULT_ACCESS
15117          PopContext(curContext);
15118       ;}
15119     break;
15120
15121   case 252:
15122
15123 /* Line 1464 of yacc.c  */
15124 #line 1422 "grammar.y"
15125     {
15126          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15127          POP_DEFAULT_ACCESS
15128          PopContext(curContext);
15129       ;}
15130     break;
15131
15132   case 253:
15133
15134 /* Line 1464 of yacc.c  */
15135 #line 1428 "grammar.y"
15136     {
15137          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15138          POP_DEFAULT_ACCESS
15139          PopContext(curContext);
15140       ;}
15141     break;
15142
15143   case 254:
15144
15145 /* Line 1464 of yacc.c  */
15146 #line 1434 "grammar.y"
15147     {
15148          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15149          POP_DEFAULT_ACCESS
15150          PopContext(curContext);
15151       ;}
15152     break;
15153
15154   case 255:
15155
15156 /* Line 1464 of yacc.c  */
15157 #line 1440 "grammar.y"
15158     {
15159          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15160          POP_DEFAULT_ACCESS
15161          PopContext(curContext);
15162       ;}
15163     break;
15164
15165   case 256:
15166
15167 /* Line 1464 of yacc.c  */
15168 #line 1446 "grammar.y"
15169     {
15170          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15171          POP_DEFAULT_ACCESS
15172          PopContext(curContext);
15173       ;}
15174     break;
15175
15176   case 257:
15177
15178 /* Line 1464 of yacc.c  */
15179 #line 1457 "grammar.y"
15180     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15181     break;
15182
15183   case 259:
15184
15185 /* Line 1464 of yacc.c  */
15186 #line 1463 "grammar.y"
15187     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15188     break;
15189
15190   case 260:
15191
15192 /* Line 1464 of yacc.c  */
15193 #line 1467 "grammar.y"
15194     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15195     break;
15196
15197   case 261:
15198
15199 /* Line 1464 of yacc.c  */
15200 #line 1468 "grammar.y"
15201     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15202     break;
15203
15204   case 262:
15205
15206 /* Line 1464 of yacc.c  */
15207 #line 1469 "grammar.y"
15208     { (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); ;}
15209     break;
15210
15211   case 263:
15212
15213 /* Line 1464 of yacc.c  */
15214 #line 1473 "grammar.y"
15215     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15216     break;
15217
15218   case 264:
15219
15220 /* Line 1464 of yacc.c  */
15221 #line 1477 "grammar.y"
15222     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15223     break;
15224
15225   case 265:
15226
15227 /* Line 1464 of yacc.c  */
15228 #line 1478 "grammar.y"
15229     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15230     break;
15231
15232   case 266:
15233
15234 /* Line 1464 of yacc.c  */
15235 #line 1479 "grammar.y"
15236     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15237     break;
15238
15239   case 267:
15240
15241 /* Line 1464 of yacc.c  */
15242 #line 1480 "grammar.y"
15243     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15244     break;
15245
15246   case 268:
15247
15248 /* Line 1464 of yacc.c  */
15249 #line 1481 "grammar.y"
15250     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15251     break;
15252
15253   case 269:
15254
15255 /* Line 1464 of yacc.c  */
15256 #line 1482 "grammar.y"
15257     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15258     break;
15259
15260   case 270:
15261
15262 /* Line 1464 of yacc.c  */
15263 #line 1484 "grammar.y"
15264     {
15265       char * constant = (yyvsp[(1) - (2)].exp).constant;
15266       int len = strlen(constant);
15267       if(constant[len-1] == '.')
15268       {
15269          constant[len-1] = 0;
15270          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15271          (yyval.exp).loc = (yyloc);
15272       }
15273       else
15274          yyerror();
15275    ;}
15276     break;
15277
15278   case 271:
15279
15280 /* Line 1464 of yacc.c  */
15281 #line 1496 "grammar.y"
15282     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15283     break;
15284
15285   case 273:
15286
15287 /* Line 1464 of yacc.c  */
15288 #line 1498 "grammar.y"
15289     { 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(); ;}
15290     break;
15291
15292   case 274:
15293
15294 /* Line 1464 of yacc.c  */
15295 #line 1499 "grammar.y"
15296     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15297     break;
15298
15299   case 275:
15300
15301 /* Line 1464 of yacc.c  */
15302 #line 1500 "grammar.y"
15303     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15304     break;
15305
15306   case 276:
15307
15308 /* Line 1464 of yacc.c  */
15309 #line 1501 "grammar.y"
15310     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15311     break;
15312
15313   case 277:
15314
15315 /* Line 1464 of yacc.c  */
15316 #line 1502 "grammar.y"
15317     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15318     break;
15319
15320   case 278:
15321
15322 /* Line 1464 of yacc.c  */
15323 #line 1503 "grammar.y"
15324     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15325     break;
15326
15327   case 279:
15328
15329 /* Line 1464 of yacc.c  */
15330 #line 1504 "grammar.y"
15331     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15332     break;
15333
15334   case 280:
15335
15336 /* Line 1464 of yacc.c  */
15337 #line 1505 "grammar.y"
15338     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15339     break;
15340
15341   case 281:
15342
15343 /* Line 1464 of yacc.c  */
15344 #line 1506 "grammar.y"
15345     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15346     break;
15347
15348   case 282:
15349
15350 /* Line 1464 of yacc.c  */
15351 #line 1507 "grammar.y"
15352     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15353     break;
15354
15355   case 283:
15356
15357 /* Line 1464 of yacc.c  */
15358 #line 1508 "grammar.y"
15359     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15360     break;
15361
15362   case 284:
15363
15364 /* Line 1464 of yacc.c  */
15365 #line 1509 "grammar.y"
15366     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15367     break;
15368
15369   case 285:
15370
15371 /* Line 1464 of yacc.c  */
15372 #line 1510 "grammar.y"
15373     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15374     break;
15375
15376   case 286:
15377
15378 /* Line 1464 of yacc.c  */
15379 #line 1511 "grammar.y"
15380     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15381     break;
15382
15383   case 287:
15384
15385 /* Line 1464 of yacc.c  */
15386 #line 1512 "grammar.y"
15387     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15388     break;
15389
15390   case 288:
15391
15392 /* Line 1464 of yacc.c  */
15393 #line 1513 "grammar.y"
15394     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15395     break;
15396
15397   case 289:
15398
15399 /* Line 1464 of yacc.c  */
15400 #line 1514 "grammar.y"
15401     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15402     break;
15403
15404   case 290:
15405
15406 /* Line 1464 of yacc.c  */
15407 #line 1515 "grammar.y"
15408     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15409     break;
15410
15411   case 291:
15412
15413 /* Line 1464 of yacc.c  */
15414 #line 1516 "grammar.y"
15415     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15416     break;
15417
15418   case 292:
15419
15420 /* Line 1464 of yacc.c  */
15421 #line 1517 "grammar.y"
15422     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15423     break;
15424
15425   case 293:
15426
15427 /* Line 1464 of yacc.c  */
15428 #line 1518 "grammar.y"
15429     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15430     break;
15431
15432   case 294:
15433
15434 /* Line 1464 of yacc.c  */
15435 #line 1520 "grammar.y"
15436     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15437     break;
15438
15439   case 299:
15440
15441 /* Line 1464 of yacc.c  */
15442 #line 1526 "grammar.y"
15443     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15444     break;
15445
15446   case 300:
15447
15448 /* Line 1464 of yacc.c  */
15449 #line 1527 "grammar.y"
15450     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15451     break;
15452
15453   case 301:
15454
15455 /* Line 1464 of yacc.c  */
15456 #line 1531 "grammar.y"
15457     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15458     break;
15459
15460   case 302:
15461
15462 /* Line 1464 of yacc.c  */
15463 #line 1535 "grammar.y"
15464     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15465     break;
15466
15467   case 303:
15468
15469 /* Line 1464 of yacc.c  */
15470 #line 1539 "grammar.y"
15471     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15472     break;
15473
15474   case 304:
15475
15476 /* Line 1464 of yacc.c  */
15477 #line 1540 "grammar.y"
15478     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15479     break;
15480
15481   case 306:
15482
15483 /* Line 1464 of yacc.c  */
15484 #line 1546 "grammar.y"
15485     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15486     break;
15487
15488   case 307:
15489
15490 /* Line 1464 of yacc.c  */
15491 #line 1547 "grammar.y"
15492     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15493     break;
15494
15495   case 308:
15496
15497 /* Line 1464 of yacc.c  */
15498 #line 1548 "grammar.y"
15499     { (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); ;}
15500     break;
15501
15502   case 309:
15503
15504 /* Line 1464 of yacc.c  */
15505 #line 1549 "grammar.y"
15506     { (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); ;}
15507     break;
15508
15509   case 310:
15510
15511 /* Line 1464 of yacc.c  */
15512 #line 1550 "grammar.y"
15513     { (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; ;}
15514     break;
15515
15516   case 311:
15517
15518 /* Line 1464 of yacc.c  */
15519 #line 1551 "grammar.y"
15520     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15521     break;
15522
15523   case 312:
15524
15525 /* Line 1464 of yacc.c  */
15526 #line 1552 "grammar.y"
15527     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15528     break;
15529
15530   case 313:
15531
15532 /* Line 1464 of yacc.c  */
15533 #line 1553 "grammar.y"
15534     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15535     break;
15536
15537   case 314:
15538
15539 /* Line 1464 of yacc.c  */
15540 #line 1554 "grammar.y"
15541     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15542     break;
15543
15544   case 315:
15545
15546 /* Line 1464 of yacc.c  */
15547 #line 1556 "grammar.y"
15548     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15549     break;
15550
15551   case 316:
15552
15553 /* Line 1464 of yacc.c  */
15554 #line 1557 "grammar.y"
15555     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15556     break;
15557
15558   case 317:
15559
15560 /* Line 1464 of yacc.c  */
15561 #line 1558 "grammar.y"
15562     { (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); ;}
15563     break;
15564
15565   case 318:
15566
15567 /* Line 1464 of yacc.c  */
15568 #line 1559 "grammar.y"
15569     { (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); ;}
15570     break;
15571
15572   case 319:
15573
15574 /* Line 1464 of yacc.c  */
15575 #line 1560 "grammar.y"
15576     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15577     break;
15578
15579   case 320:
15580
15581 /* Line 1464 of yacc.c  */
15582 #line 1561 "grammar.y"
15583     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15584     break;
15585
15586   case 321:
15587
15588 /* Line 1464 of yacc.c  */
15589 #line 1562 "grammar.y"
15590     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15591     break;
15592
15593   case 322:
15594
15595 /* Line 1464 of yacc.c  */
15596 #line 1563 "grammar.y"
15597     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15598     break;
15599
15600   case 323:
15601
15602 /* Line 1464 of yacc.c  */
15603 #line 1590 "grammar.y"
15604     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15605     break;
15606
15607   case 324:
15608
15609 /* Line 1464 of yacc.c  */
15610 #line 1591 "grammar.y"
15611     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15612     break;
15613
15614   case 325:
15615
15616 /* Line 1464 of yacc.c  */
15617 #line 1592 "grammar.y"
15618     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15619     break;
15620
15621   case 326:
15622
15623 /* Line 1464 of yacc.c  */
15624 #line 1593 "grammar.y"
15625     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15626     break;
15627
15628   case 327:
15629
15630 /* Line 1464 of yacc.c  */
15631 #line 1597 "grammar.y"
15632     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15633     break;
15634
15635   case 328:
15636
15637 /* Line 1464 of yacc.c  */
15638 #line 1598 "grammar.y"
15639     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15640     break;
15641
15642   case 329:
15643
15644 /* Line 1464 of yacc.c  */
15645 #line 1599 "grammar.y"
15646     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15647     break;
15648
15649   case 330:
15650
15651 /* Line 1464 of yacc.c  */
15652 #line 1600 "grammar.y"
15653     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15654     break;
15655
15656   case 331:
15657
15658 /* Line 1464 of yacc.c  */
15659 #line 1601 "grammar.y"
15660     { 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); ;}
15661     break;
15662
15663   case 332:
15664
15665 /* Line 1464 of yacc.c  */
15666 #line 1605 "grammar.y"
15667     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15668     break;
15669
15670   case 333:
15671
15672 /* Line 1464 of yacc.c  */
15673 #line 1606 "grammar.y"
15674     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15675     break;
15676
15677   case 334:
15678
15679 /* Line 1464 of yacc.c  */
15680 #line 1607 "grammar.y"
15681     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15682     break;
15683
15684   case 335:
15685
15686 /* Line 1464 of yacc.c  */
15687 #line 1608 "grammar.y"
15688     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15689     break;
15690
15691   case 336:
15692
15693 /* Line 1464 of yacc.c  */
15694 #line 1610 "grammar.y"
15695     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15696     break;
15697
15698   case 337:
15699
15700 /* Line 1464 of yacc.c  */
15701 #line 1611 "grammar.y"
15702     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15703     break;
15704
15705   case 338:
15706
15707 /* Line 1464 of yacc.c  */
15708 #line 1612 "grammar.y"
15709     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15710     break;
15711
15712   case 339:
15713
15714 /* Line 1464 of yacc.c  */
15715 #line 1613 "grammar.y"
15716     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15717     break;
15718
15719   case 340:
15720
15721 /* Line 1464 of yacc.c  */
15722 #line 1616 "grammar.y"
15723     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15724     break;
15725
15726   case 341:
15727
15728 /* Line 1464 of yacc.c  */
15729 #line 1617 "grammar.y"
15730     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15731     break;
15732
15733   case 344:
15734
15735 /* Line 1464 of yacc.c  */
15736 #line 1631 "grammar.y"
15737     { (yyval.i) = '&'; ;}
15738     break;
15739
15740   case 345:
15741
15742 /* Line 1464 of yacc.c  */
15743 #line 1632 "grammar.y"
15744     { (yyval.i) = '*'; ;}
15745     break;
15746
15747   case 346:
15748
15749 /* Line 1464 of yacc.c  */
15750 #line 1633 "grammar.y"
15751     { (yyval.i) = '+'; ;}
15752     break;
15753
15754   case 347:
15755
15756 /* Line 1464 of yacc.c  */
15757 #line 1634 "grammar.y"
15758     { (yyval.i) = '-'; ;}
15759     break;
15760
15761   case 348:
15762
15763 /* Line 1464 of yacc.c  */
15764 #line 1635 "grammar.y"
15765     { (yyval.i) = '~'; ;}
15766     break;
15767
15768   case 349:
15769
15770 /* Line 1464 of yacc.c  */
15771 #line 1636 "grammar.y"
15772     { (yyval.i) = '!'; ;}
15773     break;
15774
15775   case 350:
15776
15777 /* Line 1464 of yacc.c  */
15778 #line 1637 "grammar.y"
15779     { (yyval.i) = DELETE; ;}
15780     break;
15781
15782   case 351:
15783
15784 /* Line 1464 of yacc.c  */
15785 #line 1638 "grammar.y"
15786     { (yyval.i) = _INCREF; ;}
15787     break;
15788
15789   case 353:
15790
15791 /* Line 1464 of yacc.c  */
15792 #line 1643 "grammar.y"
15793     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15794     break;
15795
15796   case 355:
15797
15798 /* Line 1464 of yacc.c  */
15799 #line 1648 "grammar.y"
15800     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15801     break;
15802
15803   case 356:
15804
15805 /* Line 1464 of yacc.c  */
15806 #line 1649 "grammar.y"
15807     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15808     break;
15809
15810   case 357:
15811
15812 /* Line 1464 of yacc.c  */
15813 #line 1650 "grammar.y"
15814     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15815     break;
15816
15817   case 358:
15818
15819 /* Line 1464 of yacc.c  */
15820 #line 1651 "grammar.y"
15821     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15822     break;
15823
15824   case 359:
15825
15826 /* Line 1464 of yacc.c  */
15827 #line 1652 "grammar.y"
15828     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15829     break;
15830
15831   case 360:
15832
15833 /* Line 1464 of yacc.c  */
15834 #line 1653 "grammar.y"
15835     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15836     break;
15837
15838   case 362:
15839
15840 /* Line 1464 of yacc.c  */
15841 #line 1658 "grammar.y"
15842     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15843     break;
15844
15845   case 363:
15846
15847 /* Line 1464 of yacc.c  */
15848 #line 1659 "grammar.y"
15849     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15850     break;
15851
15852   case 364:
15853
15854 /* Line 1464 of yacc.c  */
15855 #line 1660 "grammar.y"
15856     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15857     break;
15858
15859   case 365:
15860
15861 /* Line 1464 of yacc.c  */
15862 #line 1661 "grammar.y"
15863     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15864     break;
15865
15866   case 367:
15867
15868 /* Line 1464 of yacc.c  */
15869 #line 1666 "grammar.y"
15870     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15871     break;
15872
15873   case 368:
15874
15875 /* Line 1464 of yacc.c  */
15876 #line 1667 "grammar.y"
15877     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15878     break;
15879
15880   case 369:
15881
15882 /* Line 1464 of yacc.c  */
15883 #line 1668 "grammar.y"
15884     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15885     break;
15886
15887   case 370:
15888
15889 /* Line 1464 of yacc.c  */
15890 #line 1669 "grammar.y"
15891     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15892     break;
15893
15894   case 371:
15895
15896 /* Line 1464 of yacc.c  */
15897 #line 1674 "grammar.y"
15898     {
15899       (yyval.exp) = (yyvsp[(1) - (2)].exp);
15900       skipErrors = true;
15901    ;}
15902     break;
15903
15904   case 373:
15905
15906 /* Line 1464 of yacc.c  */
15907 #line 1682 "grammar.y"
15908     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
15909     break;
15910
15911   case 374:
15912
15913 /* Line 1464 of yacc.c  */
15914 #line 1683 "grammar.y"
15915     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15916     break;
15917
15918   case 375:
15919
15920 /* Line 1464 of yacc.c  */
15921 #line 1684 "grammar.y"
15922     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15923     break;
15924
15925   case 376:
15926
15927 /* Line 1464 of yacc.c  */
15928 #line 1685 "grammar.y"
15929     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15930     break;
15931
15932   case 377:
15933
15934 /* Line 1464 of yacc.c  */
15935 #line 1686 "grammar.y"
15936     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15937     break;
15938
15939   case 378:
15940
15941 /* Line 1464 of yacc.c  */
15942 #line 1687 "grammar.y"
15943     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15944     break;
15945
15946   case 379:
15947
15948 /* Line 1464 of yacc.c  */
15949 #line 1688 "grammar.y"
15950     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15951     break;
15952
15953   case 380:
15954
15955 /* Line 1464 of yacc.c  */
15956 #line 1689 "grammar.y"
15957     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15958     break;
15959
15960   case 382:
15961
15962 /* Line 1464 of yacc.c  */
15963 #line 1694 "grammar.y"
15964     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15965     break;
15966
15967   case 383:
15968
15969 /* Line 1464 of yacc.c  */
15970 #line 1695 "grammar.y"
15971     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15972     break;
15973
15974   case 384:
15975
15976 /* Line 1464 of yacc.c  */
15977 #line 1696 "grammar.y"
15978     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15979     break;
15980
15981   case 385:
15982
15983 /* Line 1464 of yacc.c  */
15984 #line 1697 "grammar.y"
15985     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15986     break;
15987
15988   case 386:
15989
15990 /* Line 1464 of yacc.c  */
15991 #line 1699 "grammar.y"
15992     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15993     break;
15994
15995   case 387:
15996
15997 /* Line 1464 of yacc.c  */
15998 #line 1700 "grammar.y"
15999     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16000     break;
16001
16002   case 388:
16003
16004 /* Line 1464 of yacc.c  */
16005 #line 1701 "grammar.y"
16006     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16007     break;
16008
16009   case 389:
16010
16011 /* Line 1464 of yacc.c  */
16012 #line 1702 "grammar.y"
16013     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16014     break;
16015
16016   case 391:
16017
16018 /* Line 1464 of yacc.c  */
16019 #line 1707 "grammar.y"
16020     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16021     break;
16022
16023   case 392:
16024
16025 /* Line 1464 of yacc.c  */
16026 #line 1708 "grammar.y"
16027     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16028     break;
16029
16030   case 393:
16031
16032 /* Line 1464 of yacc.c  */
16033 #line 1710 "grammar.y"
16034     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16035     break;
16036
16037   case 394:
16038
16039 /* Line 1464 of yacc.c  */
16040 #line 1711 "grammar.y"
16041     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16042     break;
16043
16044   case 396:
16045
16046 /* Line 1464 of yacc.c  */
16047 #line 1716 "grammar.y"
16048     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16049     break;
16050
16051   case 397:
16052
16053 /* Line 1464 of yacc.c  */
16054 #line 1717 "grammar.y"
16055     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16056     break;
16057
16058   case 398:
16059
16060 /* Line 1464 of yacc.c  */
16061 #line 1719 "grammar.y"
16062     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16063     break;
16064
16065   case 399:
16066
16067 /* Line 1464 of yacc.c  */
16068 #line 1720 "grammar.y"
16069     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16070     break;
16071
16072   case 401:
16073
16074 /* Line 1464 of yacc.c  */
16075 #line 1725 "grammar.y"
16076     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16077     break;
16078
16079   case 402:
16080
16081 /* Line 1464 of yacc.c  */
16082 #line 1726 "grammar.y"
16083     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16084     break;
16085
16086   case 403:
16087
16088 /* Line 1464 of yacc.c  */
16089 #line 1728 "grammar.y"
16090     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16091     break;
16092
16093   case 404:
16094
16095 /* Line 1464 of yacc.c  */
16096 #line 1729 "grammar.y"
16097     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16098     break;
16099
16100   case 406:
16101
16102 /* Line 1464 of yacc.c  */
16103 #line 1734 "grammar.y"
16104     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16105     break;
16106
16107   case 407:
16108
16109 /* Line 1464 of yacc.c  */
16110 #line 1735 "grammar.y"
16111     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16112     break;
16113
16114   case 409:
16115
16116 /* Line 1464 of yacc.c  */
16117 #line 1740 "grammar.y"
16118     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16119     break;
16120
16121   case 410:
16122
16123 /* Line 1464 of yacc.c  */
16124 #line 1741 "grammar.y"
16125     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16126     break;
16127
16128   case 412:
16129
16130 /* Line 1464 of yacc.c  */
16131 #line 1746 "grammar.y"
16132     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16133     break;
16134
16135   case 413:
16136
16137 /* Line 1464 of yacc.c  */
16138 #line 1747 "grammar.y"
16139     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16140     break;
16141
16142   case 414:
16143
16144 /* Line 1464 of yacc.c  */
16145 #line 1748 "grammar.y"
16146     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16147     break;
16148
16149   case 415:
16150
16151 /* Line 1464 of yacc.c  */
16152 #line 1749 "grammar.y"
16153     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16154     break;
16155
16156   case 416:
16157
16158 /* Line 1464 of yacc.c  */
16159 #line 1751 "grammar.y"
16160     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16161     break;
16162
16163   case 417:
16164
16165 /* Line 1464 of yacc.c  */
16166 #line 1752 "grammar.y"
16167     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16168     break;
16169
16170   case 418:
16171
16172 /* Line 1464 of yacc.c  */
16173 #line 1753 "grammar.y"
16174     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16175     break;
16176
16177   case 419:
16178
16179 /* Line 1464 of yacc.c  */
16180 #line 1754 "grammar.y"
16181     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16182     break;
16183
16184   case 420:
16185
16186 /* Line 1464 of yacc.c  */
16187 #line 1756 "grammar.y"
16188     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16189     break;
16190
16191   case 421:
16192
16193 /* Line 1464 of yacc.c  */
16194 #line 1757 "grammar.y"
16195     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16196     break;
16197
16198   case 422:
16199
16200 /* Line 1464 of yacc.c  */
16201 #line 1758 "grammar.y"
16202     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16203     break;
16204
16205   case 423:
16206
16207 /* Line 1464 of yacc.c  */
16208 #line 1759 "grammar.y"
16209     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16210     break;
16211
16212   case 424:
16213
16214 /* Line 1464 of yacc.c  */
16215 #line 1761 "grammar.y"
16216     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16217     break;
16218
16219   case 425:
16220
16221 /* Line 1464 of yacc.c  */
16222 #line 1762 "grammar.y"
16223     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16224     break;
16225
16226   case 426:
16227
16228 /* Line 1464 of yacc.c  */
16229 #line 1763 "grammar.y"
16230     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16231     break;
16232
16233   case 427:
16234
16235 /* Line 1464 of yacc.c  */
16236 #line 1764 "grammar.y"
16237     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16238     break;
16239
16240   case 429:
16241
16242 /* Line 1464 of yacc.c  */
16243 #line 1769 "grammar.y"
16244     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16245     break;
16246
16247   case 430:
16248
16249 /* Line 1464 of yacc.c  */
16250 #line 1770 "grammar.y"
16251     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16252     break;
16253
16254   case 431:
16255
16256 /* Line 1464 of yacc.c  */
16257 #line 1771 "grammar.y"
16258     { 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); ;}
16259     break;
16260
16261   case 432:
16262
16263 /* Line 1464 of yacc.c  */
16264 #line 1772 "grammar.y"
16265     { 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); ;}
16266     break;
16267
16268   case 433:
16269
16270 /* Line 1464 of yacc.c  */
16271 #line 1774 "grammar.y"
16272     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16273     break;
16274
16275   case 434:
16276
16277 /* Line 1464 of yacc.c  */
16278 #line 1775 "grammar.y"
16279     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16280     break;
16281
16282   case 435:
16283
16284 /* Line 1464 of yacc.c  */
16285 #line 1776 "grammar.y"
16286     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16287     break;
16288
16289   case 436:
16290
16291 /* Line 1464 of yacc.c  */
16292 #line 1777 "grammar.y"
16293     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16294     break;
16295
16296   case 437:
16297
16298 /* Line 1464 of yacc.c  */
16299 #line 1781 "grammar.y"
16300     { (yyval.i) = '='; ;}
16301     break;
16302
16303   case 438:
16304
16305 /* Line 1464 of yacc.c  */
16306 #line 1782 "grammar.y"
16307     { (yyval.i) = MUL_ASSIGN; ;}
16308     break;
16309
16310   case 439:
16311
16312 /* Line 1464 of yacc.c  */
16313 #line 1783 "grammar.y"
16314     { (yyval.i) = DIV_ASSIGN; ;}
16315     break;
16316
16317   case 440:
16318
16319 /* Line 1464 of yacc.c  */
16320 #line 1784 "grammar.y"
16321     { (yyval.i) = MOD_ASSIGN; ;}
16322     break;
16323
16324   case 441:
16325
16326 /* Line 1464 of yacc.c  */
16327 #line 1785 "grammar.y"
16328     { (yyval.i) = ADD_ASSIGN; ;}
16329     break;
16330
16331   case 442:
16332
16333 /* Line 1464 of yacc.c  */
16334 #line 1786 "grammar.y"
16335     { (yyval.i) = SUB_ASSIGN; ;}
16336     break;
16337
16338   case 443:
16339
16340 /* Line 1464 of yacc.c  */
16341 #line 1787 "grammar.y"
16342     { (yyval.i) = LEFT_ASSIGN; ;}
16343     break;
16344
16345   case 444:
16346
16347 /* Line 1464 of yacc.c  */
16348 #line 1788 "grammar.y"
16349     { (yyval.i) = RIGHT_ASSIGN; ;}
16350     break;
16351
16352   case 445:
16353
16354 /* Line 1464 of yacc.c  */
16355 #line 1789 "grammar.y"
16356     { (yyval.i) = AND_ASSIGN; ;}
16357     break;
16358
16359   case 446:
16360
16361 /* Line 1464 of yacc.c  */
16362 #line 1790 "grammar.y"
16363     { (yyval.i) = XOR_ASSIGN; ;}
16364     break;
16365
16366   case 447:
16367
16368 /* Line 1464 of yacc.c  */
16369 #line 1791 "grammar.y"
16370     { (yyval.i) = OR_ASSIGN; ;}
16371     break;
16372
16373   case 448:
16374
16375 /* Line 1464 of yacc.c  */
16376 #line 1795 "grammar.y"
16377     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16378     break;
16379
16380   case 449:
16381
16382 /* Line 1464 of yacc.c  */
16383 #line 1796 "grammar.y"
16384     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16385     break;
16386
16387   case 450:
16388
16389 /* Line 1464 of yacc.c  */
16390 #line 1797 "grammar.y"
16391     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16392     break;
16393
16394   case 452:
16395
16396 /* Line 1464 of yacc.c  */
16397 #line 1802 "grammar.y"
16398     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16399     break;
16400
16401   case 453:
16402
16403 /* Line 1464 of yacc.c  */
16404 #line 1803 "grammar.y"
16405     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16406     break;
16407
16408   case 454:
16409
16410 /* Line 1464 of yacc.c  */
16411 #line 1804 "grammar.y"
16412     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16413     break;
16414
16415   case 456:
16416
16417 /* Line 1464 of yacc.c  */
16418 #line 1809 "grammar.y"
16419     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16420     break;
16421
16422   case 458:
16423
16424 /* Line 1464 of yacc.c  */
16425 #line 1811 "grammar.y"
16426     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16427     break;
16428
16429   case 459:
16430
16431 /* Line 1464 of yacc.c  */
16432 #line 1813 "grammar.y"
16433     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16434     break;
16435
16436   case 460:
16437
16438 /* Line 1464 of yacc.c  */
16439 #line 1814 "grammar.y"
16440     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16441     break;
16442
16443   case 461:
16444
16445 /* Line 1464 of yacc.c  */
16446 #line 1816 "grammar.y"
16447     { 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++;;}
16448     break;
16449
16450   case 462:
16451
16452 /* Line 1464 of yacc.c  */
16453 #line 1817 "grammar.y"
16454     { (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++;;}
16455     break;
16456
16457   case 463:
16458
16459 /* Line 1464 of yacc.c  */
16460 #line 1822 "grammar.y"
16461     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16462     break;
16463
16464   case 464:
16465
16466 /* Line 1464 of yacc.c  */
16467 #line 1824 "grammar.y"
16468     { (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++;;}
16469     break;
16470
16471   case 465:
16472
16473 /* Line 1464 of yacc.c  */
16474 #line 1829 "grammar.y"
16475     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16476     break;
16477
16478   case 466:
16479
16480 /* Line 1464 of yacc.c  */
16481 #line 1857 "grammar.y"
16482     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16483     break;
16484
16485   case 467:
16486
16487 /* Line 1464 of yacc.c  */
16488 #line 1858 "grammar.y"
16489     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16490     break;
16491
16492   case 468:
16493
16494 /* Line 1464 of yacc.c  */
16495 #line 1859 "grammar.y"
16496     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16497     break;
16498
16499   case 469:
16500
16501 /* Line 1464 of yacc.c  */
16502 #line 1860 "grammar.y"
16503     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16504     break;
16505
16506   case 470:
16507
16508 /* Line 1464 of yacc.c  */
16509 #line 1862 "grammar.y"
16510     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16511     break;
16512
16513   case 471:
16514
16515 /* Line 1464 of yacc.c  */
16516 #line 1863 "grammar.y"
16517     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16518     break;
16519
16520   case 472:
16521
16522 /* Line 1464 of yacc.c  */
16523 #line 1864 "grammar.y"
16524     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16525     break;
16526
16527   case 473:
16528
16529 /* Line 1464 of yacc.c  */
16530 #line 1865 "grammar.y"
16531     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16532     break;
16533
16534   case 474:
16535
16536 /* Line 1464 of yacc.c  */
16537 #line 1867 "grammar.y"
16538     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16539     break;
16540
16541   case 475:
16542
16543 /* Line 1464 of yacc.c  */
16544 #line 1868 "grammar.y"
16545     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16546     break;
16547
16548   case 479:
16549
16550 /* Line 1464 of yacc.c  */
16551 #line 1883 "grammar.y"
16552     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16553     break;
16554
16555   case 481:
16556
16557 /* Line 1464 of yacc.c  */
16558 #line 1888 "grammar.y"
16559     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16560     break;
16561
16562   case 482:
16563
16564 /* Line 1464 of yacc.c  */
16565 #line 1889 "grammar.y"
16566     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16567     break;
16568
16569   case 483:
16570
16571 /* Line 1464 of yacc.c  */
16572 #line 1890 "grammar.y"
16573     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16574     break;
16575
16576   case 484:
16577
16578 /* Line 1464 of yacc.c  */
16579 #line 1891 "grammar.y"
16580     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16581     break;
16582
16583   case 485:
16584
16585 /* Line 1464 of yacc.c  */
16586 #line 1892 "grammar.y"
16587     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16588     break;
16589
16590   case 486:
16591
16592 /* Line 1464 of yacc.c  */
16593 #line 1893 "grammar.y"
16594     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16595     break;
16596
16597   case 488:
16598
16599 /* Line 1464 of yacc.c  */
16600 #line 1898 "grammar.y"
16601     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16602     break;
16603
16604   case 489:
16605
16606 /* Line 1464 of yacc.c  */
16607 #line 1902 "grammar.y"
16608     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16609     break;
16610
16611   case 490:
16612
16613 /* Line 1464 of yacc.c  */
16614 #line 1906 "grammar.y"
16615     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16616     break;
16617
16618   case 491:
16619
16620 /* Line 1464 of yacc.c  */
16621 #line 1910 "grammar.y"
16622     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16623     break;
16624
16625   case 493:
16626
16627 /* Line 1464 of yacc.c  */
16628 #line 1918 "grammar.y"
16629     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16630     break;
16631
16632   case 494:
16633
16634 /* Line 1464 of yacc.c  */
16635 #line 1919 "grammar.y"
16636     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16637     break;
16638
16639   case 495:
16640
16641 /* Line 1464 of yacc.c  */
16642 #line 1920 "grammar.y"
16643     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16644     break;
16645
16646   case 496:
16647
16648 /* Line 1464 of yacc.c  */
16649 #line 1921 "grammar.y"
16650     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16651     break;
16652
16653   case 498:
16654
16655 /* Line 1464 of yacc.c  */
16656 #line 1927 "grammar.y"
16657     {
16658       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16659       {
16660          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16661          {
16662             char name[1024];
16663             strcpy(name, "::");
16664             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16665             _DeclClass(0, name);
16666          }
16667          else
16668             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
16669
16670          // printf("Declaring Class %s\n", $1.identifier.string);
16671          skipErrors = false;
16672
16673          FreeExpression((yyvsp[(1) - (2)].exp));
16674          FreeExpression((yyvsp[(2) - (2)].exp));
16675
16676          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
16677          resetScannerPos(&(yylsp[(1) - (2)]).start);
16678          yyclearin;
16679
16680          YYPOPSTACK(1);
16681          yystate = *yyssp;
16682          YY_STACK_PRINT (yyss, yyssp);
16683
16684          YYPOPSTACK(1);
16685          yystate = *yyssp;
16686          YY_STACK_PRINT (yyss, yyssp);
16687 /*
16688          YYPOPSTACK(1);
16689          yystate = *yyssp;
16690          YY_STACK_PRINT (yyss, yyssp);
16691
16692          YYPOPSTACK(1);
16693          yystate = *yyssp;
16694          YY_STACK_PRINT (yyss, yyssp);
16695 */
16696          yyerrok;
16697
16698          goto yysetstate;
16699       }
16700       else
16701       {
16702          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16703          (yyval.exp).loc = (yyloc);
16704       }
16705       skipErrors = false;
16706    ;}
16707     break;
16708
16709   case 499:
16710
16711 /* Line 1464 of yacc.c  */
16712 #line 1977 "grammar.y"
16713     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16714     break;
16715
16716   case 500:
16717
16718 /* Line 1464 of yacc.c  */
16719 #line 1978 "grammar.y"
16720     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16721     break;
16722
16723   case 501:
16724
16725 /* Line 1464 of yacc.c  */
16726 #line 1979 "grammar.y"
16727     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16728     break;
16729
16730   case 502:
16731
16732 /* Line 1464 of yacc.c  */
16733 #line 1980 "grammar.y"
16734     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16735     break;
16736
16737   case 503:
16738
16739 /* Line 1464 of yacc.c  */
16740 #line 1981 "grammar.y"
16741     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16742     break;
16743
16744   case 504:
16745
16746 /* Line 1464 of yacc.c  */
16747 #line 1982 "grammar.y"
16748     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16749     break;
16750
16751   case 505:
16752
16753 /* Line 1464 of yacc.c  */
16754 #line 1983 "grammar.y"
16755     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16756     break;
16757
16758   case 507:
16759
16760 /* Line 1464 of yacc.c  */
16761 #line 1988 "grammar.y"
16762     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16763     break;
16764
16765   case 508:
16766
16767 /* Line 1464 of yacc.c  */
16768 #line 1989 "grammar.y"
16769     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16770     break;
16771
16772   case 509:
16773
16774 /* Line 1464 of yacc.c  */
16775 #line 1990 "grammar.y"
16776     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16777     break;
16778
16779   case 510:
16780
16781 /* Line 1464 of yacc.c  */
16782 #line 1991 "grammar.y"
16783     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16784     break;
16785
16786   case 511:
16787
16788 /* Line 1464 of yacc.c  */
16789 #line 1998 "grammar.y"
16790     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16791     break;
16792
16793   case 512:
16794
16795 /* Line 1464 of yacc.c  */
16796 #line 1999 "grammar.y"
16797     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16798     break;
16799
16800   case 513:
16801
16802 /* Line 1464 of yacc.c  */
16803 #line 2000 "grammar.y"
16804     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16805     break;
16806
16807   case 514:
16808
16809 /* Line 1464 of yacc.c  */
16810 #line 2001 "grammar.y"
16811     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16812     break;
16813
16814   case 516:
16815
16816 /* Line 1464 of yacc.c  */
16817 #line 2006 "grammar.y"
16818     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16819     break;
16820
16821   case 517:
16822
16823 /* Line 1464 of yacc.c  */
16824 #line 2007 "grammar.y"
16825     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16826     break;
16827
16828   case 518:
16829
16830 /* Line 1464 of yacc.c  */
16831 #line 2009 "grammar.y"
16832     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16833     break;
16834
16835   case 519:
16836
16837 /* Line 1464 of yacc.c  */
16838 #line 2010 "grammar.y"
16839     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16840     break;
16841
16842   case 521:
16843
16844 /* Line 1464 of yacc.c  */
16845 #line 2015 "grammar.y"
16846     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16847     break;
16848
16849   case 522:
16850
16851 /* Line 1464 of yacc.c  */
16852 #line 2016 "grammar.y"
16853     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16854     break;
16855
16856   case 523:
16857
16858 /* Line 1464 of yacc.c  */
16859 #line 2018 "grammar.y"
16860     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16861     break;
16862
16863   case 524:
16864
16865 /* Line 1464 of yacc.c  */
16866 #line 2019 "grammar.y"
16867     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16868     break;
16869
16870   case 526:
16871
16872 /* Line 1464 of yacc.c  */
16873 #line 2024 "grammar.y"
16874     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16875     break;
16876
16877   case 527:
16878
16879 /* Line 1464 of yacc.c  */
16880 #line 2025 "grammar.y"
16881     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16882     break;
16883
16884   case 528:
16885
16886 /* Line 1464 of yacc.c  */
16887 #line 2027 "grammar.y"
16888     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16889     break;
16890
16891   case 529:
16892
16893 /* Line 1464 of yacc.c  */
16894 #line 2028 "grammar.y"
16895     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16896     break;
16897
16898   case 531:
16899
16900 /* Line 1464 of yacc.c  */
16901 #line 2033 "grammar.y"
16902     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16903     break;
16904
16905   case 532:
16906
16907 /* Line 1464 of yacc.c  */
16908 #line 2034 "grammar.y"
16909     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16910     break;
16911
16912   case 534:
16913
16914 /* Line 1464 of yacc.c  */
16915 #line 2039 "grammar.y"
16916     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16917     break;
16918
16919   case 535:
16920
16921 /* Line 1464 of yacc.c  */
16922 #line 2040 "grammar.y"
16923     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16924     break;
16925
16926   case 537:
16927
16928 /* Line 1464 of yacc.c  */
16929 #line 2045 "grammar.y"
16930     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16931     break;
16932
16933   case 538:
16934
16935 /* Line 1464 of yacc.c  */
16936 #line 2046 "grammar.y"
16937     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16938     break;
16939
16940   case 539:
16941
16942 /* Line 1464 of yacc.c  */
16943 #line 2047 "grammar.y"
16944     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16945     break;
16946
16947   case 540:
16948
16949 /* Line 1464 of yacc.c  */
16950 #line 2048 "grammar.y"
16951     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16952     break;
16953
16954   case 541:
16955
16956 /* Line 1464 of yacc.c  */
16957 #line 2049 "grammar.y"
16958     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16959     break;
16960
16961   case 542:
16962
16963 /* Line 1464 of yacc.c  */
16964 #line 2050 "grammar.y"
16965     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16966     break;
16967
16968   case 543:
16969
16970 /* Line 1464 of yacc.c  */
16971 #line 2051 "grammar.y"
16972     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16973     break;
16974
16975   case 544:
16976
16977 /* Line 1464 of yacc.c  */
16978 #line 2052 "grammar.y"
16979     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16980     break;
16981
16982   case 545:
16983
16984 /* Line 1464 of yacc.c  */
16985 #line 2054 "grammar.y"
16986     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16987     break;
16988
16989   case 546:
16990
16991 /* Line 1464 of yacc.c  */
16992 #line 2055 "grammar.y"
16993     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16994     break;
16995
16996   case 547:
16997
16998 /* Line 1464 of yacc.c  */
16999 #line 2056 "grammar.y"
17000     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17001     break;
17002
17003   case 548:
17004
17005 /* Line 1464 of yacc.c  */
17006 #line 2057 "grammar.y"
17007     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17008     break;
17009
17010   case 549:
17011
17012 /* Line 1464 of yacc.c  */
17013 #line 2058 "grammar.y"
17014     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17015     break;
17016
17017   case 550:
17018
17019 /* Line 1464 of yacc.c  */
17020 #line 2059 "grammar.y"
17021     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17022     break;
17023
17024   case 551:
17025
17026 /* Line 1464 of yacc.c  */
17027 #line 2060 "grammar.y"
17028     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17029     break;
17030
17031   case 552:
17032
17033 /* Line 1464 of yacc.c  */
17034 #line 2061 "grammar.y"
17035     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17036     break;
17037
17038   case 553:
17039
17040 /* Line 1464 of yacc.c  */
17041 #line 2063 "grammar.y"
17042     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17043     break;
17044
17045   case 554:
17046
17047 /* Line 1464 of yacc.c  */
17048 #line 2064 "grammar.y"
17049     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17050     break;
17051
17052   case 555:
17053
17054 /* Line 1464 of yacc.c  */
17055 #line 2065 "grammar.y"
17056     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17057     break;
17058
17059   case 556:
17060
17061 /* Line 1464 of yacc.c  */
17062 #line 2066 "grammar.y"
17063     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17064     break;
17065
17066   case 557:
17067
17068 /* Line 1464 of yacc.c  */
17069 #line 2068 "grammar.y"
17070     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17071     break;
17072
17073   case 558:
17074
17075 /* Line 1464 of yacc.c  */
17076 #line 2069 "grammar.y"
17077     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17078     break;
17079
17080   case 559:
17081
17082 /* Line 1464 of yacc.c  */
17083 #line 2070 "grammar.y"
17084     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17085     break;
17086
17087   case 560:
17088
17089 /* Line 1464 of yacc.c  */
17090 #line 2071 "grammar.y"
17091     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17092     break;
17093
17094   case 561:
17095
17096 /* Line 1464 of yacc.c  */
17097 #line 2074 "grammar.y"
17098     {
17099          yyerror();
17100          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17101          (yyval.exp).loc = (yyloc);
17102          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17103          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17104       ;}
17105     break;
17106
17107   case 562:
17108
17109 /* Line 1464 of yacc.c  */
17110 #line 2082 "grammar.y"
17111     {
17112          (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)]);
17113       ;}
17114     break;
17115
17116   case 563:
17117
17118 /* Line 1464 of yacc.c  */
17119 #line 2086 "grammar.y"
17120     {
17121          yyerror();
17122          (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)]);
17123       ;}
17124     break;
17125
17126   case 564:
17127
17128 /* Line 1464 of yacc.c  */
17129 #line 2091 "grammar.y"
17130     {
17131          (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)]);
17132       ;}
17133     break;
17134
17135   case 566:
17136
17137 /* Line 1464 of yacc.c  */
17138 #line 2098 "grammar.y"
17139     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17140     break;
17141
17142   case 567:
17143
17144 /* Line 1464 of yacc.c  */
17145 #line 2102 "grammar.y"
17146     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17147     break;
17148
17149   case 568:
17150
17151 /* Line 1464 of yacc.c  */
17152 #line 2107 "grammar.y"
17153     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17154     break;
17155
17156   case 569:
17157
17158 /* Line 1464 of yacc.c  */
17159 #line 2108 "grammar.y"
17160     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17161     break;
17162
17163   case 570:
17164
17165 /* Line 1464 of yacc.c  */
17166 #line 2112 "grammar.y"
17167     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17168     break;
17169
17170   case 571:
17171
17172 /* Line 1464 of yacc.c  */
17173 #line 2113 "grammar.y"
17174     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17175     break;
17176
17177   case 572:
17178
17179 /* Line 1464 of yacc.c  */
17180 #line 2114 "grammar.y"
17181     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17182     break;
17183
17184   case 573:
17185
17186 /* Line 1464 of yacc.c  */
17187 #line 2115 "grammar.y"
17188     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17189     break;
17190
17191   case 574:
17192
17193 /* Line 1464 of yacc.c  */
17194 #line 2121 "grammar.y"
17195     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17196     break;
17197
17198   case 575:
17199
17200 /* Line 1464 of yacc.c  */
17201 #line 2122 "grammar.y"
17202     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17203     break;
17204
17205   case 576:
17206
17207 /* Line 1464 of yacc.c  */
17208 #line 2123 "grammar.y"
17209     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17210     break;
17211
17212   case 577:
17213
17214 /* Line 1464 of yacc.c  */
17215 #line 2127 "grammar.y"
17216     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17217     break;
17218
17219   case 578:
17220
17221 /* Line 1464 of yacc.c  */
17222 #line 2128 "grammar.y"
17223     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17224     break;
17225
17226   case 579:
17227
17228 /* Line 1464 of yacc.c  */
17229 #line 2129 "grammar.y"
17230     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17231     break;
17232
17233   case 580:
17234
17235 /* Line 1464 of yacc.c  */
17236 #line 2130 "grammar.y"
17237     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17238     break;
17239
17240   case 583:
17241
17242 /* Line 1464 of yacc.c  */
17243 #line 2140 "grammar.y"
17244     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17245     break;
17246
17247   case 584:
17248
17249 /* Line 1464 of yacc.c  */
17250 #line 2141 "grammar.y"
17251     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17252     break;
17253
17254   case 585:
17255
17256 /* Line 1464 of yacc.c  */
17257 #line 2142 "grammar.y"
17258     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17259     break;
17260
17261   case 586:
17262
17263 /* Line 1464 of yacc.c  */
17264 #line 2143 "grammar.y"
17265     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17266     break;
17267
17268   case 587:
17269
17270 /* Line 1464 of yacc.c  */
17271 #line 2144 "grammar.y"
17272     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17273     break;
17274
17275   case 588:
17276
17277 /* Line 1464 of yacc.c  */
17278 #line 2145 "grammar.y"
17279     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17280     break;
17281
17282   case 589:
17283
17284 /* Line 1464 of yacc.c  */
17285 #line 2146 "grammar.y"
17286     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17287     break;
17288
17289   case 590:
17290
17291 /* Line 1464 of yacc.c  */
17292 #line 2150 "grammar.y"
17293     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17294     break;
17295
17296   case 591:
17297
17298 /* Line 1464 of yacc.c  */
17299 #line 2151 "grammar.y"
17300     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17301     break;
17302
17303   case 592:
17304
17305 /* Line 1464 of yacc.c  */
17306 #line 2152 "grammar.y"
17307     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17308     break;
17309
17310   case 593:
17311
17312 /* Line 1464 of yacc.c  */
17313 #line 2153 "grammar.y"
17314     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17315     break;
17316
17317   case 594:
17318
17319 /* Line 1464 of yacc.c  */
17320 #line 2154 "grammar.y"
17321     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17322     break;
17323
17324   case 595:
17325
17326 /* Line 1464 of yacc.c  */
17327 #line 2155 "grammar.y"
17328     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17329     break;
17330
17331   case 596:
17332
17333 /* Line 1464 of yacc.c  */
17334 #line 2156 "grammar.y"
17335     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17336     break;
17337
17338   case 597:
17339
17340 /* Line 1464 of yacc.c  */
17341 #line 2160 "grammar.y"
17342     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17343     break;
17344
17345   case 598:
17346
17347 /* Line 1464 of yacc.c  */
17348 #line 2161 "grammar.y"
17349     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17350     break;
17351
17352   case 599:
17353
17354 /* Line 1464 of yacc.c  */
17355 #line 2162 "grammar.y"
17356     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17357     break;
17358
17359   case 600:
17360
17361 /* Line 1464 of yacc.c  */
17362 #line 2166 "grammar.y"
17363     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17364     break;
17365
17366   case 601:
17367
17368 /* Line 1464 of yacc.c  */
17369 #line 2167 "grammar.y"
17370     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17371     break;
17372
17373   case 603:
17374
17375 /* Line 1464 of yacc.c  */
17376 #line 2172 "grammar.y"
17377     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17378     break;
17379
17380   case 604:
17381
17382 /* Line 1464 of yacc.c  */
17383 #line 2176 "grammar.y"
17384     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17385     break;
17386
17387   case 605:
17388
17389 /* Line 1464 of yacc.c  */
17390 #line 2177 "grammar.y"
17391     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17392     break;
17393
17394   case 606:
17395
17396 /* Line 1464 of yacc.c  */
17397 #line 2181 "grammar.y"
17398     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17399     break;
17400
17401   case 607:
17402
17403 /* Line 1464 of yacc.c  */
17404 #line 2182 "grammar.y"
17405     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17406     break;
17407
17408   case 608:
17409
17410 /* Line 1464 of yacc.c  */
17411 #line 2183 "grammar.y"
17412     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17413     break;
17414
17415   case 609:
17416
17417 /* Line 1464 of yacc.c  */
17418 #line 2187 "grammar.y"
17419     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17420     break;
17421
17422   case 610:
17423
17424 /* Line 1464 of yacc.c  */
17425 #line 2188 "grammar.y"
17426     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17427     break;
17428
17429   case 611:
17430
17431 /* Line 1464 of yacc.c  */
17432 #line 2190 "grammar.y"
17433     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17434     break;
17435
17436   case 612:
17437
17438 /* Line 1464 of yacc.c  */
17439 #line 2191 "grammar.y"
17440     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17441     break;
17442
17443   case 613:
17444
17445 /* Line 1464 of yacc.c  */
17446 #line 2192 "grammar.y"
17447     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17448     break;
17449
17450   case 614:
17451
17452 /* Line 1464 of yacc.c  */
17453 #line 2193 "grammar.y"
17454     { (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 ;}
17455     break;
17456
17457   case 615:
17458
17459 /* Line 1464 of yacc.c  */
17460 #line 2194 "grammar.y"
17461     { (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 ;}
17462     break;
17463
17464   case 616:
17465
17466 /* Line 1464 of yacc.c  */
17467 #line 2196 "grammar.y"
17468     { (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 ;}
17469     break;
17470
17471   case 617:
17472
17473 /* Line 1464 of yacc.c  */
17474 #line 2197 "grammar.y"
17475     { (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 ;}
17476     break;
17477
17478   case 618:
17479
17480 /* Line 1464 of yacc.c  */
17481 #line 2198 "grammar.y"
17482     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17483     break;
17484
17485   case 619:
17486
17487 /* Line 1464 of yacc.c  */
17488 #line 2199 "grammar.y"
17489     { (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 ;}
17490     break;
17491
17492   case 620:
17493
17494 /* Line 1464 of yacc.c  */
17495 #line 2200 "grammar.y"
17496     { (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 ;}
17497     break;
17498
17499   case 621:
17500
17501 /* Line 1464 of yacc.c  */
17502 #line 2202 "grammar.y"
17503     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17504     break;
17505
17506   case 622:
17507
17508 /* Line 1464 of yacc.c  */
17509 #line 2203 "grammar.y"
17510     { (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 ;}
17511     break;
17512
17513   case 623:
17514
17515 /* Line 1464 of yacc.c  */
17516 #line 2207 "grammar.y"
17517     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
17518     break;
17519
17520   case 624:
17521
17522 /* Line 1464 of yacc.c  */
17523 #line 2208 "grammar.y"
17524     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17525     break;
17526
17527   case 625:
17528
17529 /* Line 1464 of yacc.c  */
17530 #line 2212 "grammar.y"
17531     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17532     break;
17533
17534   case 626:
17535
17536 /* Line 1464 of yacc.c  */
17537 #line 2213 "grammar.y"
17538     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17539     break;
17540
17541   case 627:
17542
17543 /* Line 1464 of yacc.c  */
17544 #line 2214 "grammar.y"
17545     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17546     break;
17547
17548   case 628:
17549
17550 /* Line 1464 of yacc.c  */
17551 #line 2218 "grammar.y"
17552     { (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 ;}
17553     break;
17554
17555   case 629:
17556
17557 /* Line 1464 of yacc.c  */
17558 #line 2219 "grammar.y"
17559     { (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 ;}
17560     break;
17561
17562   case 630:
17563
17564 /* Line 1464 of yacc.c  */
17565 #line 2220 "grammar.y"
17566     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17567     break;
17568
17569   case 631:
17570
17571 /* Line 1464 of yacc.c  */
17572 #line 2221 "grammar.y"
17573     { (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 ;}
17574     break;
17575
17576   case 632:
17577
17578 /* Line 1464 of yacc.c  */
17579 #line 2222 "grammar.y"
17580     { (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 ;}
17581     break;
17582
17583   case 633:
17584
17585 /* Line 1464 of yacc.c  */
17586 #line 2223 "grammar.y"
17587     { (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 ;}
17588     break;
17589
17590   case 634:
17591
17592 /* Line 1464 of yacc.c  */
17593 #line 2224 "grammar.y"
17594     { (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 ;}
17595     break;
17596
17597   case 635:
17598
17599 /* Line 1464 of yacc.c  */
17600 #line 2225 "grammar.y"
17601     { (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 ;}
17602     break;
17603
17604   case 636:
17605
17606 /* Line 1464 of yacc.c  */
17607 #line 2226 "grammar.y"
17608     { (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 ;}
17609     break;
17610
17611   case 637:
17612
17613 /* Line 1464 of yacc.c  */
17614 #line 2228 "grammar.y"
17615     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17616     break;
17617
17618   case 638:
17619
17620 /* Line 1464 of yacc.c  */
17621 #line 2229 "grammar.y"
17622     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17623     break;
17624
17625   case 639:
17626
17627 /* Line 1464 of yacc.c  */
17628 #line 2231 "grammar.y"
17629     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17630     break;
17631
17632   case 640:
17633
17634 /* Line 1464 of yacc.c  */
17635 #line 2232 "grammar.y"
17636     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17637     break;
17638
17639   case 641:
17640
17641 /* Line 1464 of yacc.c  */
17642 #line 2233 "grammar.y"
17643     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17644     break;
17645
17646   case 642:
17647
17648 /* Line 1464 of yacc.c  */
17649 #line 2234 "grammar.y"
17650     { (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 ;}
17651     break;
17652
17653   case 643:
17654
17655 /* Line 1464 of yacc.c  */
17656 #line 2235 "grammar.y"
17657     { (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 ;}
17658     break;
17659
17660   case 644:
17661
17662 /* Line 1464 of yacc.c  */
17663 #line 2237 "grammar.y"
17664     { (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 ;}
17665     break;
17666
17667   case 645:
17668
17669 /* Line 1464 of yacc.c  */
17670 #line 2238 "grammar.y"
17671     { (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 ;}
17672     break;
17673
17674   case 646:
17675
17676 /* Line 1464 of yacc.c  */
17677 #line 2239 "grammar.y"
17678     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17679     break;
17680
17681   case 647:
17682
17683 /* Line 1464 of yacc.c  */
17684 #line 2240 "grammar.y"
17685     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17686     break;
17687
17688   case 652:
17689
17690 /* Line 1464 of yacc.c  */
17691 #line 2254 "grammar.y"
17692     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17693     break;
17694
17695   case 653:
17696
17697 /* Line 1464 of yacc.c  */
17698 #line 2258 "grammar.y"
17699     { (yyval.specifier) = MkSpecifier(CONST); ;}
17700     break;
17701
17702   case 654:
17703
17704 /* Line 1464 of yacc.c  */
17705 #line 2259 "grammar.y"
17706     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17707     break;
17708
17709   case 655:
17710
17711 /* Line 1464 of yacc.c  */
17712 #line 2260 "grammar.y"
17713     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17714     break;
17715
17716   case 656:
17717
17718 /* Line 1464 of yacc.c  */
17719 #line 2265 "grammar.y"
17720     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17721     break;
17722
17723   case 657:
17724
17725 /* Line 1464 of yacc.c  */
17726 #line 2266 "grammar.y"
17727     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17728     break;
17729
17730   case 658:
17731
17732 /* Line 1464 of yacc.c  */
17733 #line 2270 "grammar.y"
17734     { (yyval.specifier) = MkSpecifier(VOID); ;}
17735     break;
17736
17737   case 659:
17738
17739 /* Line 1464 of yacc.c  */
17740 #line 2271 "grammar.y"
17741     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17742     break;
17743
17744   case 660:
17745
17746 /* Line 1464 of yacc.c  */
17747 #line 2272 "grammar.y"
17748     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17749     break;
17750
17751   case 661:
17752
17753 /* Line 1464 of yacc.c  */
17754 #line 2273 "grammar.y"
17755     { (yyval.specifier) = MkSpecifier(INT); ;}
17756     break;
17757
17758   case 662:
17759
17760 /* Line 1464 of yacc.c  */
17761 #line 2274 "grammar.y"
17762     { (yyval.specifier) = MkSpecifier(UINT); ;}
17763     break;
17764
17765   case 663:
17766
17767 /* Line 1464 of yacc.c  */
17768 #line 2275 "grammar.y"
17769     { (yyval.specifier) = MkSpecifier(INT64); ;}
17770     break;
17771
17772   case 664:
17773
17774 /* Line 1464 of yacc.c  */
17775 #line 2276 "grammar.y"
17776     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17777     break;
17778
17779   case 665:
17780
17781 /* Line 1464 of yacc.c  */
17782 #line 2277 "grammar.y"
17783     { (yyval.specifier) = MkSpecifier(LONG); ;}
17784     break;
17785
17786   case 666:
17787
17788 /* Line 1464 of yacc.c  */
17789 #line 2278 "grammar.y"
17790     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17791     break;
17792
17793   case 667:
17794
17795 /* Line 1464 of yacc.c  */
17796 #line 2279 "grammar.y"
17797     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17798     break;
17799
17800   case 668:
17801
17802 /* Line 1464 of yacc.c  */
17803 #line 2280 "grammar.y"
17804     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17805     break;
17806
17807   case 669:
17808
17809 /* Line 1464 of yacc.c  */
17810 #line 2281 "grammar.y"
17811     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17812     break;
17813
17814   case 670:
17815
17816 /* Line 1464 of yacc.c  */
17817 #line 2282 "grammar.y"
17818     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17819     break;
17820
17821   case 674:
17822
17823 /* Line 1464 of yacc.c  */
17824 #line 2286 "grammar.y"
17825     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17826     break;
17827
17828   case 675:
17829
17830 /* Line 1464 of yacc.c  */
17831 #line 2287 "grammar.y"
17832     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17833     break;
17834
17835   case 676:
17836
17837 /* Line 1464 of yacc.c  */
17838 #line 2288 "grammar.y"
17839     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17840     break;
17841
17842   case 677:
17843
17844 /* Line 1464 of yacc.c  */
17845 #line 2289 "grammar.y"
17846     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17847     break;
17848
17849   case 678:
17850
17851 /* Line 1464 of yacc.c  */
17852 #line 2290 "grammar.y"
17853     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
17854     break;
17855
17856   case 679:
17857
17858 /* Line 1464 of yacc.c  */
17859 #line 2291 "grammar.y"
17860     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
17861     break;
17862
17863   case 680:
17864
17865 /* Line 1464 of yacc.c  */
17866 #line 2292 "grammar.y"
17867     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
17868     break;
17869
17870   case 681:
17871
17872 /* Line 1464 of yacc.c  */
17873 #line 2293 "grammar.y"
17874     { (yyval.specifier) = MkSpecifier(BOOL); ;}
17875     break;
17876
17877   case 682:
17878
17879 /* Line 1464 of yacc.c  */
17880 #line 2294 "grammar.y"
17881     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
17882     break;
17883
17884   case 683:
17885
17886 /* Line 1464 of yacc.c  */
17887 #line 2295 "grammar.y"
17888     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
17889     break;
17890
17891   case 684:
17892
17893 /* Line 1464 of yacc.c  */
17894 #line 2299 "grammar.y"
17895     { (yyval.specifier) = MkSpecifier(VOID); ;}
17896     break;
17897
17898   case 685:
17899
17900 /* Line 1464 of yacc.c  */
17901 #line 2300 "grammar.y"
17902     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17903     break;
17904
17905   case 686:
17906
17907 /* Line 1464 of yacc.c  */
17908 #line 2301 "grammar.y"
17909     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17910     break;
17911
17912   case 687:
17913
17914 /* Line 1464 of yacc.c  */
17915 #line 2302 "grammar.y"
17916     { (yyval.specifier) = MkSpecifier(INT); ;}
17917     break;
17918
17919   case 688:
17920
17921 /* Line 1464 of yacc.c  */
17922 #line 2303 "grammar.y"
17923     { (yyval.specifier) = MkSpecifier(UINT); ;}
17924     break;
17925
17926   case 689:
17927
17928 /* Line 1464 of yacc.c  */
17929 #line 2304 "grammar.y"
17930     { (yyval.specifier) = MkSpecifier(INT64); ;}
17931     break;
17932
17933   case 690:
17934
17935 /* Line 1464 of yacc.c  */
17936 #line 2305 "grammar.y"
17937     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17938     break;
17939
17940   case 691:
17941
17942 /* Line 1464 of yacc.c  */
17943 #line 2306 "grammar.y"
17944     { (yyval.specifier) = MkSpecifier(LONG); ;}
17945     break;
17946
17947   case 692:
17948
17949 /* Line 1464 of yacc.c  */
17950 #line 2307 "grammar.y"
17951     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17952     break;
17953
17954   case 693:
17955
17956 /* Line 1464 of yacc.c  */
17957 #line 2308 "grammar.y"
17958     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17959     break;
17960
17961   case 694:
17962
17963 /* Line 1464 of yacc.c  */
17964 #line 2309 "grammar.y"
17965     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17966     break;
17967
17968   case 695:
17969
17970 /* Line 1464 of yacc.c  */
17971 #line 2310 "grammar.y"
17972     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17973     break;
17974
17975   case 696:
17976
17977 /* Line 1464 of yacc.c  */
17978 #line 2311 "grammar.y"
17979     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17980     break;
17981
17982   case 700:
17983
17984 /* Line 1464 of yacc.c  */
17985 #line 2315 "grammar.y"
17986     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
17987     break;
17988
17989   case 701:
17990
17991 /* Line 1464 of yacc.c  */
17992 #line 2316 "grammar.y"
17993     { (yyval.specifier) = MkSpecifier(BOOL); ;}
17994     break;
17995
17996   case 702:
17997
17998 /* Line 1464 of yacc.c  */
17999 #line 2317 "grammar.y"
18000     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18001     break;
18002
18003   case 703:
18004
18005 /* Line 1464 of yacc.c  */
18006 #line 2318 "grammar.y"
18007     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18008     break;
18009
18010   case 704:
18011
18012 /* Line 1464 of yacc.c  */
18013 #line 2319 "grammar.y"
18014     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18015     break;
18016
18017   case 705:
18018
18019 /* Line 1464 of yacc.c  */
18020 #line 2320 "grammar.y"
18021     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18022     break;
18023
18024   case 706:
18025
18026 /* Line 1464 of yacc.c  */
18027 #line 2321 "grammar.y"
18028     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18029     break;
18030
18031   case 707:
18032
18033 /* Line 1464 of yacc.c  */
18034 #line 2322 "grammar.y"
18035     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18036     break;
18037
18038   case 708:
18039
18040 /* Line 1464 of yacc.c  */
18041 #line 2329 "grammar.y"
18042     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18043     break;
18044
18045   case 709:
18046
18047 /* Line 1464 of yacc.c  */
18048 #line 2331 "grammar.y"
18049     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18050     break;
18051
18052   case 710:
18053
18054 /* Line 1464 of yacc.c  */
18055 #line 2333 "grammar.y"
18056     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18057     break;
18058
18059   case 711:
18060
18061 /* Line 1464 of yacc.c  */
18062 #line 2335 "grammar.y"
18063     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18064     break;
18065
18066   case 712:
18067
18068 /* Line 1464 of yacc.c  */
18069 #line 2337 "grammar.y"
18070     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18071     break;
18072
18073   case 713:
18074
18075 /* Line 1464 of yacc.c  */
18076 #line 2339 "grammar.y"
18077     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18078     break;
18079
18080   case 714:
18081
18082 /* Line 1464 of yacc.c  */
18083 #line 2341 "grammar.y"
18084     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18085     break;
18086
18087   case 715:
18088
18089 /* Line 1464 of yacc.c  */
18090 #line 2343 "grammar.y"
18091     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18092     break;
18093
18094   case 716:
18095
18096 /* Line 1464 of yacc.c  */
18097 #line 2345 "grammar.y"
18098     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18099     break;
18100
18101   case 717:
18102
18103 /* Line 1464 of yacc.c  */
18104 #line 2347 "grammar.y"
18105     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18106     break;
18107
18108   case 718:
18109
18110 /* Line 1464 of yacc.c  */
18111 #line 2351 "grammar.y"
18112     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18113     break;
18114
18115   case 719:
18116
18117 /* Line 1464 of yacc.c  */
18118 #line 2352 "grammar.y"
18119     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18120     break;
18121
18122   case 720:
18123
18124 /* Line 1464 of yacc.c  */
18125 #line 2357 "grammar.y"
18126     {
18127          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18128          (yyval.specifier).addNameSpace = true;
18129          (yyval.specifier).ctx = PushContext();
18130       ;}
18131     break;
18132
18133   case 721:
18134
18135 /* Line 1464 of yacc.c  */
18136 #line 2363 "grammar.y"
18137     {
18138          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18139          (yyval.specifier).ctx = PushContext();
18140          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18141       ;}
18142     break;
18143
18144   case 722:
18145
18146 /* Line 1464 of yacc.c  */
18147 #line 2369 "grammar.y"
18148     {
18149          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18150          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18151          (yyval.specifier).addNameSpace = true;
18152          (yyval.specifier).ctx = PushContext();
18153       ;}
18154     break;
18155
18156   case 723:
18157
18158 /* Line 1464 of yacc.c  */
18159 #line 2376 "grammar.y"
18160     {
18161          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18162          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18163          (yyval.specifier).ctx = PushContext();
18164          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18165       ;}
18166     break;
18167
18168   case 724:
18169
18170 /* Line 1464 of yacc.c  */
18171 #line 2385 "grammar.y"
18172     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18173     break;
18174
18175   case 725:
18176
18177 /* Line 1464 of yacc.c  */
18178 #line 2386 "grammar.y"
18179     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18180     break;
18181
18182   case 726:
18183
18184 /* Line 1464 of yacc.c  */
18185 #line 2387 "grammar.y"
18186     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18187     break;
18188
18189   case 727:
18190
18191 /* Line 1464 of yacc.c  */
18192 #line 2388 "grammar.y"
18193     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18194     break;
18195
18196   case 728:
18197
18198 /* Line 1464 of yacc.c  */
18199 #line 2392 "grammar.y"
18200     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18201     break;
18202
18203   case 729:
18204
18205 /* Line 1464 of yacc.c  */
18206 #line 2393 "grammar.y"
18207     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18208     break;
18209
18210   case 730:
18211
18212 /* Line 1464 of yacc.c  */
18213 #line 2394 "grammar.y"
18214     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18215     break;
18216
18217   case 731:
18218
18219 /* Line 1464 of yacc.c  */
18220 #line 2396 "grammar.y"
18221     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18222     break;
18223
18224   case 732:
18225
18226 /* Line 1464 of yacc.c  */
18227 #line 2397 "grammar.y"
18228     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18229     break;
18230
18231   case 733:
18232
18233 /* Line 1464 of yacc.c  */
18234 #line 2398 "grammar.y"
18235     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18236     break;
18237
18238   case 734:
18239
18240 /* Line 1464 of yacc.c  */
18241 #line 2400 "grammar.y"
18242     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18243     break;
18244
18245   case 735:
18246
18247 /* Line 1464 of yacc.c  */
18248 #line 2401 "grammar.y"
18249     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18250     break;
18251
18252   case 736:
18253
18254 /* Line 1464 of yacc.c  */
18255 #line 2402 "grammar.y"
18256     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18257     break;
18258
18259   case 737:
18260
18261 /* Line 1464 of yacc.c  */
18262 #line 2406 "grammar.y"
18263     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18264     break;
18265
18266   case 738:
18267
18268 /* Line 1464 of yacc.c  */
18269 #line 2411 "grammar.y"
18270     {
18271         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18272         if(declMode)
18273         {
18274            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
18275         }
18276      ;}
18277     break;
18278
18279   case 739:
18280
18281 /* Line 1464 of yacc.c  */
18282 #line 2419 "grammar.y"
18283     {
18284       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
18285       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18286       symbol.templateParams = (yyvsp[(3) - (4)].list);
18287    ;}
18288     break;
18289
18290   case 740:
18291
18292 /* Line 1464 of yacc.c  */
18293 #line 2428 "grammar.y"
18294     {
18295       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18296       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18297       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18298    ;}
18299     break;
18300
18301   case 741:
18302
18303 /* Line 1464 of yacc.c  */
18304 #line 2436 "grammar.y"
18305     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18306     break;
18307
18308   case 742:
18309
18310 /* Line 1464 of yacc.c  */
18311 #line 2438 "grammar.y"
18312     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18313     break;
18314
18315   case 743:
18316
18317 /* Line 1464 of yacc.c  */
18318 #line 2439 "grammar.y"
18319     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18320     break;
18321
18322   case 744:
18323
18324 /* Line 1464 of yacc.c  */
18325 #line 2440 "grammar.y"
18326     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18327     break;
18328
18329   case 745:
18330
18331 /* Line 1464 of yacc.c  */
18332 #line 2445 "grammar.y"
18333     {
18334       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18335       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18336       POP_DEFAULT_ACCESS
18337       PopContext(curContext);
18338    ;}
18339     break;
18340
18341   case 746:
18342
18343 /* Line 1464 of yacc.c  */
18344 #line 2452 "grammar.y"
18345     {
18346       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18347       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18348       POP_DEFAULT_ACCESS
18349       PopContext(curContext);
18350    ;}
18351     break;
18352
18353   case 747:
18354
18355 /* Line 1464 of yacc.c  */
18356 #line 2459 "grammar.y"
18357     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18358     break;
18359
18360   case 748:
18361
18362 /* Line 1464 of yacc.c  */
18363 #line 2462 "grammar.y"
18364     {
18365         PopContext(curContext);
18366         if(!declMode)
18367         {
18368            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18369            (yyvsp[(1) - (3)].specifier).id = null;
18370            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18371         }
18372         else
18373            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18374         POP_DEFAULT_ACCESS
18375      ;}
18376     break;
18377
18378   case 749:
18379
18380 /* Line 1464 of yacc.c  */
18381 #line 2475 "grammar.y"
18382     {
18383         PopContext(curContext);
18384
18385         if(!declMode)
18386         {
18387            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18388            (yyvsp[(1) - (3)].specifier).id = null;
18389            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18390         }
18391         else
18392            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18393         POP_DEFAULT_ACCESS
18394      ;}
18395     break;
18396
18397   case 750:
18398
18399 /* Line 1464 of yacc.c  */
18400 #line 2489 "grammar.y"
18401     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18402     break;
18403
18404   case 751:
18405
18406 /* Line 1464 of yacc.c  */
18407 #line 2492 "grammar.y"
18408     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18409     break;
18410
18411   case 752:
18412
18413 /* Line 1464 of yacc.c  */
18414 #line 2494 "grammar.y"
18415     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18416     break;
18417
18418   case 753:
18419
18420 /* Line 1464 of yacc.c  */
18421 #line 2496 "grammar.y"
18422     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18423     break;
18424
18425   case 754:
18426
18427 /* Line 1464 of yacc.c  */
18428 #line 2500 "grammar.y"
18429     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18430     break;
18431
18432   case 755:
18433
18434 /* Line 1464 of yacc.c  */
18435 #line 2501 "grammar.y"
18436     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18437     break;
18438
18439   case 756:
18440
18441 /* Line 1464 of yacc.c  */
18442 #line 2505 "grammar.y"
18443     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18444     break;
18445
18446   case 757:
18447
18448 /* Line 1464 of yacc.c  */
18449 #line 2506 "grammar.y"
18450     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18451     break;
18452
18453   case 758:
18454
18455 /* Line 1464 of yacc.c  */
18456 #line 2507 "grammar.y"
18457     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18458     break;
18459
18460   case 759:
18461
18462 /* Line 1464 of yacc.c  */
18463 #line 2508 "grammar.y"
18464     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18465     break;
18466
18467   case 760:
18468
18469 /* Line 1464 of yacc.c  */
18470 #line 2509 "grammar.y"
18471     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18472     break;
18473
18474   case 761:
18475
18476 /* Line 1464 of yacc.c  */
18477 #line 2510 "grammar.y"
18478     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18479     break;
18480
18481   case 762:
18482
18483 /* Line 1464 of yacc.c  */
18484 #line 2511 "grammar.y"
18485     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18486     break;
18487
18488   case 763:
18489
18490 /* Line 1464 of yacc.c  */
18491 #line 2512 "grammar.y"
18492     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18493     break;
18494
18495   case 764:
18496
18497 /* Line 1464 of yacc.c  */
18498 #line 2516 "grammar.y"
18499     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18500     break;
18501
18502   case 765:
18503
18504 /* Line 1464 of yacc.c  */
18505 #line 2517 "grammar.y"
18506     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18507     break;
18508
18509   case 766:
18510
18511 /* Line 1464 of yacc.c  */
18512 #line 2518 "grammar.y"
18513     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18514     break;
18515
18516   case 767:
18517
18518 /* Line 1464 of yacc.c  */
18519 #line 2519 "grammar.y"
18520     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18521     break;
18522
18523   case 768:
18524
18525 /* Line 1464 of yacc.c  */
18526 #line 2520 "grammar.y"
18527     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18528     break;
18529
18530   case 769:
18531
18532 /* Line 1464 of yacc.c  */
18533 #line 2521 "grammar.y"
18534     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18535     break;
18536
18537   case 770:
18538
18539 /* Line 1464 of yacc.c  */
18540 #line 2522 "grammar.y"
18541     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18542     break;
18543
18544   case 771:
18545
18546 /* Line 1464 of yacc.c  */
18547 #line 2523 "grammar.y"
18548     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18549     break;
18550
18551   case 772:
18552
18553 /* Line 1464 of yacc.c  */
18554 #line 2524 "grammar.y"
18555     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18556     break;
18557
18558   case 773:
18559
18560 /* Line 1464 of yacc.c  */
18561 #line 2525 "grammar.y"
18562     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18563     break;
18564
18565   case 774:
18566
18567 /* Line 1464 of yacc.c  */
18568 #line 2529 "grammar.y"
18569     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18570     break;
18571
18572   case 775:
18573
18574 /* Line 1464 of yacc.c  */
18575 #line 2530 "grammar.y"
18576     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18577     break;
18578
18579   case 776:
18580
18581 /* Line 1464 of yacc.c  */
18582 #line 2531 "grammar.y"
18583     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18584     break;
18585
18586   case 777:
18587
18588 /* Line 1464 of yacc.c  */
18589 #line 2532 "grammar.y"
18590     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18591     break;
18592
18593   case 778:
18594
18595 /* Line 1464 of yacc.c  */
18596 #line 2533 "grammar.y"
18597     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18598     break;
18599
18600   case 779:
18601
18602 /* Line 1464 of yacc.c  */
18603 #line 2534 "grammar.y"
18604     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18605     break;
18606
18607   case 780:
18608
18609 /* Line 1464 of yacc.c  */
18610 #line 2535 "grammar.y"
18611     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18612     break;
18613
18614   case 781:
18615
18616 /* Line 1464 of yacc.c  */
18617 #line 2536 "grammar.y"
18618     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18619     break;
18620
18621   case 782:
18622
18623 /* Line 1464 of yacc.c  */
18624 #line 2537 "grammar.y"
18625     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18626     break;
18627
18628   case 783:
18629
18630 /* Line 1464 of yacc.c  */
18631 #line 2538 "grammar.y"
18632     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18633     break;
18634
18635   case 784:
18636
18637 /* Line 1464 of yacc.c  */
18638 #line 2542 "grammar.y"
18639     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18640     break;
18641
18642   case 785:
18643
18644 /* Line 1464 of yacc.c  */
18645 #line 2543 "grammar.y"
18646     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18647     break;
18648
18649   case 786:
18650
18651 /* Line 1464 of yacc.c  */
18652 #line 2544 "grammar.y"
18653     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18654     break;
18655
18656   case 787:
18657
18658 /* Line 1464 of yacc.c  */
18659 #line 2545 "grammar.y"
18660     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18661     break;
18662
18663   case 788:
18664
18665 /* Line 1464 of yacc.c  */
18666 #line 2546 "grammar.y"
18667     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18668     break;
18669
18670   case 789:
18671
18672 /* Line 1464 of yacc.c  */
18673 #line 2547 "grammar.y"
18674     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18675     break;
18676
18677   case 790:
18678
18679 /* Line 1464 of yacc.c  */
18680 #line 2548 "grammar.y"
18681     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18682     break;
18683
18684   case 791:
18685
18686 /* Line 1464 of yacc.c  */
18687 #line 2549 "grammar.y"
18688     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18689     break;
18690
18691   case 792:
18692
18693 /* Line 1464 of yacc.c  */
18694 #line 2550 "grammar.y"
18695     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18696     break;
18697
18698   case 793:
18699
18700 /* Line 1464 of yacc.c  */
18701 #line 2551 "grammar.y"
18702     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18703     break;
18704
18705   case 794:
18706
18707 /* Line 1464 of yacc.c  */
18708 #line 2552 "grammar.y"
18709     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18710     break;
18711
18712   case 795:
18713
18714 /* Line 1464 of yacc.c  */
18715 #line 2553 "grammar.y"
18716     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18717     break;
18718
18719   case 796:
18720
18721 /* Line 1464 of yacc.c  */
18722 #line 2557 "grammar.y"
18723     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18724     break;
18725
18726   case 797:
18727
18728 /* Line 1464 of yacc.c  */
18729 #line 2558 "grammar.y"
18730     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18731     break;
18732
18733   case 798:
18734
18735 /* Line 1464 of yacc.c  */
18736 #line 2559 "grammar.y"
18737     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18738     break;
18739
18740   case 799:
18741
18742 /* Line 1464 of yacc.c  */
18743 #line 2560 "grammar.y"
18744     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18745     break;
18746
18747   case 800:
18748
18749 /* Line 1464 of yacc.c  */
18750 #line 2561 "grammar.y"
18751     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18752     break;
18753
18754   case 801:
18755
18756 /* Line 1464 of yacc.c  */
18757 #line 2562 "grammar.y"
18758     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18759     break;
18760
18761   case 802:
18762
18763 /* Line 1464 of yacc.c  */
18764 #line 2563 "grammar.y"
18765     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18766     break;
18767
18768   case 803:
18769
18770 /* Line 1464 of yacc.c  */
18771 #line 2564 "grammar.y"
18772     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18773     break;
18774
18775   case 804:
18776
18777 /* Line 1464 of yacc.c  */
18778 #line 2565 "grammar.y"
18779     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18780     break;
18781
18782   case 805:
18783
18784 /* Line 1464 of yacc.c  */
18785 #line 2566 "grammar.y"
18786     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18787     break;
18788
18789   case 806:
18790
18791 /* Line 1464 of yacc.c  */
18792 #line 2570 "grammar.y"
18793     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18794     break;
18795
18796   case 807:
18797
18798 /* Line 1464 of yacc.c  */
18799 #line 2571 "grammar.y"
18800     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18801     break;
18802
18803   case 808:
18804
18805 /* Line 1464 of yacc.c  */
18806 #line 2575 "grammar.y"
18807     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
18808     break;
18809
18810   case 809:
18811
18812 /* Line 1464 of yacc.c  */
18813 #line 2576 "grammar.y"
18814     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
18815     break;
18816
18817   case 810:
18818
18819 /* Line 1464 of yacc.c  */
18820 #line 2577 "grammar.y"
18821     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18822     break;
18823
18824   case 811:
18825
18826 /* Line 1464 of yacc.c  */
18827 #line 2578 "grammar.y"
18828     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18829     break;
18830
18831   case 812:
18832
18833 /* Line 1464 of yacc.c  */
18834 #line 2579 "grammar.y"
18835     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18836     break;
18837
18838   case 813:
18839
18840 /* Line 1464 of yacc.c  */
18841 #line 2580 "grammar.y"
18842     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18843     break;
18844
18845   case 814:
18846
18847 /* Line 1464 of yacc.c  */
18848 #line 2581 "grammar.y"
18849     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18850     break;
18851
18852   case 815:
18853
18854 /* Line 1464 of yacc.c  */
18855 #line 2582 "grammar.y"
18856     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18857     break;
18858
18859   case 816:
18860
18861 /* Line 1464 of yacc.c  */
18862 #line 2584 "grammar.y"
18863     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
18864     break;
18865
18866   case 817:
18867
18868 /* Line 1464 of yacc.c  */
18869 #line 2585 "grammar.y"
18870     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
18871     break;
18872
18873   case 818:
18874
18875 /* Line 1464 of yacc.c  */
18876 #line 2588 "grammar.y"
18877     {
18878          // if($1._class && !$1._class.name)
18879          if((yyvsp[(1) - (4)].id)._class)
18880          {
18881             char name[1024];
18882             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18883             strcat(name, "::");
18884             strcat(name, (yyvsp[(1) - (4)].id).string);
18885             _DeclClass(0, name);
18886          }
18887          else
18888             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18889
18890          (yyval.list) = MkList();
18891          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18892          FreeIdentifier((yyvsp[(1) - (4)].id));
18893       ;}
18894     break;
18895
18896   case 819:
18897
18898 /* Line 1464 of yacc.c  */
18899 #line 2606 "grammar.y"
18900     {
18901          (yyval.list) = (yyvsp[(1) - (5)].list);
18902          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18903          {
18904             char name[1024];
18905             strcpy(name, "::");
18906             strcat(name, (yyvsp[(2) - (5)].id).string);
18907             _DeclClass(0, name);
18908          }
18909          else
18910             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18911          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18912          FreeIdentifier((yyvsp[(2) - (5)].id));
18913       ;}
18914     break;
18915
18916   case 821:
18917
18918 /* Line 1464 of yacc.c  */
18919 #line 2624 "grammar.y"
18920     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
18921     break;
18922
18923   case 822:
18924
18925 /* Line 1464 of yacc.c  */
18926 #line 2628 "grammar.y"
18927     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18928     break;
18929
18930   case 823:
18931
18932 /* Line 1464 of yacc.c  */
18933 #line 2629 "grammar.y"
18934     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18935     break;
18936
18937   case 824:
18938
18939 /* Line 1464 of yacc.c  */
18940 #line 2630 "grammar.y"
18941     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18942     break;
18943
18944   case 825:
18945
18946 /* Line 1464 of yacc.c  */
18947 #line 2631 "grammar.y"
18948     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18949     break;
18950
18951   case 826:
18952
18953 /* Line 1464 of yacc.c  */
18954 #line 2632 "grammar.y"
18955     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18956     break;
18957
18958   case 827:
18959
18960 /* Line 1464 of yacc.c  */
18961 #line 2633 "grammar.y"
18962     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18963     break;
18964
18965   case 828:
18966
18967 /* Line 1464 of yacc.c  */
18968 #line 2634 "grammar.y"
18969     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18970     break;
18971
18972   case 829:
18973
18974 /* Line 1464 of yacc.c  */
18975 #line 2635 "grammar.y"
18976     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18977     break;
18978
18979   case 830:
18980
18981 /* Line 1464 of yacc.c  */
18982 #line 2637 "grammar.y"
18983     {
18984          // if($1._class && !$1._class.name)
18985          if((yyvsp[(1) - (4)].id)._class)
18986          {
18987             char name[1024];
18988             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18989             strcat(name, "::");
18990             strcat(name, (yyvsp[(1) - (4)].id).string);
18991             _DeclClass(0, name);
18992          }
18993          else
18994             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18995
18996          (yyval.list) = MkList();
18997          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18998          FreeIdentifier((yyvsp[(1) - (4)].id));
18999       ;}
19000     break;
19001
19002   case 831:
19003
19004 /* Line 1464 of yacc.c  */
19005 #line 2655 "grammar.y"
19006     {
19007          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19008          {
19009             char name[1024];
19010             strcpy(name, "::");
19011             strcat(name, (yyvsp[(2) - (5)].id).string);
19012             _DeclClass(0, name);
19013          }
19014          else
19015             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19016          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19017          FreeIdentifier((yyvsp[(2) - (5)].id));
19018       ;}
19019     break;
19020
19021   case 832:
19022
19023 /* Line 1464 of yacc.c  */
19024 #line 2671 "grammar.y"
19025     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19026     break;
19027
19028   case 833:
19029
19030 /* Line 1464 of yacc.c  */
19031 #line 2672 "grammar.y"
19032     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19033     break;
19034
19035   case 834:
19036
19037 /* Line 1464 of yacc.c  */
19038 #line 2673 "grammar.y"
19039     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19040     break;
19041
19042   case 835:
19043
19044 /* Line 1464 of yacc.c  */
19045 #line 2674 "grammar.y"
19046     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19047     break;
19048
19049   case 836:
19050
19051 /* Line 1464 of yacc.c  */
19052 #line 2675 "grammar.y"
19053     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19054     break;
19055
19056   case 837:
19057
19058 /* Line 1464 of yacc.c  */
19059 #line 2676 "grammar.y"
19060     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19061     break;
19062
19063   case 838:
19064
19065 /* Line 1464 of yacc.c  */
19066 #line 2677 "grammar.y"
19067     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19068     break;
19069
19070   case 839:
19071
19072 /* Line 1464 of yacc.c  */
19073 #line 2678 "grammar.y"
19074     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19075     break;
19076
19077   case 840:
19078
19079 /* Line 1464 of yacc.c  */
19080 #line 2679 "grammar.y"
19081     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19082     break;
19083
19084   case 841:
19085
19086 /* Line 1464 of yacc.c  */
19087 #line 2680 "grammar.y"
19088     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19089     break;
19090
19091   case 842:
19092
19093 /* Line 1464 of yacc.c  */
19094 #line 2681 "grammar.y"
19095     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19096     break;
19097
19098   case 843:
19099
19100 /* Line 1464 of yacc.c  */
19101 #line 2682 "grammar.y"
19102     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19103     break;
19104
19105   case 844:
19106
19107 /* Line 1464 of yacc.c  */
19108 #line 2684 "grammar.y"
19109     {
19110          // if($1._class && !$1._class.name)
19111          if((yyvsp[(1) - (4)].id)._class)
19112          {
19113             char name[1024];
19114             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19115             strcat(name, "::");
19116             strcat(name, (yyvsp[(1) - (4)].id).string);
19117             _DeclClass(0, name);
19118          }
19119          else
19120             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19121
19122          (yyval.list) = MkList();
19123          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19124          FreeIdentifier((yyvsp[(1) - (4)].id));
19125       ;}
19126     break;
19127
19128   case 845:
19129
19130 /* Line 1464 of yacc.c  */
19131 #line 2702 "grammar.y"
19132     {
19133          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19134          {
19135             char name[1024];
19136             strcpy(name, "::");
19137             strcat(name, (yyvsp[(2) - (5)].id).string);
19138             _DeclClass(0, name);
19139          }
19140          else
19141             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19142          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19143          FreeIdentifier((yyvsp[(2) - (5)].id));
19144       ;}
19145     break;
19146
19147   case 846:
19148
19149 /* Line 1464 of yacc.c  */
19150 #line 2718 "grammar.y"
19151     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19152     break;
19153
19154   case 847:
19155
19156 /* Line 1464 of yacc.c  */
19157 #line 2719 "grammar.y"
19158     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19159     break;
19160
19161   case 848:
19162
19163 /* Line 1464 of yacc.c  */
19164 #line 2720 "grammar.y"
19165     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19166     break;
19167
19168   case 849:
19169
19170 /* Line 1464 of yacc.c  */
19171 #line 2721 "grammar.y"
19172     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19173     break;
19174
19175   case 850:
19176
19177 /* Line 1464 of yacc.c  */
19178 #line 2722 "grammar.y"
19179     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19180     break;
19181
19182   case 851:
19183
19184 /* Line 1464 of yacc.c  */
19185 #line 2723 "grammar.y"
19186     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19187     break;
19188
19189   case 852:
19190
19191 /* Line 1464 of yacc.c  */
19192 #line 2724 "grammar.y"
19193     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19194     break;
19195
19196   case 853:
19197
19198 /* Line 1464 of yacc.c  */
19199 #line 2725 "grammar.y"
19200     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19201     break;
19202
19203   case 854:
19204
19205 /* Line 1464 of yacc.c  */
19206 #line 2726 "grammar.y"
19207     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19208     break;
19209
19210   case 855:
19211
19212 /* Line 1464 of yacc.c  */
19213 #line 2727 "grammar.y"
19214     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19215     break;
19216
19217   case 856:
19218
19219 /* Line 1464 of yacc.c  */
19220 #line 2728 "grammar.y"
19221     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19222     break;
19223
19224   case 857:
19225
19226 /* Line 1464 of yacc.c  */
19227 #line 2729 "grammar.y"
19228     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19229     break;
19230
19231   case 858:
19232
19233 /* Line 1464 of yacc.c  */
19234 #line 2731 "grammar.y"
19235     {
19236          // if($1._class && !$1._class.name)
19237          if((yyvsp[(1) - (4)].id)._class)
19238          {
19239             char name[1024];
19240             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19241             strcat(name, "::");
19242             strcat(name, (yyvsp[(1) - (4)].id).string);
19243             _DeclClass(0, name);
19244          }
19245          else
19246             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19247
19248          (yyval.list) = MkList();
19249          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19250          FreeIdentifier((yyvsp[(1) - (4)].id));
19251       ;}
19252     break;
19253
19254   case 859:
19255
19256 /* Line 1464 of yacc.c  */
19257 #line 2749 "grammar.y"
19258     {
19259          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19260          {
19261             char name[1024];
19262             strcpy(name, "::");
19263             strcat(name, (yyvsp[(2) - (5)].id).string);
19264             _DeclClass(0, name);
19265          }
19266          else
19267             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19268          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19269          FreeIdentifier((yyvsp[(2) - (5)].id));
19270       ;}
19271     break;
19272
19273   case 860:
19274
19275 /* Line 1464 of yacc.c  */
19276 #line 2765 "grammar.y"
19277     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19278     break;
19279
19280   case 861:
19281
19282 /* Line 1464 of yacc.c  */
19283 #line 2766 "grammar.y"
19284     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19285     break;
19286
19287   case 862:
19288
19289 /* Line 1464 of yacc.c  */
19290 #line 2770 "grammar.y"
19291     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19292     break;
19293
19294   case 863:
19295
19296 /* Line 1464 of yacc.c  */
19297 #line 2771 "grammar.y"
19298     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19299     break;
19300
19301   case 864:
19302
19303 /* Line 1464 of yacc.c  */
19304 #line 2772 "grammar.y"
19305     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19306     break;
19307
19308   case 865:
19309
19310 /* Line 1464 of yacc.c  */
19311 #line 2773 "grammar.y"
19312     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19313     break;
19314
19315   case 866:
19316
19317 /* Line 1464 of yacc.c  */
19318 #line 2774 "grammar.y"
19319     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19320     break;
19321
19322   case 868:
19323
19324 /* Line 1464 of yacc.c  */
19325 #line 2780 "grammar.y"
19326     {
19327       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19328       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19329       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19330       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19331    ;}
19332     break;
19333
19334   case 869:
19335
19336 /* Line 1464 of yacc.c  */
19337 #line 2786 "grammar.y"
19338     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19339     break;
19340
19341   case 870:
19342
19343 /* Line 1464 of yacc.c  */
19344 #line 2789 "grammar.y"
19345     {
19346          Declarator decl;
19347          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19348          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19349          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19350          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19351          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19352       ;}
19353     break;
19354
19355   case 871:
19356
19357 /* Line 1464 of yacc.c  */
19358 #line 2798 "grammar.y"
19359     {
19360          Declarator decl;
19361          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19362          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19363          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19364          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19365          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19366       ;}
19367     break;
19368
19369   case 872:
19370
19371 /* Line 1464 of yacc.c  */
19372 #line 2807 "grammar.y"
19373     {
19374          Declarator decl;
19375          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19376          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19377          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19378          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19379          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19380       ;}
19381     break;
19382
19383   case 873:
19384
19385 /* Line 1464 of yacc.c  */
19386 #line 2816 "grammar.y"
19387     {
19388          Declarator decl;
19389          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19390          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19391          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19392          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19393          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19394       ;}
19395     break;
19396
19397   case 874:
19398
19399 /* Line 1464 of yacc.c  */
19400 #line 2824 "grammar.y"
19401     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19402     break;
19403
19404   case 875:
19405
19406 /* Line 1464 of yacc.c  */
19407 #line 2825 "grammar.y"
19408     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19409     break;
19410
19411   case 876:
19412
19413 /* Line 1464 of yacc.c  */
19414 #line 2826 "grammar.y"
19415     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19416     break;
19417
19418   case 877:
19419
19420 /* Line 1464 of yacc.c  */
19421 #line 2827 "grammar.y"
19422     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19423     break;
19424
19425   case 878:
19426
19427 /* Line 1464 of yacc.c  */
19428 #line 2831 "grammar.y"
19429     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19430     break;
19431
19432   case 879:
19433
19434 /* Line 1464 of yacc.c  */
19435 #line 2832 "grammar.y"
19436     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19437     break;
19438
19439   case 880:
19440
19441 /* Line 1464 of yacc.c  */
19442 #line 2833 "grammar.y"
19443     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19444     break;
19445
19446   case 881:
19447
19448 /* Line 1464 of yacc.c  */
19449 #line 2834 "grammar.y"
19450     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19451     break;
19452
19453   case 882:
19454
19455 /* Line 1464 of yacc.c  */
19456 #line 2835 "grammar.y"
19457     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19458     break;
19459
19460   case 883:
19461
19462 /* Line 1464 of yacc.c  */
19463 #line 2836 "grammar.y"
19464     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19465     break;
19466
19467   case 884:
19468
19469 /* Line 1464 of yacc.c  */
19470 #line 2837 "grammar.y"
19471     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19472     break;
19473
19474   case 885:
19475
19476 /* Line 1464 of yacc.c  */
19477 #line 2838 "grammar.y"
19478     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19479     break;
19480
19481   case 886:
19482
19483 /* Line 1464 of yacc.c  */
19484 #line 2839 "grammar.y"
19485     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19486     break;
19487
19488   case 888:
19489
19490 /* Line 1464 of yacc.c  */
19491 #line 2847 "grammar.y"
19492     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19493     break;
19494
19495   case 889:
19496
19497 /* Line 1464 of yacc.c  */
19498 #line 2848 "grammar.y"
19499     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19500     break;
19501
19502   case 890:
19503
19504 /* Line 1464 of yacc.c  */
19505 #line 2849 "grammar.y"
19506     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19507     break;
19508
19509   case 891:
19510
19511 /* Line 1464 of yacc.c  */
19512 #line 2850 "grammar.y"
19513     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19514     break;
19515
19516   case 892:
19517
19518 /* Line 1464 of yacc.c  */
19519 #line 2851 "grammar.y"
19520     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19521     break;
19522
19523   case 893:
19524
19525 /* Line 1464 of yacc.c  */
19526 #line 2857 "grammar.y"
19527     {
19528          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19529          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19530          yyclearin;
19531          resetScannerPos(&(yylsp[(1) - (2)]).end);
19532          (yyloc).start = (yylsp[(1) - (2)]).start;
19533          (yyloc).end = (yylsp[(1) - (2)]).end;
19534       ;}
19535     break;
19536
19537   case 894:
19538
19539 /* Line 1464 of yacc.c  */
19540 #line 2866 "grammar.y"
19541     {
19542          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19543          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19544          yyclearin;
19545          resetScannerPos(&(yylsp[(1) - (2)]).end);
19546          (yyloc).start = (yylsp[(1) - (2)]).start;
19547          (yyloc).end = (yylsp[(1) - (2)]).end;
19548       ;}
19549     break;
19550
19551   case 895:
19552
19553 /* Line 1464 of yacc.c  */
19554 #line 2875 "grammar.y"
19555     {
19556          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19557          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19558          yyclearin;
19559          resetScannerPos(&(yylsp[(1) - (3)]).end);
19560          (yyloc).start = (yylsp[(1) - (3)]).start;
19561          (yyloc).end = (yylsp[(1) - (3)]).end;
19562       ;}
19563     break;
19564
19565   case 896:
19566
19567 /* Line 1464 of yacc.c  */
19568 #line 2884 "grammar.y"
19569     {
19570          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19571          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19572          yyclearin;
19573          resetScannerPos(&(yylsp[(1) - (4)]).end);
19574          (yyloc).start = (yylsp[(1) - (4)]).start;
19575          (yyloc).end = (yylsp[(1) - (4)]).end;
19576          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19577          FreeIdentifier((yyvsp[(3) - (4)].id));
19578       ;}
19579     break;
19580
19581   case 900:
19582
19583 /* Line 1464 of yacc.c  */
19584 #line 2907 "grammar.y"
19585     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19586     break;
19587
19588   case 901:
19589
19590 /* Line 1464 of yacc.c  */
19591 #line 2908 "grammar.y"
19592     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19593     break;
19594
19595   case 902:
19596
19597 /* Line 1464 of yacc.c  */
19598 #line 2909 "grammar.y"
19599     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19600     break;
19601
19602   case 903:
19603
19604 /* Line 1464 of yacc.c  */
19605 #line 2910 "grammar.y"
19606     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19607     break;
19608
19609   case 904:
19610
19611 /* Line 1464 of yacc.c  */
19612 #line 2911 "grammar.y"
19613     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19614     break;
19615
19616   case 905:
19617
19618 /* Line 1464 of yacc.c  */
19619 #line 2917 "grammar.y"
19620     {
19621          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19622          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19623          yyclearin;
19624          resetScannerPos(&(yylsp[(1) - (2)]).end);
19625          (yyloc).start = (yylsp[(1) - (2)]).start;
19626          (yyloc).end = (yylsp[(1) - (2)]).end;
19627       ;}
19628     break;
19629
19630   case 906:
19631
19632 /* Line 1464 of yacc.c  */
19633 #line 2926 "grammar.y"
19634     {
19635          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19636          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19637          yyclearin;
19638          resetScannerPos(&(yylsp[(1) - (2)]).end);
19639          (yyloc).start = (yylsp[(1) - (2)]).start;
19640          (yyloc).end = (yylsp[(1) - (2)]).end;
19641       ;}
19642     break;
19643
19644   case 907:
19645
19646 /* Line 1464 of yacc.c  */
19647 #line 2935 "grammar.y"
19648     {
19649          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19650          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19651          yyclearin;
19652          resetScannerPos(&(yylsp[(1) - (3)]).end);
19653          (yyloc).start = (yylsp[(1) - (3)]).start;
19654          (yyloc).end = (yylsp[(1) - (3)]).end;
19655       ;}
19656     break;
19657
19658   case 908:
19659
19660 /* Line 1464 of yacc.c  */
19661 #line 2944 "grammar.y"
19662     {
19663          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19664          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19665          yyclearin;
19666          resetScannerPos(&(yylsp[(1) - (4)]).end);
19667          (yyloc).start = (yylsp[(1) - (4)]).start;
19668          (yyloc).end = (yylsp[(1) - (4)]).end;
19669          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19670          FreeIdentifier((yyvsp[(3) - (4)].id));
19671       ;}
19672     break;
19673
19674   case 911:
19675
19676 /* Line 1464 of yacc.c  */
19677 #line 3007 "grammar.y"
19678     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19679     break;
19680
19681   case 912:
19682
19683 /* Line 1464 of yacc.c  */
19684 #line 3008 "grammar.y"
19685     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19686     break;
19687
19688   case 913:
19689
19690 /* Line 1464 of yacc.c  */
19691 #line 3009 "grammar.y"
19692     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19693     break;
19694
19695   case 914:
19696
19697 /* Line 1464 of yacc.c  */
19698 #line 3011 "grammar.y"
19699     {
19700          char temp[1024];
19701          strcpy(temp, "__asm__(");
19702          strcat(temp, (yyvsp[(3) - (4)].string));
19703          strcat(temp, ")");
19704          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19705          delete (yyvsp[(3) - (4)].string);
19706       ;}
19707     break;
19708
19709   case 915:
19710
19711 /* Line 1464 of yacc.c  */
19712 #line 3022 "grammar.y"
19713     { (yyval.i) = ATTRIB; ;}
19714     break;
19715
19716   case 916:
19717
19718 /* Line 1464 of yacc.c  */
19719 #line 3023 "grammar.y"
19720     { (yyval.i) = ATTRIB_DEP; ;}
19721     break;
19722
19723   case 917:
19724
19725 /* Line 1464 of yacc.c  */
19726 #line 3024 "grammar.y"
19727     { (yyval.i) = __ATTRIB; ;}
19728     break;
19729
19730   case 918:
19731
19732 /* Line 1464 of yacc.c  */
19733 #line 3029 "grammar.y"
19734     { (yyval.string)  = CopyString(yytext); ;}
19735     break;
19736
19737   case 919:
19738
19739 /* Line 1464 of yacc.c  */
19740 #line 3030 "grammar.y"
19741     { (yyval.string)  = CopyString(yytext); ;}
19742     break;
19743
19744   case 920:
19745
19746 /* Line 1464 of yacc.c  */
19747 #line 3031 "grammar.y"
19748     { (yyval.string)  = CopyString(yytext); ;}
19749     break;
19750
19751   case 921:
19752
19753 /* Line 1464 of yacc.c  */
19754 #line 3032 "grammar.y"
19755     { (yyval.string)  = CopyString(yytext); ;}
19756     break;
19757
19758   case 922:
19759
19760 /* Line 1464 of yacc.c  */
19761 #line 3033 "grammar.y"
19762     { (yyval.string)  = CopyString(yytext); ;}
19763     break;
19764
19765   case 923:
19766
19767 /* Line 1464 of yacc.c  */
19768 #line 3037 "grammar.y"
19769     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19770     break;
19771
19772   case 924:
19773
19774 /* Line 1464 of yacc.c  */
19775 #line 3038 "grammar.y"
19776     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19777     break;
19778
19779   case 925:
19780
19781 /* Line 1464 of yacc.c  */
19782 #line 3042 "grammar.y"
19783     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19784     break;
19785
19786   case 926:
19787
19788 /* Line 1464 of yacc.c  */
19789 #line 3043 "grammar.y"
19790     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19791     break;
19792
19793   case 927:
19794
19795 /* Line 1464 of yacc.c  */
19796 #line 3044 "grammar.y"
19797     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19798     break;
19799
19800   case 928:
19801
19802 /* Line 1464 of yacc.c  */
19803 #line 3048 "grammar.y"
19804     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19805     break;
19806
19807   case 929:
19808
19809 /* Line 1464 of yacc.c  */
19810 #line 3049 "grammar.y"
19811     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19812     break;
19813
19814   case 930:
19815
19816 /* Line 1464 of yacc.c  */
19817 #line 3053 "grammar.y"
19818     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19819     break;
19820
19821   case 931:
19822
19823 /* Line 1464 of yacc.c  */
19824 #line 3054 "grammar.y"
19825     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19826     break;
19827
19828   case 932:
19829
19830 /* Line 1464 of yacc.c  */
19831 #line 3055 "grammar.y"
19832     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19833     break;
19834
19835   case 933:
19836
19837 /* Line 1464 of yacc.c  */
19838 #line 3056 "grammar.y"
19839     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19840     break;
19841
19842   case 934:
19843
19844 /* Line 1464 of yacc.c  */
19845 #line 3057 "grammar.y"
19846     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19847     break;
19848
19849   case 935:
19850
19851 /* Line 1464 of yacc.c  */
19852 #line 3058 "grammar.y"
19853     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19854     break;
19855
19856   case 936:
19857
19858 /* Line 1464 of yacc.c  */
19859 #line 3059 "grammar.y"
19860     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19861     break;
19862
19863   case 937:
19864
19865 /* Line 1464 of yacc.c  */
19866 #line 3060 "grammar.y"
19867     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19868     break;
19869
19870   case 938:
19871
19872 /* Line 1464 of yacc.c  */
19873 #line 3061 "grammar.y"
19874     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19875     break;
19876
19877   case 939:
19878
19879 /* Line 1464 of yacc.c  */
19880 #line 3062 "grammar.y"
19881     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19882     break;
19883
19884   case 940:
19885
19886 /* Line 1464 of yacc.c  */
19887 #line 3063 "grammar.y"
19888     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19889     break;
19890
19891   case 941:
19892
19893 /* Line 1464 of yacc.c  */
19894 #line 3064 "grammar.y"
19895     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19896     break;
19897
19898   case 942:
19899
19900 /* Line 1464 of yacc.c  */
19901 #line 3065 "grammar.y"
19902     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19903     break;
19904
19905   case 943:
19906
19907 /* Line 1464 of yacc.c  */
19908 #line 3066 "grammar.y"
19909     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19910     break;
19911
19912   case 944:
19913
19914 /* Line 1464 of yacc.c  */
19915 #line 3067 "grammar.y"
19916     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19917     break;
19918
19919   case 945:
19920
19921 /* Line 1464 of yacc.c  */
19922 #line 3068 "grammar.y"
19923     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19924     break;
19925
19926   case 946:
19927
19928 /* Line 1464 of yacc.c  */
19929 #line 3072 "grammar.y"
19930     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19931     break;
19932
19933   case 947:
19934
19935 /* Line 1464 of yacc.c  */
19936 #line 3073 "grammar.y"
19937     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19938     break;
19939
19940   case 948:
19941
19942 /* Line 1464 of yacc.c  */
19943 #line 3074 "grammar.y"
19944     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19945     break;
19946
19947   case 949:
19948
19949 /* Line 1464 of yacc.c  */
19950 #line 3075 "grammar.y"
19951     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19952     break;
19953
19954   case 950:
19955
19956 /* Line 1464 of yacc.c  */
19957 #line 3076 "grammar.y"
19958     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19959     break;
19960
19961   case 951:
19962
19963 /* Line 1464 of yacc.c  */
19964 #line 3077 "grammar.y"
19965     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19966     break;
19967
19968   case 952:
19969
19970 /* Line 1464 of yacc.c  */
19971 #line 3078 "grammar.y"
19972     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19973     break;
19974
19975   case 953:
19976
19977 /* Line 1464 of yacc.c  */
19978 #line 3079 "grammar.y"
19979     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19980     break;
19981
19982   case 954:
19983
19984 /* Line 1464 of yacc.c  */
19985 #line 3083 "grammar.y"
19986     { (yyval.pointer) = MkPointer(null, null); ;}
19987     break;
19988
19989   case 955:
19990
19991 /* Line 1464 of yacc.c  */
19992 #line 3084 "grammar.y"
19993     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
19994     break;
19995
19996   case 956:
19997
19998 /* Line 1464 of yacc.c  */
19999 #line 3085 "grammar.y"
20000     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20001     break;
20002
20003   case 957:
20004
20005 /* Line 1464 of yacc.c  */
20006 #line 3086 "grammar.y"
20007     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20008     break;
20009
20010   case 958:
20011
20012 /* Line 1464 of yacc.c  */
20013 #line 3090 "grammar.y"
20014     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20015     break;
20016
20017   case 960:
20018
20019 /* Line 1464 of yacc.c  */
20020 #line 3092 "grammar.y"
20021     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20022     break;
20023
20024   case 961:
20025
20026 /* Line 1464 of yacc.c  */
20027 #line 3093 "grammar.y"
20028     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20029     break;
20030
20031   case 962:
20032
20033 /* Line 1464 of yacc.c  */
20034 #line 3094 "grammar.y"
20035     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20036     break;
20037
20038   case 963:
20039
20040 /* Line 1464 of yacc.c  */
20041 #line 3098 "grammar.y"
20042     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20043     break;
20044
20045   case 965:
20046
20047 /* Line 1464 of yacc.c  */
20048 #line 3100 "grammar.y"
20049     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20050     break;
20051
20052   case 966:
20053
20054 /* Line 1464 of yacc.c  */
20055 #line 3101 "grammar.y"
20056     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20057     break;
20058
20059   case 967:
20060
20061 /* Line 1464 of yacc.c  */
20062 #line 3102 "grammar.y"
20063     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20064     break;
20065
20066   case 969:
20067
20068 /* Line 1464 of yacc.c  */
20069 #line 3108 "grammar.y"
20070     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20071     break;
20072
20073   case 970:
20074
20075 /* Line 1464 of yacc.c  */
20076 #line 3110 "grammar.y"
20077     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20078     break;
20079
20080   case 971:
20081
20082 /* Line 1464 of yacc.c  */
20083 #line 3112 "grammar.y"
20084     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20085     break;
20086
20087   case 972:
20088
20089 /* Line 1464 of yacc.c  */
20090 #line 3114 "grammar.y"
20091     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20092     break;
20093
20094   case 974:
20095
20096 /* Line 1464 of yacc.c  */
20097 #line 3120 "grammar.y"
20098     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20099     break;
20100
20101   case 975:
20102
20103 /* Line 1464 of yacc.c  */
20104 #line 3122 "grammar.y"
20105     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20106     break;
20107
20108   case 976:
20109
20110 /* Line 1464 of yacc.c  */
20111 #line 3124 "grammar.y"
20112     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20113     break;
20114
20115   case 978:
20116
20117 /* Line 1464 of yacc.c  */
20118 #line 3129 "grammar.y"
20119     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20120     break;
20121
20122   case 979:
20123
20124 /* Line 1464 of yacc.c  */
20125 #line 3130 "grammar.y"
20126     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20127     break;
20128
20129   case 980:
20130
20131 /* Line 1464 of yacc.c  */
20132 #line 3131 "grammar.y"
20133     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20134     break;
20135
20136   case 982:
20137
20138 /* Line 1464 of yacc.c  */
20139 #line 3136 "grammar.y"
20140     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20141     break;
20142
20143   case 983:
20144
20145 /* Line 1464 of yacc.c  */
20146 #line 3137 "grammar.y"
20147     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20148     break;
20149
20150   case 984:
20151
20152 /* Line 1464 of yacc.c  */
20153 #line 3138 "grammar.y"
20154     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20155     break;
20156
20157   case 986:
20158
20159 /* Line 1464 of yacc.c  */
20160 #line 3143 "grammar.y"
20161     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20162     break;
20163
20164   case 987:
20165
20166 /* Line 1464 of yacc.c  */
20167 #line 3144 "grammar.y"
20168     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20169     break;
20170
20171   case 988:
20172
20173 /* Line 1464 of yacc.c  */
20174 #line 3145 "grammar.y"
20175     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20176     break;
20177
20178   case 990:
20179
20180 /* Line 1464 of yacc.c  */
20181 #line 3150 "grammar.y"
20182     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20183     break;
20184
20185   case 991:
20186
20187 /* Line 1464 of yacc.c  */
20188 #line 3151 "grammar.y"
20189     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20190     break;
20191
20192   case 992:
20193
20194 /* Line 1464 of yacc.c  */
20195 #line 3152 "grammar.y"
20196     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20197     break;
20198
20199   case 994:
20200
20201 /* Line 1464 of yacc.c  */
20202 #line 3157 "grammar.y"
20203     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20204     break;
20205
20206   case 995:
20207
20208 /* Line 1464 of yacc.c  */
20209 #line 3158 "grammar.y"
20210     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20211     break;
20212
20213   case 996:
20214
20215 /* Line 1464 of yacc.c  */
20216 #line 3159 "grammar.y"
20217     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20218     break;
20219
20220   case 997:
20221
20222 /* Line 1464 of yacc.c  */
20223 #line 3163 "grammar.y"
20224     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20225     break;
20226
20227   case 998:
20228
20229 /* Line 1464 of yacc.c  */
20230 #line 3164 "grammar.y"
20231     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20232     break;
20233
20234   case 999:
20235
20236 /* Line 1464 of yacc.c  */
20237 #line 3166 "grammar.y"
20238     {
20239          Compiler_Warning($"extra comma\n");
20240          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20241          (yyval.initializer).loc = (yyloc);
20242
20243          {
20244             Expression exp = MkExpDummy();
20245             Initializer init = MkInitializerAssignment(exp);
20246             init.loc = (yylsp[(3) - (4)]);
20247             exp.loc = (yylsp[(3) - (4)]);
20248             ListAdd((yyvsp[(2) - (4)].list), init);
20249          }
20250       ;}
20251     break;
20252
20253   case 1000:
20254
20255 /* Line 1464 of yacc.c  */
20256 #line 3182 "grammar.y"
20257     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20258     break;
20259
20260   case 1001:
20261
20262 /* Line 1464 of yacc.c  */
20263 #line 3183 "grammar.y"
20264     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20265     break;
20266
20267   case 1002:
20268
20269 /* Line 1464 of yacc.c  */
20270 #line 3184 "grammar.y"
20271     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20272     break;
20273
20274   case 1003:
20275
20276 /* Line 1464 of yacc.c  */
20277 #line 3186 "grammar.y"
20278     {
20279          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20280          (yyval.initializer).loc = (yyloc);
20281
20282          {
20283             Expression exp = MkExpDummy();
20284             Initializer init = MkInitializerAssignment(exp);
20285             init.loc = (yylsp[(3) - (5)]);
20286             exp.loc = (yylsp[(3) - (5)]);
20287             ListAdd((yyvsp[(2) - (5)].list), init);
20288          }
20289       ;}
20290     break;
20291
20292   case 1004:
20293
20294 /* Line 1464 of yacc.c  */
20295 #line 3199 "grammar.y"
20296     {
20297          yyerror();
20298          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20299          (yyval.initializer).loc = (yyloc);
20300
20301          {
20302             Expression exp = MkExpDummy();
20303             Initializer init = MkInitializerAssignment(exp);
20304             init.loc = (yylsp[(3) - (3)]);
20305             exp.loc = (yylsp[(3) - (3)]);
20306             ListAdd((yyvsp[(2) - (3)].list), init);
20307          }
20308       ;}
20309     break;
20310
20311   case 1005:
20312
20313 /* Line 1464 of yacc.c  */
20314 #line 3215 "grammar.y"
20315     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20316     break;
20317
20318   case 1006:
20319
20320 /* Line 1464 of yacc.c  */
20321 #line 3217 "grammar.y"
20322     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20323     break;
20324
20325   case 1007:
20326
20327 /* Line 1464 of yacc.c  */
20328 #line 3221 "grammar.y"
20329     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20330     break;
20331
20332   case 1008:
20333
20334 /* Line 1464 of yacc.c  */
20335 #line 3222 "grammar.y"
20336     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20337     break;
20338
20339   case 1009:
20340
20341 /* Line 1464 of yacc.c  */
20342 #line 3226 "grammar.y"
20343     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20344     break;
20345
20346   case 1010:
20347
20348 /* Line 1464 of yacc.c  */
20349 #line 3227 "grammar.y"
20350     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20351     break;
20352
20353   case 1011:
20354
20355 /* Line 1464 of yacc.c  */
20356 #line 3228 "grammar.y"
20357     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20358     break;
20359
20360   case 1012:
20361
20362 /* Line 1464 of yacc.c  */
20363 #line 3229 "grammar.y"
20364     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20365     break;
20366
20367   case 1013:
20368
20369 /* Line 1464 of yacc.c  */
20370 #line 3232 "grammar.y"
20371     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20372     break;
20373
20374   case 1014:
20375
20376 /* Line 1464 of yacc.c  */
20377 #line 3233 "grammar.y"
20378     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20379     break;
20380
20381   case 1015:
20382
20383 /* Line 1464 of yacc.c  */
20384 #line 3237 "grammar.y"
20385     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20386     break;
20387
20388   case 1016:
20389
20390 /* Line 1464 of yacc.c  */
20391 #line 3238 "grammar.y"
20392     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20393     break;
20394
20395   case 1017:
20396
20397 /* Line 1464 of yacc.c  */
20398 #line 3239 "grammar.y"
20399     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20400     break;
20401
20402   case 1018:
20403
20404 /* Line 1464 of yacc.c  */
20405 #line 3243 "grammar.y"
20406     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20407     break;
20408
20409   case 1019:
20410
20411 /* Line 1464 of yacc.c  */
20412 #line 3247 "grammar.y"
20413     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20414     break;
20415
20416   case 1020:
20417
20418 /* Line 1464 of yacc.c  */
20419 #line 3251 "grammar.y"
20420     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20421     break;
20422
20423   case 1021:
20424
20425 /* Line 1464 of yacc.c  */
20426 #line 3252 "grammar.y"
20427     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20428     break;
20429
20430   case 1022:
20431
20432 /* Line 1464 of yacc.c  */
20433 #line 3253 "grammar.y"
20434     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20435     break;
20436
20437   case 1023:
20438
20439 /* Line 1464 of yacc.c  */
20440 #line 3254 "grammar.y"
20441     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20442     break;
20443
20444   case 1024:
20445
20446 /* Line 1464 of yacc.c  */
20447 #line 3256 "grammar.y"
20448     {
20449       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20450       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20451       (yyval.list) = MkList();
20452       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20453       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20454       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20455    ;}
20456     break;
20457
20458   case 1025:
20459
20460 /* Line 1464 of yacc.c  */
20461 #line 3264 "grammar.y"
20462     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20463     break;
20464
20465   case 1026:
20466
20467 /* Line 1464 of yacc.c  */
20468 #line 3273 "grammar.y"
20469     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20470     break;
20471
20472   case 1027:
20473
20474 /* Line 1464 of yacc.c  */
20475 #line 3274 "grammar.y"
20476     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20477     break;
20478
20479   case 1028:
20480
20481 /* Line 1464 of yacc.c  */
20482 #line 3275 "grammar.y"
20483     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20484     break;
20485
20486   case 1029:
20487
20488 /* Line 1464 of yacc.c  */
20489 #line 3276 "grammar.y"
20490     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20491     break;
20492
20493   case 1030:
20494
20495 /* Line 1464 of yacc.c  */
20496 #line 3280 "grammar.y"
20497     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20498     break;
20499
20500   case 1031:
20501
20502 /* Line 1464 of yacc.c  */
20503 #line 3281 "grammar.y"
20504     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20505     break;
20506
20507   case 1032:
20508
20509 /* Line 1464 of yacc.c  */
20510 #line 3285 "grammar.y"
20511     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20512     break;
20513
20514   case 1033:
20515
20516 /* Line 1464 of yacc.c  */
20517 #line 3286 "grammar.y"
20518     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20519     break;
20520
20521   case 1034:
20522
20523 /* Line 1464 of yacc.c  */
20524 #line 3291 "grammar.y"
20525     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20526     break;
20527
20528   case 1035:
20529
20530 /* Line 1464 of yacc.c  */
20531 #line 3292 "grammar.y"
20532     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20533     break;
20534
20535   case 1036:
20536
20537 /* Line 1464 of yacc.c  */
20538 #line 3293 "grammar.y"
20539     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20540     break;
20541
20542   case 1037:
20543
20544 /* Line 1464 of yacc.c  */
20545 #line 3294 "grammar.y"
20546     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20547     break;
20548
20549   case 1038:
20550
20551 /* Line 1464 of yacc.c  */
20552 #line 3295 "grammar.y"
20553     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20554     break;
20555
20556   case 1039:
20557
20558 /* Line 1464 of yacc.c  */
20559 #line 3297 "grammar.y"
20560     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20561     break;
20562
20563   case 1040:
20564
20565 /* Line 1464 of yacc.c  */
20566 #line 3315 "grammar.y"
20567     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20568     break;
20569
20570   case 1041:
20571
20572 /* Line 1464 of yacc.c  */
20573 #line 3316 "grammar.y"
20574     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20575     break;
20576
20577   case 1042:
20578
20579 /* Line 1464 of yacc.c  */
20580 #line 3320 "grammar.y"
20581     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20582     break;
20583
20584   case 1043:
20585
20586 /* Line 1464 of yacc.c  */
20587 #line 3321 "grammar.y"
20588     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20589     break;
20590
20591   case 1044:
20592
20593 /* Line 1464 of yacc.c  */
20594 #line 3322 "grammar.y"
20595     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20596     break;
20597
20598   case 1045:
20599
20600 /* Line 1464 of yacc.c  */
20601 #line 3323 "grammar.y"
20602     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20603     break;
20604
20605   case 1046:
20606
20607 /* Line 1464 of yacc.c  */
20608 #line 3324 "grammar.y"
20609     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20610     break;
20611
20612   case 1047:
20613
20614 /* Line 1464 of yacc.c  */
20615 #line 3325 "grammar.y"
20616     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20617     break;
20618
20619   case 1048:
20620
20621 /* Line 1464 of yacc.c  */
20622 #line 3327 "grammar.y"
20623     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20624     break;
20625
20626   case 1049:
20627
20628 /* Line 1464 of yacc.c  */
20629 #line 3328 "grammar.y"
20630     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20631     break;
20632
20633   case 1050:
20634
20635 /* Line 1464 of yacc.c  */
20636 #line 3329 "grammar.y"
20637     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20638     break;
20639
20640   case 1051:
20641
20642 /* Line 1464 of yacc.c  */
20643 #line 3330 "grammar.y"
20644     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20645     break;
20646
20647   case 1052:
20648
20649 /* Line 1464 of yacc.c  */
20650 #line 3334 "grammar.y"
20651     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20652     break;
20653
20654   case 1053:
20655
20656 /* Line 1464 of yacc.c  */
20657 #line 3335 "grammar.y"
20658     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20659     break;
20660
20661   case 1054:
20662
20663 /* Line 1464 of yacc.c  */
20664 #line 3336 "grammar.y"
20665     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20666     break;
20667
20668   case 1055:
20669
20670 /* Line 1464 of yacc.c  */
20671 #line 3337 "grammar.y"
20672     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20673     break;
20674
20675   case 1056:
20676
20677 /* Line 1464 of yacc.c  */
20678 #line 3338 "grammar.y"
20679     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20680     break;
20681
20682   case 1057:
20683
20684 /* Line 1464 of yacc.c  */
20685 #line 3340 "grammar.y"
20686     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20687     break;
20688
20689   case 1058:
20690
20691 /* Line 1464 of yacc.c  */
20692 #line 3341 "grammar.y"
20693     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20694     break;
20695
20696   case 1059:
20697
20698 /* Line 1464 of yacc.c  */
20699 #line 3342 "grammar.y"
20700     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20701     break;
20702
20703   case 1061:
20704
20705 /* Line 1464 of yacc.c  */
20706 #line 3347 "grammar.y"
20707     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20708     break;
20709
20710   case 1062:
20711
20712 /* Line 1464 of yacc.c  */
20713 #line 3348 "grammar.y"
20714     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20715     break;
20716
20717   case 1063:
20718
20719 /* Line 1464 of yacc.c  */
20720 #line 3349 "grammar.y"
20721     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20722     break;
20723
20724   case 1064:
20725
20726 /* Line 1464 of yacc.c  */
20727 #line 3350 "grammar.y"
20728     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20729     break;
20730
20731   case 1065:
20732
20733 /* Line 1464 of yacc.c  */
20734 #line 3351 "grammar.y"
20735     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20736     break;
20737
20738   case 1067:
20739
20740 /* Line 1464 of yacc.c  */
20741 #line 3356 "grammar.y"
20742     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20743     break;
20744
20745   case 1070:
20746
20747 /* Line 1464 of yacc.c  */
20748 #line 3363 "grammar.y"
20749     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20750     break;
20751
20752   case 1072:
20753
20754 /* Line 1464 of yacc.c  */
20755 #line 3365 "grammar.y"
20756     { (yyval.stmt) = MkExpressionStmt(null); ;}
20757     break;
20758
20759   case 1073:
20760
20761 /* Line 1464 of yacc.c  */
20762 #line 3366 "grammar.y"
20763     { (yyval.stmt) = MkExpressionStmt(null); ;}
20764     break;
20765
20766   case 1074:
20767
20768 /* Line 1464 of yacc.c  */
20769 #line 3367 "grammar.y"
20770     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20771     break;
20772
20773   case 1082:
20774
20775 /* Line 1464 of yacc.c  */
20776 #line 3378 "grammar.y"
20777     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20778     break;
20779
20780   case 1083:
20781
20782 /* Line 1464 of yacc.c  */
20783 #line 3379 "grammar.y"
20784     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20785     break;
20786
20787   case 1084:
20788
20789 /* Line 1464 of yacc.c  */
20790 #line 3380 "grammar.y"
20791     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20792     break;
20793
20794   case 1085:
20795
20796 /* Line 1464 of yacc.c  */
20797 #line 3381 "grammar.y"
20798     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20799     break;
20800
20801   case 1086:
20802
20803 /* Line 1464 of yacc.c  */
20804 #line 3382 "grammar.y"
20805     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20806     break;
20807
20808   case 1087:
20809
20810 /* Line 1464 of yacc.c  */
20811 #line 3383 "grammar.y"
20812     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20813     break;
20814
20815   case 1088:
20816
20817 /* Line 1464 of yacc.c  */
20818 #line 3384 "grammar.y"
20819     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20820     break;
20821
20822   case 1089:
20823
20824 /* Line 1464 of yacc.c  */
20825 #line 3388 "grammar.y"
20826     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20827     break;
20828
20829   case 1090:
20830
20831 /* Line 1464 of yacc.c  */
20832 #line 3389 "grammar.y"
20833     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
20834     break;
20835
20836   case 1091:
20837
20838 /* Line 1464 of yacc.c  */
20839 #line 3390 "grammar.y"
20840     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
20841     break;
20842
20843   case 1092:
20844
20845 /* Line 1464 of yacc.c  */
20846 #line 3394 "grammar.y"
20847     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20848     break;
20849
20850   case 1093:
20851
20852 /* Line 1464 of yacc.c  */
20853 #line 3395 "grammar.y"
20854     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20855     break;
20856
20857   case 1094:
20858
20859 /* Line 1464 of yacc.c  */
20860 #line 3396 "grammar.y"
20861     { (yyval.list) = null; ;}
20862     break;
20863
20864   case 1095:
20865
20866 /* Line 1464 of yacc.c  */
20867 #line 3400 "grammar.y"
20868     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20869     break;
20870
20871   case 1096:
20872
20873 /* Line 1464 of yacc.c  */
20874 #line 3401 "grammar.y"
20875     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20876     break;
20877
20878   case 1097:
20879
20880 /* Line 1464 of yacc.c  */
20881 #line 3402 "grammar.y"
20882     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
20883     break;
20884
20885   case 1098:
20886
20887 /* Line 1464 of yacc.c  */
20888 #line 3403 "grammar.y"
20889     { (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); ;}
20890     break;
20891
20892   case 1099:
20893
20894 /* Line 1464 of yacc.c  */
20895 #line 3405 "grammar.y"
20896     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
20897     break;
20898
20899   case 1100:
20900
20901 /* Line 1464 of yacc.c  */
20902 #line 3406 "grammar.y"
20903     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20904     break;
20905
20906   case 1101:
20907
20908 /* Line 1464 of yacc.c  */
20909 #line 3407 "grammar.y"
20910     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20911     break;
20912
20913   case 1102:
20914
20915 /* Line 1464 of yacc.c  */
20916 #line 3409 "grammar.y"
20917     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20918     break;
20919
20920   case 1103:
20921
20922 /* Line 1464 of yacc.c  */
20923 #line 3410 "grammar.y"
20924     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20925     break;
20926
20927   case 1104:
20928
20929 /* Line 1464 of yacc.c  */
20930 #line 3411 "grammar.y"
20931     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
20932     break;
20933
20934   case 1105:
20935
20936 /* Line 1464 of yacc.c  */
20937 #line 3412 "grammar.y"
20938     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
20939     break;
20940
20941   case 1106:
20942
20943 /* Line 1464 of yacc.c  */
20944 #line 3414 "grammar.y"
20945     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
20946     break;
20947
20948   case 1107:
20949
20950 /* Line 1464 of yacc.c  */
20951 #line 3415 "grammar.y"
20952     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20953     break;
20954
20955   case 1108:
20956
20957 /* Line 1464 of yacc.c  */
20958 #line 3416 "grammar.y"
20959     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20960     break;
20961
20962   case 1109:
20963
20964 /* Line 1464 of yacc.c  */
20965 #line 3420 "grammar.y"
20966     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20967     break;
20968
20969   case 1110:
20970
20971 /* Line 1464 of yacc.c  */
20972 #line 3421 "grammar.y"
20973     { (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; ;}
20974     break;
20975
20976   case 1111:
20977
20978 /* Line 1464 of yacc.c  */
20979 #line 3422 "grammar.y"
20980     { (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; ;}
20981     break;
20982
20983   case 1112:
20984
20985 /* Line 1464 of yacc.c  */
20986 #line 3423 "grammar.y"
20987     { (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; ;}
20988     break;
20989
20990   case 1113:
20991
20992 /* Line 1464 of yacc.c  */
20993 #line 3424 "grammar.y"
20994     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20995     break;
20996
20997   case 1114:
20998
20999 /* Line 1464 of yacc.c  */
21000 #line 3426 "grammar.y"
21001     { 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); ;}
21002     break;
21003
21004   case 1115:
21005
21006 /* Line 1464 of yacc.c  */
21007 #line 3427 "grammar.y"
21008     { 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; ;}
21009     break;
21010
21011   case 1116:
21012
21013 /* Line 1464 of yacc.c  */
21014 #line 3428 "grammar.y"
21015     { 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; ;}
21016     break;
21017
21018   case 1117:
21019
21020 /* Line 1464 of yacc.c  */
21021 #line 3429 "grammar.y"
21022     { 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; ;}
21023     break;
21024
21025   case 1118:
21026
21027 /* Line 1464 of yacc.c  */
21028 #line 3430 "grammar.y"
21029     { 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); ;}
21030     break;
21031
21032   case 1119:
21033
21034 /* Line 1464 of yacc.c  */
21035 #line 3434 "grammar.y"
21036     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21037     break;
21038
21039   case 1120:
21040
21041 /* Line 1464 of yacc.c  */
21042 #line 3435 "grammar.y"
21043     { (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; ;}
21044     break;
21045
21046   case 1121:
21047
21048 /* Line 1464 of yacc.c  */
21049 #line 3436 "grammar.y"
21050     { (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; ;}
21051     break;
21052
21053   case 1122:
21054
21055 /* Line 1464 of yacc.c  */
21056 #line 3437 "grammar.y"
21057     { (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; ;}
21058     break;
21059
21060   case 1123:
21061
21062 /* Line 1464 of yacc.c  */
21063 #line 3438 "grammar.y"
21064     { (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; ;}
21065     break;
21066
21067   case 1124:
21068
21069 /* Line 1464 of yacc.c  */
21070 #line 3439 "grammar.y"
21071     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21072     break;
21073
21074   case 1125:
21075
21076 /* Line 1464 of yacc.c  */
21077 #line 3440 "grammar.y"
21078     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21079     break;
21080
21081   case 1126:
21082
21083 /* Line 1464 of yacc.c  */
21084 #line 3442 "grammar.y"
21085     { 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); ;}
21086     break;
21087
21088   case 1127:
21089
21090 /* Line 1464 of yacc.c  */
21091 #line 3443 "grammar.y"
21092     { 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; ;}
21093     break;
21094
21095   case 1128:
21096
21097 /* Line 1464 of yacc.c  */
21098 #line 3444 "grammar.y"
21099     { 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; ;}
21100     break;
21101
21102   case 1129:
21103
21104 /* Line 1464 of yacc.c  */
21105 #line 3445 "grammar.y"
21106     { 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; ;}
21107     break;
21108
21109   case 1130:
21110
21111 /* Line 1464 of yacc.c  */
21112 #line 3446 "grammar.y"
21113     { 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); ;}
21114     break;
21115
21116   case 1131:
21117
21118 /* Line 1464 of yacc.c  */
21119 #line 3450 "grammar.y"
21120     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21121     break;
21122
21123   case 1132:
21124
21125 /* Line 1464 of yacc.c  */
21126 #line 3451 "grammar.y"
21127     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21128     break;
21129
21130   case 1133:
21131
21132 /* Line 1464 of yacc.c  */
21133 #line 3452 "grammar.y"
21134     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21135     break;
21136
21137   case 1134:
21138
21139 /* Line 1464 of yacc.c  */
21140 #line 3456 "grammar.y"
21141     { (yyval.declMode) = publicAccess; ;}
21142     break;
21143
21144   case 1135:
21145
21146 /* Line 1464 of yacc.c  */
21147 #line 3457 "grammar.y"
21148     { (yyval.declMode) = privateAccess; ;}
21149     break;
21150
21151   case 1136:
21152
21153 /* Line 1464 of yacc.c  */
21154 #line 3461 "grammar.y"
21155     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21156     break;
21157
21158   case 1137:
21159
21160 /* Line 1464 of yacc.c  */
21161 #line 3462 "grammar.y"
21162     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21163     break;
21164
21165   case 1138:
21166
21167 /* Line 1464 of yacc.c  */
21168 #line 3463 "grammar.y"
21169     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21170     break;
21171
21172   case 1139:
21173
21174 /* Line 1464 of yacc.c  */
21175 #line 3464 "grammar.y"
21176     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21177     break;
21178
21179   case 1140:
21180
21181 /* Line 1464 of yacc.c  */
21182 #line 3468 "grammar.y"
21183     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21184     break;
21185
21186   case 1141:
21187
21188 /* Line 1464 of yacc.c  */
21189 #line 3469 "grammar.y"
21190     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21191     break;
21192
21193   case 1142:
21194
21195 /* Line 1464 of yacc.c  */
21196 #line 3470 "grammar.y"
21197     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21198     break;
21199
21200   case 1143:
21201
21202 /* Line 1464 of yacc.c  */
21203 #line 3472 "grammar.y"
21204     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21205     break;
21206
21207   case 1144:
21208
21209 /* Line 1464 of yacc.c  */
21210 #line 3473 "grammar.y"
21211     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21212     break;
21213
21214   case 1145:
21215
21216 /* Line 1464 of yacc.c  */
21217 #line 3474 "grammar.y"
21218     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21219     break;
21220
21221   case 1146:
21222
21223 /* Line 1464 of yacc.c  */
21224 #line 3478 "grammar.y"
21225     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21226     break;
21227
21228   case 1147:
21229
21230 /* Line 1464 of yacc.c  */
21231 #line 3482 "grammar.y"
21232     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21233     break;
21234
21235   case 1148:
21236
21237 /* Line 1464 of yacc.c  */
21238 #line 3483 "grammar.y"
21239     { structDeclMode = defaultDeclMode;  ;}
21240     break;
21241
21242   case 1149:
21243
21244 /* Line 1464 of yacc.c  */
21245 #line 3485 "grammar.y"
21246     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21247     break;
21248
21249   case 1150:
21250
21251 /* Line 1464 of yacc.c  */
21252 #line 3486 "grammar.y"
21253     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21254     break;
21255
21256   case 1151:
21257
21258 /* Line 1464 of yacc.c  */
21259 #line 3487 "grammar.y"
21260     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21261     break;
21262
21263   case 1152:
21264
21265 /* Line 1464 of yacc.c  */
21266 #line 3491 "grammar.y"
21267     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21268     break;
21269
21270   case 1153:
21271
21272 /* Line 1464 of yacc.c  */
21273 #line 3492 "grammar.y"
21274     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21275     break;
21276
21277   case 1154:
21278
21279 /* Line 1464 of yacc.c  */
21280 #line 3493 "grammar.y"
21281     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21282     break;
21283
21284   case 1155:
21285
21286 /* Line 1464 of yacc.c  */
21287 #line 3494 "grammar.y"
21288     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21289     break;
21290
21291   case 1156:
21292
21293 /* Line 1464 of yacc.c  */
21294 #line 3498 "grammar.y"
21295     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21296     break;
21297
21298   case 1157:
21299
21300 /* Line 1464 of yacc.c  */
21301 #line 3499 "grammar.y"
21302     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21303     break;
21304
21305   case 1158:
21306
21307 /* Line 1464 of yacc.c  */
21308 #line 3503 "grammar.y"
21309     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21310     break;
21311
21312   case 1159:
21313
21314 /* Line 1464 of yacc.c  */
21315 #line 3504 "grammar.y"
21316     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21317     break;
21318
21319   case 1160:
21320
21321 /* Line 1464 of yacc.c  */
21322 #line 3505 "grammar.y"
21323     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21324     break;
21325
21326   case 1161:
21327
21328 /* Line 1464 of yacc.c  */
21329 #line 3509 "grammar.y"
21330     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21331     break;
21332
21333   case 1162:
21334
21335 /* Line 1464 of yacc.c  */
21336 #line 3510 "grammar.y"
21337     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21338     break;
21339
21340   case 1163:
21341
21342 /* Line 1464 of yacc.c  */
21343 #line 3511 "grammar.y"
21344     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21345     break;
21346
21347   case 1164:
21348
21349 /* Line 1464 of yacc.c  */
21350 #line 3512 "grammar.y"
21351     { 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;*/ ;}
21352     break;
21353
21354   case 1165:
21355
21356 /* Line 1464 of yacc.c  */
21357 #line 3513 "grammar.y"
21358     { 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;*/ ;}
21359     break;
21360
21361   case 1166:
21362
21363 /* Line 1464 of yacc.c  */
21364 #line 3514 "grammar.y"
21365     { 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;*/ ;}
21366     break;
21367
21368   case 1167:
21369
21370 /* Line 1464 of yacc.c  */
21371 #line 3515 "grammar.y"
21372     { 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;*/ ;}
21373     break;
21374
21375   case 1168:
21376
21377 /* Line 1464 of yacc.c  */
21378 #line 3519 "grammar.y"
21379     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21380     break;
21381
21382   case 1169:
21383
21384 /* Line 1464 of yacc.c  */
21385 #line 3520 "grammar.y"
21386     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21387     break;
21388
21389   case 1170:
21390
21391 /* Line 1464 of yacc.c  */
21392 #line 3521 "grammar.y"
21393     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21394     break;
21395
21396   case 1171:
21397
21398 /* Line 1464 of yacc.c  */
21399 #line 3522 "grammar.y"
21400     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21401     break;
21402
21403   case 1172:
21404
21405 /* Line 1464 of yacc.c  */
21406 #line 3526 "grammar.y"
21407     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21408     break;
21409
21410   case 1173:
21411
21412 /* Line 1464 of yacc.c  */
21413 #line 3527 "grammar.y"
21414     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21415     break;
21416
21417   case 1174:
21418
21419 /* Line 1464 of yacc.c  */
21420 #line 3528 "grammar.y"
21421     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21422     break;
21423
21424   case 1175:
21425
21426 /* Line 1464 of yacc.c  */
21427 #line 3529 "grammar.y"
21428     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21429     break;
21430
21431   case 1176:
21432
21433 /* Line 1464 of yacc.c  */
21434 #line 3533 "grammar.y"
21435     { (yyval.context) = PushContext(); ;}
21436     break;
21437
21438   case 1177:
21439
21440 /* Line 1464 of yacc.c  */
21441 #line 3537 "grammar.y"
21442     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21443     break;
21444
21445   case 1178:
21446
21447 /* Line 1464 of yacc.c  */
21448 #line 3542 "grammar.y"
21449     { (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++; ;}
21450     break;
21451
21452   case 1179:
21453
21454 /* Line 1464 of yacc.c  */
21455 #line 3544 "grammar.y"
21456     { (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++; ;}
21457     break;
21458
21459   case 1180:
21460
21461 /* Line 1464 of yacc.c  */
21462 #line 3547 "grammar.y"
21463     { (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++; ;}
21464     break;
21465
21466   case 1181:
21467
21468 /* Line 1464 of yacc.c  */
21469 #line 3552 "grammar.y"
21470     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21471     break;
21472
21473   case 1182:
21474
21475 /* Line 1464 of yacc.c  */
21476 #line 3553 "grammar.y"
21477     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21478     break;
21479
21480   case 1183:
21481
21482 /* Line 1464 of yacc.c  */
21483 #line 3554 "grammar.y"
21484     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21485     break;
21486
21487   case 1184:
21488
21489 /* Line 1464 of yacc.c  */
21490 #line 3558 "grammar.y"
21491     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21492     break;
21493
21494   case 1185:
21495
21496 /* Line 1464 of yacc.c  */
21497 #line 3559 "grammar.y"
21498     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21499     break;
21500
21501   case 1186:
21502
21503 /* Line 1464 of yacc.c  */
21504 #line 3560 "grammar.y"
21505     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21506     break;
21507
21508   case 1187:
21509
21510 /* Line 1464 of yacc.c  */
21511 #line 3561 "grammar.y"
21512     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21513     break;
21514
21515   case 1188:
21516
21517 /* Line 1464 of yacc.c  */
21518 #line 3562 "grammar.y"
21519     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21520     break;
21521
21522   case 1189:
21523
21524 /* Line 1464 of yacc.c  */
21525 #line 3563 "grammar.y"
21526     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21527     break;
21528
21529   case 1190:
21530
21531 /* Line 1464 of yacc.c  */
21532 #line 3567 "grammar.y"
21533     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21534     break;
21535
21536   case 1192:
21537
21538 /* Line 1464 of yacc.c  */
21539 #line 3572 "grammar.y"
21540     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21541     break;
21542
21543   case 1193:
21544
21545 /* Line 1464 of yacc.c  */
21546 #line 3573 "grammar.y"
21547     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21548     break;
21549
21550   case 1194:
21551
21552 /* Line 1464 of yacc.c  */
21553 #line 3574 "grammar.y"
21554     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21555     break;
21556
21557   case 1195:
21558
21559 /* Line 1464 of yacc.c  */
21560 #line 3576 "grammar.y"
21561     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21562     break;
21563
21564   case 1196:
21565
21566 /* Line 1464 of yacc.c  */
21567 #line 3577 "grammar.y"
21568     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21569     break;
21570
21571   case 1197:
21572
21573 /* Line 1464 of yacc.c  */
21574 #line 3579 "grammar.y"
21575     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21576     break;
21577
21578   case 1198:
21579
21580 /* Line 1464 of yacc.c  */
21581 #line 3580 "grammar.y"
21582     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21583     break;
21584
21585   case 1199:
21586
21587 /* Line 1464 of yacc.c  */
21588 #line 3581 "grammar.y"
21589     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21590     break;
21591
21592   case 1200:
21593
21594 /* Line 1464 of yacc.c  */
21595 #line 3582 "grammar.y"
21596     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21597     break;
21598
21599   case 1201:
21600
21601 /* Line 1464 of yacc.c  */
21602 #line 3583 "grammar.y"
21603     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21604     break;
21605
21606   case 1202:
21607
21608 /* Line 1464 of yacc.c  */
21609 #line 3585 "grammar.y"
21610     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21611     break;
21612
21613   case 1203:
21614
21615 /* Line 1464 of yacc.c  */
21616 #line 3586 "grammar.y"
21617     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21618     break;
21619
21620   case 1204:
21621
21622 /* Line 1464 of yacc.c  */
21623 #line 3590 "grammar.y"
21624     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21625     break;
21626
21627   case 1205:
21628
21629 /* Line 1464 of yacc.c  */
21630 #line 3591 "grammar.y"
21631     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21632     break;
21633
21634   case 1206:
21635
21636 /* Line 1464 of yacc.c  */
21637 #line 3592 "grammar.y"
21638     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21639     break;
21640
21641   case 1207:
21642
21643 /* Line 1464 of yacc.c  */
21644 #line 3593 "grammar.y"
21645     { (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)]); ;}
21646     break;
21647
21648   case 1208:
21649
21650 /* Line 1464 of yacc.c  */
21651 #line 3597 "grammar.y"
21652     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21653     break;
21654
21655   case 1209:
21656
21657 /* Line 1464 of yacc.c  */
21658 #line 3598 "grammar.y"
21659     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21660     break;
21661
21662   case 1210:
21663
21664 /* Line 1464 of yacc.c  */
21665 #line 3599 "grammar.y"
21666     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21667     break;
21668
21669   case 1211:
21670
21671 /* Line 1464 of yacc.c  */
21672 #line 3600 "grammar.y"
21673     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21674     break;
21675
21676   case 1212:
21677
21678 /* Line 1464 of yacc.c  */
21679 #line 3602 "grammar.y"
21680     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21681     break;
21682
21683   case 1213:
21684
21685 /* Line 1464 of yacc.c  */
21686 #line 3603 "grammar.y"
21687     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21688     break;
21689
21690   case 1214:
21691
21692 /* Line 1464 of yacc.c  */
21693 #line 3604 "grammar.y"
21694     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21695     break;
21696
21697   case 1215:
21698
21699 /* Line 1464 of yacc.c  */
21700 #line 3605 "grammar.y"
21701     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21702     break;
21703
21704   case 1216:
21705
21706 /* Line 1464 of yacc.c  */
21707 #line 3606 "grammar.y"
21708     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21709     break;
21710
21711   case 1217:
21712
21713 /* Line 1464 of yacc.c  */
21714 #line 3607 "grammar.y"
21715     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21716     break;
21717
21718   case 1218:
21719
21720 /* Line 1464 of yacc.c  */
21721 #line 3608 "grammar.y"
21722     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21723     break;
21724
21725   case 1219:
21726
21727 /* Line 1464 of yacc.c  */
21728 #line 3611 "grammar.y"
21729     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21730     break;
21731
21732   case 1220:
21733
21734 /* Line 1464 of yacc.c  */
21735 #line 3615 "grammar.y"
21736     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21737     break;
21738
21739   case 1221:
21740
21741 /* Line 1464 of yacc.c  */
21742 #line 3616 "grammar.y"
21743     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21744     break;
21745
21746   case 1222:
21747
21748 /* Line 1464 of yacc.c  */
21749 #line 3620 "grammar.y"
21750     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21751     break;
21752
21753   case 1223:
21754
21755 /* Line 1464 of yacc.c  */
21756 #line 3621 "grammar.y"
21757     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21758     break;
21759
21760   case 1224:
21761
21762 /* Line 1464 of yacc.c  */
21763 #line 3625 "grammar.y"
21764     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21765     break;
21766
21767   case 1225:
21768
21769 /* Line 1464 of yacc.c  */
21770 #line 3626 "grammar.y"
21771     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21772     break;
21773
21774   case 1226:
21775
21776 /* Line 1464 of yacc.c  */
21777 #line 3627 "grammar.y"
21778     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21779     break;
21780
21781   case 1227:
21782
21783 /* Line 1464 of yacc.c  */
21784 #line 3628 "grammar.y"
21785     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21786     break;
21787
21788   case 1228:
21789
21790 /* Line 1464 of yacc.c  */
21791 #line 3629 "grammar.y"
21792     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21793     break;
21794
21795   case 1229:
21796
21797 /* Line 1464 of yacc.c  */
21798 #line 3630 "grammar.y"
21799     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21800     break;
21801
21802   case 1230:
21803
21804 /* Line 1464 of yacc.c  */
21805 #line 3631 "grammar.y"
21806     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21807     break;
21808
21809   case 1231:
21810
21811 /* Line 1464 of yacc.c  */
21812 #line 3632 "grammar.y"
21813     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21814     break;
21815
21816   case 1232:
21817
21818 /* Line 1464 of yacc.c  */
21819 #line 3636 "grammar.y"
21820     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21821     break;
21822
21823   case 1233:
21824
21825 /* Line 1464 of yacc.c  */
21826 #line 3637 "grammar.y"
21827     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21828     break;
21829
21830   case 1234:
21831
21832 /* Line 1464 of yacc.c  */
21833 #line 3638 "grammar.y"
21834     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21835     break;
21836
21837   case 1235:
21838
21839 /* Line 1464 of yacc.c  */
21840 #line 3639 "grammar.y"
21841     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21842     break;
21843
21844   case 1236:
21845
21846 /* Line 1464 of yacc.c  */
21847 #line 3645 "grammar.y"
21848     { (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); ;}
21849     break;
21850
21851   case 1237:
21852
21853 /* Line 1464 of yacc.c  */
21854 #line 3647 "grammar.y"
21855     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21856     break;
21857
21858   case 1238:
21859
21860 /* Line 1464 of yacc.c  */
21861 #line 3648 "grammar.y"
21862     { (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); ;}
21863     break;
21864
21865   case 1239:
21866
21867 /* Line 1464 of yacc.c  */
21868 #line 3650 "grammar.y"
21869     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21870     break;
21871
21872   case 1240:
21873
21874 /* Line 1464 of yacc.c  */
21875 #line 3652 "grammar.y"
21876     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21877     break;
21878
21879   case 1241:
21880
21881 /* Line 1464 of yacc.c  */
21882 #line 3653 "grammar.y"
21883     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
21884     break;
21885
21886   case 1242:
21887
21888 /* Line 1464 of yacc.c  */
21889 #line 3656 "grammar.y"
21890     { (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; ;}
21891     break;
21892
21893   case 1243:
21894
21895 /* Line 1464 of yacc.c  */
21896 #line 3657 "grammar.y"
21897     { (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; ;}
21898     break;
21899
21900   case 1244:
21901
21902 /* Line 1464 of yacc.c  */
21903 #line 3658 "grammar.y"
21904     { (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; ;}
21905     break;
21906
21907   case 1245:
21908
21909 /* Line 1464 of yacc.c  */
21910 #line 3659 "grammar.y"
21911     { (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; ;}
21912     break;
21913
21914   case 1246:
21915
21916 /* Line 1464 of yacc.c  */
21917 #line 3660 "grammar.y"
21918     { (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; ;}
21919     break;
21920
21921   case 1247:
21922
21923 /* Line 1464 of yacc.c  */
21924 #line 3661 "grammar.y"
21925     { (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; ;}
21926     break;
21927
21928   case 1248:
21929
21930 /* Line 1464 of yacc.c  */
21931 #line 3665 "grammar.y"
21932     { (yyval.string) = CopyString(yytext); ;}
21933     break;
21934
21935   case 1249:
21936
21937 /* Line 1464 of yacc.c  */
21938 #line 3667 "grammar.y"
21939     {
21940       int len1 = strlen((yyvsp[(1) - (2)].string));
21941       int len2 = strlen(yytext);
21942       (yyval.string) = new byte[len1-1 + len2-1 + 1];
21943       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
21944       memcpy((yyval.string) + len1-1, yytext+1, len2);
21945       delete (yyvsp[(1) - (2)].string);
21946    ;}
21947     break;
21948
21949   case 1250:
21950
21951 /* Line 1464 of yacc.c  */
21952 #line 3678 "grammar.y"
21953     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
21954     break;
21955
21956   case 1251:
21957
21958 /* Line 1464 of yacc.c  */
21959 #line 3680 "grammar.y"
21960     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
21961     break;
21962
21963   case 1252:
21964
21965 /* Line 1464 of yacc.c  */
21966 #line 3683 "grammar.y"
21967     { (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); ;}
21968     break;
21969
21970   case 1253:
21971
21972 /* Line 1464 of yacc.c  */
21973 #line 3686 "grammar.y"
21974     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
21975     break;
21976
21977   case 1254:
21978
21979 /* Line 1464 of yacc.c  */
21980 #line 3687 "grammar.y"
21981     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21982     break;
21983
21984   case 1255:
21985
21986 /* Line 1464 of yacc.c  */
21987 #line 3688 "grammar.y"
21988     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21989     break;
21990
21991   case 1256:
21992
21993 /* Line 1464 of yacc.c  */
21994 #line 3690 "grammar.y"
21995     {
21996       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
21997       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
21998       (yyval.external).loc = (yyloc);
21999       FreeIdentifier((yyvsp[(2) - (3)].id));
22000       if(!isRemote)
22001          yyerror();
22002    ;}
22003     break;
22004
22005   case 1257:
22006
22007 /* Line 1464 of yacc.c  */
22008 #line 3699 "grammar.y"
22009     { (yyval.external) = null; ;}
22010     break;
22011
22012   case 1258:
22013
22014 /* Line 1464 of yacc.c  */
22015 #line 3701 "grammar.y"
22016     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22017     break;
22018
22019   case 1259:
22020
22021 /* Line 1464 of yacc.c  */
22022 #line 3703 "grammar.y"
22023     { (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; ;}
22024     break;
22025
22026   case 1260:
22027
22028 /* Line 1464 of yacc.c  */
22029 #line 3704 "grammar.y"
22030     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22031     break;
22032
22033   case 1261:
22034
22035 /* Line 1464 of yacc.c  */
22036 #line 3705 "grammar.y"
22037     { (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; ;}
22038     break;
22039
22040   case 1262:
22041
22042 /* Line 1464 of yacc.c  */
22043 #line 3706 "grammar.y"
22044     { (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; ;}
22045     break;
22046
22047   case 1263:
22048
22049 /* Line 1464 of yacc.c  */
22050 #line 3708 "grammar.y"
22051     {
22052       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22053       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22054       (yyval.external).loc = (yyloc);
22055       FreeIdentifier((yyvsp[(3) - (4)].id));
22056       structDeclMode = declMode = defaultDeclMode;
22057       if(!isRemote)
22058          yyerror();
22059    ;}
22060     break;
22061
22062   case 1264:
22063
22064 /* Line 1464 of yacc.c  */
22065 #line 3717 "grammar.y"
22066     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22067     break;
22068
22069   case 1265:
22070
22071 /* Line 1464 of yacc.c  */
22072 #line 3718 "grammar.y"
22073     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22074     break;
22075
22076   case 1266:
22077
22078 /* Line 1464 of yacc.c  */
22079 #line 3719 "grammar.y"
22080     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22081     break;
22082
22083   case 1267:
22084
22085 /* Line 1464 of yacc.c  */
22086 #line 3720 "grammar.y"
22087     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22088     break;
22089
22090   case 1268:
22091
22092 /* Line 1464 of yacc.c  */
22093 #line 3721 "grammar.y"
22094     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22095     break;
22096
22097   case 1269:
22098
22099 /* Line 1464 of yacc.c  */
22100 #line 3722 "grammar.y"
22101     { (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; ;}
22102     break;
22103
22104   case 1270:
22105
22106 /* Line 1464 of yacc.c  */
22107 #line 3726 "grammar.y"
22108     { 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; ;}
22109     break;
22110
22111   case 1271:
22112
22113 /* Line 1464 of yacc.c  */
22114 #line 3728 "grammar.y"
22115     {
22116       yyerror();
22117       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22118       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22119       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22120       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22121       structDeclMode = declMode = defaultDeclMode;
22122    ;}
22123     break;
22124
22125   case 1272:
22126
22127 /* Line 1464 of yacc.c  */
22128 #line 3736 "grammar.y"
22129     { 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; ;}
22130     break;
22131
22132   case 1273:
22133
22134 /* Line 1464 of yacc.c  */
22135 #line 3738 "grammar.y"
22136     { 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; ;}
22137     break;
22138
22139   case 1274:
22140
22141 /* Line 1464 of yacc.c  */
22142 #line 3739 "grammar.y"
22143     { 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; ;}
22144     break;
22145
22146   case 1275:
22147
22148 /* Line 1464 of yacc.c  */
22149 #line 3742 "grammar.y"
22150     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22151     break;
22152
22153   case 1276:
22154
22155 /* Line 1464 of yacc.c  */
22156 #line 3743 "grammar.y"
22157     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22158     break;
22159
22160   case 1277:
22161
22162 /* Line 1464 of yacc.c  */
22163 #line 3747 "grammar.y"
22164     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22165     break;
22166
22167   case 1278:
22168
22169 /* Line 1464 of yacc.c  */
22170 #line 3748 "grammar.y"
22171     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22172     break;
22173
22174   case 1279:
22175
22176 /* Line 1464 of yacc.c  */
22177 #line 3749 "grammar.y"
22178     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22179     break;
22180
22181   case 1282:
22182
22183 /* Line 1464 of yacc.c  */
22184 #line 3755 "grammar.y"
22185     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22186     break;
22187
22188   case 1283:
22189
22190 /* Line 1464 of yacc.c  */
22191 #line 3756 "grammar.y"
22192     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22193     break;
22194
22195   case 1284:
22196
22197 /* Line 1464 of yacc.c  */
22198 #line 3758 "grammar.y"
22199     { 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; ;}
22200     break;
22201
22202   case 1285:
22203
22204 /* Line 1464 of yacc.c  */
22205 #line 3760 "grammar.y"
22206     { 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; ;}
22207     break;
22208
22209   case 1288:
22210
22211 /* Line 1464 of yacc.c  */
22212 #line 3766 "grammar.y"
22213     { ast = MkList(); ;}
22214     break;
22215
22216   case 1289:
22217
22218 /* Line 1464 of yacc.c  */
22219 #line 3770 "grammar.y"
22220     { Symbol symbol = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22221     break;
22222
22223   case 1290:
22224
22225 /* Line 1464 of yacc.c  */
22226 #line 3771 "grammar.y"
22227     { Symbol symbol = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22228     break;
22229
22230   case 1291:
22231
22232 /* Line 1464 of yacc.c  */
22233 #line 3772 "grammar.y"
22234     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22235     break;
22236
22237   case 1292:
22238
22239 /* Line 1464 of yacc.c  */
22240 #line 3776 "grammar.y"
22241     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22242     break;
22243
22244   case 1293:
22245
22246 /* Line 1464 of yacc.c  */
22247 #line 3780 "grammar.y"
22248     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22249     break;
22250
22251   case 1294:
22252
22253 /* Line 1464 of yacc.c  */
22254 #line 3781 "grammar.y"
22255     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22256     break;
22257
22258   case 1295:
22259
22260 /* Line 1464 of yacc.c  */
22261 #line 3782 "grammar.y"
22262     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22263     break;
22264
22265   case 1296:
22266
22267 /* Line 1464 of yacc.c  */
22268 #line 3786 "grammar.y"
22269     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22270     break;
22271
22272   case 1297:
22273
22274 /* Line 1464 of yacc.c  */
22275 #line 3787 "grammar.y"
22276     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22277     break;
22278
22279   case 1298:
22280
22281 /* Line 1464 of yacc.c  */
22282 #line 3791 "grammar.y"
22283     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22284     break;
22285
22286   case 1299:
22287
22288 /* Line 1464 of yacc.c  */
22289 #line 3792 "grammar.y"
22290     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22291     break;
22292
22293   case 1300:
22294
22295 /* Line 1464 of yacc.c  */
22296 #line 3796 "grammar.y"
22297     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22298     break;
22299
22300   case 1301:
22301
22302 /* Line 1464 of yacc.c  */
22303 #line 3797 "grammar.y"
22304     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22305     break;
22306
22307   case 1302:
22308
22309 /* Line 1464 of yacc.c  */
22310 #line 3798 "grammar.y"
22311     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22312     break;
22313
22314   case 1303:
22315
22316 /* Line 1464 of yacc.c  */
22317 #line 3799 "grammar.y"
22318     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22319     break;
22320
22321   case 1304:
22322
22323 /* Line 1464 of yacc.c  */
22324 #line 3803 "grammar.y"
22325     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22326     break;
22327
22328   case 1305:
22329
22330 /* Line 1464 of yacc.c  */
22331 #line 3807 "grammar.y"
22332     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22333     break;
22334
22335   case 1306:
22336
22337 /* Line 1464 of yacc.c  */
22338 #line 3811 "grammar.y"
22339     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22340     break;
22341
22342   case 1307:
22343
22344 /* Line 1464 of yacc.c  */
22345 #line 3815 "grammar.y"
22346     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22347     break;
22348
22349
22350
22351 /* Line 1464 of yacc.c  */
22352 #line 22353 "grammar.ec"
22353       default: break;
22354     }
22355   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22356
22357   YYPOPSTACK (yylen);
22358   yylen = 0;
22359   YY_STACK_PRINT (yyss, yyssp);
22360
22361   *++yyvsp = yyval;
22362   *++yylsp = yyloc;
22363
22364   /* Now `shift' the result of the reduction.  Determine what state
22365      that goes to, based on the state we popped back to and the rule
22366      number reduced by.  */
22367
22368   yyn = yyr1[yyn];
22369
22370   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22371   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22372     yystate = yytable[yystate];
22373   else
22374     yystate = yydefgoto[yyn - YYNTOKENS];
22375
22376   goto yynewstate;
22377
22378
22379 /*------------------------------------.
22380 | yyerrlab -- here on detecting error |
22381 `------------------------------------*/
22382 yyerrlab:
22383   /* If not already recovering from an error, report this error.  */
22384   if (!yyerrstatus)
22385     {
22386       ++yynerrs;
22387 #if ! YYERROR_VERBOSE
22388       yyerror (YY_("syntax error"));
22389 #else
22390       {
22391         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22392         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22393           {
22394             YYSIZE_T yyalloc = 2 * yysize;
22395             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22396               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22397             if (yymsg != yymsgbuf)
22398               YYSTACK_FREE (yymsg);
22399             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22400             if (yymsg)
22401               yymsg_alloc = yyalloc;
22402             else
22403               {
22404                 yymsg = yymsgbuf;
22405                 yymsg_alloc = sizeof yymsgbuf;
22406               }
22407           }
22408
22409         if (0 < yysize && yysize <= yymsg_alloc)
22410           {
22411             (void) yysyntax_error (yymsg, yystate, yychar);
22412             yyerror (yymsg);
22413           }
22414         else
22415           {
22416             yyerror (YY_("syntax error"));
22417             if (yysize != 0)
22418               goto yyexhaustedlab;
22419           }
22420       }
22421 #endif
22422     }
22423
22424   yyerror_range[0] = yylloc;
22425
22426   if (yyerrstatus == 3)
22427     {
22428       /* If just tried and failed to reuse lookahead token after an
22429          error, discard it.  */
22430
22431       if (yychar <= YYEOF)
22432         {
22433           /* Return failure if at end of input.  */
22434           if (yychar == YYEOF)
22435             YYABORT;
22436         }
22437       else
22438         {
22439           yydestruct ("Error: discarding",
22440                       yytoken, &yylval, &yylloc);
22441           yychar = YYEMPTY;
22442         }
22443     }
22444
22445   /* Else will try to reuse lookahead token after shifting the error
22446      token.  */
22447   goto yyerrlab1;
22448
22449
22450 /*---------------------------------------------------.
22451 | yyerrorlab -- error raised explicitly by YYERROR.  |
22452 `---------------------------------------------------*/
22453 yyerrorlab:
22454
22455   /* Pacify compilers like GCC when the user code never invokes
22456      YYERROR and the label yyerrorlab therefore never appears in user
22457      code.  */
22458   if (/*CONSTCOND*/ 0)
22459      goto yyerrorlab;
22460
22461   yyerror_range[0] = yylsp[1-yylen];
22462   /* Do not reclaim the symbols of the rule which action triggered
22463      this YYERROR.  */
22464   YYPOPSTACK (yylen);
22465   yylen = 0;
22466   YY_STACK_PRINT (yyss, yyssp);
22467   yystate = *yyssp;
22468   goto yyerrlab1;
22469
22470
22471 /*-------------------------------------------------------------.
22472 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22473 `-------------------------------------------------------------*/
22474 yyerrlab1:
22475   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22476
22477   for (;;)
22478     {
22479       yyn = yypact[yystate];
22480       if (yyn != YYPACT_NINF)
22481         {
22482           yyn += YYTERROR;
22483           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22484             {
22485               yyn = yytable[yyn];
22486               if (0 < yyn)
22487                 break;
22488             }
22489         }
22490
22491       /* Pop the current state because it cannot handle the error token.  */
22492       if (yyssp == yyss)
22493         YYABORT;
22494
22495       yyerror_range[0] = *yylsp;
22496       yydestruct ("Error: popping",
22497                   yystos[yystate], yyvsp, yylsp);
22498       YYPOPSTACK (1);
22499       yystate = *yyssp;
22500       YY_STACK_PRINT (yyss, yyssp);
22501     }
22502
22503   *++yyvsp = yylval;
22504
22505   yyerror_range[1] = yylloc;
22506   /* Using YYLLOC is tempting, but would change the location of
22507      the lookahead.  YYLOC is available though.  */
22508   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22509   *++yylsp = yyloc;
22510
22511   /* Shift the error token.  */
22512   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22513
22514   yystate = yyn;
22515   goto yynewstate;
22516
22517
22518 /*-------------------------------------.
22519 | yyacceptlab -- YYACCEPT comes here.  |
22520 `-------------------------------------*/
22521 yyacceptlab:
22522   yyresult = 0;
22523   goto yyreturn;
22524
22525 /*-----------------------------------.
22526 | yyabortlab -- YYABORT comes here.  |
22527 `-----------------------------------*/
22528 yyabortlab:
22529   yyresult = 1;
22530   goto yyreturn;
22531
22532 #if !defined(yyoverflow) || YYERROR_VERBOSE
22533 /*-------------------------------------------------.
22534 | yyexhaustedlab -- memory exhaustion comes here.  |
22535 `-------------------------------------------------*/
22536 yyexhaustedlab:
22537   yyerror (YY_("memory exhausted"));
22538   yyresult = 2;
22539   /* Fall through.  */
22540 #endif
22541
22542 yyreturn:
22543   if (yychar != YYEMPTY)
22544      yydestruct ("Cleanup: discarding lookahead",
22545                  yytoken, &yylval, &yylloc);
22546   /* Do not reclaim the symbols of the rule which action triggered
22547      this YYABORT or YYACCEPT.  */
22548   YYPOPSTACK (yylen);
22549   YY_STACK_PRINT (yyss, yyssp);
22550   while (yyssp != yyss)
22551     {
22552       yydestruct ("Cleanup: popping",
22553                   yystos[*yyssp], yyvsp, yylsp);
22554       YYPOPSTACK (1);
22555     }
22556 #ifndef yyoverflow
22557   if (yyss != yyssa)
22558     YYSTACK_FREE (yyss);
22559 #endif
22560 #if YYERROR_VERBOSE
22561   if (yymsg != yymsgbuf)
22562     YYSTACK_FREE (yymsg);
22563 #endif
22564   /* Make sure YYID is used.  */
22565   return YYID (yyresult);
22566 }
22567
22568
22569
22570 /* Line 1684 of yacc.c  */
22571 #line 3818 "grammar.y"
22572
22573