compiler/libec: Upgraded Bison 2.0->2.4.2 to fix MkExpDummy() leak. Added destructors...
[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 uint _uint
99 default:
100
101
102
103 /* Line 189 of yacc.c  */
104 #line 105 "grammar.ec"
105
106 /* Enabling traces.  */
107 #ifndef YYDEBUG
108 # define YYDEBUG 1
109 #endif
110
111 /* Enabling verbose error messages.  */
112 #ifdef YYERROR_VERBOSE
113 # undef YYERROR_VERBOSE
114 # define YYERROR_VERBOSE 1
115 #else
116 # define YYERROR_VERBOSE 0
117 #endif
118
119 /* Enabling the token table.  */
120 #ifndef YYTOKEN_TABLE
121 # define YYTOKEN_TABLE 0
122 #endif
123
124
125 /* Tokens.  */
126 #ifndef YYTOKENTYPE
127 # define YYTOKENTYPE
128    /* Put the tokens into the symbol table, so that GDB and other debuggers
129       know about them.  */
130    enum yytokentype {
131      IDENTIFIER = 258,
132      CONSTANT = 259,
133      STRING_LITERAL = 260,
134      SIZEOF = 261,
135      PTR_OP = 262,
136      INC_OP = 263,
137      DEC_OP = 264,
138      LEFT_OP = 265,
139      RIGHT_OP = 266,
140      LE_OP = 267,
141      GE_OP = 268,
142      EQ_OP = 269,
143      NE_OP = 270,
144      AND_OP = 271,
145      OR_OP = 272,
146      MUL_ASSIGN = 273,
147      DIV_ASSIGN = 274,
148      MOD_ASSIGN = 275,
149      ADD_ASSIGN = 276,
150      SUB_ASSIGN = 277,
151      LEFT_ASSIGN = 278,
152      RIGHT_ASSIGN = 279,
153      AND_ASSIGN = 280,
154      XOR_ASSIGN = 281,
155      OR_ASSIGN = 282,
156      TYPE_NAME = 283,
157      TYPEDEF = 284,
158      EXTERN = 285,
159      STATIC = 286,
160      AUTO = 287,
161      REGISTER = 288,
162      CHAR = 289,
163      SHORT = 290,
164      INT = 291,
165      UINT = 292,
166      INT64 = 293,
167      LONG = 294,
168      SIGNED = 295,
169      UNSIGNED = 296,
170      FLOAT = 297,
171      DOUBLE = 298,
172      CONST = 299,
173      VOLATILE = 300,
174      VOID = 301,
175      VALIST = 302,
176      STRUCT = 303,
177      UNION = 304,
178      ENUM = 305,
179      ELLIPSIS = 306,
180      CASE = 307,
181      DEFAULT = 308,
182      IF = 309,
183      SWITCH = 310,
184      WHILE = 311,
185      DO = 312,
186      FOR = 313,
187      GOTO = 314,
188      CONTINUE = 315,
189      BREAK = 316,
190      RETURN = 317,
191      IFX = 318,
192      ELSE = 319,
193      CLASS = 320,
194      THISCLASS = 321,
195      CLASS_NAME = 322,
196      PROPERTY = 323,
197      SETPROP = 324,
198      GETPROP = 325,
199      NEWOP = 326,
200      RENEW = 327,
201      DELETE = 328,
202      EXT_DECL = 329,
203      EXT_STORAGE = 330,
204      IMPORT = 331,
205      DEFINE = 332,
206      VIRTUAL = 333,
207      EXT_ATTRIB = 334,
208      PUBLIC = 335,
209      PRIVATE = 336,
210      TYPED_OBJECT = 337,
211      ANY_OBJECT = 338,
212      _INCREF = 339,
213      EXTENSION = 340,
214      ASM = 341,
215      TYPEOF = 342,
216      WATCH = 343,
217      STOPWATCHING = 344,
218      FIREWATCHERS = 345,
219      WATCHABLE = 346,
220      CLASS_DESIGNER = 347,
221      CLASS_NO_EXPANSION = 348,
222      CLASS_FIXED = 349,
223      ISPROPSET = 350,
224      CLASS_DEFAULT_PROPERTY = 351,
225      PROPERTY_CATEGORY = 352,
226      CLASS_DATA = 353,
227      CLASS_PROPERTY = 354,
228      SUBCLASS = 355,
229      NAMESPACE = 356,
230      NEW0OP = 357,
231      RENEW0 = 358,
232      VAARG = 359,
233      DBTABLE = 360,
234      DBFIELD = 361,
235      DBINDEX = 362,
236      DATABASE_OPEN = 363
237    };
238 #endif
239
240
241
242 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
243 typedef union YYSTYPE
244 {
245
246 /* Line 214 of yacc.c  */
247 #line 35 "grammar.y"
248
249    SpecifierType specifierType;
250    int i;
251    AccessMode declMode;
252    Identifier id;
253    Expression exp;
254    Specifier specifier;
255    OldList * list;
256    Enumerator enumerator;
257    Declarator declarator;
258    Pointer pointer;
259    Initializer initializer;
260    InitDeclarator initDeclarator;
261    TypeName typeName;
262    Declaration declaration;
263    Statement stmt;
264    FunctionDefinition function;
265    External external;
266    Context context;
267    AsmField asmField;
268
269    Instantiation instance;
270    MembersInit membersInit;
271    MemberInit memberInit;
272    ClassFunction classFunction;
273    ClassDefinition _class;
274    ClassDef classDef;
275    PropertyDef prop;
276    char * string;
277    Symbol symbol;
278    PropertyWatch propertyWatch;
279    TemplateParameter templateParameter;
280    TemplateArgument templateArgument;
281    TemplateDatatype templateDatatype;
282    
283    DBTableEntry dbtableEntry;
284    DBIndexItem dbindexItem;
285    DBTableDef dbtableDef;
286
287
288
289 /* Line 214 of yacc.c  */
290 #line 291 "grammar.ec"
291 } YYSTYPE;
292 # define YYSTYPE_IS_TRIVIAL 1
293 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
294 # define YYSTYPE_IS_DECLARED 1
295 #endif
296
297 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
298 typedef struct YYLTYPE
299 {
300   int first_line;
301   int first_column;
302   int last_line;
303   int last_column;
304 } YYLTYPE;
305 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
306 # define YYLTYPE_IS_DECLARED 1
307 # define YYLTYPE_IS_TRIVIAL 1
308 #endif
309
310
311 /* Copy the second part of user declarations.  */
312
313
314 /* Line 264 of yacc.c  */
315 #line 316 "grammar.ec"
316
317 #ifdef short
318 # undef short
319 #endif
320
321 #ifdef YYTYPE_UINT8
322 typedef YYTYPE_UINT8 yytype_uint8;
323 #else
324 typedef unsigned char yytype_uint8;
325 #endif
326
327 #ifdef YYTYPE_INT8
328 typedef YYTYPE_INT8 yytype_int8;
329 #elif (defined __STDC__ || defined __C99__FUNC__ \
330      || defined __cplusplus || defined _MSC_VER)
331 typedef signed char yytype_int8;
332 #else
333 typedef short int yytype_int8;
334 #endif
335
336 #ifdef YYTYPE_UINT16
337 typedef YYTYPE_UINT16 yytype_uint16;
338 #else
339 typedef unsigned short int yytype_uint16;
340 #endif
341
342 #ifdef YYTYPE_INT16
343 typedef YYTYPE_INT16 yytype_int16;
344 #else
345 typedef short int yytype_int16;
346 #endif
347
348 #ifndef YYSIZE_T
349 # ifdef __SIZE_TYPE__
350 #  define YYSIZE_T __SIZE_TYPE__
351 # elif defined size_t
352 #  define YYSIZE_T size_t
353 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
354      || defined __cplusplus || defined _MSC_VER)
355 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
356 #  define YYSIZE_T size_t
357 # else
358 #  define YYSIZE_T unsigned int
359 # endif
360 #endif
361
362 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
363
364 #ifndef YY_
365 # if defined YYENABLE_NLS && YYENABLE_NLS
366 #  if ENABLE_NLS
367 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
368 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
369 #  endif
370 # endif
371 # ifndef YY_
372 #  define YY_(msgid) msgid
373 # endif
374 #endif
375
376 /* Suppress unused-variable warnings by "using" E.  */
377 #if ! defined lint || defined __GNUC__
378 # define YYUSE(e) ((void) (e))
379 #else
380 # define YYUSE(e) /* empty */
381 #endif
382
383 /* Identity function, used to suppress warnings about constant conditions.  */
384 #ifndef lint
385 # define YYID(n) (n)
386 #else
387 #if (defined __STDC__ || defined __C99__FUNC__ \
388      || defined __cplusplus || defined _MSC_VER)
389 static int
390 YYID (int yyi)
391 #else
392 static int
393 YYID (yyi)
394     int yyi;
395 #endif
396 {
397   return yyi;
398 }
399 #endif
400
401 #if ! defined yyoverflow || YYERROR_VERBOSE
402
403 /* The parser invokes alloca or malloc; define the necessary symbols.  */
404
405 # ifdef YYSTACK_USE_ALLOCA
406 #  if YYSTACK_USE_ALLOCA
407 #   ifdef __GNUC__
408 #    define YYSTACK_ALLOC __builtin_alloca
409 #   elif defined __BUILTIN_VA_ARG_INCR
410 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
411 #   elif defined _AIX
412 #    define YYSTACK_ALLOC __alloca
413 #   elif defined _MSC_VER
414 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
415 #    define alloca _alloca
416 #   else
417 #    define YYSTACK_ALLOC alloca
418 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
419      || defined __cplusplus || defined _MSC_VER)
420 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
421 #     ifndef _STDLIB_H
422 #      define _STDLIB_H 1
423 #     endif
424 #    endif
425 #   endif
426 #  endif
427 # endif
428
429 # ifdef YYSTACK_ALLOC
430    /* Pacify GCC's `empty if-body' warning.  */
431 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
432 #  ifndef YYSTACK_ALLOC_MAXIMUM
433     /* The OS might guarantee only one guard page at the bottom of the stack,
434        and a page size can be as small as 4096 bytes.  So we cannot safely
435        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
436        to allow for a few compiler-allocated temporary stack slots.  */
437 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
438 #  endif
439 # else
440 #  define YYSTACK_ALLOC YYMALLOC
441 #  define YYSTACK_FREE YYFREE
442 #  ifndef YYSTACK_ALLOC_MAXIMUM
443 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
444 #  endif
445 #  if (defined __cplusplus && ! defined _STDLIB_H \
446        && ! ((defined YYMALLOC || defined malloc) \
447              && (defined YYFREE || defined free)))
448 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
449 #   ifndef _STDLIB_H
450 #    define _STDLIB_H 1
451 #   endif
452 #  endif
453 #  ifndef YYMALLOC
454 #   define YYMALLOC malloc
455 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
456      || defined __cplusplus || defined _MSC_VER)
457 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
458 #   endif
459 #  endif
460 #  ifndef YYFREE
461 #   define YYFREE free
462 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
463      || defined __cplusplus || defined _MSC_VER)
464 void free (void *); /* INFRINGES ON USER NAME SPACE */
465 #   endif
466 #  endif
467 # endif
468 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
469
470
471 #if (! defined yyoverflow \
472      && (! defined __cplusplus \
473          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
474              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
475
476 /* A type that is properly aligned for any stack member.  */
477 union yyalloc
478 {
479   yytype_int16 yyss_alloc;
480   YYSTYPE yyvs_alloc;
481   YYLTYPE yyls_alloc;
482 };
483
484 /* The size of the maximum gap between one aligned stack and the next.  */
485 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
486
487 /* The size of an array large to enough to hold all stacks, each with
488    N elements.  */
489 # define YYSTACK_BYTES(N) \
490      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
491       + 2 * YYSTACK_GAP_MAXIMUM)
492
493 /* Copy COUNT objects from FROM to TO.  The source and destination do
494    not overlap.  */
495 # ifndef YYCOPY
496 #  if defined __GNUC__ && 1 < __GNUC__
497 #   define YYCOPY(To, From, Count) \
498       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
499 #  else
500 #   define YYCOPY(To, From, Count)              \
501       do                                        \
502         {                                       \
503           YYSIZE_T yyi;                         \
504           for (yyi = 0; yyi < (Count); yyi++)   \
505             (To)[yyi] = (From)[yyi];            \
506         }                                       \
507       while (YYID (0))
508 #  endif
509 # endif
510
511 /* Relocate STACK from its old location to the new one.  The
512    local variables YYSIZE and YYSTACKSIZE give the old and new number of
513    elements in the stack, and YYPTR gives the new location of the
514    stack.  Advance YYPTR to a properly aligned location for the next
515    stack.  */
516 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
517     do                                                                  \
518       {                                                                 \
519         YYSIZE_T yynewbytes;                                            \
520         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
521         Stack = &yyptr->Stack_alloc;                                    \
522         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
523         yyptr += yynewbytes / sizeof (*yyptr);                          \
524       }                                                                 \
525     while (YYID (0))
526
527 #endif
528
529 /* YYFINAL -- State number of the termination state.  */
530 #define YYFINAL  261
531 /* YYLAST -- Last index in YYTABLE.  */
532 #define YYLAST   36903
533
534 /* YYNTOKENS -- Number of terminals.  */
535 #define YYNTOKENS  134
536 /* YYNNTS -- Number of nonterminals.  */
537 #define YYNNTS  247
538 /* YYNRULES -- Number of rules.  */
539 #define YYNRULES  1271
540 /* YYNRULES -- Number of states.  */
541 #define YYNSTATES  2060
542
543 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
544 #define YYUNDEFTOK  2
545 #define YYMAXUTOK   363
546
547 #define YYTRANSLATE(YYX)                                                \
548   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
549
550 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
551 static const yytype_uint8 yytranslate[] =
552 {
553        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
554        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
555        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
556        2,     2,     2,   128,     2,     2,   122,   130,   125,     2,
557      112,   113,   109,   126,   117,   127,   120,   129,     2,     2,
558        2,     2,     2,     2,     2,     2,     2,     2,   121,   115,
559      110,   116,   111,   133,     2,     2,     2,     2,     2,     2,
560        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
561        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
562        2,   123,     2,   124,   131,     2,     2,     2,     2,     2,
563        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
564        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
565        2,     2,     2,   119,   132,   118,   114,     2,     2,     2,
566        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
567        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
568        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
574        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
579        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
580       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
581       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
582       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
583       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
584       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
585       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
586       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
587       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
588       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
589      105,   106,   107,   108
590 };
591
592 #if YYDEBUG
593 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
594    YYRHS.  */
595 static const yytype_uint16 yyprhs[] =
596 {
597        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
598       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
599       60,    63,    66,    69,    72,    75,    78,    81,    84,    86,
600       89,    91,    94,    97,   100,   103,   106,   109,   111,   113,
601      117,   119,   123,   127,   129,   131,   135,   139,   141,   145,
602      149,   153,   157,   159,   162,   165,   167,   169,   172,   175,
603      178,   181,   183,   186,   189,   191,   193,   196,   199,   201,
604      204,   207,   210,   213,   215,   218,   221,   225,   230,   236,
605      241,   245,   250,   253,   257,   262,   268,   273,   277,   282,
606      288,   294,   299,   302,   306,   310,   314,   318,   321,   326,
607      330,   334,   337,   342,   346,   349,   353,   356,   360,   363,
608      365,   368,   372,   376,   380,   383,   385,   389,   393,   395,
609      399,   403,   406,   411,   417,   421,   426,   430,   432,   436,
610      440,   444,   447,   451,   454,   459,   465,   469,   474,   478,
611      480,   484,   488,   491,   493,   496,   499,   502,   504,   507,
612      513,   521,   531,   538,   547,   552,   559,   561,   564,   568,
613      573,   577,   580,   583,   586,   588,   590,   595,   599,   603,
614      607,   610,   613,   616,   621,   623,   626,   628,   632,   636,
615      638,   640,   644,   652,   654,   657,   662,   664,   667,   670,
616      672,   674,   677,   681,   685,   688,   691,   693,   695,   698,
617      701,   703,   706,   709,   712,   715,   717,   720,   722,   724,
618      727,   732,   737,   744,   747,   752,   757,   764,   766,   768,
619      772,   774,   777,   782,   784,   786,   788,   790,   794,   796,
620      798,   800,   804,   808,   812,   816,   820,   824,   826,   830,
621      832,   835,   838,   842,   846,   852,   858,   865,   872,   875,
622      878,   882,   886,   890,   894,   898,   902,   906,   910,   914,
623      918,   922,   924,   926,   930,   932,   934,   939,   944,   950,
624      959,   961,   963,   966,   971,   974,   981,   988,   994,  1000,
625     1007,  1014,  1020,  1026,  1034,  1042,  1049,  1056,  1064,  1072,
626     1079,  1086,  1091,  1097,  1102,  1109,  1114,  1116,  1118,  1120,
627     1122,  1126,  1128,  1131,  1134,  1137,  1139,  1144,  1149,  1153,
628     1158,  1163,  1167,  1171,  1174,  1177,  1182,  1187,  1191,  1196,
629     1200,  1204,  1207,  1210,  1212,  1217,  1222,  1226,  1231,  1236,
630     1240,  1244,  1247,  1250,  1255,  1260,  1264,  1269,  1273,  1277,
631     1280,  1283,  1285,  1287,  1291,  1295,  1297,  1299,  1303,  1307,
632     1310,  1313,  1316,  1319,  1322,  1327,  1330,  1335,  1341,  1347,
633     1349,  1351,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,
634     1369,  1371,  1373,  1378,  1380,  1384,  1388,  1392,  1396,  1400,
635     1404,  1406,  1410,  1414,  1418,  1422,  1424,  1428,  1432,  1436,
636     1440,  1443,  1445,  1448,  1452,  1456,  1460,  1464,  1468,  1472,
637     1476,  1478,  1482,  1486,  1490,  1494,  1498,  1502,  1506,  1510,
638     1512,  1516,  1520,  1524,  1528,  1530,  1534,  1538,  1542,  1546,
639     1548,  1552,  1556,  1560,  1564,  1566,  1570,  1574,  1576,  1580,
640     1584,  1586,  1592,  1598,  1604,  1610,  1616,  1622,  1628,  1634,
641     1640,  1646,  1652,  1658,  1664,  1670,  1676,  1682,  1684,  1688,
642     1692,  1696,  1700,  1704,  1708,  1712,  1716,  1718,  1720,  1722,
643     1724,  1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1744,
644     1748,  1751,  1753,  1757,  1761,  1763,  1765,  1768,  1771,  1775,
645     1779,  1783,  1787,  1793,  1797,  1801,  1805,  1811,  1815,  1819,
646     1821,  1824,  1827,  1831,  1835,  1839,  1843,  1849,  1853,  1857,
647     1861,  1867,  1871,  1875,  1878,  1881,  1884,  1887,  1891,  1894,
648     1900,  1907,  1914,  1916,  1918,  1920,  1922,  1924,  1929,  1931,
649     1935,  1939,  1943,  1947,  1951,  1955,  1957,  1961,  1965,  1969,
650     1973,  1977,  1981,  1985,  1989,  1991,  1995,  1999,  2003,  2007,
651     2009,  2012,  2016,  2020,  2024,  2028,  2032,  2036,  2040,  2042,
652     2046,  2050,  2054,  2058,  2062,  2066,  2070,  2074,  2078,  2082,
653     2086,  2090,  2092,  2096,  2100,  2104,  2108,  2110,  2114,  2118,
654     2122,  2126,  2128,  2132,  2136,  2140,  2144,  2146,  2150,  2154,
655     2156,  2160,  2164,  2166,  2172,  2178,  2184,  2190,  2195,  2200,
656     2205,  2210,  2216,  2222,  2228,  2234,  2239,  2244,  2249,  2254,
657     2260,  2266,  2272,  2278,  2284,  2290,  2296,  2302,  2306,  2310,
658     2313,  2316,  2318,  2322,  2326,  2330,  2334,  2338,  2342,  2344,
659     2347,  2351,  2355,  2359,  2363,  2366,  2369,  2372,  2375,  2377,
660     2380,  2384,  2388,  2390,  2392,  2394,  2396,  2398,  2400,  2402,
661     2404,  2406,  2408,  2410,  2412,  2414,  2418,  2422,  2424,  2428,
662     2431,  2433,  2436,  2439,  2442,  2447,  2452,  2456,  2460,  2465,
663     2471,  2476,  2483,  2490,  2495,  2501,  2506,  2513,  2520,  2523,
664     2526,  2529,  2535,  2539,  2545,  2552,  2558,  2566,  2574,  2583,
665     2592,  2600,  2608,  2612,  2616,  2620,  2625,  2629,  2635,  2641,
666     2643,  2645,  2647,  2649,  2651,  2653,  2655,  2657,  2659,  2661,
667     2664,  2666,  2668,  2670,  2672,  2674,  2676,  2678,  2680,  2682,
668     2684,  2686,  2688,  2690,  2692,  2694,  2696,  2701,  2706,  2711,
669     2713,  2715,  2717,  2719,  2721,  2723,  2725,  2727,  2729,  2731,
670     2733,  2735,  2737,  2739,  2741,  2743,  2745,  2747,  2749,  2754,
671     2759,  2764,  2766,  2768,  2771,  2774,  2778,  2784,  2787,  2791,
672     2797,  2803,  2809,  2811,  2815,  2818,  2821,  2824,  2828,  2832,
673     2836,  2840,  2844,  2848,  2852,  2856,  2858,  2860,  2865,  2869,
674     2872,  2876,  2880,  2884,  2888,  2892,  2896,  2900,  2904,  2908,
675     2912,  2916,  2920,  2922,  2924,  2926,  2929,  2931,  2934,  2936,
676     2939,  2941,  2944,  2946,  2949,  2951,  2954,  2956,  2959,  2961,
677     2964,  2966,  2969,  2971,  2974,  2976,  2979,  2981,  2984,  2986,
678     2989,  2991,  2994,  2996,  2999,  3001,  3004,  3006,  3009,  3011,
679     3014,  3016,  3019,  3021,  3024,  3026,  3029,  3031,  3034,  3036,
680     3039,  3041,  3044,  3046,  3049,  3051,  3054,  3056,  3058,  3060,
681     3063,  3065,  3068,  3070,  3073,  3075,  3078,  3083,  3089,  3091,
682     3093,  3095,  3098,  3100,  3103,  3105,  3108,  3110,  3113,  3118,
683     3124,  3126,  3129,  3131,  3134,  3136,  3139,  3141,  3144,  3146,
684     3149,  3151,  3154,  3159,  3165,  3167,  3170,  3172,  3175,  3177,
685     3180,  3182,  3185,  3187,  3190,  3192,  3195,  3200,  3206,  3210,
686     3214,  3216,  3220,  3224,  3228,  3232,  3234,  3238,  3243,  3248,
687     3253,  3257,  3260,  3264,  3268,  3272,  3276,  3279,  3282,  3285,
688     3289,  3294,  3296,  3298,  3301,  3304,  3306,  3308,  3313,  3315,
689     3319,  3322,  3326,  3330,  3334,  3338,  3343,  3348,  3353,  3356,
690     3360,  3364,  3368,  3373,  3378,  3382,  3385,  3389,  3393,  3397,
691     3402,  3407,  3409,  3412,  3415,  3419,  3421,  3423,  3426,  3429,
692     3432,  3436,  3438,  3440,  3443,  3446,  3449,  3453,  3455,  3458,
693     3462,  3465,  3467,  3470,  3473,  3477,  3481,  3483,  3486,  3489,
694     3493,  3497,  3499,  3502,  3505,  3509,  3513,  3515,  3519,  3524,
695     3526,  3531,  3534,  3540,  3544,  3546,  3548,  3550,  3552,  3554,
696     3556,  3560,  3564,  3567,  3570,  3572,  3576,  3579,  3583,  3587,
697     3589,  3593,  3597,  3599,  3602,  3606,  3610,  3612,  3615,  3617,
698     3620,  3623,  3626,  3629,  3633,  3635,  3637,  3641,  3645,  3647,
699     3651,  3656,  3660,  3665,  3669,  3673,  3678,  3682,  3687,  3689,
700     3693,  3697,  3702,  3706,  3710,  3714,  3719,  3721,  3725,  3729,
701     3733,  3737,  3741,  3743,  3747,  3750,  3752,  3754,  3756,  3758,
702     3760,  3763,  3765,  3767,  3769,  3771,  3774,  3777,  3780,  3782,
703     3784,  3786,  3788,  3790,  3793,  3795,  3797,  3802,  3804,  3808,
704     3809,  3816,  3825,  3836,  3849,  3858,  3869,  3880,  3886,  3894,
705     3904,  3916,  3924,  3934,  3944,  3948,  3953,  3958,  3962,  3966,
706     3970,  3975,  3980,  3984,  3987,  3991,  3994,  3996,  3998,  4000,
707     4002,  4004,  4007,  4011,  4014,  4017,  4020,  4024,  4028,  4031,
708     4037,  4044,  4047,  4050,  4053,  4056,  4059,  4062,  4064,  4067,
709     4070,  4074,  4076,  4079,  4081,  4084,  4087,  4089,  4092,  4095,
710     4098,  4101,  4104,  4107,  4109,  4111,  4114,  4117,  4119,  4121,
711     4124,  4127,  4129,  4132,  4135,  4137,  4140,  4142,  4145,  4148,
712     4154,  4160,  4168,  4176,  4182,  4188,  4192,  4195,  4201,  4206,
713     4211,  4219,  4226,  4233,  4239,  4247,  4254,  4259,  4267,  4277,
714     4281,  4286,  4291,  4297,  4303,  4309,  4316,  4324,  4331,  4338,
715     4344,  4350,  4355,  4359,  4362,  4364,  4367,  4371,  4376,  4380,
716     4385,  4391,  4396,  4400,  4403,  4406,  4409,  4413,  4417,  4421,
717     4425,  4428,  4431,  4433,  4435,  4440,  4444,  4448,  4451,  4456,
718     4460,  4464,  4467,  4469,  4472,  4474,  4476,  4479,  4481,  4484,
719     4488,  4492,  4494,  4497,  4500,  4503,  4507,  4512,  4517,  4520,
720     4523,  4526,  4529,  4531,  4534,  4536,  4539,  4541,  4544,  4547,
721     4549,  4552,  4554,  4557,  4560,  4563,  4566,  4568,  4571,  4574,
722     4578,  4580,  4582,  4583,  4590,  4597,  4603,  4608,  4610,  4613,
723     4616,  4618,  4622,  4626,  4631,  4633,  4635,  4638,  4641,  4648,
724     4655,  4662
725 };
726
727 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
728 static const yytype_int16 yyrhs[] =
729 {
730      370,     0,    -1,   206,   109,    -1,   206,   110,    -1,   139,
731       -1,   206,   206,    -1,    28,    -1,    28,    -1,   137,    -1,
732      137,   110,   200,   111,    -1,   137,   110,   200,    11,    -1,
733      291,   314,    -1,   314,    -1,   291,   112,   113,    -1,   114,
734      291,   112,   113,    -1,    78,   291,   314,    -1,    78,   314,
735       -1,   291,   315,    -1,   315,    -1,    78,   291,   315,    -1,
736       78,   315,    -1,   140,   354,    -1,   143,   354,    -1,   143,
737      115,    -1,   141,   354,    -1,   142,   354,    -1,   140,   115,
738       -1,   140,   355,    -1,   144,    -1,   143,   355,    -1,   145,
739       -1,   145,   115,    -1,   290,   314,    -1,   290,   316,    -1,
740      290,   315,    -1,   148,   354,    -1,   148,   355,    -1,   149,
741       -1,   148,    -1,   212,   116,   319,    -1,   319,    -1,   212,
742      116,   320,    -1,   212,   116,     1,    -1,   320,    -1,   152,
743       -1,   154,   117,   152,    -1,   155,   117,   152,    -1,   153,
744       -1,   154,   117,   153,    -1,   155,   117,   153,    -1,   154,
745      117,     1,    -1,   155,   117,     1,    -1,   117,    -1,   154,
746      115,    -1,   155,   115,    -1,   156,    -1,   150,    -1,   159,
747      156,    -1,   159,   150,    -1,   157,   156,    -1,   157,   150,
748       -1,   115,    -1,   159,   115,    -1,   157,   115,    -1,   157,
749       -1,   154,    -1,   157,   154,    -1,   159,   154,    -1,   151,
750       -1,   158,   151,    -1,   159,   151,    -1,   157,   151,    -1,
751      157,   155,    -1,   155,    -1,   154,     1,    -1,   161,   118,
752       -1,   161,     1,   118,    -1,   290,   206,   119,   159,    -1,
753      290,   206,   119,   158,     1,    -1,   290,   206,   119,   158,
754       -1,   290,   206,   119,    -1,   290,   206,   119,     1,    -1,
755      163,   118,    -1,   163,     1,   118,    -1,   291,   206,   119,
756      159,    -1,   291,   206,   119,   158,     1,    -1,   291,   206,
757      119,   158,    -1,   291,   206,   119,    -1,   291,   206,   119,
758        1,    -1,   292,   206,   119,   158,   118,    -1,   292,   206,
759      119,   159,   118,    -1,   292,   206,   119,   118,    -1,   166,
760      118,    -1,   166,     1,   118,    -1,   139,   119,   158,    -1,
761      206,   119,   158,    -1,   139,   119,   159,    -1,   139,   119,
762       -1,   139,   119,   158,     1,    -1,   139,   119,     1,    -1,
763      206,   119,   159,    -1,   206,   119,    -1,   206,   119,   158,
764        1,    -1,   206,   119,     1,    -1,   168,   118,    -1,   168,
765        1,   118,    -1,   119,   159,    -1,   119,   158,     1,    -1,
766      119,     1,    -1,   119,    -1,   119,   158,    -1,   212,   116,
767      319,    -1,   212,   116,   320,    -1,   212,   116,     1,    -1,
768      212,     1,    -1,   169,    -1,   171,   117,   169,    -1,   172,
769      117,   169,    -1,   170,    -1,   171,   117,   170,    -1,   172,
770      117,   170,    -1,   171,     1,    -1,    68,   296,   206,   119,
771       -1,    68,   296,   311,   206,   119,    -1,    68,   296,   119,
772       -1,    68,   296,   311,   119,    -1,    68,     1,   119,    -1,
773      173,    -1,   174,    69,   354,    -1,   174,    70,   354,    -1,
774      174,    95,   354,    -1,   174,    91,    -1,   174,    97,   365,
775       -1,   174,   118,    -1,    99,   296,   206,   119,    -1,    99,
776      296,   311,   206,   119,    -1,    99,   296,   119,    -1,    99,
777      296,   311,   119,    -1,    99,     1,   119,    -1,   176,    -1,
778      177,    69,   354,    -1,   177,    70,   354,    -1,   177,   118,
779       -1,   206,    -1,   179,   206,    -1,   179,   354,    -1,    73,
780      354,    -1,   180,    -1,   181,   180,    -1,    88,   112,   179,
781      113,   354,    -1,    88,   112,   233,   113,   119,   181,   118,
782       -1,   233,   120,    88,   112,   233,   113,   119,   181,   118,
783       -1,    89,   112,   233,   117,   179,   113,    -1,   233,   120,
784       89,   112,   233,   117,   179,   113,    -1,    89,   112,   233,
785      113,    -1,   233,   120,    89,   112,   233,   113,    -1,    90,
786       -1,    90,   179,    -1,   212,   120,    90,    -1,   233,   120,
787       90,   179,    -1,   291,   278,   115,    -1,   291,   115,    -1,
788      165,   115,    -1,   162,   115,    -1,   146,    -1,   175,    -1,
789      342,   291,   278,   115,    -1,   342,   291,   115,    -1,   342,
790      165,   115,    -1,   342,   162,   115,    -1,   342,   146,    -1,
791      342,   175,    -1,   171,   115,    -1,    98,   291,   278,   115,
792       -1,   178,    -1,   182,   115,    -1,    91,    -1,    92,   206,
793      115,    -1,    92,   139,   115,    -1,    93,    -1,    94,    -1,
794       96,   206,   115,    -1,    99,   112,   206,   113,   116,   319,
795      115,    -1,   115,    -1,   342,   121,    -1,   342,   112,   206,
796      113,    -1,   147,    -1,   163,     1,    -1,   166,     1,    -1,
797      162,    -1,   165,    -1,   342,   147,    -1,   342,   163,     1,
798       -1,   342,   166,     1,    -1,   342,   162,    -1,   342,   165,
799       -1,   172,    -1,   186,    -1,   188,   186,    -1,   189,   186,
800       -1,   187,    -1,   188,     1,    -1,   189,     1,    -1,   188,
801      187,    -1,   189,   187,    -1,   290,    -1,   290,   311,    -1,
802      206,    -1,   190,    -1,    65,   206,    -1,    65,   206,   116,
803      191,    -1,    65,   206,   121,   190,    -1,    65,   206,   121,
804      190,   116,   191,    -1,    65,   138,    -1,    65,   138,   116,
805      191,    -1,    65,   138,   121,   190,    -1,    65,   138,   121,
806      190,   116,   191,    -1,   206,    -1,   206,    -1,   206,   116,
807      193,    -1,   257,    -1,   190,   206,    -1,   190,   206,   116,
808      195,    -1,   192,    -1,   194,    -1,   196,    -1,   197,    -1,
809      198,   117,   197,    -1,   195,    -1,   193,    -1,   191,    -1,
810      206,   116,   195,    -1,   206,   116,   193,    -1,   206,   116,
811      191,    -1,   190,   116,   195,    -1,   190,   116,   193,    -1,
812      190,   116,   191,    -1,   199,    -1,   200,   117,   199,    -1,
813       65,    -1,   201,   206,    -1,   201,   137,    -1,   206,   201,
814      206,    -1,   206,   201,   137,    -1,   201,   206,   110,   198,
815      111,    -1,   201,   137,   110,   198,   111,    -1,   206,   201,
816      206,   110,   198,   111,    -1,   206,   201,   137,   110,   198,
817      111,    -1,   205,   118,    -1,   204,   115,    -1,   202,   119,
818      118,    -1,   204,   119,   118,    -1,   201,   206,   115,    -1,
819      201,   136,   115,    -1,   202,   121,   295,    -1,   202,   119,
820      189,    -1,   204,   119,   189,    -1,   202,   119,   188,    -1,
821      204,   119,   188,    -1,   202,   119,     1,    -1,   204,   119,
822        1,    -1,     3,    -1,   208,    -1,   112,   235,   113,    -1,
823      206,    -1,   165,    -1,    85,   112,   354,   113,    -1,    85,
824      112,   235,   113,    -1,    85,   112,   326,   113,   317,    -1,
825       85,   112,   326,   113,   112,   326,   113,   317,    -1,     4,
826       -1,   365,    -1,   122,   365,    -1,   122,   365,   120,   365,
827       -1,   112,   113,    -1,    71,   298,   312,   123,   257,   124,
828       -1,    71,   298,   312,   123,   258,   124,    -1,    71,   298,
829      123,   257,   124,    -1,    71,   298,   123,   258,   124,    -1,
830      102,   298,   312,   123,   257,   124,    -1,   102,   298,   312,
831      123,   258,   124,    -1,   102,   298,   123,   257,   124,    -1,
832      102,   298,   123,   258,   124,    -1,    72,   257,   297,   312,
833      123,   257,   124,    -1,    72,   257,   297,   312,   123,   258,
834      124,    -1,    72,   257,   297,   123,   257,   124,    -1,    72,
835      257,   297,   123,   258,   124,    -1,   103,   257,   297,   312,
836      123,   257,   124,    -1,   103,   257,   297,   312,   123,   258,
837      124,    -1,   103,   257,   297,   123,   257,   124,    -1,   103,
838      257,   297,   123,   258,   124,    -1,    65,   112,   290,   113,
839       -1,    65,   112,   290,   311,   113,    -1,    65,   112,   206,
840      113,    -1,   104,   112,   233,   117,   326,   113,    -1,    98,
841      112,   206,   113,    -1,   377,    -1,   378,    -1,   379,    -1,
842      380,    -1,   123,   214,   124,    -1,   167,    -1,   168,     1,
843       -1,   112,   235,    -1,   112,   255,    -1,   207,    -1,   212,
844      123,   235,   124,    -1,   212,   123,   255,   124,    -1,   212,
845      112,   113,    -1,   212,   112,   214,   113,    -1,   212,   112,
846      215,   113,    -1,   212,   120,   206,    -1,   212,     7,   206,
847       -1,   212,     8,    -1,   212,     9,    -1,   237,   123,   235,
848      124,    -1,   237,   123,   255,   124,    -1,   237,   112,   113,
849       -1,   237,   112,   214,   113,    -1,   237,   120,   206,    -1,
850      237,     7,   206,    -1,   237,     8,    -1,   237,     9,    -1,
851      208,    -1,   213,   123,   235,   124,    -1,   213,   123,   255,
852      124,    -1,   213,   112,   113,    -1,   213,   112,   214,   113,
853       -1,   213,   112,   215,   113,    -1,   213,   120,   206,    -1,
854      213,     7,   206,    -1,   213,     8,    -1,   213,     9,    -1,
855      238,   123,   235,   124,    -1,   238,   123,   255,   124,    -1,
856      238,   112,   113,    -1,   238,   112,   214,   113,    -1,   238,
857      120,   206,    -1,   238,     7,   206,    -1,   238,     8,    -1,
858      238,     9,    -1,   233,    -1,   209,    -1,   214,   117,   233,
859       -1,   214,   117,   209,    -1,   254,    -1,   210,    -1,   214,
860      117,   254,    -1,   214,   117,   210,    -1,   214,   117,    -1,
861        8,   217,    -1,     9,   217,    -1,   219,   220,    -1,   219,
862      209,    -1,     6,   112,   217,   113,    -1,     6,   218,    -1,
863        6,   112,   327,   113,    -1,     6,   112,    65,   136,   113,
864       -1,     6,   112,    65,   135,   113,    -1,   216,    -1,   212,
865       -1,   216,    -1,   213,    -1,   125,    -1,   109,    -1,   126,
866       -1,   127,    -1,   114,    -1,   128,    -1,    73,    -1,    84,
867       -1,   217,    -1,   112,   326,   113,   220,    -1,   220,    -1,
868      221,   109,   220,    -1,   221,   129,   220,    -1,   221,   130,
869      220,    -1,   243,   109,   220,    -1,   243,   129,   220,    -1,
870      243,   130,   220,    -1,   221,    -1,   222,   126,   221,    -1,
871      222,   127,   221,    -1,   244,   126,   221,    -1,   244,   127,
872      221,    -1,   222,    -1,   223,    10,   222,    -1,   223,    11,
873      222,    -1,   245,    10,   222,    -1,   245,    11,   222,    -1,
874      225,   110,    -1,   223,    -1,   224,   223,    -1,   225,   111,
875      223,    -1,   225,    12,   223,    -1,   225,    13,   223,    -1,
876      246,   110,   223,    -1,   246,   111,   223,    -1,   246,    12,
877      223,    -1,   246,    13,   223,    -1,   225,    -1,   226,    14,
878      225,    -1,   226,    15,   225,    -1,   247,    14,   225,    -1,
879      247,    15,   225,    -1,   226,    14,   209,    -1,   226,    15,
880      209,    -1,   247,    14,   209,    -1,   247,    15,   209,    -1,
881      226,    -1,   227,   125,   226,    -1,   248,   125,   226,    -1,
882      227,   125,   209,    -1,   248,   125,   209,    -1,   227,    -1,
883      228,   131,   227,    -1,   249,   131,   227,    -1,   228,   131,
884      209,    -1,   249,   131,   209,    -1,   228,    -1,   229,   132,
885      228,    -1,   250,   132,   228,    -1,   229,   132,   209,    -1,
886      250,   132,   209,    -1,   229,    -1,   230,    16,   229,    -1,
887      251,    16,   229,    -1,   230,    -1,   231,    17,   230,    -1,
888      252,    17,   230,    -1,   231,    -1,   231,   133,   235,   121,
889      232,    -1,   231,   133,   255,   121,   232,    -1,   252,   133,
890      235,   121,   232,    -1,   252,   133,   255,   121,   232,    -1,
891      231,   133,   236,   121,   232,    -1,   231,   133,   256,   121,
892      232,    -1,   252,   133,   236,   121,   232,    -1,   252,   133,
893      256,   121,   232,    -1,   231,   133,   235,   121,   209,    -1,
894      231,   133,   255,   121,   209,    -1,   252,   133,   235,   121,
895      209,    -1,   252,   133,   255,   121,   209,    -1,   231,   133,
896      236,   121,   209,    -1,   231,   133,   256,   121,   209,    -1,
897      252,   133,   236,   121,   209,    -1,   252,   133,   256,   121,
898      209,    -1,   232,    -1,   217,   234,   233,    -1,   240,   234,
899      233,    -1,   232,   234,   233,    -1,   253,   234,   233,    -1,
900      217,   234,   209,    -1,   240,   234,   209,    -1,   232,   234,
901      209,    -1,   253,   234,   209,    -1,   116,    -1,    18,    -1,
902       19,    -1,    20,    -1,    21,    -1,    22,    -1,    23,    -1,
903       24,    -1,    25,    -1,    26,    -1,    27,    -1,   233,    -1,
904      235,   117,   233,    -1,   255,   117,   233,    -1,   255,   113,
905       -1,   209,    -1,   235,   117,   209,    -1,   255,   117,   209,
906       -1,   211,    -1,     1,    -1,   212,     1,    -1,   166,     1,
907       -1,   212,     7,     1,    -1,   237,     7,     1,    -1,   212,
908      112,   214,    -1,   212,   112,   215,    -1,   212,   112,   214,
909      117,     1,    -1,   212,   112,     1,    -1,   212,   120,     1,
910       -1,   237,   112,   215,    -1,   237,   112,   214,   117,     1,
911       -1,   237,   112,     1,    -1,   237,   120,     1,    -1,     1,
912       -1,   213,     1,    -1,   166,     1,    -1,   213,     7,     1,
913       -1,   238,     7,     1,    -1,   213,   112,   214,    -1,   213,
914      112,   215,    -1,   213,   112,   214,   117,     1,    -1,   213,
915      112,     1,    -1,   213,   120,     1,    -1,   238,   112,   215,
916       -1,   238,   112,   214,   117,     1,    -1,   238,   112,     1,
917       -1,   238,   120,     1,    -1,     8,   240,    -1,     9,   240,
918       -1,   219,   242,    -1,   219,   210,    -1,     6,   112,   240,
919       -1,     6,   241,    -1,     6,   112,   327,   113,     1,    -1,
920        6,   112,    65,   136,   113,     1,    -1,     6,   112,    65,
921      135,   113,     1,    -1,   239,    -1,   237,    -1,   239,    -1,
922      238,    -1,   240,    -1,   112,   326,   113,   242,    -1,   242,
923       -1,   221,   109,   242,    -1,   221,   129,   242,    -1,   221,
924      130,   242,    -1,   243,   109,   242,    -1,   243,   129,   242,
925       -1,   243,   130,   242,    -1,   243,    -1,   222,   126,   243,
926       -1,   222,   126,     1,    -1,   222,   127,   243,    -1,   222,
927      127,     1,    -1,   244,   126,   243,    -1,   244,   126,     1,
928       -1,   244,   127,   243,    -1,   244,   127,     1,    -1,   244,
929       -1,   223,    10,   244,    -1,   223,    11,   244,    -1,   245,
930       10,   244,    -1,   245,    11,   244,    -1,   245,    -1,   224,
931      245,    -1,   225,   111,   245,    -1,   225,    12,   245,    -1,
932      225,    13,   245,    -1,   246,   110,   245,    -1,   246,   111,
933      245,    -1,   246,    12,   245,    -1,   246,    13,   245,    -1,
934      246,    -1,   226,    14,   246,    -1,   226,    15,   246,    -1,
935      247,    14,   246,    -1,   247,    15,   246,    -1,   226,    14,
936        1,    -1,   226,    15,     1,    -1,   247,    14,     1,    -1,
937      247,    15,     1,    -1,   226,    14,   210,    -1,   226,    15,
938      210,    -1,   247,    14,   210,    -1,   247,    15,   210,    -1,
939      247,    -1,   227,   125,   247,    -1,   248,   125,   247,    -1,
940      227,   125,   210,    -1,   248,   125,   210,    -1,   248,    -1,
941      228,   131,   248,    -1,   249,   131,   248,    -1,   228,   131,
942      210,    -1,   249,   131,   210,    -1,   249,    -1,   229,   132,
943      249,    -1,   250,   132,   249,    -1,   229,   132,   210,    -1,
944      250,   132,   210,    -1,   250,    -1,   230,    16,   250,    -1,
945      251,    16,   250,    -1,   251,    -1,   231,    17,   251,    -1,
946      252,    17,   251,    -1,   252,    -1,   231,   133,   235,   121,
947      252,    -1,   231,   133,   255,   121,   252,    -1,   252,   133,
948      235,   121,   252,    -1,   252,   133,   255,   121,   252,    -1,
949      231,   133,   235,   121,    -1,   231,   133,   255,   121,    -1,
950      252,   133,   235,   121,    -1,   252,   133,   255,   121,    -1,
951      231,   133,   236,   121,   252,    -1,   231,   133,   256,   121,
952      252,    -1,   252,   133,   236,   121,   252,    -1,   252,   133,
953      256,   121,   252,    -1,   231,   133,   236,   121,    -1,   231,
954      133,   256,   121,    -1,   252,   133,   236,   121,    -1,   252,
955      133,   256,   121,    -1,   231,   133,   235,   121,   210,    -1,
956      231,   133,   255,   121,   210,    -1,   252,   133,   235,   121,
957      210,    -1,   252,   133,   255,   121,   210,    -1,   231,   133,
958      236,   121,   210,    -1,   231,   133,   256,   121,   210,    -1,
959      252,   133,   236,   121,   210,    -1,   252,   133,   256,   121,
960      210,    -1,   231,   133,   121,    -1,   252,   133,   121,    -1,
961      231,   133,    -1,   252,   133,    -1,   253,    -1,   217,   234,
962      254,    -1,   217,   234,     1,    -1,   240,   234,   254,    -1,
963      240,   234,     1,    -1,   217,   234,   210,    -1,   240,   234,
964      210,    -1,   254,    -1,   233,     1,    -1,   235,   117,   254,
965       -1,   255,   117,   254,    -1,   235,   117,     1,    -1,   255,
966      117,     1,    -1,   235,     1,    -1,   235,   235,    -1,   255,
967      235,    -1,   235,   255,    -1,   210,    -1,   209,     1,    -1,
968      235,   117,   210,    -1,   255,   117,   210,    -1,   232,    -1,
969      253,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
970       33,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
971       33,    -1,   206,    -1,   206,   116,   257,    -1,   206,   116,
972      258,    -1,   261,    -1,   262,   117,   261,    -1,   262,   117,
973       -1,    50,    -1,   263,   206,    -1,   263,   139,    -1,   266,
974      118,    -1,   263,   206,   119,   118,    -1,   263,   139,   119,
975      118,    -1,   263,   119,   262,    -1,   263,   119,     1,    -1,
976      263,   206,   119,   262,    -1,   263,   206,   119,   262,     1,
977       -1,   263,   206,   119,     1,    -1,   263,   206,   119,   262,
978      115,   188,    -1,   263,   206,   119,   262,   115,   189,    -1,
979      263,   139,   119,   262,    -1,   263,   139,   119,   262,     1,
980       -1,   263,   139,   119,     1,    -1,   263,   139,   119,   262,
981      115,   188,    -1,   263,   139,   119,   262,   115,   189,    -1,
982      263,   206,    -1,   263,   139,    -1,   269,   118,    -1,   267,
983      121,   295,   119,   118,    -1,   267,   119,   118,    -1,   267,
984      121,   295,   119,   262,    -1,   267,   121,   295,   119,   262,
985        1,    -1,   267,   121,   295,   119,     1,    -1,   267,   121,
986      295,   119,   262,   115,   188,    -1,   267,   121,   295,   119,
987      262,   115,   189,    -1,   267,   121,   295,   119,   262,     1,
988      115,   188,    -1,   267,   121,   295,   119,   262,     1,   115,
989      189,    -1,   267,   121,   295,   119,     1,   115,   188,    -1,
990      267,   121,   295,   119,     1,   115,   189,    -1,   263,   119,
991      262,    -1,   263,   119,     1,    -1,   267,   119,   262,    -1,
992      267,   119,   262,     1,    -1,   267,   119,     1,    -1,   267,
993      119,   262,   115,   188,    -1,   267,   119,   262,   115,   189,
994       -1,   268,    -1,   285,    -1,   269,    -1,   286,    -1,    75,
995       -1,   306,    -1,    44,    -1,    45,    -1,   272,    -1,   273,
996       -1,   274,   273,    -1,    46,    -1,    34,    -1,    35,    -1,
997       36,    -1,    37,    -1,    38,    -1,    47,    -1,    39,    -1,
998       42,    -1,    43,    -1,    40,    -1,    41,    -1,    85,    -1,
999      282,    -1,   264,    -1,   136,    -1,    87,   112,   233,   113,
1000       -1,   100,   112,   136,   113,    -1,   100,   112,   206,   113,
1001       -1,    66,    -1,    82,    -1,    83,    -1,    46,    -1,    34,
1002       -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,
1003       -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,
1004       -1,    85,    -1,   282,    -1,   264,    -1,   139,    -1,    87,
1005      112,   233,   113,    -1,   100,   112,   136,   113,    -1,   100,
1006      112,   206,   113,    -1,    66,    -1,   316,    -1,   316,   307,
1007       -1,   121,   257,    -1,   316,   121,   257,    -1,   316,   121,
1008      257,   121,   257,    -1,   121,   258,    -1,   316,   121,   258,
1009       -1,   316,   121,   257,   121,   258,    -1,   316,   121,   258,
1010      121,   258,    -1,   316,   121,   258,   121,   257,    -1,   277,
1011       -1,   278,   117,   277,    -1,   287,   206,    -1,   287,   137,
1012       -1,   281,   118,    -1,   279,   119,   118,    -1,   287,   119,
1013      118,    -1,   279,   119,   188,    -1,   279,   119,   189,    -1,
1014      279,   119,     1,    -1,   287,   119,   188,    -1,   287,   119,
1015      189,    -1,   287,   119,     1,    -1,   279,    -1,   279,    -1,
1016      279,   110,   198,   111,    -1,   283,   121,   295,    -1,   286,
1017      118,    -1,   284,   119,   118,    -1,   283,   119,   118,    -1,
1018      287,   119,   118,    -1,   284,   119,   188,    -1,   284,   119,
1019      189,    -1,   284,   119,     1,    -1,   283,   119,   188,    -1,
1020      283,   119,   189,    -1,   283,   119,     1,    -1,   287,   119,
1021      188,    -1,   287,   119,   189,    -1,   287,   119,     1,    -1,
1022       48,    -1,    49,    -1,   273,    -1,   288,   273,    -1,   275,
1023       -1,   288,   275,    -1,   265,    -1,   288,   265,    -1,   280,
1024       -1,   288,   280,    -1,   273,    -1,   289,   273,    -1,   275,
1025       -1,   289,   275,    -1,   135,    -1,   289,   135,    -1,   265,
1026       -1,   289,   265,    -1,   280,    -1,   289,   280,    -1,   259,
1027       -1,   290,   259,    -1,   273,    -1,   290,   273,    -1,   276,
1028       -1,   290,   276,    -1,   265,    -1,   290,   265,    -1,   280,
1029       -1,   290,   280,    -1,   259,    -1,   291,   259,    -1,   273,
1030       -1,   291,   273,    -1,   275,    -1,   291,   275,    -1,   135,
1031       -1,   291,   135,    -1,   280,    -1,   291,   280,    -1,   265,
1032       -1,   291,   265,    -1,   260,    -1,   292,   260,    -1,   273,
1033       -1,   292,   273,    -1,   275,    -1,   292,   275,    -1,   135,
1034       -1,   292,   135,    -1,   270,    -1,   292,   270,    -1,   271,
1035       -1,   292,   271,    -1,    81,    -1,    80,    -1,   259,    -1,
1036      294,   259,    -1,   273,    -1,   294,   273,    -1,   276,    -1,
1037      294,   276,    -1,   206,    -1,   294,   206,    -1,   206,   110,
1038      200,   111,    -1,   294,   206,   110,   200,   111,    -1,   294,
1039       -1,   287,    -1,   259,    -1,   296,   259,    -1,   273,    -1,
1040      296,   273,    -1,   276,    -1,   296,   276,    -1,   206,    -1,
1041      296,   206,    -1,   206,   110,   200,   111,    -1,   296,   206,
1042      110,   200,   111,    -1,   259,    -1,   297,   259,    -1,   273,
1043       -1,   297,   273,    -1,   276,    -1,   297,   276,    -1,   280,
1044       -1,   297,   280,    -1,   265,    -1,   297,   265,    -1,   206,
1045       -1,   297,   206,    -1,   206,   110,   200,   111,    -1,   297,
1046      206,   110,   200,   111,    -1,   259,    -1,   298,   259,    -1,
1047      273,    -1,   298,   273,    -1,   276,    -1,   298,   276,    -1,
1048      280,    -1,   298,   280,    -1,   265,    -1,   298,   265,    -1,
1049      206,    -1,   298,   206,    -1,   206,   110,   200,   111,    -1,
1050      298,   206,   110,   200,   111,    -1,   300,   117,     1,    -1,
1051      299,   117,     1,    -1,   206,    -1,   300,   117,   206,    -1,
1052      299,   117,   206,    -1,   330,   117,   206,    -1,   331,   117,
1053      206,    -1,   206,    -1,   112,   313,   113,    -1,   301,   123,
1054      257,   124,    -1,   301,   123,   258,   124,    -1,   301,   123,
1055      136,   124,    -1,   301,   123,   124,    -1,   301,   112,    -1,
1056      302,   332,   113,    -1,   302,   333,   113,    -1,   302,   300,
1057      113,    -1,   302,   299,   113,    -1,   302,   113,    -1,   302,
1058      299,    -1,   302,     1,    -1,   302,   330,   112,    -1,   302,
1059      291,   206,   112,    -1,   303,    -1,   301,    -1,   306,   303,
1060       -1,   306,   301,    -1,    74,    -1,   307,    -1,    86,   112,
1061      365,   113,    -1,    79,    -1,   112,   311,   113,    -1,   123,
1062      124,    -1,   123,   257,   124,    -1,   123,   258,   124,    -1,
1063      123,   136,   124,    -1,   308,   123,   124,    -1,   308,   123,
1064      257,   124,    -1,   308,   123,   136,   124,    -1,   308,   123,
1065      258,   124,    -1,   112,   113,    -1,   112,   332,   113,    -1,
1066      112,   333,   113,    -1,   308,   112,   113,    -1,   308,   112,
1067      332,   113,    -1,   308,   112,   333,   113,    -1,   112,   312,
1068      113,    -1,   112,   113,    -1,   112,   332,   113,    -1,   112,
1069      333,   113,    -1,   309,   112,   113,    -1,   309,   112,   332,
1070      113,    -1,   309,   112,   333,   113,    -1,   109,    -1,   109,
1071      274,    -1,   109,   310,    -1,   109,   274,   310,    -1,   310,
1072       -1,   308,    -1,   310,   308,    -1,   306,   310,    -1,   306,
1073      308,    -1,   306,   310,   308,    -1,   310,    -1,   309,    -1,
1074      310,   309,    -1,   306,   310,    -1,   306,   309,    -1,   306,
1075      310,   309,    -1,   305,    -1,   310,   305,    -1,   306,   310,
1076      305,    -1,   313,   306,    -1,   303,    -1,   310,   303,    -1,
1077      306,   303,    -1,   306,   310,   303,    -1,   310,   306,   303,
1078       -1,   304,    -1,   310,   304,    -1,   306,   304,    -1,   306,
1079      310,   304,    -1,   310,   306,   304,    -1,   301,    -1,   310,
1080      301,    -1,   306,   301,    -1,   306,   310,   301,    -1,   310,
1081      306,   301,    -1,   233,    -1,   119,   321,   118,    -1,   119,
1082      321,   117,   118,    -1,   254,    -1,   119,   321,   118,     1,
1083       -1,   119,   321,    -1,   119,   321,   117,   118,     1,    -1,
1084      119,   321,   117,    -1,   232,    -1,   209,    -1,   253,    -1,
1085      210,    -1,   317,    -1,   318,    -1,   321,   117,   317,    -1,
1086      321,   117,   318,    -1,   321,   317,    -1,   321,   318,    -1,
1087      313,    -1,   313,   116,   317,    -1,   313,     1,    -1,   313,
1088      116,     1,    -1,   313,   116,   318,    -1,   322,    -1,   324,
1089      117,   322,    -1,   325,   117,   322,    -1,   323,    -1,   322,
1090        1,    -1,   324,   117,   323,    -1,   325,   117,   323,    -1,
1091      288,    -1,   288,   311,    -1,   289,    -1,   289,   311,    -1,
1092      291,   313,    -1,   291,   311,    -1,   291,   125,    -1,   291,
1093      125,   313,    -1,   291,    -1,    65,    -1,   291,   313,     1,
1094       -1,   291,   311,     1,    -1,   328,    -1,   330,   117,   328,
1095       -1,   330,     1,   117,   328,    -1,   331,   117,   328,    -1,
1096      331,     1,   117,   328,    -1,     1,   117,   328,    -1,   300,
1097      117,   328,    -1,   300,     1,   117,   328,    -1,   299,   117,
1098      328,    -1,   299,     1,   117,   328,    -1,   329,    -1,   330,
1099      117,   329,    -1,   331,   117,   329,    -1,   331,     1,   117,
1100      329,    -1,     1,   117,   329,    -1,   300,   117,   329,    -1,
1101      299,   117,   329,    -1,   299,     1,   117,   329,    -1,   330,
1102       -1,   330,   117,    51,    -1,   331,   117,    51,    -1,   300,
1103      117,    51,    -1,   299,   117,    51,    -1,     1,   117,    51,
1104       -1,   331,    -1,   330,   117,     1,    -1,   331,     1,    -1,
1105      339,    -1,    79,    -1,   354,    -1,   115,    -1,   121,    -1,
1106      235,   115,    -1,   357,    -1,   359,    -1,   361,    -1,   338,
1107       -1,   185,   115,    -1,   184,   115,    -1,   183,   115,    -1,
1108      340,    -1,   360,    -1,   355,    -1,   358,    -1,   362,    -1,
1109      361,     1,    -1,   255,    -1,   365,    -1,   365,   112,   233,
1110      113,    -1,   336,    -1,   337,   117,   336,    -1,    -1,    86,
1111      273,   112,   365,   113,   115,    -1,    86,   273,   112,   365,
1112      121,   337,   113,   115,    -1,    86,   273,   112,   365,   121,
1113      337,   121,   337,   113,   115,    -1,    86,   273,   112,   365,
1114      121,   337,   121,   337,   121,   337,   113,   115,    -1,    86,
1115      273,   112,   365,     3,   337,   113,   115,    -1,    86,   273,
1116      112,   365,     3,   337,   121,   337,   113,   115,    -1,    86,
1117      273,   112,   365,   121,   337,     3,   337,   113,   115,    -1,
1118       86,   112,   365,   113,   115,    -1,    86,   112,   365,   121,
1119      337,   113,   115,    -1,    86,   112,   365,   121,   337,   121,
1120      337,   113,   115,    -1,    86,   112,   365,   121,   337,   121,
1121      337,   121,   337,   113,   115,    -1,    86,   112,   365,     3,
1122      337,   113,   115,    -1,    86,   112,   365,     3,   337,   121,
1123      337,   113,   115,    -1,    86,   112,   365,   121,   337,     3,
1124      337,   113,   115,    -1,   206,   121,   334,    -1,    52,   257,
1125      121,   334,    -1,    52,   258,   121,   334,    -1,    52,   121,
1126      334,    -1,    53,   121,   334,    -1,   206,   121,   335,    -1,
1127       52,   257,   121,   335,    -1,    52,   258,   121,   335,    -1,
1128       52,   121,   335,    -1,    52,   121,    -1,    53,   121,   335,
1129       -1,    53,   121,    -1,    80,    -1,    81,    -1,    53,    -1,
1130       80,    -1,    81,    -1,   290,   115,    -1,   290,   324,   115,
1131       -1,   160,   115,    -1,   346,   115,    -1,   292,   115,    -1,
1132      292,   324,   115,    -1,   293,   324,   115,    -1,   164,   115,
1133       -1,    77,   206,   116,   232,   115,    -1,    31,    77,   206,
1134      116,   232,   115,    -1,   292,     1,    -1,   290,     1,    -1,
1135      346,     1,    -1,   161,     1,    -1,   160,     1,    -1,   290,
1136      325,    -1,   343,    -1,   347,   343,    -1,   348,   343,    -1,
1137      347,     1,   115,    -1,   346,    -1,   347,   346,    -1,   334,
1138       -1,   349,   334,    -1,   350,   334,    -1,   335,    -1,   349,
1139      335,    -1,   350,   335,    -1,   349,   343,    -1,   350,   343,
1140       -1,   349,   346,    -1,   350,   346,    -1,   349,    -1,   347,
1141       -1,   347,   349,    -1,   348,   349,    -1,   350,    -1,   348,
1142       -1,   347,   350,    -1,   348,   350,    -1,   119,    -1,   355,
1143      118,    -1,   353,   352,    -1,   353,    -1,   353,   351,    -1,
1144      115,    -1,   235,   115,    -1,   255,   115,    -1,    54,   112,
1145      235,   113,   334,    -1,    54,   112,   255,   113,   334,    -1,
1146       54,   112,   235,   113,   334,    64,   334,    -1,    54,   112,
1147      255,   113,   334,    64,   334,    -1,    55,   112,   235,   113,
1148      334,    -1,    55,   112,   255,   113,   334,    -1,    54,   112,
1149      255,    -1,   357,     1,    -1,    56,   112,   235,   113,   334,
1150       -1,    56,   112,   255,   334,    -1,    56,   112,   113,   334,
1151       -1,    57,   334,    56,   112,   235,   113,   115,    -1,    57,
1152      334,    56,   112,   255,   115,    -1,    58,   112,   356,   356,
1153      113,   334,    -1,    58,   112,   356,   113,   334,    -1,    58,
1154      112,   356,   356,   235,   113,   334,    -1,    58,   112,   356,
1155      356,   255,   334,    -1,    58,   112,   113,   334,    -1,    58,
1156      112,   206,   121,   235,   113,   334,    -1,    58,   112,   206,
1157      121,   235,   115,   235,   113,   334,    -1,    58,   112,     1,
1158       -1,    58,   112,   255,     1,    -1,    58,   112,   356,     1,
1159       -1,    58,   112,   356,   255,     1,    -1,    58,   112,   356,
1160      356,     1,    -1,    58,   112,   356,   356,   255,    -1,    58,
1161      112,   356,   356,   113,   335,    -1,    58,   112,   356,   356,
1162      235,   113,   335,    -1,    58,   112,   356,   356,   255,   335,
1163       -1,    57,   334,    56,   112,   235,   113,    -1,    57,   334,
1164       56,   112,   235,    -1,    57,   334,    56,   112,   255,    -1,
1165       57,   334,    56,   112,    -1,    57,   334,    56,    -1,    57,
1166      334,    -1,    57,    -1,    56,     1,    -1,    56,   112,     1,
1167       -1,    56,   112,   113,     1,    -1,    56,   112,   255,    -1,
1168       56,   112,   255,     1,    -1,    56,   112,   235,   113,   335,
1169       -1,    56,   112,   255,   335,    -1,    59,   206,   115,    -1,
1170       60,   115,    -1,    61,   115,    -1,    62,   115,    -1,    62,
1171      235,   115,    -1,    62,   255,   115,    -1,    62,   209,   115,
1172       -1,    62,   210,   115,    -1,    62,   255,    -1,    62,   210,
1173       -1,    62,    -1,    59,    -1,   292,   314,   347,   354,    -1,
1174      292,   314,   354,    -1,   314,   347,   354,    -1,   314,   354,
1175       -1,   292,   314,   347,   355,    -1,   292,   314,   355,    -1,
1176      314,   347,   355,    -1,   314,   355,    -1,     5,    -1,   365,
1177        5,    -1,   363,    -1,   203,    -1,   292,   203,    -1,   344,
1178       -1,    76,   365,    -1,    76,    31,   365,    -1,    76,   206,
1179      365,    -1,   115,    -1,   341,   363,    -1,   341,   203,    -1,
1180      341,   344,    -1,   341,    76,   365,    -1,   341,    76,    31,
1181      365,    -1,   341,    76,   206,   365,    -1,   341,   121,    -1,
1182       31,   121,    -1,   101,   206,    -1,   101,   139,    -1,   371,
1183       -1,   341,   371,    -1,   205,    -1,   292,   205,    -1,   364,
1184       -1,   341,   205,    -1,   341,   364,    -1,   345,    -1,   341,
1185      345,    -1,   367,    -1,   369,   367,    -1,   368,   367,    -1,
1186      369,     1,    -1,   368,     1,    -1,   366,    -1,   369,   366,
1187       -1,   368,   203,    -1,   368,   341,   203,    -1,   369,    -1,
1188      368,    -1,    -1,   105,   365,   206,   119,   376,   118,    -1,
1189      105,   365,   139,   119,   376,   118,    -1,   105,   365,   119,
1190      376,   118,    -1,   291,   206,   365,   115,    -1,   206,    -1,
1191      111,   206,    -1,   110,   206,    -1,   373,    -1,   374,   117,
1192      373,    -1,   107,   374,   115,    -1,   107,   374,   206,   115,
1193       -1,   372,    -1,   375,    -1,   376,   372,    -1,   376,   375,
1194       -1,   108,   112,   233,   117,   233,   113,    -1,   106,   112,
1195      365,   117,   206,   113,    -1,   107,   112,   365,   117,   206,
1196      113,    -1,   105,   112,   365,   113,    -1
1197 };
1198
1199 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1200 static const yytype_uint16 yyrline[] =
1201 {
1202        0,   260,   260,   288,   346,   347,   447,   451,   454,   455,
1203      456,   505,   507,   512,   517,   522,   524,   529,   531,   536,
1204      538,   543,   545,   547,   549,   551,   555,   560,   562,   564,
1205      566,   568,   574,   576,   581,   586,   591,   593,   595,   600,
1206      601,   605,   606,   617,   621,   622,   624,   629,   630,   632,
1207      635,   646,   656,   675,   677,   682,   683,   684,   685,   686,
1208      687,   688,   689,   690,   694,   695,   696,   697,   701,   702,
1209      703,   704,   705,   706,   707,   711,   713,   718,   720,   722,
1210      724,   726,   756,   758,   763,   765,   767,   769,   771,   800,
1211      802,   804,   809,   811,   816,   818,   822,   824,   826,   828,
1212      833,   836,   839,   842,   907,   909,   914,   916,   918,   920,
1213      922,   953,   957,   958,   959,   963,   964,   965,   969,   970,
1214      971,   972,   976,   979,   982,   985,   988,   993,   994,   996,
1215      998,  1000,  1002,  1007,  1011,  1014,  1017,  1020,  1023,  1028,
1216     1029,  1031,  1036,  1040,  1042,  1047,  1049,  1054,  1056,  1061,
1217     1066,  1068,  1073,  1075,  1077,  1079,  1084,  1086,  1088,  1090,
1218     1095,  1096,  1097,  1098,  1099,  1100,  1102,  1103,  1104,  1105,
1219     1106,  1107,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,
1220     1117,  1118,  1119,  1121,  1122,  1124,  1128,  1129,  1130,  1131,
1221     1132,  1134,  1135,  1136,  1137,  1138,  1140,  1144,  1145,  1146,
1222     1150,  1151,  1152,  1153,  1154,  1158,  1159,  1160,  1164,  1168,
1223     1169,  1170,  1171,  1172,  1173,  1174,  1175,  1179,  1183,  1184,
1224     1188,  1192,  1193,  1197,  1198,  1199,  1203,  1204,  1208,  1209,
1225     1210,  1211,  1212,  1213,  1214,  1226,  1238,  1253,  1254,  1258,
1226     1264,  1265,  1273,  1274,  1276,  1277,  1286,  1287,  1291,  1297,
1227     1304,  1310,  1317,  1323,  1332,  1339,  1345,  1351,  1357,  1363,
1228     1369,  1380,  1385,  1386,  1391,  1392,  1393,  1394,  1395,  1396,
1229     1397,  1398,  1399,  1400,  1401,  1402,  1403,  1404,  1405,  1406,
1230     1407,  1408,  1409,  1410,  1411,  1412,  1413,  1414,  1415,  1416,
1231     1417,  1418,  1419,  1420,  1421,  1423,  1424,  1425,  1426,  1427,
1232     1429,  1433,  1437,  1441,  1442,  1446,  1448,  1449,  1450,  1451,
1233     1452,  1453,  1454,  1455,  1456,  1458,  1459,  1460,  1461,  1462,
1234     1463,  1464,  1465,  1469,  1471,  1472,  1473,  1474,  1475,  1476,
1235     1477,  1478,  1479,  1481,  1482,  1483,  1484,  1485,  1486,  1487,
1236     1488,  1492,  1493,  1494,  1495,  1499,  1500,  1501,  1502,  1503,
1237     1507,  1508,  1509,  1510,  1511,  1512,  1513,  1514,  1515,  1519,
1238     1520,  1524,  1525,  1529,  1530,  1531,  1532,  1533,  1534,  1535,
1239     1536,  1540,  1541,  1545,  1546,  1547,  1548,  1549,  1550,  1551,
1240     1555,  1556,  1557,  1558,  1559,  1563,  1564,  1565,  1566,  1567,
1241     1571,  1579,  1580,  1581,  1582,  1583,  1584,  1585,  1586,  1587,
1242     1591,  1592,  1593,  1594,  1595,  1597,  1598,  1599,  1600,  1604,
1243     1605,  1606,  1608,  1609,  1613,  1614,  1615,  1617,  1618,  1622,
1244     1623,  1624,  1626,  1627,  1631,  1632,  1633,  1637,  1638,  1639,
1245     1643,  1644,  1645,  1646,  1647,  1649,  1650,  1651,  1652,  1654,
1246     1655,  1656,  1657,  1659,  1660,  1661,  1662,  1666,  1667,  1668,
1247     1669,  1670,  1672,  1673,  1674,  1675,  1679,  1680,  1681,  1682,
1248     1683,  1684,  1685,  1686,  1687,  1688,  1689,  1693,  1694,  1695,
1249     1696,  1700,  1701,  1702,  1706,  1707,  1708,  1709,  1711,  1712,
1250     1714,  1715,  1716,  1717,  1718,  1720,  1721,  1722,  1723,  1727,
1251     1728,  1729,  1731,  1732,  1734,  1735,  1736,  1737,  1738,  1740,
1252     1741,  1742,  1743,  1747,  1748,  1749,  1750,  1751,  1752,  1753,
1253     1754,  1755,  1759,  1760,  1764,  1765,  1770,  1771,  1775,  1776,
1254     1777,  1778,  1779,  1780,  1781,  1785,  1786,  1787,  1788,  1789,
1255     1790,  1791,  1792,  1793,  1797,  1798,  1799,  1800,  1801,  1805,
1256     1806,  1856,  1857,  1858,  1859,  1860,  1861,  1862,  1866,  1867,
1257     1868,  1869,  1870,  1872,  1873,  1874,  1875,  1877,  1878,  1879,
1258     1880,  1884,  1885,  1886,  1888,  1889,  1893,  1894,  1895,  1897,
1259     1898,  1902,  1903,  1904,  1906,  1907,  1911,  1912,  1913,  1917,
1260     1918,  1919,  1923,  1924,  1925,  1926,  1927,  1928,  1929,  1930,
1261     1931,  1933,  1934,  1935,  1936,  1937,  1938,  1939,  1940,  1942,
1262     1943,  1944,  1945,  1947,  1948,  1949,  1950,  1952,  1959,  1963,
1263     1967,  1974,  1975,  1976,  1977,  1978,  1980,  1981,  1985,  1986,
1264     1987,  1988,  1989,  1990,  1991,  1992,  1993,  1994,  1998,  1999,
1265     2000,  2001,  2005,  2007,  2011,  2012,  2013,  2014,  2015,  2019,
1266     2020,  2021,  2022,  2023,  2027,  2028,  2029,  2033,  2034,  2035,
1267     2039,  2043,  2044,  2048,  2049,  2050,  2054,  2055,  2057,  2058,
1268     2059,  2060,  2061,  2063,  2064,  2065,  2066,  2067,  2071,  2072,
1269     2076,  2077,  2078,  2082,  2083,  2084,  2085,  2086,  2087,  2088,
1270     2089,  2090,  2092,  2093,  2095,  2096,  2097,  2098,  2099,  2103,
1271     2104,  2108,  2109,  2113,  2114,  2118,  2119,  2120,  2125,  2126,
1272     2130,  2131,  2132,  2133,  2134,  2135,  2136,  2137,  2138,  2139,
1273     2140,  2141,  2142,  2143,  2144,  2145,  2146,  2147,  2148,  2149,
1274     2150,  2151,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,
1275     2163,  2164,  2165,  2166,  2167,  2168,  2169,  2170,  2171,  2172,
1276     2173,  2174,  2180,  2182,  2184,  2186,  2188,  2190,  2192,  2194,
1277     2196,  2198,  2203,  2204,  2208,  2214,  2223,  2224,  2225,  2229,
1278     2230,  2231,  2233,  2234,  2235,  2239,  2243,  2251,  2260,  2269,
1279     2270,  2272,  2273,  2277,  2284,  2291,  2294,  2307,  2321,  2324,
1280     2326,  2328,  2333,  2334,  2338,  2339,  2340,  2341,  2342,  2343,
1281     2344,  2345,  2349,  2350,  2351,  2352,  2353,  2354,  2355,  2356,
1282     2357,  2358,  2362,  2363,  2364,  2365,  2366,  2367,  2368,  2369,
1283     2370,  2371,  2375,  2376,  2377,  2378,  2379,  2380,  2381,  2382,
1284     2383,  2384,  2385,  2386,  2390,  2391,  2392,  2393,  2394,  2395,
1285     2396,  2397,  2398,  2399,  2403,  2404,  2408,  2409,  2410,  2411,
1286     2412,  2413,  2414,  2415,  2416,  2418,  2420,  2438,  2455,  2456,
1287     2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,  2486,
1288     2503,  2504,  2505,  2506,  2507,  2508,  2509,  2510,  2511,  2512,
1289     2513,  2514,  2515,  2533,  2550,  2551,  2552,  2553,  2554,  2555,
1290     2556,  2557,  2558,  2559,  2560,  2561,  2562,  2580,  2597,  2598,
1291     2602,  2603,  2604,  2605,  2606,  2610,  2611,  2612,  2613,  2614,
1292     2615,  2619,  2623,  2624,  2625,  2626,  2627,  2632,  2641,  2650,
1293     2659,  2672,  2673,  2674,  2676,  2721,  2722,  2723,  2735,  2740,
1294     2742,  2744,  2746,  2748,  2750,  2752,  2754,  2756,  2758,  2760,
1295     2762,  2764,  2766,  2768,  2773,  2775,  2777,  2779,  2781,  2783,
1296     2785,  2790,  2791,  2792,  2793,  2797,  2798,  2799,  2800,  2801,
1297     2802,  2806,  2807,  2808,  2809,  2810,  2811,  2815,  2816,  2818,
1298     2820,  2825,  2826,  2827,  2828,  2829,  2833,  2834,  2835,  2836,
1299     2837,  2841,  2842,  2843,  2844,  2845,  2849,  2850,  2851,  2867,
1300     2868,  2869,  2870,  2883,  2899,  2900,  2905,  2906,  2910,  2911,
1301     2912,  2913,  2916,  2917,  2921,  2922,  2926,  2927,  2928,  2932,
1302     2933,  2934,  2938,  2939,  2940,  2941,  2945,  2946,  2950,  2951,
1303     2956,  2957,  2958,  2959,  2960,  2961,  2980,  2981,  2985,  2986,
1304     2987,  2988,  2989,  2990,  2992,  2993,  2994,  2995,  2999,  3000,
1305     3001,  3002,  3003,  3005,  3006,  3007,  3011,  3012,  3013,  3014,
1306     3015,  3016,  3020,  3021,  3022,  3027,  3028,  3029,  3030,  3031,
1307     3032,  3033,  3034,  3035,  3036,  3038,  3039,  3040,  3044,  3045,
1308     3046,  3047,  3048,  3049,  3050,  3054,  3055,  3059,  3060,  3061,
1309     3065,  3066,  3067,  3068,  3070,  3071,  3072,  3074,  3075,  3076,
1310     3077,  3079,  3080,  3081,  3085,  3086,  3087,  3088,  3089,  3093,
1311     3094,  3095,  3096,  3097,  3098,  3099,  3103,  3104,  3105,  3109,
1312     3110,  3114,  3115,  3116,  3117,  3121,  3122,  3123,  3125,  3126,
1313     3127,  3131,  3135,  3136,  3138,  3139,  3140,  3144,  3145,  3146,
1314     3147,  3151,  3152,  3156,  3157,  3158,  3162,  3163,  3164,  3165,
1315     3166,  3167,  3168,  3172,  3173,  3174,  3175,  3179,  3180,  3181,
1316     3182,  3186,  3190,  3194,  3196,  3199,  3205,  3206,  3207,  3211,
1317     3212,  3213,  3214,  3215,  3216,  3220,  3221,  3225,  3226,  3227,
1318     3229,  3230,  3232,  3233,  3234,  3235,  3236,  3238,  3239,  3243,
1319     3244,  3245,  3246,  3247,  3248,  3249,  3250,  3251,  3253,  3254,
1320     3255,  3256,  3257,  3258,  3259,  3262,  3263,  3264,  3265,  3266,
1321     3267,  3268,  3272,  3273,  3274,  3275,  3276,  3277,  3278,  3279,
1322     3283,  3284,  3285,  3286,  3292,  3293,  3296,  3297,  3300,  3301,
1323     3302,  3303,  3307,  3308,  3320,  3321,  3324,  3327,  3329,  3330,
1324     3331,  3333,  3335,  3336,  3338,  3339,  3340,  3341,  3342,  3343,
1325     3344,  3345,  3346,  3347,  3351,  3352,  3353,  3355,  3356,  3358,
1326     3360,  3364,  3365,  3366,  3367,  3368,  3372,  3373,  3374,  3376,
1327     3381,  3382,  3383,  3387,  3388,  3389,  3393,  3397,  3398,  3399,
1328     3403,  3404,  3408,  3409,  3413,  3414,  3415,  3416,  3420,  3424,
1329     3428,  3432
1330 };
1331 #endif
1332
1333 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1334 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1335    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1336 static const char *const yytname[] =
1337 {
1338   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1339   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1340   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1341   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1342   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1343   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1344   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1345   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1346   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1347   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1348   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1349   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1350   "VIRTUAL", "EXT_ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT",
1351   "ANY_OBJECT", "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH",
1352   "STOPWATCHING", "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER",
1353   "CLASS_NO_EXPANSION", "CLASS_FIXED", "ISPROPSET",
1354   "CLASS_DEFAULT_PROPERTY", "PROPERTY_CATEGORY", "CLASS_DATA",
1355   "CLASS_PROPERTY", "SUBCLASS", "NAMESPACE", "NEW0OP", "RENEW0", "VAARG",
1356   "DBTABLE", "DBFIELD", "DBINDEX", "DATABASE_OPEN", "'*'", "'<'", "'>'",
1357   "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'", "':'",
1358   "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'", "'^'",
1359   "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type",
1360   "base_strict_type_name", "strict_type",
1361   "class_function_definition_start",
1362   "constructor_function_definition_start",
1363   "destructor_function_definition_start",
1364   "virtual_class_function_definition_start",
1365   "class_function_definition_start_error",
1366   "virtual_class_function_definition_start_error",
1367   "class_function_definition", "class_function_definition_error",
1368   "instance_class_function_definition_start",
1369   "instance_class_function_definition_start_error",
1370   "instance_class_function_definition",
1371   "instance_class_function_definition_error", "data_member_initialization",
1372   "data_member_initialization_error", "data_member_initialization_list",
1373   "data_member_initialization_list_error",
1374   "data_member_initialization_list_coloned",
1375   "members_initialization_list_coloned", "members_initialization_list",
1376   "members_initialization_list_error", "instantiation_named",
1377   "instantiation_named_error", "guess_instantiation_named",
1378   "guess_instantiation_named_error", "external_guess_instantiation_named",
1379   "instantiation_unnamed", "instantiation_unnamed_error",
1380   "instantiation_anon", "instantiation_anon_error", "default_property",
1381   "default_property_error", "default_property_list",
1382   "default_property_list_error", "property_start", "property_body",
1383   "property", "class_property_start", "class_property_body",
1384   "class_property", "watch_property_list", "property_watch",
1385   "property_watch_list", "self_watch_definition", "watch_definition",
1386   "stopwatching", "firewatchers", "struct_declaration",
1387   "struct_declaration_error", "struct_declaration_list",
1388   "struct_declaration_list_error", "template_datatype",
1389   "template_type_argument", "template_type_parameter",
1390   "template_identifier_argument", "template_identifier_parameter",
1391   "template_expression_argument", "template_expression_parameter",
1392   "template_parameter", "template_parameters_list", "template_argument",
1393   "template_arguments_list", "class_entry", "class_decl", "class",
1394   "class_head", "class_error", "identifier", "primary_expression",
1395   "simple_primary_expression", "anon_instantiation_expression",
1396   "anon_instantiation_expression_error", "primary_expression_error",
1397   "postfix_expression", "simple_postfix_expression",
1398   "argument_expression_list", "argument_expression_list_error",
1399   "common_unary_expression", "unary_expression", "simple_unary_expression",
1400   "unary_operator", "cast_expression", "multiplicative_expression",
1401   "additive_expression", "shift_expression",
1402   "relational_expression_smaller_than", "relational_expression",
1403   "equality_expression", "and_expression", "exclusive_or_expression",
1404   "inclusive_or_expression", "logical_and_expression",
1405   "logical_or_expression", "conditional_expression",
1406   "assignment_expression", "assignment_operator", "expression",
1407   "expression_anon_inst", "postfix_expression_error",
1408   "simple_postfix_expression_error", "common_unary_expression_error",
1409   "unary_expression_error", "simple_unary_expression_error",
1410   "cast_expression_error", "multiplicative_expression_error",
1411   "additive_expression_error", "shift_expression_error",
1412   "relational_expression_error", "equality_expression_error",
1413   "and_expression_error", "exclusive_or_expression_error",
1414   "inclusive_or_expression_error", "logical_and_expression_error",
1415   "logical_or_expression_error", "conditional_expression_error",
1416   "assignment_expression_error", "expression_error",
1417   "expression_anon_inst_error", "constant_expression",
1418   "constant_expression_error", "storage_class_specifier",
1419   "external_storage_class_specifier", "enumerator", "enumerator_list",
1420   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1421   "enum_specifier_compound_error", "enum_decl", "enum_class",
1422   "enum_class_error", "class_specifier", "class_specifier_error",
1423   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1424   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1425   "struct_entry", "struct_or_union_specifier_compound",
1426   "struct_or_union_specifier_compound_error",
1427   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1428   "struct_class", "struct_class_error", "struct_or_union",
1429   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1430   "declaration_specifiers", "guess_declaration_specifiers",
1431   "external_guess_declaration_specifiers",
1432   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1433   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1434   "new_specifiers", "identifier_list_error", "identifier_list",
1435   "direct_declarator_nofunction", "direct_declarator_function_start",
1436   "direct_declarator_function", "direct_declarator_function_error",
1437   "direct_declarator", "ext_decl", "ext_attrib",
1438   "direct_abstract_declarator", "direct_abstract_declarator_noarray",
1439   "pointer", "abstract_declarator", "abstract_declarator_noarray",
1440   "declarator", "declarator_function", "declarator_function_error",
1441   "declarator_nofunction", "initializer", "initializer_error",
1442   "initializer_condition", "initializer_condition_error",
1443   "initializer_list", "init_declarator", "init_declarator_error",
1444   "init_declarator_list", "init_declarator_list_error", "type_name",
1445   "guess_type_name", "parameter_declaration",
1446   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1447   "parameter_type_list", "parameter_type_list_error", "statement",
1448   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1449   "labeled_statement", "labeled_statement_error", "declaration_mode",
1450   "member_access", "declaration", "external_guess_declaration",
1451   "external_guess_declaration_error", "declaration_error",
1452   "declaration_list", "declaration_list_error", "statement_list",
1453   "statement_list_error", "compound_inside", "compound_inside_error",
1454   "compound_start", "compound_statement", "compound_statement_error",
1455   "expression_statement", "selection_statement",
1456   "selection_statement_error", "iteration_statement",
1457   "iteration_statement_error", "jump_statement", "jump_statement_error",
1458   "function_definition", "function_definition_error", "string_literal",
1459   "external_declaration", "external_declaration_error",
1460   "translation_unit_error", "translation_unit", "thefile",
1461   "dbtable_definition", "dbfield_entry", "dbindex_item",
1462   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1463   "database_open", "dbfield", "dbindex", "dbtable", 0
1464 };
1465 #endif
1466
1467 # ifdef YYPRINT
1468 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1469    token YYLEX-NUM.  */
1470 static const yytype_uint16 yytoknum[] =
1471 {
1472        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1473      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1474      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1475      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1476      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1477      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1478      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1479      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1480      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1481      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1482      355,   356,   357,   358,   359,   360,   361,   362,   363,    42,
1483       60,    62,    40,    41,   126,    59,    61,    44,   125,   123,
1484       46,    58,    36,    91,    93,    38,    43,    45,    33,    47,
1485       37,    94,   124,    63
1486 };
1487 # endif
1488
1489 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1490 static const yytype_uint16 yyr1[] =
1491 {
1492        0,   134,   135,   135,   136,   136,   137,   138,   139,   139,
1493      139,   140,   140,   141,   142,   143,   143,   144,   144,   145,
1494      145,   146,   146,   146,   146,   146,   146,   147,   147,   147,
1495      147,   147,   148,   148,   149,   150,   151,   151,   151,   152,
1496      152,   153,   153,   153,   154,   154,   154,   155,   155,   155,
1497      155,   155,   155,   156,   156,   157,   157,   157,   157,   157,
1498      157,   157,   157,   157,   158,   158,   158,   158,   159,   159,
1499      159,   159,   159,   159,   159,   160,   160,   161,   161,   161,
1500      161,   161,   162,   162,   163,   163,   163,   163,   163,   164,
1501      164,   164,   165,   165,   166,   166,   166,   166,   166,   166,
1502      166,   166,   166,   166,   167,   167,   168,   168,   168,   168,
1503      168,   169,   170,   170,   170,   171,   171,   171,   172,   172,
1504      172,   172,   173,   173,   173,   173,   173,   174,   174,   174,
1505      174,   174,   174,   175,   176,   176,   176,   176,   176,   177,
1506      177,   177,   178,   179,   179,   180,   180,   181,   181,   182,
1507      183,   183,   184,   184,   184,   184,   185,   185,   185,   185,
1508      186,   186,   186,   186,   186,   186,   186,   186,   186,   186,
1509      186,   186,   186,   186,   186,   186,   186,   186,   186,   186,
1510      186,   186,   186,   186,   186,   186,   187,   187,   187,   187,
1511      187,   187,   187,   187,   187,   187,   187,   188,   188,   188,
1512      189,   189,   189,   189,   189,   190,   190,   190,   191,   192,
1513      192,   192,   192,   192,   192,   192,   192,   193,   194,   194,
1514      195,   196,   196,   197,   197,   197,   198,   198,   199,   199,
1515      199,   199,   199,   199,   199,   199,   199,   200,   200,   201,
1516      202,   202,   202,   202,   202,   202,   202,   202,   203,   203,
1517      203,   203,   203,   203,   204,   205,   205,   205,   205,   205,
1518      205,   206,   207,   207,   208,   208,   208,   208,   208,   208,
1519      208,   208,   208,   208,   208,   208,   208,   208,   208,   208,
1520      208,   208,   208,   208,   208,   208,   208,   208,   208,   208,
1521      208,   208,   208,   208,   208,   208,   208,   208,   208,   208,
1522      208,   209,   210,   211,   211,   212,   212,   212,   212,   212,
1523      212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
1524      212,   212,   212,   213,   213,   213,   213,   213,   213,   213,
1525      213,   213,   213,   213,   213,   213,   213,   213,   213,   213,
1526      213,   214,   214,   214,   214,   215,   215,   215,   215,   215,
1527      216,   216,   216,   216,   216,   216,   216,   216,   216,   217,
1528      217,   218,   218,   219,   219,   219,   219,   219,   219,   219,
1529      219,   220,   220,   221,   221,   221,   221,   221,   221,   221,
1530      222,   222,   222,   222,   222,   223,   223,   223,   223,   223,
1531      224,   225,   225,   225,   225,   225,   225,   225,   225,   225,
1532      226,   226,   226,   226,   226,   226,   226,   226,   226,   227,
1533      227,   227,   227,   227,   228,   228,   228,   228,   228,   229,
1534      229,   229,   229,   229,   230,   230,   230,   231,   231,   231,
1535      232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1536      232,   232,   232,   232,   232,   232,   232,   233,   233,   233,
1537      233,   233,   233,   233,   233,   233,   234,   234,   234,   234,
1538      234,   234,   234,   234,   234,   234,   234,   235,   235,   235,
1539      235,   236,   236,   236,   237,   237,   237,   237,   237,   237,
1540      237,   237,   237,   237,   237,   237,   237,   237,   237,   238,
1541      238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1542      238,   238,   238,   239,   239,   239,   239,   239,   239,   239,
1543      239,   239,   240,   240,   241,   241,   242,   242,   243,   243,
1544      243,   243,   243,   243,   243,   244,   244,   244,   244,   244,
1545      244,   244,   244,   244,   245,   245,   245,   245,   245,   246,
1546      246,   246,   246,   246,   246,   246,   246,   246,   247,   247,
1547      247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
1548      247,   248,   248,   248,   248,   248,   249,   249,   249,   249,
1549      249,   250,   250,   250,   250,   250,   251,   251,   251,   252,
1550      252,   252,   253,   253,   253,   253,   253,   253,   253,   253,
1551      253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
1552      253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
1553      253,   254,   254,   254,   254,   254,   254,   254,   255,   255,
1554      255,   255,   255,   255,   255,   255,   255,   255,   256,   256,
1555      256,   256,   257,   258,   259,   259,   259,   259,   259,   260,
1556      260,   260,   260,   260,   261,   261,   261,   262,   262,   262,
1557      263,   264,   264,   265,   265,   265,   266,   266,   266,   266,
1558      266,   266,   266,   266,   266,   266,   266,   266,   267,   267,
1559      268,   268,   268,   269,   269,   269,   269,   269,   269,   269,
1560      269,   269,   269,   269,   269,   269,   269,   269,   269,   270,
1561      270,   271,   271,   272,   272,   273,   273,   273,   274,   274,
1562      275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
1563      275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
1564      275,   275,   276,   276,   276,   276,   276,   276,   276,   276,
1565      276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
1566      276,   276,   277,   277,   277,   277,   277,   277,   277,   277,
1567      277,   277,   278,   278,   279,   279,   280,   280,   280,   281,
1568      281,   281,   281,   281,   281,   282,   283,   283,   284,   285,
1569      285,   285,   285,   286,   286,   286,   286,   286,   286,   286,
1570      286,   286,   287,   287,   288,   288,   288,   288,   288,   288,
1571      288,   288,   289,   289,   289,   289,   289,   289,   289,   289,
1572      289,   289,   290,   290,   290,   290,   290,   290,   290,   290,
1573      290,   290,   291,   291,   291,   291,   291,   291,   291,   291,
1574      291,   291,   291,   291,   292,   292,   292,   292,   292,   292,
1575      292,   292,   292,   292,   293,   293,   294,   294,   294,   294,
1576      294,   294,   294,   294,   294,   294,   294,   294,   295,   295,
1577      296,   296,   296,   296,   296,   296,   296,   296,   296,   296,
1578      297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
1579      297,   297,   297,   297,   298,   298,   298,   298,   298,   298,
1580      298,   298,   298,   298,   298,   298,   298,   298,   299,   299,
1581      300,   300,   300,   300,   300,   301,   301,   301,   301,   301,
1582      301,   302,   303,   303,   303,   303,   303,   304,   304,   304,
1583      304,   305,   305,   305,   305,   306,   306,   306,   307,   308,
1584      308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
1585      308,   308,   308,   308,   309,   309,   309,   309,   309,   309,
1586      309,   310,   310,   310,   310,   311,   311,   311,   311,   311,
1587      311,   312,   312,   312,   312,   312,   312,   313,   313,   313,
1588      313,   314,   314,   314,   314,   314,   315,   315,   315,   315,
1589      315,   316,   316,   316,   316,   316,   317,   317,   317,   318,
1590      318,   318,   318,   318,   319,   319,   320,   320,   321,   321,
1591      321,   321,   321,   321,   322,   322,   323,   323,   323,   324,
1592      324,   324,   325,   325,   325,   325,   326,   326,   327,   327,
1593      328,   328,   328,   328,   328,   328,   329,   329,   330,   330,
1594      330,   330,   330,   330,   330,   330,   330,   330,   331,   331,
1595      331,   331,   331,   331,   331,   331,   332,   332,   332,   332,
1596      332,   332,   333,   333,   333,   334,   334,   334,   334,   334,
1597      334,   334,   334,   334,   334,   334,   334,   334,   335,   335,
1598      335,   335,   335,   335,   335,   336,   336,   337,   337,   337,
1599      338,   338,   338,   338,   338,   338,   338,   338,   338,   338,
1600      338,   338,   338,   338,   339,   339,   339,   339,   339,   340,
1601      340,   340,   340,   340,   340,   340,   341,   341,   341,   342,
1602      342,   343,   343,   343,   343,   344,   344,   344,   344,   344,
1603      344,   345,   346,   346,   346,   346,   346,   347,   347,   347,
1604      347,   348,   348,   349,   349,   349,   350,   350,   350,   350,
1605      350,   350,   350,   351,   351,   351,   351,   352,   352,   352,
1606      352,   353,   354,   355,   355,   355,   356,   356,   356,   357,
1607      357,   357,   357,   357,   357,   358,   358,   359,   359,   359,
1608      359,   359,   359,   359,   359,   359,   359,   359,   359,   360,
1609      360,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1610      360,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1611      360,   360,   361,   361,   361,   361,   361,   361,   361,   361,
1612      362,   362,   362,   362,   363,   363,   363,   363,   364,   364,
1613      364,   364,   365,   365,   366,   366,   366,   366,   366,   366,
1614      366,   366,   366,   366,   366,   366,   366,   366,   366,   366,
1615      366,   366,   366,   366,   367,   367,   367,   367,   367,   367,
1616      367,   368,   368,   368,   368,   368,   369,   369,   369,   369,
1617      370,   370,   370,   371,   371,   371,   372,   373,   373,   373,
1618      374,   374,   375,   375,   376,   376,   376,   376,   377,   378,
1619      379,   380
1620 };
1621
1622 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1623 static const yytype_uint8 yyr2[] =
1624 {
1625        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1626        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1627        2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
1628        1,     2,     2,     2,     2,     2,     2,     1,     1,     3,
1629        1,     3,     3,     1,     1,     3,     3,     1,     3,     3,
1630        3,     3,     1,     2,     2,     1,     1,     2,     2,     2,
1631        2,     1,     2,     2,     1,     1,     2,     2,     1,     2,
1632        2,     2,     2,     1,     2,     2,     3,     4,     5,     4,
1633        3,     4,     2,     3,     4,     5,     4,     3,     4,     5,
1634        5,     4,     2,     3,     3,     3,     3,     2,     4,     3,
1635        3,     2,     4,     3,     2,     3,     2,     3,     2,     1,
1636        2,     3,     3,     3,     2,     1,     3,     3,     1,     3,
1637        3,     2,     4,     5,     3,     4,     3,     1,     3,     3,
1638        3,     2,     3,     2,     4,     5,     3,     4,     3,     1,
1639        3,     3,     2,     1,     2,     2,     2,     1,     2,     5,
1640        7,     9,     6,     8,     4,     6,     1,     2,     3,     4,
1641        3,     2,     2,     2,     1,     1,     4,     3,     3,     3,
1642        2,     2,     2,     4,     1,     2,     1,     3,     3,     1,
1643        1,     3,     7,     1,     2,     4,     1,     2,     2,     1,
1644        1,     2,     3,     3,     2,     2,     1,     1,     2,     2,
1645        1,     2,     2,     2,     2,     1,     2,     1,     1,     2,
1646        4,     4,     6,     2,     4,     4,     6,     1,     1,     3,
1647        1,     2,     4,     1,     1,     1,     1,     3,     1,     1,
1648        1,     3,     3,     3,     3,     3,     3,     1,     3,     1,
1649        2,     2,     3,     3,     5,     5,     6,     6,     2,     2,
1650        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1651        3,     1,     1,     3,     1,     1,     4,     4,     5,     8,
1652        1,     1,     2,     4,     2,     6,     6,     5,     5,     6,
1653        6,     5,     5,     7,     7,     6,     6,     7,     7,     6,
1654        6,     4,     5,     4,     6,     4,     1,     1,     1,     1,
1655        3,     1,     2,     2,     2,     1,     4,     4,     3,     4,
1656        4,     3,     3,     2,     2,     4,     4,     3,     4,     3,
1657        3,     2,     2,     1,     4,     4,     3,     4,     4,     3,
1658        3,     2,     2,     4,     4,     3,     4,     3,     3,     2,
1659        2,     1,     1,     3,     3,     1,     1,     3,     3,     2,
1660        2,     2,     2,     2,     4,     2,     4,     5,     5,     1,
1661        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1662        1,     1,     4,     1,     3,     3,     3,     3,     3,     3,
1663        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1664        2,     1,     2,     3,     3,     3,     3,     3,     3,     3,
1665        1,     3,     3,     3,     3,     3,     3,     3,     3,     1,
1666        3,     3,     3,     3,     1,     3,     3,     3,     3,     1,
1667        3,     3,     3,     3,     1,     3,     3,     1,     3,     3,
1668        1,     5,     5,     5,     5,     5,     5,     5,     5,     5,
1669        5,     5,     5,     5,     5,     5,     5,     1,     3,     3,
1670        3,     3,     3,     3,     3,     3,     1,     1,     1,     1,
1671        1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
1672        2,     1,     3,     3,     1,     1,     2,     2,     3,     3,
1673        3,     3,     5,     3,     3,     3,     5,     3,     3,     1,
1674        2,     2,     3,     3,     3,     3,     5,     3,     3,     3,
1675        5,     3,     3,     2,     2,     2,     2,     3,     2,     5,
1676        6,     6,     1,     1,     1,     1,     1,     4,     1,     3,
1677        3,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1678        3,     3,     3,     3,     1,     3,     3,     3,     3,     1,
1679        2,     3,     3,     3,     3,     3,     3,     3,     1,     3,
1680        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1681        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1682        3,     1,     3,     3,     3,     3,     1,     3,     3,     1,
1683        3,     3,     1,     5,     5,     5,     5,     4,     4,     4,
1684        4,     5,     5,     5,     5,     4,     4,     4,     4,     5,
1685        5,     5,     5,     5,     5,     5,     5,     3,     3,     2,
1686        2,     1,     3,     3,     3,     3,     3,     3,     1,     2,
1687        3,     3,     3,     3,     2,     2,     2,     2,     1,     2,
1688        3,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1689        1,     1,     1,     1,     1,     3,     3,     1,     3,     2,
1690        1,     2,     2,     2,     4,     4,     3,     3,     4,     5,
1691        4,     6,     6,     4,     5,     4,     6,     6,     2,     2,
1692        2,     5,     3,     5,     6,     5,     7,     7,     8,     8,
1693        7,     7,     3,     3,     3,     4,     3,     5,     5,     1,
1694        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1695        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1696        1,     1,     1,     1,     1,     1,     4,     4,     4,     1,
1697        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1698        1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1699        4,     1,     1,     2,     2,     3,     5,     2,     3,     5,
1700        5,     5,     1,     3,     2,     2,     2,     3,     3,     3,
1701        3,     3,     3,     3,     3,     1,     1,     4,     3,     2,
1702        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1703        3,     3,     1,     1,     1,     2,     1,     2,     1,     2,
1704        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1705        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1706        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1707        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1708        1,     2,     1,     2,     1,     2,     1,     1,     1,     2,
1709        1,     2,     1,     2,     1,     2,     4,     5,     1,     1,
1710        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1711        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1712        1,     2,     4,     5,     1,     2,     1,     2,     1,     2,
1713        1,     2,     1,     2,     1,     2,     4,     5,     3,     3,
1714        1,     3,     3,     3,     3,     1,     3,     4,     4,     4,
1715        3,     2,     3,     3,     3,     3,     2,     2,     2,     3,
1716        4,     1,     1,     2,     2,     1,     1,     4,     1,     3,
1717        2,     3,     3,     3,     3,     4,     4,     4,     2,     3,
1718        3,     3,     4,     4,     3,     2,     3,     3,     3,     4,
1719        4,     1,     2,     2,     3,     1,     1,     2,     2,     2,
1720        3,     1,     1,     2,     2,     2,     3,     1,     2,     3,
1721        2,     1,     2,     2,     3,     3,     1,     2,     2,     3,
1722        3,     1,     2,     2,     3,     3,     1,     3,     4,     1,
1723        4,     2,     5,     3,     1,     1,     1,     1,     1,     1,
1724        3,     3,     2,     2,     1,     3,     2,     3,     3,     1,
1725        3,     3,     1,     2,     3,     3,     1,     2,     1,     2,
1726        2,     2,     2,     3,     1,     1,     3,     3,     1,     3,
1727        4,     3,     4,     3,     3,     4,     3,     4,     1,     3,
1728        3,     4,     3,     3,     3,     4,     1,     3,     3,     3,
1729        3,     3,     1,     3,     2,     1,     1,     1,     1,     1,
1730        2,     1,     1,     1,     1,     2,     2,     2,     1,     1,
1731        1,     1,     1,     2,     1,     1,     4,     1,     3,     0,
1732        6,     8,    10,    12,     8,    10,    10,     5,     7,     9,
1733       11,     7,     9,     9,     3,     4,     4,     3,     3,     3,
1734        4,     4,     3,     2,     3,     2,     1,     1,     1,     1,
1735        1,     2,     3,     2,     2,     2,     3,     3,     2,     5,
1736        6,     2,     2,     2,     2,     2,     2,     1,     2,     2,
1737        3,     1,     2,     1,     2,     2,     1,     2,     2,     2,
1738        2,     2,     2,     1,     1,     2,     2,     1,     1,     2,
1739        2,     1,     2,     2,     1,     2,     1,     2,     2,     5,
1740        5,     7,     7,     5,     5,     3,     2,     5,     4,     4,
1741        7,     6,     6,     5,     7,     6,     4,     7,     9,     3,
1742        4,     4,     5,     5,     5,     6,     7,     6,     6,     5,
1743        5,     4,     3,     2,     1,     2,     3,     4,     3,     4,
1744        5,     4,     3,     2,     2,     2,     3,     3,     3,     3,
1745        2,     2,     1,     1,     4,     3,     3,     2,     4,     3,
1746        3,     2,     1,     2,     1,     1,     2,     1,     2,     3,
1747        3,     1,     2,     2,     2,     3,     4,     4,     2,     2,
1748        2,     2,     1,     2,     1,     2,     1,     2,     2,     1,
1749        2,     1,     2,     2,     2,     2,     1,     2,     2,     3,
1750        1,     1,     0,     6,     6,     5,     4,     1,     2,     2,
1751        1,     3,     3,     4,     1,     1,     2,     2,     6,     6,
1752        6,     4
1753 };
1754
1755 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1756    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1757    means the default is an error.  */
1758 static const yytype_uint16 yydefact[] =
1759 {
1760     1252,   261,     6,   639,   640,   641,   642,   643,   701,   702,
1761      703,   704,   705,   707,   710,   711,   708,   709,   695,   696,
1762      700,   706,   782,   783,   650,  1098,   239,   719,   915,   693,
1763        0,     0,   918,  1096,  1097,   720,   721,   712,     0,     0,
1764        0,     0,     0,   941,     0,  1221,   830,   715,     8,     4,
1765        0,     0,     0,  1215,     0,  1234,   895,   824,     0,   714,
1766        0,   689,   691,   832,   834,   697,   826,   828,   765,   713,
1767        0,     0,   690,   692,     0,     0,     0,     0,     0,   961,
1768      694,   916,     0,     0,     0,  1217,  1239,  1214,  1236,  1246,
1769     1241,     0,     0,     0,  1232,     0,  1229,  1212,     0,     0,
1770     1218,     0,     0,     0,     0,  1231,  1230,     0,   698,   942,
1771      694,   943,   895,   912,   911,   957,     0,     0,     0,     0,
1772     1108,     0,   241,   240,     0,     0,   249,     0,   248,     2,
1773        3,     0,     5,     0,   652,   651,     0,     0,   670,     0,
1774        0,     0,     0,   769,     0,   755,   754,  1111,   641,  1105,
1775      831,  1216,  1235,   895,   825,   833,   835,   827,   829,   961,
1776      694,     0,     0,     0,     0,  1002,     0,     0,     0,   901,
1777        0,     0,   634,   635,   636,   637,   638,  1015,   906,   818,
1778      890,   812,     0,   822,     0,   814,   816,   765,   820,     0,
1779        0,  1014,     0,     0,  1018,  1028,     0,     0,     0,     0,
1780      963,     0,   962,     0,   723,   724,   725,   726,   727,   729,
1781      732,   733,   730,   731,   722,   728,   741,   734,     0,     0,
1782     1141,   737,     0,     0,   802,   736,   808,   804,   806,   810,
1783      735,     0,  1117,     0,     0,     0,     0,  1207,  1211,   641,
1784        0,  1228,  1223,  1237,     0,  1224,  1240,  1222,  1238,  1233,
1785     1245,  1248,     0,     0,     0,     0,     0,  1243,  1244,  1247,
1786     1242,     1,     0,  1219,  1220,  1213,     0,     0,   475,   270,
1787        0,     0,     0,     0,     0,     0,   369,   370,     0,     0,
1788        0,     0,     0,     0,     0,     0,     0,   364,     0,   367,
1789        0,     0,   363,   365,   366,   368,     0,   265,     0,   264,
1790      305,   262,   474,     0,   359,   371,     0,   373,   380,   385,
1791      391,     0,   400,   409,   414,   419,   424,   427,   430,   447,
1792        0,   513,   512,   516,   518,   525,   534,   539,   548,   561,
1793      566,   571,   576,   579,   582,     0,   271,   296,   297,   298,
1794      299,     0,     0,     0,     0,     0,   699,   944,   914,   913,
1795        0,   958,     0,   896,   960,   734,   737,   208,   230,   229,
1796      228,   237,     0,   264,   371,   430,   632,   516,     0,   220,
1797      205,   253,     0,     0,   252,   259,     0,     0,  1099,  1100,
1798      712,     0,   176,     0,   179,   180,     0,     0,     0,     0,
1799        0,   183,   250,     4,     0,     0,     0,     0,    28,    30,
1800      164,   186,   189,     0,   190,     0,   115,   118,     0,   196,
1801      127,     0,   165,   139,     0,   174,     0,   197,   200,     0,
1802        0,   264,     0,     0,     0,     0,   966,   694,     0,    12,
1803       18,     0,   837,   836,   844,   838,     0,   840,   842,   765,
1804      849,   848,   254,   260,   251,     0,     0,   243,   242,   683,
1805      644,   647,   682,   686,   672,     0,     0,     0,     0,   223,
1806      224,   225,   226,     0,   218,   475,   771,     0,     0,   768,
1807      475,   770,     0,     0,   475,   772,     0,     0,     0,   963,
1808        0,   962,     0,   996,     0,     0,  1205,  1209,  1003,  1106,
1809        0,     0,  1107,   900,     0,   264,   633,     0,     0,     0,
1810        0,   652,   651,   653,     0,   756,     0,     0,     0,  1012,
1811      819,   895,   813,   823,   815,   817,   821,   694,   946,   945,
1812        0,     0,     0,   905,     0,     0,   904,     0,     0,     0,
1813     1044,     0,   902,   903,   964,   965,     0,     0,  1115,  1103,
1814     1114,    75,  1112,  1101,   895,   803,   809,   805,   807,   811,
1815      694,     0,  1116,  1113,  1104,     0,  1118,     0,  1206,  1210,
1816     1119,     0,     0,     0,     0,     0,     0,     0,     0,  1203,
1817        0,     0,     0,  1046,     0,     0,     0,   156,  1048,  1049,
1818        0,     0,     0,   264,     0,   371,     0,     0,   516,   611,
1819      618,     0,  1123,  1126,  1054,  1045,  1058,     0,     0,     0,
1820        0,  1145,  1143,  1047,  1060,     0,  1061,  1052,  1059,     0,
1821     1062,  1142,     0,     0,  1225,   895,     0,     0,     0,  1235,
1822        0,     0,  1211,  1249,     0,     0,     0,   917,   489,     0,
1823        0,   323,     0,   361,   355,   515,   514,   508,     0,   350,
1824      503,   351,   504,     0,   884,   874,   882,   876,   878,   880,
1825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1826        0,   274,     0,     0,     0,   788,   784,   786,   790,  1006,
1827        0,   272,     0,   301,     0,   342,     0,   341,     0,   477,
1828       92,     0,   476,     0,   313,   314,     0,     0,     0,   457,
1829      458,   459,   460,   461,   462,   463,   464,   465,   466,   456,
1830        0,     0,   353,   506,   352,   505,     0,     0,     0,     0,
1831        0,     0,     0,   392,   540,     0,     0,   390,     0,     0,
1832        0,     0,     0,     0,     0,     0,     0,     0,   716,     0,
1833      321,   322,     0,     0,     0,     0,     0,     0,     0,     0,
1834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835        0,     0,     0,     0,     0,     0,   717,   718,     0,     0,
1836        0,  1264,  1265,     0,     0,     0,   959,     0,    10,     9,
1837        0,     0,     0,     0,     0,   694,   945,   206,     0,   208,
1838        0,   264,     0,     0,   856,   850,   852,   854,     0,     0,
1839        0,    16,    20,     0,     0,     0,     0,     0,     0,     0,
1840        0,   364,     0,   264,     0,    26,    21,    27,    24,     0,
1841       25,    23,    22,    29,    31,   163,   187,    82,   162,   188,
1842      121,   172,     0,     0,     0,     0,   131,     0,     0,   133,
1843        0,     0,   142,   175,   201,   198,   203,   202,   199,   204,
1844      114,     0,     0,   161,     0,   895,   752,     0,   971,   694,
1845        0,    11,    17,   742,   908,  1014,     0,     0,   968,     0,
1846      967,     0,     0,   184,   170,   191,   194,     0,   195,     0,
1847      171,   895,     0,     0,   652,   651,   845,   839,   841,   843,
1848        0,     0,     0,   649,   685,     0,     0,     7,   213,   209,
1849      221,   767,     0,     0,    61,    52,    91,    38,    37,    56,
1850       68,    44,    47,     0,    73,    55,     0,     0,     0,   985,
1851      987,     0,   984,   986,     0,    40,    43,   964,   965,   475,
1852        0,   976,   979,   995,   998,  1204,  1208,  1000,  1004,  1001,
1853     1005,   899,   897,   898,  1041,  1023,  1032,   657,   656,     0,
1854        0,   475,   757,     0,     0,   475,   758,     0,     0,   928,
1855      895,     0,     0,     0,     0,     0,   920,     0,     0,     0,
1856     1013,   949,   948,     0,     0,   947,  1017,  1016,     0,   889,
1857     1040,   892,  1026,  1034,     0,   888,  1039,   891,  1024,  1033,
1858        0,  1043,  1037,   893,  1019,  1029,     0,  1038,   894,  1021,
1859     1030,     0,     0,     0,    76,     0,  1102,  1120,     0,     0,
1860        0,     0,     0,     0,  1185,     0,     0,     0,     0,     0,
1861        0,     0,     0,     0,  1046,     0,   264,     0,  1183,  1051,
1862     1053,     0,     0,  1193,  1194,  1195,     0,  1201,     0,     0,
1863        0,     0,     0,     0,   157,   143,  1057,  1056,  1055,     0,
1864        0,     0,   619,     0,   475,  1050,     0,     0,     0,     0,
1865      470,     0,     0,   475,     0,     0,     0,     0,  1124,  1127,
1866     1129,     0,  1125,  1128,  1130,     0,  1156,  1063,  1226,  1227,
1867      241,   240,     0,     0,     0,  1209,  1210,     0,  1109,     0,
1868      796,   264,     0,   507,   798,   792,   794,   800,  1008,     0,
1869      491,   490,     0,   331,   332,     0,     0,     0,     0,   339,
1870      340,     0,     0,     0,     0,     0,     0,     0,     0,   885,
1871      875,   883,   877,   879,   881,   694,   952,   951,     0,   870,
1872      860,   868,   862,   864,   866,     0,     0,     0,     0,     0,
1873        0,     0,     0,     0,     0,     0,     0,     0,   263,     0,
1874      789,   785,   787,   791,  1007,     0,     0,   475,     0,     0,
1875        0,   104,     0,   300,   475,     0,     0,    93,   475,     0,
1876        0,   478,   312,   475,   308,   346,   480,   481,   345,   484,
1877      311,     0,     0,   452,   448,   302,   374,   519,   375,   520,
1878      376,   521,   475,   381,   526,   475,   382,   528,   386,   535,
1879      387,   536,   394,   542,   395,   543,   393,   541,   475,   405,
1880      557,   401,   549,   475,   406,   558,   402,   550,   412,   564,
1881      410,   562,   417,   569,   415,   567,   422,   574,   420,   572,
1882      425,   577,   428,   580,   607,     0,   628,     0,     0,     0,
1883        0,   454,   450,   479,   320,   475,   317,     0,   485,   488,
1884      319,     0,     0,   453,   449,   377,   522,   378,   523,   379,
1885      524,   475,   383,   530,   475,   384,   532,   388,   537,   389,
1886      538,   398,   546,   399,   547,   396,   544,   397,   545,   475,
1887      407,   559,   403,   551,   475,   408,   560,   404,   552,   413,
1888      565,   411,   563,   418,   570,   416,   568,   423,   575,   421,
1889      573,   426,   578,   429,   581,   608,     0,     0,     0,     0,
1890      455,   451,     0,     0,  1257,  1260,     0,     0,  1255,  1266,
1891     1267,     0,     0,   208,   236,   235,   234,   264,   238,   233,
1892      232,   231,     0,     0,     0,     0,     0,     0,     0,     0,
1893      948,   245,     0,   244,   126,     0,   124,   857,   851,   853,
1894      855,     0,    15,    19,     0,   178,   177,   181,     0,   971,
1895      694,     0,   138,     0,   136,   857,     0,   264,     0,    83,
1896      116,   119,   117,   120,   128,   129,   130,   132,   140,   141,
1897      113,   111,   112,    13,   744,   747,     0,   160,     0,   973,
1898        0,   972,     0,     0,   743,   895,   909,   969,   970,   895,
1899      169,   192,   168,   193,   167,     0,     0,     0,     0,     0,
1900      645,   646,   648,     0,     0,   675,   671,     0,     0,     0,
1901        0,     0,     0,   227,   219,   217,    35,    36,    74,    53,
1902        0,    54,     0,    63,    60,    71,    66,    72,    59,    89,
1903       38,    69,    62,    90,    58,    70,    67,     0,    57,     0,
1904       32,    34,    33,   988,   989,     0,   665,   655,     0,   660,
1905      654,     0,   919,   929,   930,   923,   921,   922,   950,   931,
1906        0,     0,   924,     0,     0,     0,  1027,  1035,  1014,  1025,
1907     1020,  1022,  1031,   738,   739,   740,   475,     0,     0,  1087,
1908     1092,     0,     0,  1088,  1094,     0,     0,     0,     0,   475,
1909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910        0,     0,     0,     0,     0,  1182,   475,     0,  1146,   264,
1911        0,     0,     0,  1192,  1198,  1199,  1196,  1197,     0,     0,
1912        0,     0,   144,  1084,  1089,   158,   475,   616,   612,     0,
1913        0,     0,   475,   468,   620,   475,   617,   614,   475,   469,
1914      621,     0,  1208,  1110,     0,     0,   354,   797,   799,   793,
1915      795,   801,  1009,     0,   492,   330,   475,   326,   494,   495,
1916      498,   329,     0,     0,   493,   338,   475,   335,     0,   499,
1917      502,   337,     0,     0,   293,   291,     0,     0,   935,     0,
1918        0,     0,     0,     0,     0,   955,   954,     0,   953,     0,
1919        0,     0,   871,   861,   869,   863,   865,   867,     0,   267,
1920        0,   266,   295,     0,     0,     0,     0,     0,     0,  1271,
1921        0,     0,     0,   372,   517,   273,   107,   105,   344,   343,
1922       98,   102,   309,     0,   310,   306,   307,   629,     0,     0,
1923        0,     0,     0,     0,   318,     0,   315,   316,     0,     0,
1924        0,     0,  1259,  1258,  1262,     0,     0,     0,  1254,  1253,
1925        0,     0,     0,     0,     0,     0,     0,     0,   219,     0,
1926        0,   122,   125,     0,     0,   173,   973,     0,   972,     0,
1927        0,   134,   137,     0,    14,   475,     0,     0,   753,     0,
1928      974,   975,   745,   748,   910,   185,   166,   846,     0,   247,
1929      246,     0,   674,     0,   214,   207,   215,   210,   211,   222,
1930       50,    45,    48,    51,    46,    49,    36,    42,    39,    41,
1931        0,     0,   992,   993,   664,     0,   659,     0,   932,   933,
1932      926,   925,   927,  1011,  1010,    78,  1085,  1090,  1086,  1091,
1933        0,     0,     0,     0,   475,  1159,     0,   475,     0,  1158,
1934     1191,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1935        0,     0,  1166,     0,  1147,   475,  1148,   475,     0,     0,
1936        0,  1069,   917,  1069,     0,     0,   154,     0,     0,     0,
1937      159,     0,     0,   509,   327,     0,   328,   324,   325,   336,
1938        0,   333,   334,   292,   886,   934,   936,   937,   277,   278,
1939        0,   956,   938,     0,     0,     0,     0,     0,     0,     0,
1940        0,     0,     0,     0,   268,   281,   282,     0,     0,     0,
1941        0,     0,     0,     0,     0,     0,   475,   348,   347,   472,
1942      630,   439,   599,   431,   583,   443,   603,   435,   591,   473,
1943      631,   440,   600,   432,   584,   444,   604,   436,   592,   475,
1944      441,   601,   433,   585,   445,   605,   437,   593,   442,   602,
1945      434,   586,   446,   606,   438,   594,  1261,  1263,  1256,   858,
1946        0,   123,   149,   974,   975,     0,   135,    85,     0,     0,
1947      847,     0,     0,     0,     0,     0,     0,     0,     0,   990,
1948      991,   980,     0,     0,     0,     0,  1149,  1150,  1153,  1154,
1949     1157,  1190,     0,     0,     0,     0,     0,     0,     0,  1163,
1950      475,   475,     0,     0,     0,  1067,     0,  1065,  1077,     0,
1951     1069,     0,  1069,     0,     0,     0,     0,   511,   510,   475,
1952      475,   887,   939,   940,   275,   276,   872,   285,   286,     0,
1953        0,     0,     0,     0,   279,   280,   289,   290,     0,     0,
1954      294,  1269,  1270,  1268,   859,     0,   746,   749,   751,   750,
1955        0,     0,   216,   212,   982,     0,     0,     0,     0,     0,
1956        0,     0,  1178,  1161,     0,     0,  1162,  1175,     0,  1165,
1957     1177,     0,     0,  1069,     0,  1069,     0,  1069,     0,  1070,
1958        0,     0,     0,   147,     0,   152,     0,   155,     0,   873,
1959      283,   284,     0,     0,   977,   287,   288,   182,  1151,  1152,
1960        0,     0,  1160,  1167,     0,  1164,  1176,  1081,  1068,     0,
1961        0,     0,  1078,     0,     0,  1069,  1069,     0,  1069,   146,
1962      145,   150,   148,     0,     0,   372,   517,   269,   978,     0,
1963        0,  1066,     0,     0,  1069,  1074,     0,     0,  1071,     0,
1964        0,   153,  1168,  1082,  1083,  1079,     0,     0,     0,     0,
1965     1069,   151,     0,  1075,  1076,  1072,     0,  1080,     0,  1073
1966 };
1967
1968 /* YYDEFGOTO[NTERM-NUM].  */
1969 static const yytype_int16 yydefgoto[] =
1970 {
1971       -1,   179,    47,    48,   888,   296,   394,   395,   396,   397,
1972      398,   399,   400,   401,   897,   898,   899,   900,   901,   902,
1973      903,   904,   905,   906,   907,   908,   222,   223,   402,   403,
1974       50,   297,   298,   673,   701,   406,   407,   408,   409,   410,
1975      411,   412,   413,   414,   415,  1982,  1983,  1984,   416,   580,
1976      581,   582,   417,   418,   419,   420,   357,   358,   459,   359,
1977      460,   360,   461,   462,   780,   361,   362,    51,    52,    53,
1978       54,    55,   299,   300,   301,   909,   910,   302,   303,   632,
1979      676,  1167,   304,   585,   634,   306,   307,   308,   309,   310,
1980      311,   312,   313,   314,   315,   316,   317,   318,   319,   662,
1981      755,   587,  1228,   321,   635,   322,   588,   637,   324,   325,
1982      326,   327,   328,   329,   330,   331,   332,   333,   334,   589,
1983      590,  1017,  1230,   369,   498,   181,    57,   451,   452,   182,
1984       59,   183,   184,    60,    61,    62,    63,    64,    65,   185,
1985      109,   186,   228,   846,   847,   187,   188,   189,    69,    70,
1986       71,    72,    73,   190,   669,  1088,   370,   424,    75,    76,
1987      441,   442,   789,  1125,   650,   951,   952,    77,   425,    79,
1988      426,   115,   110,    81,   518,  1116,   428,   520,  1118,   118,
1989      429,   430,   853,  1443,  1444,   915,   916,  1445,   164,   165,
1990      166,   167,   670,  1089,   194,   195,   196,   197,   198,   199,
1991      592,   593,  1905,  1906,   594,   595,   596,    84,   431,   232,
1992       85,    86,   233,   234,   235,   599,   600,   601,   602,   236,
1993      603,   809,  1512,  1019,   606,   607,   608,  1020,   610,    87,
1994       88,   336,    89,    90,    91,    92,    93,    94,   761,  1305,
1995     1306,   762,   763,   337,   338,   339,   340
1996 };
1997
1998 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1999    STATE-NUM.  */
2000 #define YYPACT_NINF -1590
2001 static const int yypact[] =
2002 {
2003    34238, -1590, -1590, -1590, -1590,   463, -1590, -1590, -1590, -1590,
2004    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2005    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2006      770,   107, -1590, -1590, -1590, -1590, -1590, -1590,    84,   190,
2007      295,   372,   141,  1188,  1236, -1590, -1590, -1590,   312, -1590,
2008      218,   372,   870, -1590,   887,   311,  1166, -1590,   378, -1590,
2009     1215, -1590,   319, -1590, -1590, -1590, -1590, -1590,  1221, -1590,
2010     1233,   334, -1590,   361,   729, 33886,  1236,   290, 34500, -1590,
2011      904, -1590,  1001, 36620, 32417, -1590, -1590, -1590, -1590, -1590,
2012    -1590, 34326, 33525,   557, -1590,   107, -1590, -1590,   141,   141,
2013      569,   507,   141, 26501,   372, -1590, -1590,   573, -1590,  1188,
2014    -1590, -1590, -1590,   290, -1590, -1590,   904,  1001,  1242, 20474,
2015    -1590,   556,   527,   570, 27664, 36136, -1590, 27780, -1590, -1590,
2016    -1590,   372, -1590,  1411,  1351,  1389,   163, 36136, -1590, 36282,
2017    27896, 36136, 28012, -1590, 28128, -1590, -1590, -1590, -1590, -1590,
2018    -1590, -1590,   311,   628, -1590, -1590, -1590, -1590, -1590,   712,
2019      904,  1001,  1004, 36620,   209, -1590,  1388,   562,  1396, -1590,
2020    24530,   581, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2021      823, -1590,   871, -1590,   568, -1590, -1590,   657, -1590,   687,
2022      899,  7616,   458,   723, -1590, -1590,   802,   859,   704,   744,
2023    -1590,   322, -1590,   322, -1590, -1590, -1590, -1590, -1590, -1590,
2024    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,   731,   786,
2025    -1590, -1590,    70,    38, -1590, -1590, -1590, -1590, -1590, -1590,
2026    -1590, 34062, -1590, 15586, 32887, 36803, 15715, -1590,   795,   930,
2027      915, -1590, -1590,   311, 33974, -1590, -1590, -1590, -1590, -1590,
2028    -1590, -1590,   319,   361, 34848, 36620, 35107, -1590, -1590, -1590,
2029    -1590, -1590,   805,   569,   569, -1590, 26501,   379, -1590, -1590,
2030    26574, 26647, 26647,   912, 36355, 26501, -1590, -1590,   926,   949,
2031    36355, 26501,   956,   965,   982,   992,   997, -1590, 20698, -1590,
2032      141, 24603, -1590, -1590, -1590, -1590,   908, -1590,   158,   995,
2033    -1590, -1590, -1590, 10895, -1590,  1416, 24603, -1590,   586,  1154,
2034     1395, 26501,  1088,  1465,  1018,  1019,   985,  1163,    80,  1416,
2035     1057,   811, -1590,  1416, -1590,   941,  1359,  1555,  1176,  1571,
2036     1067,  1105,  1119,  1245,   109,  1416,   569, -1590, -1590, -1590,
2037    -1590,  1151,    99, 35532,  1152,  1172, -1590, -1590,   290, -1590,
2038     1001, -1590,   322, -1590, -1590,   926,   908,  1189, -1590, -1590,
2039    -1590, -1590,  1036,  1097, -1590,   235, -1590, -1590,   275, -1590,
2040    36524, -1590, 20586, 36282, -1590,   929, 35844, 35192, -1590, -1590,
2041      926,  1202, -1590,   372, -1590, -1590,   107, 35277, 35022,  5665,
2042    36209, -1590, -1590,   908,   944,  1243,  1243,  1021, -1590,  1304,
2043    -1590, -1590,  1312,   180,  1153,   223, -1590, -1590,   477,  1315,
2044    -1590,  1326, -1590, -1590,    45, -1590,  1401, -1590, -1590, 27200,
2045    27316,   252,   903,   811, 32605, 34587, -1590,   904,  1001, -1590,
2046    -1590, 32511, -1590, -1590,  1354, -1590,   372, -1590, -1590, -1590,
2047      372, 36355, -1590,   929, -1590, 27432, 27548,  1392,  1412, -1590,
2048     1413, -1590,  1422, -1590, -1590,   791,  1414,   694,   107, -1590,
2049    -1590, -1590, -1590,   747,   159,  1063, -1590, 28244, 28360, -1590,
2050     1148, -1590, 28476, 28592,  1191, -1590, 28708, 28824, 18810,  1094,
2051     1001,   712,   322, -1590, 24676, 32887, -1590,   795, -1590, -1590,
2052     1236,  1236, -1590, -1590,  1426,   131, -1590,  1430,  1472, 35917,
2053     1524,  1470,  1485, -1590, 28940, -1590, 29056,  8275, 24749,  1236,
2054    -1590,   823, -1590, -1590, -1590, -1590, -1590,    83,   515,   184,
2055      544,   468,  1489, -1590, 35619,  1496, -1590, 35694,  1499, 35769,
2056     1503, 35990, -1590, -1590, -1590, -1590, 26501,   372, -1590, -1590,
2057     1513, -1590, -1590, -1590,  1515, -1590, -1590, -1590, -1590, -1590,
2058      904,  1425,   562, -1590, -1590,  1520, -1590, 15844, -1590,   795,
2059    -1590,   302, 24822,  1516,  1530,  1534,    62, 15973,  1539,   107,
2060     1540,  1541, 16102, 34150,  1251,  1542,  1546,   107, -1590, -1590,
2061     1547,  1549,  1551,  1424, 14291,  1416, 14425,  7254,  1416,  1416,
2062    -1590, 14554, -1590, -1590, -1590, -1590, -1590, 16231, 16360, 16489,
2063    16618, -1590, -1590, -1590,   795, 16747, -1590, -1590, -1590, 16876,
2064    -1590, -1590,   141,   141,   569,   602,   372,  1428,  1544, -1590,
2065    36620, 32887, -1590, -1590, 34935, 26501,  1556, -1590, -1590, 20826,
2066      248, -1590, 11046, -1590, -1590,   880, -1590, -1590, 24895, -1590,
2067    -1590, -1590, -1590, 36355,  1560, -1590, -1590, -1590, -1590, -1590,
2068    32033, 36355, 20954,   107, 32129, 36355, 26501,   141,   141,   141,
2069    26501, -1590, 11182, 11343, 11477, -1590, -1590, -1590, -1590,  5854,
2070     1552,    85, 18938, -1590,   281, -1590,   236, -1590, 19066,  1563,
2071    -1590, 19194, -1590,  1543, -1590, -1590,  9505,  1550, 26501, -1590,
2072    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2073    24603,   286, -1590, -1590, -1590, -1590, 26501, 26501, 26501, 26720,
2074    26793, 26501, 26501,  1395,  1555, 26501, 26501, -1590, 26501, 24968,
2075    25041, 24603, 24603, 24603, 26501, 26501, 11611, 24603, -1590,  1554,
2076    -1590, -1590, 22267,  1557, 26501, 24603, 26501, 26501, 26501, 26866,
2077    26939, 26501, 26501, 26501, 26501, 26501, 26501, 25114, 25187, 24603,
2078    24603, 24603, 26501, 26501, 11745, 24603, -1590, -1590,   674,   823,
2079    36209, -1590, -1590, 33613, 35532, 35532, -1590, 20474, -1590, -1590,
2080    20474, 20474, 24603, 24603, 31368,   521,   793, -1590,   702,   262,
2081      848,   914,   864,  1553,  1568, -1590, -1590, -1590,   372,  8113,
2082    35192, -1590, -1590,   107,  1558,  1567,  1569, 32793,  1564,   107,
2083    31937,  1188, 21066,  1059, 35362, -1590, -1590,   795, -1590,   795,
2084    -1590, -1590, -1590,   795, -1590, -1590,  1572, -1590, -1590,  1103,
2085    -1590, -1590,  3269,  3269,  1243,  1243, -1590,  1243,   141, -1590,
2086     1243,  1243, -1590, -1590,  1034, -1590, -1590,  1034, -1590, -1590,
2087     1115, 25260,  1234, -1590, 26501,   631, -1590,  1446,   290,   904,
2088     1001, -1590, -1590,   244,   581,  7616, 18682,   639, -1590,   322,
2089    -1590,   322,  1236, -1590, -1590, -1590,  1574,   300,  1580,   305,
2090    -1590,   252, 32699, 20474, -1590, -1590,  1582, -1590, -1590, -1590,
2091    36282, 36282, 26501,   107, -1590, 31028,   201, -1590,   763,   836,
2092     1545, -1590, 36282,   107, -1590, -1590, -1590,  1243, -1590, -1590,
2093    -1590, -1590, -1590, 32979,  1447, -1590, 19322, 36712, 19450, -1590,
2094    -1590, 10698, -1590, -1590, 35447, -1590, -1590,   712,  1094, -1590,
2095    25333, -1590, -1590, -1590, -1590, -1590,   795, -1590, -1590, -1590,
2096    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,  1422,   261,
2097      296,  1578, -1590, 29172, 29288,  1579, -1590, 29404, 29520, -1590,
2098      927,   268,   519,  1585,  1591,  1592, -1590,  1562,  1583,  1586,
2099     1126,   515,   184, 34674, 25406,   515, -1590, -1590, 36063, -1590,
2100    -1590,   823, -1590, -1590, 36063, -1590, -1590,   823, -1590, -1590,
2101    36063, -1590, -1590,   823, -1590, -1590, 36063, -1590,   823, -1590,
2102    -1590,  1593,  1598,   351, -1590, 19578, -1590, -1590, 17005,  1566,
2103     1597, 17134, 26501, 26501, -1590, 25479, 25552,  1600,  1601,  1607,
2104    21153,  1610,   107, 22340, -1590,  1444,  1449, 22413,  1656, -1590,
2105    -1590, 22486,  1608, -1590, -1590, -1590,  1609,  1612, 22559, 14683,
2106      141,  1616, 26501, 26501,   107, -1590, -1590, -1590, -1590, 21281,
2107      354, 25625, -1590,  1336, -1590, -1590, 27012, 11879, 12013, 25698,
2108    -1590, 27085, 12147,  1520, 17263, 17392, 17521, 17650, -1590, -1590,
2109    -1590, 17779, -1590, -1590, -1590, 17908, -1590, -1590,   569,   569,
2110     1619,  1627, 31143, 31258, 32887, -1590, -1590,  1623, -1590,   923,
2111    -1590,   252,  1626, -1590, -1590, -1590, -1590, -1590,  5854,  1630,
2112     1563, -1590,  1570, -1590, -1590, 22632,  1573, 26501,  1576, -1590,
2113    -1590, 22705,  1577, 26501,  1632, 36428, 20474, 34413, 26501,  1637,
2114    -1590, -1590, -1590, -1590, -1590,   484,  1636,  1640,  1631,  1643,
2115    -1590, -1590, -1590, -1590, -1590, 32225, 22778,  1646,  1647,  1650,
2116    26501,  1645, 32321,  1657,   497,   103,   194,  1658, -1590,   107,
2117    -1590, -1590, -1590, -1590, -1590, 26501,   141,   330, 33070, 19706,
2118     1655, -1590, 24603, -1590,   337, 33161, 19834, -1590,   338, 33252,
2119    19962, -1590, -1590, -1590, -1590, -1590,  1074,  1663, -1590, -1590,
2120    -1590, 22851,  6163, -1590, -1590,  1655, -1590, -1590, -1590, -1590,
2121    -1590, -1590, -1590,   586,   941, -1590,   586,   941,  1154,  1359,
2122     1154,  1359,  1395,  1555,  1395,  1555,  1395,  1555, -1590, -1590,
2123    -1590,  1088,  1176, -1590, -1590, -1590,  1088,  1176, -1590, -1590,
2124     1465,  1571, -1590, -1590,  1018,  1067, -1590, -1590,  1019,  1105,
2125      985,  1119,  1163,  1245, -1590,    34, -1590, 22924,  1660,  8972,
2126     1661, -1590, -1590, -1590, -1590, -1590, -1590,  1111, -1590, -1590,
2127    -1590, 22997,  9959, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2128    -1590, -1590,   586,   941, -1590,   586,   941,  1154,  1359,  1154,
2129     1359,  1395,  1555,  1395,  1555,  1395,  1555,  1395,  1555, -1590,
2130    -1590, -1590,  1088,  1176, -1590, -1590, -1590,  1088,  1176, -1590,
2131    -1590,  1465,  1571, -1590, -1590,  1018,  1067, -1590, -1590,  1019,
2132     1105,   985,  1119,  1163,  1245, -1590, 23070,  1662, 10351,  1664,
2133    -1590, -1590,   107,   107, -1590, -1590,   371,  1180, -1590, -1590,
2134    -1590, 33704, 33795, -1590, -1590, -1590, -1590,   974, -1590, -1590,
2135    -1590, -1590, 23143,  1665, 21537,  1666, 23216,  1667, 21610,  1668,
2136      793, -1590, 20474, -1590, -1590, 20474, -1590,    59, -1590, -1590,
2137    -1590,   585, -1590, -1590,   435, -1590, -1590, -1590,  1466,  1654,
2138      904,  1001, -1590,  1671, -1590,   643,   617,  1055,  1677, -1590,
2139    -1590, -1590, -1590, -1590, -1590, -1590, -1590,   569, -1590, -1590,
2140     3806, -1590, -1590, -1590, -1590, -1590, 20090, -1590,   660,   290,
2141      322,   290,   322, 26501, -1590,   844, -1590, -1590, -1590,  1678,
2142    -1590,  1572, -1590,  1563, -1590,  1477,   934, 20474,   986,  1085,
2143    -1590, -1590, -1590, 29636, 29752,  1679, -1590,  1397, 36355, 36355,
2144    36355, 36355, 26501, -1590, -1590, -1590, -1590,   795, -1590, -1590,
2145    25771, -1590, 25844, -1590, -1590, -1590,  1480,  1447, -1590, -1590,
2146     1243, -1590, -1590, -1590, -1590, -1590,  1480,  1447, -1590, 25917,
2147    -1590, -1590, -1590, -1590, -1590, 18037, -1590, -1590,   142, -1590,
2148    -1590,   217, -1590, -1590, -1590, -1590, -1590, -1590,   515, -1590,
2149     1683,  1684, -1590,  1674,  1682,  1685, -1590, -1590,  7616, -1590,
2150    -1590, -1590, -1590, -1590, -1590, -1590,   347, 33343, 20218, -1590,
2151    -1590, 21281, 21281, -1590, -1590, 23289, 14812, 23362, 23435, -1590,
2152    21409, 23508, 14941, 21153,  1689,  1690, 21153, 26501, 25990,  1722,
2153    23581,  1612, 10136,   141, 21153,  1692, 31748, 21153, -1590,  1479,
2154    23654, 21683, 23727, -1590, -1590, -1590, -1590, -1590,    95,   141,
2155     1695,  1175, -1590, -1590, -1590, -1590, -1590, -1590, -1590,  1700,
2156     1701,   107, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2157    -1590, 36282, -1590, -1590,  1702,  1703, -1590, -1590, -1590, -1590,
2158    -1590, -1590, -1590, 12281, -1590, -1590, -1590, -1590,  1274,  1705,
2159    -1590, -1590, 23800, 21756, -1590, -1590, -1590, -1590,  1334, -1590,
2160    -1590, -1590, 23873, 21829, -1590, -1590,  1706,  1142, -1590,  1707,
2161     1709,  1711,  1704,  1710, 20474,  1636,  1640, 34761,  1636, 26501,
2162    20474, 26501,  1669, -1590, -1590, -1590, -1590, -1590,  1691, -1590,
2163    26063, -1590, -1590,  1712,  1713, 26501, 26501,  1708,  4570, -1590,
2164      107,   107, 26501, -1590, -1590,   569, -1590, -1590, -1590, -1590,
2165    -1590, -1590, -1590, 12415, -1590, -1590, -1590, -1590, 26136, 12549,
2166    12683, 26209, 12817, 12951, -1590, 13085, -1590, -1590, 13219, 13353,
2167    13487, 13621, -1590, -1590, -1590,   674,  1714,   560, -1590, -1590,
2168    24603, 24603, 24603, 24603, 24603, 24603, 24603, 24603,  1781,  1207,
2169    20474, -1590, -1590,  1716,  1243, -1590,  1654,   322,  1654,   322,
2170     1717, -1590, -1590,  1719, -1590,   348, 33434, 20346, -1590,   904,
2171      290,   290,  1718,  1720, -1590, -1590, -1590, -1590,  1250, -1590,
2172    -1590, 31028,  1725, 31028, -1590, -1590,  1727, -1590,  1730, -1590,
2173     2691, -1590, -1590,  2691, -1590, -1590, -1590,  2691, -1590, -1590,
2174    18166, 18295, -1590, -1590, -1590, 31028, -1590, 31028, -1590, -1590,
2175    -1590, -1590, -1590, -1590,  1126, -1590, -1590, -1590, -1590, -1590,
2176    21153,  9138, 21153,  9138, 31463, -1590, 21281, -1590, 15070, -1590,
2177    -1590, 21153, 21153, 23946, 21153, 24019, 10527,  1715, 21902, 24092,
2178      117, 18424, -1590, 26501, -1590, 31558, -1590, 31843, 21153, 21975,
2179    26282,   141,  1732,   141,   195,  1731, -1590,   107, 26501, 26501,
2180      107, 13755, 13889, -1590, -1590, 14023, -1590, -1590, -1590, -1590,
2181    14157, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,
2182     1255,  1636, -1590,  1738,  1739,  1733,  1735,  1273,  1736,  1740,
2183    20474, 26501, 20698, 25333, -1590, -1590, -1590,  1741,  1742,  1743,
2184     1744, 26501,  1749,  1750,  1756,  1757, -1590, -1590, -1590, -1590,
2185    -1590, -1590, -1590, -1590,   275, -1590, -1590, -1590,   275, -1590,
2186    -1590, -1590, -1590, -1590,   275, -1590, -1590, -1590,   275, -1590,
2187    -1590, -1590, -1590,   275, -1590, -1590, -1590,   275, -1590, -1590,
2188    -1590,   275, -1590, -1590, -1590,   275, -1590, -1590, -1590, -1590,
2189     1275, -1590, -1590,  1654,  1654, 24603, -1590, -1590, 26501, 26501,
2190    -1590, 29868, 29984, 31028, 30100, 30216, 36355, 36355, 18553, -1590,
2191    -1590, -1590, 30332, 30448, 30564, 30680,  1761,  1762, -1590, -1590,
2192    -1590, -1590, 21153, 26501, 26355,  1732, 15199, 15328, 22048, -1590,
2193    31653, -1590, 21281, 24165, 15457, -1590,  1069,   606, -1590,   280,
2194      141,  1764,   141,   423,   546,  1775,  1349, -1590, -1590, -1590,
2195    -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590, -1590,  1290,
2196     1765,  1766,  1778, 22121, -1590, -1590, -1590, -1590,  1769,  1772,
2197    -1590, -1590, -1590, -1590, -1590,  1782, -1590, -1590, -1590, -1590,
2198    30796, 30912, -1590, -1590, -1590, 21153, 21153, 24238, 22194, 21153,
2199    24311, 10527,  1783, -1590, 21153, 26501, -1590, -1590, 21281, -1590,
2200    -1590,  1786,   141,   141, 26501,   141,  1790,   141,  1206, -1590,
2201      326,  1243,   625, -1590,   343, -1590,  1737, -1590,   107, -1590,
2202    -1590, -1590, 26428, 24384, -1590, -1590, -1590, -1590, -1590, -1590,
2203     1783, 21153, -1590, -1590, 24457, -1590, -1590, -1590, -1590,  1350,
2204     1793,  1352, -1590,  1260,  1794,   141,   141,  1796,   141, -1590,
2205    -1590, -1590, -1590,   423,   655, -1590, -1590, -1590, -1590, 21153,
2206     1797, -1590,  1802,  1804,   141, -1590,  1374,  1381, -1590,  1262,
2207      714, -1590, -1590, -1590, -1590, -1590,  1382,  1805,  1806,  1808,
2208      141, -1590,  1810, -1590, -1590, -1590,  1384, -1590,  1811, -1590
2209 };
2210
2211 /* YYPGOTO[NTERM-NUM].  */
2212 static const yytype_int16 yypgoto[] =
2213 {
2214    -1590,  2678,   -19,    58, -1590,  1803, -1590, -1590, -1590, -1590,
2215    -1590, -1590,  1487,  1498,  -864, -1590,  -856,  -870,   183,   187,
2216     -839,  -655,  -588, -1590,  -543,  -524, -1590, -1590,  1500,  1501,
2217    -1590,  2621,  1289, -1590,  -197,   792,   800, -1590, -1590, -1590,
2218    -1590,  1502, -1590, -1590, -1590,  -570, -1589,  -168, -1590, -1590,
2219    -1590, -1590,  1688,  1779,  -124,   -74,  -126,  -746, -1590,  -743,
2220    -1590,  -706, -1590,  1016,   -46,  1165,  -865,    23,  1694,    74,
2221     1698,   -35,     0, -1590,  1676,  8083,  1687, -1590,  3306, -1590,
2222     -614,  -703,  1693,  4210, -1590, -1590,  -223,   269,   537,   -97,
2223    -1590,   726,  -576,    87,    57,    92,   100,  2380,  3897,  2799,
2224     -218,  8800,   122,  2176, -1590,  1697,  4723, -1590,  -185,   629,
2225      647,   251,   730,   221,   298,   395,   411,   450,  3515,   693,
2226     -381,  8300,   453,    47,   520,  6416,   -61,  1054,  -109,  1680,
2227     7805,  6959, -1590, -1590, -1590,   -68,   -60,   -65, -1590,  5833,
2228    -1590,   272,  1865,   561,  -457,  2689,  7115, -1590,  8253, -1590,
2229    -1590, -1590,   -45,  3532, -1590, -1590,  3913,  2524,     5, -1590,
2230    -1590,  1387,  1561,  1283,  1673,   -56,   -31,  6570,  5956,  6619,
2231     -315,   -84,  2756,  1101,  -508, -1053,  9765,  -264,  -566,   -16,
2232      358,  -247,  1027,  -472,  -458,  -836,  -822,   154,  1134,  1136,
2233      -59,  1729,  -650, -1590,  -302,  -292,  1533, -1590,  -503,  -501,
2234     8441,  -366,   -10,  -717, -1590, -1590, -1590,  1874, -1590,   102,
2235     1885,   -30,   110,  -108,  1734,  1032,  1035, -1590, -1590, -1590,
2236      -82,   620, -1455,  -188, -1590, -1590, -1590,   646, -1590,  1887,
2237      -11,    69,  1880,  1548, -1590, -1590, -1590,  1890,  -729,   331,
2238    -1590,  -721,   884, -1590, -1590, -1590, -1590
2239 };
2240
2241 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2242    positive, shift that token.  If negative, reduce the rule which
2243    number is the opposite.  If zero, do what YYDEFACT says.
2244    If YYTABLE_NINF, syntax error.  */
2245 #define YYTABLE_NINF -1252
2246 static const yytype_int16 yytable[] =
2247 {
2248       56,   237,  1127,   445,   954,  1371,   955,  1034,  1396,   961,
2249      156,   965,   923,   458,   154,   155,   467,   168,   472,  1372,
2250      476,  1314,   192,   252,  1315,  1319,   924,   455,  1320,  1238,
2251       99,   101,   121,   351,  1309,  1627,  1425,  1431,  1435,   540,
2252      152,   106,  1310,  1430,   112,  1749,   253,   193,   605,   243,
2253     1424,   123,  1434,   446,   246,   485,   132,  1760,   135,   162,
2254      162,  1316,  1585,  1004,  1588,  1321,   468,  1426,   473,  1436,
2255      477,   538,  1166,   248,   146,   153,   112,   351,   180,   131,
2256      112,   486,   112,   704,    56,   341,     1,   700,  1131,   244,
2257      265,    56,    56,   463,   674,   262,   254,   725,  1761,   100,
2258      265,   727,     1,   922,   342,   735,   777,   345,   265,   122,
2259        1,   107,   858,   860,   830,   831,   112,   112,  1237,   363,
2260     1761,   705,   265,   132,   421,   434,   753,   421,   597,  1148,
2261      792,   448,   145,   450,     1,  1155,   450,   434,  1159,   464,
2262      421,   434,   421,  1714,   421,  1210,    97,   621,  1149,   151,
2263     1414,   494,   558,   132,  1156,  -471,   541,  1160,   242,   679,
2264      112,   112,  -207,   832,   453,   251,     1,   263,   264,  1660,
2265      495,   267,   551,  1281,  1005,   521,   131,   852,  1661,   156,
2266      132,   816,   502,   154,   155,   539,   252,     1,   252,   447,
2267      146,   511,    43,   154,   155,   507,   102,   935,  1910,   265,
2268      265,   112,  1405,   112,     1,  1146,   508,   936,  1762,   253,
2269      488,   253,   757,   726,   713,   162,  1763,   497,  1716,   619,
2270     1610,   243,   972,  1344,   819,   978,   246,   984,   162,   989,
2271     1895,   544,   973,  1059,  1063,   979,   583,   985,  1763,   990,
2272      613,  1577,   754,   953,   615,   248,   779,   458,   145,  1090,
2273      681,  1427,   725,  1437,    56,     1,    56,  1715,    28,   883,
2274     -663,   624,  1446,    32,     1,     1,   766,   961,   965,   522,
2275       38,   954,    67,   955,   644,   893,   680,   616,  1431,  1435,
2276      644,   454,  1150,  1975,  1430,  1431,  1435,  1175,   495,  1431,
2277     1435,  1430,   753,  1434,  1894,  1430,   507,  1449,   817,     1,
2278     1434,  1391,   103,   553,  1434,  1168,  1393,   508,  1911,   614,
2279     1436,  1611,   806,   808,   810,   812,  1912,  1436,  1428,  1406,
2280     1438,  1436,   651,    32,  -999,     1,  -999,   782,   655,  2016,
2281      623,  -108,  1717,   120,   883,  -658,   556,   560,   -99,  -103,
2282     1348,   680,   132,   759,   557,   561,     1,   158,   -81,   -88,
2283      112,  1168,   112,  1152,     1,  1169,    67,     1,    83,   671,
2284     1153,   129,   130,    67,    67,  1383,   680,  1041,   772,   856,
2285     1049,   681,   781,   464,     1,     1,   784,   511,   767,  1447,
2286      943,     1,   947,   795,   265,   524,   796,   759,   784,   803,
2287      759,   938,  1559,  1976,   193,  2022,   766,  1972,  1569,  1151,
2288        2,  1977,   169,   925,  1151,  1144,     2,   104,   773,   605,
2289      605,   605,   605,   170,  1450,  1395,  1981,   554,   817,   421,
2290      421,   132,   119,   680,   845,   180,     1,   112,   112,   128,
2291      944,   871,   948,   163,    44,   351,   875,   138,     1,  2017,
2292      146,   876,    83,  1972,  1525,   421,   421,  2018,  -108,   255,
2293       83,  2022,  1477,   142,  1458,   -99,  -103,   889,   890,   522,
2294     1460,  2021,  1461,   515,  1475,   -81,   -88,   421,   421,   967,
2295     1659,  1478,   421,   421,   162,   162,   421,   421,   820,   143,
2296      112,  1558,   112,  1176,  1178,  1180,  1644,  1568,  1645,   957,
2297      112,   112,   627,   960,  1437,   132,  1981,   133,   145,   759,
2298      450,  1437,   265,   674,   421,  1437,   421,   950,   495,   112,
2299      953,   132,  1074,  1245,  1247,  1249,   158,   112,   992,   112,
2300      525,  1177,  1179,  1181,   971,  1341,   158,   977,    67,   983,
2301      674,   988,  1688,  1791,   858,   860,  1356,   993,   674,   922,
2302       95,  1579,    28,  1343,  1387,   966,  1388,    32,  1664,     1,
2303      112,  1246,  1248,  1250,    38,   958,   252,   261,   674,  1598,
2304      667,  1438,   714,   154,   155,   265,  1607,  1016,  1438,  1022,
2305     1128,   523,  1438,     1,   265,   524,     1,  1035,   265,   253,
2306    -1010, -1010,  1309,  1309,    96, -1010,  1319,   556,     1,  1658,
2307     1310,  1310,   821,    43,   822,   557,  1107,   583,   583,   583,
2308      583,     2,   163,  1708,  1580,     1,  1581,  1431,  1435,   999,
2309     1609,   265,   620,  1430,   255,   132,  1071,  1709,  1192,  1194,
2310        1,  1196,  1434,   266,   511,   852,  1321,   963,     1,  1081,
2311       43,     1,  1480,   774,     1,  1484,   527,   372,   964,  1436,
2312      528,  1313,    -8,  1104,   508,  1313,  1261,  1263,  1265,  1267,
2313     1109,  1119,   495,  1129,  1109,  1119, -1011, -1011,     1,  1985,
2314     1528, -1011,  1694,     1,  1697,  1534,  1466,  1441,  1537,  1139,
2315     1540,   371,  1469,  1524,  1070,  1858,  1467,     1,  1470,   491,
2316      373,  1068,  1069,  1162,  1471,   374,   503,  1170,  1059,  1063,
2317     1059,  1063,   343,    26,  1472,   706,   515,     1,   499,   556,
2318      560,  1060,  1064,   238,  1662,     1,  1699,   557,   561,  1061,
2319     1065,   129,   130,  -911,  1168,   707,   708,     1,  1974,  1790,
2320     1168,   478,   887,   556,   525,  1797,  1134,  1135,  1136,  1234,
2321      887,   557,     1,  1240,    28,   791,  1672,   129,   130,    32,
2322      129,   130,  1364,  1365,   220,  1366,    38,   478,  1368,  1369,
2323     1376,  1386, -1036,  1660,   458,   458,   529,     2,  1304,   132,
2324     1307,  1403,  1671,   759,   759,   759,   458,  1317,  2041,    43,
2325      363,  1317,    44,     1,   180,    97,   504,  1407,   889,   890,
2326     1218,   844,   851,   487,  1302,  1303,  -911,  1981,   146,  1337,
2327      511,  -911,   884,  1035,  -684,  1860,   335,   511,  -911,  1353,
2328     1355,    98,  1357,   528,   759,   505,  1431,  1435,  1289,  1214,
2329      605,  1404,  1430,   605,   643,  1416,  1220,   532,   729,   730,
2330      731,  1434,  1458,  1437,  1552,  1222,     1,  -911,  -911,  -911,
2331     1448,  1451,  2051,  1676,  1398,  1399,   526,  1285,  1436,   521,
2332      527,  1576,   112,   536,  1291,   132,   145,     1,   144,   112,
2333      112,   605,  1677,  1293,   559,  1385,   604,   533,   891,   112,
2334      530,   112,  1389,   496,   892,  -684,   605,   605,   605,   605,
2335     -684,   132,   845,   363,     1,   622,  1297,  -684,   766,  1408,
2336      464,   464,   609,   450,  1409,   421,   450,  1098,  1099,  1100,
2337     1438,  1374,   464,  1415,  1323,  1327,   158,  1367,   537,     2,
2338     -684,  1086,     1,  -684,   840,   774,   885,     1,   883,  -684,
2339      683,   684,   685,   611,   112, -1036,   508,  -207,     1,   529,
2340       97,   625,  1613,   732,   667,  -207,     1,     2,  -890,  1400,
2341        1,   733,   129,   130,   734,  1929,  -475,  -475,  -475,   450,
2342      450,  1142,  1211,   421,   421,  1463,   612,   421,   421,   445,
2343      132,     2,  1410,   129,   130,   674,  1684,  1411,  1812,  1331,
2344     1614,  1770,   112,   180,   495,   892,  1193,  1195,   759,  1197,
2345     1282,   132, -1042,  1712,   759,  1333,   531,   132,  1183,  1186,
2346      759,   892,   620,   132,   335,  -207,   759,  1713,   132,   124,
2347      500,   125,  1101,   132,  1262,  1264,  1266,  1268,   583,   446,
2348     1102,   583,   126,  1103,     1,   483,   127,    95,  1252,  1255,
2349     1016,  1464,  1022,    43,   807,   686,    44,   813,   506,   841,
2350     1215,  1509,  1437,   687,   643,  -207,   688,   678,   959,  1945,
2351     1332,  -207,   515,   681,  1522,   643,   129,   130,   652,   583,
2352     1170,  -475,  -475,  -475,  -890,  1687,  1909,   768,  1286,  -475,
2353      736,   770,  -475,  1494,   583,   583,   583,   583,     1,   805,
2354     1545,   653,   515,   220,   922,  1387,  -778,  1388,   656,   515,
2355      737,   738,   421,   421,   667,    28,   515,   657,    28,   759,
2356       32,   132,  1000,    32,  1793,  -207,  1794,    38,   759,  1438,
2357       38,  -207,  1555,   681,   658,  -913,  1561,  1689,  1565,  1518,
2358      715,   716,  1571,   892,   659,   926,   363,   180,  -207,   660,
2359     -477,  -477,  -477,    44,   681,  1727,  1729,   723,  1219,  -994,
2360      484,  -994,  -476,  -476,  -476,  1592,  1740,   515,  1804,  -895,
2361     1952,  1953,  1592,  -895,  -895,  1221,   811,  -778,  -895,   132,
2362      220,  -895,  -778,   721,   515,  -895,  1290,   769,  1342,  -778,
2363      722,  -775,  1932,   770,  -475,  1582,  1060,  1064,  1060,  1064,
2364     -265,  -265,  -265,  1292,  1061,  1065,  1061,  1065,  -913,     1,
2365      728,   913,  -778,  -913,   681,  1223,   556,  1603,   681,   724,
2366     -913,  -778,  1971,     1,   557,    97,  1972,  1622,   743,   744,
2367     1973,  1623,   749,  1978,  -781,  1980,  1690,  1914,   717,   718,
2368       28,   496,   892,  1294,  1723,    32,  1313,  1299,  -207,  -913,
2369     -913,  -913,    38,   771,  -207,  1615,   681,   604,   604,   604,
2370      604,  1157,  -775,  -477,  1634,  1325,  1329,  -775,  1635,   335,
2371      851,    26,    18,    19,  -775,  -476,   750,     1,  1879,     1,
2372     1075,  1076,  1818,   609,   609,   609,   609,  1534,  1188,  1190,
2373     1540,   751,  1880,  1784,  1818,   496,  2009,  -775,  2011,   770,
2374     2013,   752,    28,    29,   756,  -781,  -775,    32,   818,  -265,
2375     -781,   764,  1440,  -265,    38,   129,   130,  -781,  1257,  1259,
2376      709,   710,  1313,  1696,  1313,  1698,   745,   746,  1766,   129,
2377      130,   765,  1767,   605,   605,    18,    19,    43,  2036,  2037,
2378     -781,  2039,  1642,  1643,   605,   767,  1646,   132,    28,  -781,
2379       28,   759,   759,    32,   793,    32,    28,  2046,  1859,  2014,
2380       38,    32,    38,  1972,   770,    28,    29,  2015,    38,   922,
2381       32,   139,  1317,  2056,   136,   363,   137,    38,  1184,  1187,
2382     -766,  1663,  -766,    43,  1522,    43,    44,  1373,    44,   335,
2383      112,   112,   140,   335,   141,   353,  1673,   132,  1189,  1191,
2384     1550,  1870,   220,  1030,  1375,   913,  1921,   770,  1253,  1256,
2385     1891,   913,   770,  2033,   913,  2049,  1647,  1972,   112,  1972,
2386      112,  2034,   112,  2050,  1926,   132,  1944,  1774,  1258,  1260,
2387      770,  1775,   770,   335,  1818,   824,   825,   363,  1692,  1818,
2388     -673,  1989,  1401,   421,   421,   711,   712,   770,  1695,  1695,
2389     1695,  1695,   449,   405,     1,   458,   405,   826,  2024,   814,
2390      335,   827,   922,   828,  1529,  1530,  1531,   815,   335,   405,
2391     1682,   405,   823,   405,   689,   690,   691,   692,   693,   694,
2392      695,   696,   697,   698,   829,  1201,  1206,  1779,   335,  1202,
2393     1207,  1780,  1724,   674,   674,   674,   674,   674,   674,   674,
2394      674,  1712,  1987,  2030,   873,  2032,  1988,  1972,   511,  1972,
2395     -669,  -673,  -669,  1272,  1277,  1713,  -673,  1273,  1278,   719,
2396      720,   583,   583,  -673,  1465,   739,   740,  2047,    18,    19,
2397     1016,  1972,   583,  1016,  2048,  2052,  1016,  2058,  1972,  1972,
2398     1509,  1972,   880,   489,  1016,   490,  -673,  1016,  -668,  -673,
2399     -668,   492,  1693,   490,   883,  -673,   833,  1417,    28,    29,
2400     2027,  1879,   881,    32,   456,   937,  1495,     1,   469,   882,
2401       38,  1035,   699,   886,   913,  1880,  1967,   496,  1970,   883,
2402      996,   464,   490,   681,  1161,  1039,     1,  1072,   605,   125,
2403      931,  1169,   922,     1,   932,  1233,  1503,     1,  1239,   630,
2404        1,  1377,  1421,  1378,  1422,   741,   742,  1871,   681,  1874,
2405     1504,  1554,  1750,     1,  1560,   496,     1,  1564,  1570,     1,
2406        1,  1665,  1862,  1378,   363,   747,   748,   180,  1764,   939,
2407      363,  1882,  1686,  1884,  1378,  1419,   933,  1420,   681,   913,
2408     1753,   913,  2006,  1701,   940,  1704,   968,  1702,  1139,  1705,
2409     1813,  1814,   922,   974,  1360,  1362,   980,  1872,   604,  1875,
2410      986,   604,  1361,  1363,   927,   929,   928,   930,  1583,  1054,
2411     1056,   994,  1055,  1057,   995,   997,  1795,  1001,  1798,   257,
2412      260,  1883,  1002,  1885,   609,  1304,  1003,   609,  1311,  1312,
2413     1604,  1021,  1807,  1809,  1032,  1023,  1024,   496,  1033,   604,
2414      363,  1412,  1036,  1073,  1037,  1145,  1038,   112,   674,   112,
2415     1106,  1078,  1334,  1345,   604,   604,   604,   604,  1335,   112,
2416       58,  1157,  1346,  1352,  1347,   609,  1455,  1481,   913,  1390,
2417     1359,   421,  1397,   421,  1542,  1392,  -761,  -764,  1452,   496,
2418      609,   609,   609,   609,  1453,  1454,  1473,  1456,   405,   405,
2419     1457,  1474,  1505,  1497,   605,   421,   605,   421,  1482,  1498,
2420      869,  1496,  1500,  1513,  1514,   335,   335,  1515,  1519,  1541,
2421     1016,  1016,  1016,  1016,   405,   405,   583,   373,  1543,  1546,
2422      515,  1016,  1016,  1553,  1016,  1574,  1016,  1584,  1587,  1950,
2423     1313,  1313,  1107,  1590,  1589,    58,   405,   405,  1016,  1600,
2424     1601,   405,   405,  1602,    58,   405,   405,  1035,  1605,  2025,
2425     1522,    58,    58,  1617,  1608,  1612,  1624,   170,  1747,  1800,
2426      605,  1630,  1633,  1639,  1670,  1641,  1651,  1653,  1655,  1657,
2427     1674,  1685,  -232,   405,  1691,   405,  1718,  1719,  1720,  1951,
2428      363,   496,   495,    49,  1751,   436,  1721,  2026,  1765,  1722,
2429     1741,  1742,  1768,  1769,  1801,  1771,  1772,   436,  1776,  1783,
2430     1785,   436,  1786,   496,  1787,  1955,  1956,  1893,  1788,  1857,
2431     1907,  1811,  1907,  1865,  1789,  1861,  1805,  1806,  1866,  1868,
2432     1873,  1869,   913,  1876,   105,   335,  1877,  1908,  1930,   913,
2433     1913,  1922,  1923,   913,    49,  2040,  2023,  1924,  1938,  1925,
2434     1927,   134,  1940,  1941,  1928,  1934,  1935,  1936,  1937,  1942,
2435     1943,   421,   421,   421,   421,   421,  1695,  1695,    49,  1979,
2436      667,    49,   421,   421,   421,   421,   221,    49,  1986,  1990,
2437     1991,  1992,  1016,  1995,    49,    49,  1996,  1997,  2002,  2019,
2438     2020,  2007,   583,  1683,   583,  2012,  2031,    49,  1413,  2035,
2439      344,  2038,  2043,  1035,  1522,  1946,  1948,  2044,   864,  2045,
2440     2053,  2054,   356,  2055,    58,  2057,  2059,   393,   221,   865,
2441      393,   866,   867,   870,    58,  1318,    58,  1402,  1132,  1678,
2442      221,  1442,   221,   393,   221,   393,   631,   393,   617,   800,
2443      421,   421,   618,   654,  1384,  1016,  1016,  1933,   857,  1016,
2444      552,  1016,  2008,   633,  1016,   256,   221,   636,   583,   245,
2445      598,   247,   259,   393,   249,     0,  1856,     0,     0,  1907,
2446        0,  1907,  1522,     0,  1035,   501,     0,     0,  1035,     0,
2447      438,     0,     0,   703,    49,     0,     0,     0,     0,     0,
2448        0,  1016,   438,     0,     0,     0,   438,     0,     0,     0,
2449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2450        0,     0,     0,  1035,  1522,     0,     0,     0,     0,  1016,
2451        0,     0,     0,     0,   221,     0,     0,   221,   221,   356,
2452     1035,  1907,  1907,     0,  1907,     0,  1907,    49,     0,     0,
2453     1706,     0,     0,     0,     0,     0,   436,    49,   221,    49,
2454        0,     0,     0,     0,     0,     0,     0,     0,   436,   913,
2455        0,     0,     0,     0,   667,     0,   496,   221,     0,     0,
2456        0,     0,     0,   221,  1907,  1907,     0,  1907,     0,     0,
2457        0,   393,     0,     0,     0,     0,   548,     0,     0,     0,
2458        0,   604,   604,  1907,     0,     0,     0,   835,   838,  1796,
2459        0,  1799,   604,   913,     0,   913,     0,     0,     0,  1907,
2460        0,   436,     0,     0,     0,  1808,  1810,   609,   609,     0,
2461        0,     0,   913,   835,   838,     0,     0,     0,   609,   648,
2462        0,     0,     0,     0,     0,   648,    49,     0,     0,     0,
2463        0,     0,     0,     0,     0,   835,   838,     0,     0,     0,
2464      835,   838,     0,     0,   835,   838,     0,     0,     0,     0,
2465        0,   913,     0,   221,   405,   356,   221,     0,     0,   221,
2466       49,     0,     0,     0,     0,     0,   794,     0,     0,     0,
2467       49,   221,     0,    49,     0,     0,     0,     0,   836,   839,
2468        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2470        0,     0,   393,   393,   836,   839,     0,    49,    49,     0,
2471        0,     0,   405,   405,   393,   548,   405,   405,     0,   874,
2472        0,   787,     0,     0,   221,     0,   836,   839,   393,   393,
2473        0,   836,   839,   787,     0,   836,   839,     0,     0,  1027,
2474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2475      393,   393,     0,     0,     0,   393,   393,     0,     0,   393,
2476      393,   356,   496,     0,   496,     0,     0,     0,   221,     0,
2477        0,     0,     0,   335,     0,     0,     0,     0,   496,   496,
2478      423,     0,    49,   423,    58,   335,   879,   393,     0,   393,
2479       49,   393,     0,     0,     0,     0,   423,     0,   423,     0,
2480      423,  1931,     0,     0,     0,     0,     0,    49,     0,     0,
2481       49,  1939,    49,     0,    49,     0,     0,     0,     0,     0,
2482       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2483        0,     0,     0,     0,     0,     0,   604,     0,     0,     0,
2484        0,   405,   405,     0,     0,     0,     0,     0,     0,     0,
2485      913,     0,     0,  1165,     0,     0,     0,     0,     0,     0,
2486        0,     0,   609,     0,     0,     0,     0,     0,  1947,  1949,
2487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2488      356,   356,   356,   356,     0,     0,  1200,  1205,  1209,  1213,
2489     1217,     0,     0,  1226,     0,     0,     0,     0,     0,  1165,
2490        0,     0,     0,   221,   221,     0,     0,    49,     0,     0,
2491        0,     0,   393,     0,  1271,  1276,  1280,  1284,  1288,     0,
2492        0,  1226,     0,     0,     0,     0,   221,     0,     0,     0,
2493        0,     0,     0,   221,   221,   393,     0,   221,   221,  1226,
2494     1226,   335,   335,     0,     0,     0,     0,     0,     0,   436,
2495        0,     0,    49,     0,     0,   356,     0,     0,     0,     0,
2496      436,   356,     0,     0,   356,     0,     0,     0,     0,     0,
2497        0,     0,     0,     0,   496,     0,     0,     0,     0,   365,
2498        0,     0,     0,     0,   496,     0,     0,     0,     0,     0,
2499        0,     0,     0,     0,     0,  1113,  1123,     0,     0,  1113,
2500     1123,     0,   604,     0,   604,     0,     0,     0,     0,     0,
2501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2502        0,     0,     0,     0,     0,     0,     0,     0,   609,     0,
2503      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2504        0,   496,   496,    49,     0,     0,    49,    49,    49,     0,
2505      356,     0,     0,   356,   356,     0,     0,    49,     0,     0,
2506        0,     0,     0,     0,     0,     0,     0,     0,   604,     0,
2507        0,     0,   221,    49,     0,   423,   423,     0,     0,     0,
2508       49,     0,   191,   221,     0,   393,     0,    49,     0,     0,
2509        0,     0,     0,     0,   609,     0,     0,     0,     0,     0,
2510        0,   423,   423,     0,     0,     0,     0,     0,     0,     0,
2511        0,   835,   838,     0,     0,   835,   838,     0,     0,     0,
2512        0,     0,     0,   423,   423,     0,   365,     0,   423,   423,
2513        0,     0,   423,   423,  1340,   365,     0,     0,    49,     0,
2514        0,   365,     0,     0,     0,  1340,     0,   335,     0,     0,
2515        0,     0,     0,     0,     0,    49,   356,     0,    46,     0,
2516      423,     0,   423,   221,   221,   335,     0,     0,   393,    68,
2517        0,     0,   405,   405,     0,   221,     0,     0,  -475,     0,
2518     1501,  -475,  -475,  -475,  -475,  -475,  -475,  -475,  -475,   356,
2519      221,   356,     0,     0,     0,     0,     0,   221,     0,     0,
2520        0,     0,   836,   839,     0,     0,   836,   839,  1527,     0,
2521        0,     0,     0,     0,     0,     0,  1536,     0,     0,     0,
2522        0,     0,     0,     0,     0,   404,   393,   393,   404,     0,
2523      393,   393,   365,   150,     0,     0,    80,     0,     0,     0,
2524        0,   404,    46,   404,    68,   404,    49,   393,     0,    46,
2525       46,    49,     0,    68,     0,     0,     0,    49,     0,   548,
2526       68,    68,  1165,    49,     0,     0,     0,     0,  1165,    49,
2527        0,     0,     0,     0,     0,     0,     0,     0,   356,     0,
2528      116,  -475,  -475,     0,     0,     0,     0,     0,     0,     0,
2529        0,  -475,     0,     0,   439,     0,     0,     0,     0,     0,
2530     -475,  -475,  -475,  -475,  -475,     0,   439,     0,     0,     0,
2531      439,   160,   116,     0,     0,     0,     0,     0,   203,     0,
2532       80,     0,     0,     0,     0,     0,     0,    80,    80,     0,
2533        0,     0,     0,     0,     0,     0,     0,   356,   356,   356,
2534      356,     0,     0,     0,     0,     0,     0,   760,     0,   510,
2535        0,     0,     0,   352,   354,   393,   393,   221,     0,     0,
2536      427,     0,    49,   427,     0,     0,     0,     0,     0,     0,
2537        0,    49,     0,     0,     0,     0,   427,     0,   427,     0,
2538      427,   790,   320,     0,     0,     0,     0,     0,   221,   356,
2539       49,   797,     0,     0,   804,     0,     0,   482,   354,     0,
2540        0,     0,   150,     0,     0,     0,     0,     0,   221,     0,
2541        0,     0,   150,    68,    46,   221,     0,     0,     0,     0,
2542        0,     0,     0,    68,     0,    68,     0,   517,     0,   855,
2543        0,   221,   356,     0,     0,   872,     0,     0,   221,   356,
2544        0,     0,   221,   356,     0,     0,     0,     0,     0,     0,
2545      548,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2546      405,     0,   405,     0,     0,     0,     0,   550,     0,     0,
2547     1596,     0,     0,     0,     0,     0,     0,  1596,   423,   423,
2548      160,     0,     0,     0,   405,   365,   405,     0,     0,     0,
2549       80,     0,    80,     0,     0,     0,     0,     0,     0,     0,
2550        0,     0,     0,   191,     0,     0,     0,     0,     0,     0,
2551        0,   191,     0,     0,     0,   586,     0,     0,     0,     0,
2552      404,   404,     0,     0,     0,     0,     0,     0,   191,     0,
2553        0,   191,   868,   191,     0,   191,     0,     0,     0,     0,
2554        0,   423,     0,     0,     0,   439,   404,   404,     0,     0,
2555        0,     0,     0,     0,     0,     0,     0,   439,     0,     0,
2556        0,     0,     0,     0,     0,     0,     0,     0,   404,   404,
2557      677,   835,   838,   404,   404,     0,     0,   404,   404,     0,
2558        0,     0,   510,     0,     0,     0,   352,     0,     0,     0,
2559        0,     0,     0,     0,    49,    49,     0,     0,     0,   423,
2560      423,     0,     0,   423,   423,   404,   775,   404,     0,     0,
2561      439,     0,     0,   427,     0,   356,     0,     0,   356,     0,
2562        0,     0,     0,     0,     0,   116,     0,   365,     0,     0,
2563      365,   365,     0,     0,     0,     0,     0,     0,     0,     0,
2564      405,   405,   405,   405,   405,     0,     0,     0,     0,     0,
2565        0,   405,   405,   405,   405,   427,   427,     0,     0,   356,
2566      849,     0,   836,   839,   861,     0,     0,   427,     0,     0,
2567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2568      356,   427,   427,     0,     0,     0,   393,   393,     0,     0,
2569        0,   221,   221,   221,   221,     0,     0,     0,     0,     0,
2570        0,     0,     0,   427,   427,     0,     0,     0,   427,   427,
2571        0,     0,   427,   427,     0,     0,   352,     0,     0,   405,
2572      405,     0,     0,     0,     0,     0,   116,   116,   423,   423,
2573        0,     0,     0,   365,     0,     0,     0,     0,     0,     0,
2574      427,     0,   427,   517,     0,   116,     0,     0,     0,     0,
2575      268,    49,     1,   269,    97,   352,     0,   354,     0,     0,
2576      221,   356,     0,   921,     0,     0,     0,   760,   760,   760,
2577        0,     0,     0,     0,     0,     0,     0,     2,   191,     0,
2578        0,     0,   150,     0,     0,     0,     0,  1080,     0,     0,
2579     1817,     0,     0,    68,     0,  1820,  1822,  1826,  1830,  1832,
2580     1836,     0,  1817,     0,     0,  1841,  1845,  1849,  1853,     0,
2581        0,     0,     0,     0,   273,   991,     0,     0,     0,     0,
2582      274,   275,     0,     0,   221,     0,     0,     0,     0,     0,
2583        0,     0,     0,     0,   278,     0,     0,     0,     0,     0,
2584        0,     0,     0,     0,     0,     0,   586,   279,     0,     0,
2585        0,   280,   281,   282,   283,   284,   285,   286,     0,     0,
2586       80,   638,     0,     0,     0,     0,     0,   356,     0,     0,
2587       49,   290,   291,   356,     0,     0,   586,   586,   586,   586,
2588        0,     0,     0,     0,     0,     0,  1115,     0,     0,     0,
2589     1115,    49,     0,     0,     0,     0,     0,     0,     0,     0,
2590        0,     0,     0,     0,     0,   775,     0,     0,     0,     0,
2591      422,     0,     0,   422,     0,     0,     0,     0,   510,     0,
2592        0,     0,     0,     0,     0,     0,   422,     0,   422,     0,
2593      422,     0,     0,     0,     0,  1133,     0,     0,     0,  1137,
2594        0,     0,  1817,   356,     0,     0,     0,  1817,   510,     0,
2595        0,     0,     0,     0,     0,   510,     0,     0,   439,   221,
2596      356,     0,   510,     0,     0,   677,   365,   191,     0,   439,
2597        0,     0,   191,     0,   393,     0,   393,     0,  1468,  1174,
2598        0,     0,     0,     0,  1468,     0,   404,     0,     0,     0,
2599      191,     0,     0,     0,     0,     0,     0,     0,   393,     0,
2600      393,     0,     0,     0,     0,     0,  1232,     0,     0,     0,
2601      775,   677,    74,   510,  1244,     0,     0,     0,     0,     0,
2602        0,     0,   584,     0,     0,   775,   427,     0,     0,     0,
2603      510,     0,     0,  1350,  1301,     0,   775,     0,   550,   835,
2604      838,     0,   835,   838,   404,   404,     0,     0,   404,   404,
2605      835,   838,   835,   838,     0,     0,     0,     0,     0,   423,
2606      423,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2607        0,     0,     0,     0,     0,     0,     0,     0,   116,     0,
2608        0,     0,     0,   356,     0,   393,  1382,    74,     0,     0,
2609        0,   517,     0,     0,     0,     0,    74,     0,   116,     0,
2610        0,     0,     0,    74,    74,     0,     0,     0,   849,     0,
2611        0,   191,     0,     0,   368,     0,     0,     0,   835,   838,
2612        0,   427,     0,     0,     0,     0,     0,     0,     0,     0,
2613      836,   839,     0,   836,   839,     0,     0,   440,     0,     0,
2614        0,   836,   839,   836,   839,     0,     0,     0,     0,   440,
2615      849,     0,     0,   440,   393,   393,   393,   393,   393,   221,
2616      221,     0,     0,     0,     0,   393,   393,   393,   393,     0,
2617        0,     0,     0,   404,   404,     0,     0,     0,     0,   427,
2618      427,     0,     0,   427,   427,     0,     0,     0,     0,     0,
2619        0,     0,   365,     0,     0,   365,   354,     0,   352,   921,
2620        0,     0,     0,     0,     0,   422,   422,     0,     0,   836,
2621      839,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2623        0,   422,   422,   393,   393,     0,     0,  1544,     0,     0,
2624        0,     0,     0,     0,     0,     0,  1547,     0,     0,     0,
2625        0,     0,     0,   422,   422,     0,    74,   365,   422,   422,
2626        0,   368,   422,   422,   911,     0,    74,     0,    74,     0,
2627      368,     0,   365,     0,     0,     0,   368,   586,     0,     0,
2628      586,     0,     0,     0,     0,     0,     0,     0,     0,   586,
2629      422,     0,   422,  -475,  -475,  -475,  -475,  -475,  -475,  -475,
2630     -475,  -475,  -475,  -475,     0,     0,     0,     0,   427,   427,
2631        0,  1520,  1521,     0,     0,   760,   760,     0,   586,     0,
2632     1174,     0,     0,     0,   775,  1533,     0,     0,  1244,     0,
2633     1539,     0,     0,   586,   586,   586,   586,     0,     0,     0,
2634        0,   775,     0,  1115,     0,     0,     0,   423,     0,   423,
2635        0,     0,     0,   584,     0,     0,     0,     0,     0,     0,
2636        0,  1115,     0,     0,     0,     0,     0,   368,  1115,     0,
2637        0,   423,     0,   423,   677,     0,     0,     0,     0,     0,
2638      677,     0,     0,   584,   584,   584,   584,     0,   788,     0,
2639        0,     0,     0,     0,     0,     0,  -475,  -475,     0,     0,
2640      788,     0,     0,     0,     0,     0,  -475,     0,     0,     0,
2641        0,  -475,  -475,  -475,     0,  -475,  -475,  -475,  -475,  -475,
2642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2643        0,  1619,     0,     0,     0,     0,     0,     0,     0,     0,
2644        0,     0,     0,     0,   365,     0,     0,     0,     0,     0,
2645      365,     0,     0,   788,     0,     0,     0,     0,   911,     0,
2646        0,     0,     0,     0,   911,     0,     0,   911,     0,     0,
2647        0,     0,     0,     0,     0,     0,   231,     0,     0,     0,
2648        0,     0,     0,     0,     0,     0,     0,     0,     0,   365,
2649      365,     0,   365,   365,     0,     0,   366,     0,   365,   365,
2650      365,   365,     0,     0,   404,   404,     0,     0,     0,     0,
2651      365,   365,   365,   365,   365,   365,   365,   365,     0,     0,
2652      365,     0,     0,     0,     0,     0,     0,   423,   423,   423,
2653      423,   423,     0,     0,     0,     0,     0,     0,   423,   423,
2654      423,   423,     0,     0,     0,     0,     0,   366,     0,     0,
2655        0,     0,     0,     0,     0,     0,   231,     0,     0,     0,
2656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2658        0,     0,     0,     0,     0,     0,     0,  1669,     0,     0,
2659        0,   191,     0,     0,     0,     0,     0,     0,     0,     0,
2660        0,     0,     0,     0,     0,     0,   423,   423,   422,   422,
2661        0,     0,     0,     0,  1679,     0,     0,     0,     0,     0,
2662      368,     0,     0,     0,     0,     0,   510,   231,   231,   231,
2663        0,     0,     0,     0,     0,     0,    74,     0,     0,   427,
2664      427,     0,     0,   626,     0,     0,     0,     0,   231,     0,
2665        0,     0,   366,     0,     0,     0,     0,     0,   366,     0,
2666      365,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2667        0,   422,     0,     0,     0,     0,     0,     0,     0,     0,
2668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2669        0,     0,   911,     0,   911,     0,     0,     0,     0,     0,
2670        0,     0,     0,     0,   517,     0,     0,     0,     0,     0,
2671        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2672        0,     0,     0,     0,   921,   365,     0,     0,     0,   422,
2673      422,     0,     0,   422,   422,     0,     0,     0,     0,     0,
2674        0,     0,     0,     0,     0,     0,     0,     0,     0,   366,
2675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2676      586,   586,   368,     0,     0,   368,   368,     0,     0,   586,
2677        0,   586,   586,     0,     0,   586,     0,     0,     0,     0,
2678        0,   911,     0,   586,   584,     0,   586,   584,     0,     0,
2679        0,     0,   404,   305,   404,     0,   584,     0,     0,     0,
2680        0,   788,     0,     0,     0,     0,     0,     0,     0,   364,
2681        0,     0,   788,     0,     0,     0,   404,     0,   404,     0,
2682        0,     0,     0,     0,     0,   584,     0,     0,     0,     0,
2683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2684      584,   584,   584,   584,     0,     0,     0,     0,     0,     0,
2685        0,     0,     0,     0,     0,   912,     0,     0,   422,   422,
2686      364,     0,     0,     0,     0,     0,     0,     0,   368,     0,
2687        0,   914,     0,     0,     0,     0,     0,     0,   231,   921,
2688        0,     0,     0,     0,     0,   366,     0,     0,     0,     0,
2689        0,  1815,     0,     0,     0,     0,     0,     0,     0,     0,
2690        0,     0,  1619,     0,     0,     0,     0,  1533,     0,     0,
2691     1539,     0,     0,     0,  1619,     0,     0,     0,     0,     0,
2692        0,     0,     0,     0,     0,     0,     0,   427,     0,   427,
2693        0,     0,     0,     0,     0,   911,     0,     0,     0,   366,
2694        0,     0,   911,     0,     0,     0,   911,     0,     0,     0,
2695        0,   427,     0,   427,     0,     0,   364,     0,     0,     0,
2696      354,   639,   641,     0,     0,   364,     0,     0,     0,     0,
2697        0,   364,   404,   404,   404,   404,   404,     0,     0,     0,
2698        0,   305,     0,   404,   404,   404,   404,     0,     0,   921,
2699      231,   231,   231,   231,     0,     0,   364,     0,     0,     0,
2700        0,   364,  1077,     0,     0,     0,     0,     0,     0,   586,
2701      586,   586,   586,   231,   231,   586,     0,     0,     0,     0,
2702      586,   586,     0,   586,     0,   586,     0,     0,     0,     0,
2703        0,     0,     0,     0,     0,     0,  1105,   586,     0,     0,
2704        0,     0,     0,     0,     0,     0,     0,  1915,  1916,   912,
2705        0,   404,   404,     1,  1619,   912,     0,     0,   912,  1619,
2706        0,     0,   364,     0,     0,   914,     0,     0,     0,     0,
2707        0,   914,     0,     0,   914,     0,     0,     0,     2,     0,
2708        0,     0,   921,     0,     8,     9,    10,    11,    12,    13,
2709       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2710       24,   368,     0,     0,     0,     0,     0,   427,   427,   427,
2711      427,   427,     0,     0,     0,     0,    27,     0,   427,   427,
2712      427,   427,     0,     0,    28,    29,     0,     0,     0,    32,
2713        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
2714        0,     0,     0,     0,   366,     0,     0,   366,   366,     0,
2715       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2716        0,     0,   911,     0,     0,     0,     0,     0,   364,     0,
2717        0,   586,     0,     0,     0,     0,     0,     0,     0,     0,
2718        0,   586,     0,   586,     0,     0,   427,   427,     0,   422,
2719      422,     0,     0,     0,     0,     0,     0,     0,   364,     0,
2720        0,     0,     0,     0,     0,     0,   911,     0,   911,     0,
2721        0,     0,   921,     0,     0,     0,     0,     0,   912,     0,
2722        0,   366,     0,     0,     0,     0,   305,     0,     0,     0,
2723        0,     0,     0,     0,   586,   586,     0,     0,   586,     0,
2724      586,     0,     0,   586,     0,     0,     0,   586,     0,     0,
2725      366,     0,   364,  2010,     0,     0,     0,     0,     0,   366,
2726        0,     0,     0,     0,   911,     0,     0,   584,   584,     0,
2727        0,   921,   921,     0,     0,     0,   584,     0,   584,   584,
2728      586,     0,   584,   912,     0,   912,     0,     0,     0,     0,
2729      584,     0,     0,   584,     0,     0,     0,     0,     0,   914,
2730      914,   914,     0,     0,     0,     0,   323,     0,   586,     0,
2731        0,     0,     0,     0,     0,   364,     0,     0,     0,  1082,
2732        0,     0,   367,     0,     0,     0,     0,   368,     0,     0,
2733      368,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2734        0,   366,     0,     0,     0,     0,   305,     0,     0,     0,
2735      305,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2736        0,     0,   364,     0,     0,     0,     0,     0,   364,     0,
2737        0,   364,   912,   367,     0,     0,     0,     0,     0,     0,
2738        0,     0,     0,   366,     0,     0,     0,     0,   914,     0,
2739      305,     0,   368,     0,     0,     0,   364,   364,   364,   364,
2740      364,   364,   364,     0,     0,   364,   364,   368,   364,   364,
2741      364,   364,   364,   364,   364,   364,     0,   305,     0,     0,
2742        0,     0,     0,     0,     0,   305,   364,   364,   364,   364,
2743      364,   364,   364,   364,   364,   364,   364,   364,   364,   364,
2744      364,   364,   364,   364,     0,   305,     0,   231,   231,   231,
2745      231,     0,     0,     0,     0,     0,     0,   364,     0,     0,
2746      364,   364,     0,   911,     0,     0,     0,   231,     0,   367,
2747        0,     0,     0,     0,   640,   642,     0,   422,   367,   422,
2748        0,     0,     0,   366,   367,   366,     0,     0,     0,     0,
2749        0,     0,     0,     0,   323,     0,     0,     0,     0,     0,
2750        0,   422,     0,   422,     0,     0,     0,   366,     0,   367,
2751        0,     0,     0,     0,   367,     0,   584,   584,   584,   584,
2752        0,     0,   584,     0,     0,     0,   912,   584,   584,     0,
2753      584,   364,   584,   912,   364,     0,     0,   912,     0,     0,
2754        0,   914,   914,     0,   584,     0,     0,     0,   914,   914,
2755        0,     0,   914,   914,     0,     0,     0,     0,     0,     0,
2756        0,     0,     0,   364,     0,     0,     0,     0,     0,     0,
2757        0,     0,   364,     0,     0,   367,     0,     0,     0,   368,
2758        0,     0,     0,     0,     0,   368,     0,     0,     0,     0,
2759        0,     0,     0,     0,     0,     0,   364,     0,   364,     0,
2760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2762        0,     0,     0,     0,  1824,  1828,     0,  1834,  1838,     0,
2763        0,     0,     0,  1843,  1847,  1851,  1855,     0,     0,     0,
2764        0,     0,     0,     0,     0,   368,   368,   368,   368,   368,
2765      368,   368,   368,     0,   364,   368,     0,   422,   422,   422,
2766      422,   422,     0,     0,     0,     0,     0,     0,   422,   422,
2767      422,   422,     0,     0,     0,     0,     0,     0,   584,     0,
2768        0,   367,     0,     0,     0,   364,     0,     0,   584,     0,
2769      584,     0,     0,     0,     0,     0,   364,     0,     0,     0,
2770        0,     0,     0,     0,     0,     0,     0,     0,     0,   366,
2771        0,   367,   366,     0,     0,     0,     0,     0,     0,     0,
2772        0,     0,   305,   305,     0,     0,     0,     0,     0,     0,
2773        0,     0,     0,     0,     0,     0,   422,   422,     0,   323,
2774        0,   584,   584,     0,     0,   584,     0,   584,     0,     0,
2775      584,     0,     0,   912,   584,     0,     0,     0,     0,     0,
2776      366,     0,     0,     0,     0,   367,     0,     0,     0,   914,
2777        0,     0,     0,     0,   366,     0,     0,     0,     0,     0,
2778        0,     0,     0,     0,     0,     0,     0,   584,     0,   366,
2779        0,     0,     0,     0,     0,   368,   364,   912,   364,   912,
2780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2781        0,     0,     0,     0,     0,   584,   912,     0,     0,     0,
2782      364,     0,     0,     0,     0,     0,     0,     0,   367,     0,
2783        0,     0,  1083,     0,     0,   364,     0,     0,     0,   364,
2784        0,     0,   305,     0,     0,     0,   364,     0,     0,     0,
2785      364,     0,     0,     0,     0,   912,     0,     0,     0,   323,
2786      368,     0,     0,   323,     0,     0,     0,     0,     0,     0,
2787      914,   914,     0,     0,     0,   367,     0,     0,     0,     0,
2788        0,   367,     0,     0,   367,     0,     0,     0,     0,     0,
2789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2790        0,     0,     0,   323,     0,     0,     0,     0,     0,   367,
2791      367,   367,   367,   367,   367,   367,     0,     0,   367,   367,
2792        0,   367,   367,   367,   367,   367,   367,   367,   367,     0,
2793      323,     0,     0,     0,     0,     0,     0,     0,   323,   367,
2794      367,   367,   367,   367,   367,   367,   367,   367,   367,   367,
2795      367,   367,   367,   367,   367,   367,   367,     0,   323,     0,
2796        0,   366,     0,     0,     0,     0,   366,   366,   366,     0,
2797      367,     0,     0,   367,   367,     0,     0,     0,     0,     0,
2798        0,     0,   366,   366,     0,     0,     0,     0,     0,     0,
2799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2800        0,     0,     0,     0,     0,     0,  1823,  1827,     0,  1833,
2801     1837,     0,     0,     0,     0,  1842,  1846,  1850,  1854,     0,
2802        0,     0,   364,     0,     0,   364,     0,  1823,  1827,  1833,
2803     1837,  1842,  1846,  1850,  1854,     0,     0,   366,     0,     0,
2804        0,     0,     0,     0,   367,     0,     0,   367,     0,     0,
2805        0,     0,     0,     0,   912,     0,     0,     0,     0,     0,
2806        0,     0,     0,     0,     0,     0,   364,     0,     0,   914,
2807      914,     0,     0,   364,     0,     0,   367,     0,     0,     0,
2808        0,     0,     0,     0,     0,   367,     0,   364,     0,     0,
2809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2810        0,     0,   364,     0,     0,     0,     0,     0,     0,   367,
2811      364,   367,   364,     0,     0,     0,     0,     0,     0,     0,
2812        0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
2813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2814        0,     0,     0,     0,     0,     0,   268,     0,     1,   269,
2815       97,   270,     0,   271,   272,     0,     0,     0,     0,     0,
2816        0,     0,     0,     0,     0,     0,     0,   367,   364,     0,
2817        0,     0,     0,     2,     0,     0,     0,   366,   366,     0,
2818        0,     0,     0,     0,     0,     0,     0,     0,   366,     0,
2819        0,     0,     0,     0,     0,     0,     0,     0,   367,     0,
2820        0,     0,     0,     0,     0,     0,     0,     0,     0,   367,
2821      273,     0,     0,     0,     0,     0,   274,   275,   276,    28,
2822        0,     0,     0,     0,    32,     0,     0,     0,     0,   277,
2823      278,    38,     0,     0,     0,   323,   323,     0,     0,     0,
2824        0,     0,   912,   279,     0,   366,   366,   280,   281,   282,
2825      283,   284,   285,   286,   801,     0,     0,   802,   661,   289,
2826        0,     0,     0,     0,     0,     0,     0,   290,   291,     0,
2827      292,   293,   294,   295,   364,     0,     0,     0,     0,   364,
2828      364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
2829      305,     0,     0,     0,     0,   364,   364,     0,     0,     0,
2830        0,     0,   305,     0,     0,     0,     0,     0,     0,   367,
2831        0,   367,     0,    66,     0,     0,     0,     0,     0,   364,
2832      364,     0,   364,   364,     0,     0,     0,     0,   364,   364,
2833      364,   364,     0,   367,     0,     0,     0,     1,     0,     0,
2834      364,   364,   364,   364,   364,   364,   364,   364,   367,     0,
2835      364,     0,   367,     0,     0,   323,   108,     0,     0,   367,
2836        0,     0,     2,   367,     0,     0,     0,   364,     8,     9,
2837       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2838       20,    21,    22,    23,    24,     0,     0,     0,   157,     0,
2839        0,     0,     0,     0,     0,     0,   227,    66,     0,     0,
2840       27,     0,     0,     0,    66,    66,     0,     0,    28,    29,
2841        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
2842       38,    39,   346,     0,     0,     0,     0,     0,     0,     0,
2843        0,     0,   227,     0,    40,     0,    78,     0,   437,     0,
2844        0,     0,     0,    43,     0,     0,   774,     0,     0,     0,
2845      437,     0,   227,     0,   437,     0,     0,   508,   305,   305,
2846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2847        0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
2848       78,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2849      364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
2850        0,   364,     0,     0,   514,     0,     0,     0,     0,     0,
2851        0,    78,    78,     0,     0,     0,    78,     0,    78,     0,
2852       78,     0,     0,     0,     0,     0,     0,    78,    78,     0,
2853        0,     0,     0,     0,     0,   367,     0,     0,   367,     0,
2854        0,     0,     0,     0,   547,     0,     0,   227,   227,   227,
2855        0,     0,    78,    78,     0,   364,     0,   157,   364,   364,
2856        0,     0,     0,     0,     0,     0,     0,   157,   227,    66,
2857        0,     0,     0,     0,     0,     0,     0,     0,     0,   367,
2858        0,     0,     0,     0,     0,     0,   367,   647,     0,     0,
2859        0,     0,     0,   647,     0,     0,    78,    78,     0,     0,
2860      367,   666,     0,     0,     0,     0,     0,     0,     0,     0,
2861        0,     0,     0,     0,     0,   367,     0,     0,     0,     0,
2862        0,     0,     0,   367,     0,   367,     0,    78,     0,     0,
2863        0,     0,     0,     0,     0,     0,     0,    78,     0,    78,
2864        0,     0,   367,     0,   268,     0,     1,   269,    97,   270,
2865        0,   271,   272,     0,     0,     0,     0,     0,     0,     0,
2866        0,     0,     0,     0,   305,     0,     0,    78,     0,     0,
2867        0,     2,     0,     0,     0,     0,     0,     0,     0,     0,
2868       78,   367,   305,   547,     0,   227,   227,     0,     0,   786,
2869       78,     0,    78,     0,     0,     0,     0,     0,     0,     0,
2870        0,   786,     0,     0,     0,     0,     0,     0,   273,     0,
2871        0,     0,     0,     0,   274,   275,   276,     0,     0,     0,
2872        0,     0,     0,     0,     0,     0,     0,   277,   278,     0,
2873        0,     0,     0,     0,     0,     0,     0,   514,     0,     0,
2874        0,   279,     0,     0,     0,   280,   281,   282,   283,   284,
2875      285,   286,   287,     0,   878,   288,  1050,   289,     0,     0,
2876     1051,     0,     0,     0,     0,   290,   291,  1626,   292,   293,
2877      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
2878        0,     0,     0,     0,     0,     0,    78,   367,    78,     0,
2879        0,   227,   367,   367,   367,     0,     0,     0,   227,     0,
2880        0,     0,     0,   323,     0,     0,     0,     0,   367,   367,
2881        0,     0,     0,     0,     0,   323,     0,     0,     0,     0,
2882        0,     0,     0,     0,     0,    78,     0,     0,     0,     0,
2883        0,     0,   367,   367,     0,   367,   367,     0,     0,     0,
2884        0,   367,   367,   367,   367,     0,     0,     0,     0,     0,
2885        0,     0,     0,   367,   367,   367,   367,   367,   367,   367,
2886      367,     0,     0,   367,     0,     0,     0,     0,     0,     0,
2887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2888      367,     0,     0,     0,     0,     0,     0,  1031,     0,     0,
2889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2890        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2891      227,   227,   227,   227,     0,     0,    78,     0,    78,     0,
2892        0,     0,     0,     0,     0,     0,    78,    78,     0,     0,
2893        0,     0,     0,   227,   227,     0,     0,   157,     0,     0,
2894        0,     0,  1085,    78,     0,    78,     0,     0,     0,     0,
2895        0,     0,     0,    78,     0,    78,   227,     0,     0,     0,
2896        0,     0,     0,  1112,  1122,   666,     0,  1112,  1122,     0,
2897        0,   323,   323,     0,     0,     0,     0,     0,     0,   224,
2898        0,     0,  1141,     0,     0,   227,    78,     0,     0,     0,
2899        0,   227,     0,     0,   227,     0,     0,     0,     0,     0,
2900        0,     0,     0,   367,   367,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,   367,   224,     0,     0,     0,     0,
2902        0,   435,     0,     0,     0,     0,     0,     0,     0,     0,
2903        0,     0,     0,   435,     0,   224,     0,   435,     0,     0,
2904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2905        0,     0,     0,     0,     0,     0,     0,     0,     0,   224,
2906       78,     0,     0,     0,     0,     0,     0,     0,   367,     0,
2907        0,   367,   367,   514,     0,     0,     0,     0,     0,     0,
2908      227,     0,     0,   227,   227,     0,     0,   512,     0,     0,
2909        0,     0,     0,     0,   113,     0,     0,     0,     0,     0,
2910        0,     0,  1339,   514,     0,     0,     0,     0,     0,     0,
2911      514,     0,     0,  1339,   108,   666,     0,   514,     0,     0,
2912        0,     0,     0,     0,     0,   113,   113,   545,     0,     0,
2913      224,   224,   224,     0,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,   114,     0,     0,     0,     0,     0,     0,
2915        0,   224,     0,     0,     0,     0,     0,     0,     0,     0,
2916        0,     0,     0,     0,     0,     0,   348,   113,   514,     0,
2917      645,     0,     0,     0,   159,   114,   645,   323,     0,   200,
2918        0,   202,     0,     0,     0,   514,   227,     0,     0,     0,
2919        0,     0,     0,   227,   227,   323,     0,     0,     0,     0,
2920        0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
2921      348,   113,     0,     0,     0,   349,   114,     0,     0,   227,
2922      227,   227,     0,     0,     0,     0,     0,   547,     0,     0,
2923        0,     0,     0,     0,     0,     0,     0,     0,    78,     0,
2924        0,   113,     0,     0,     0,     0,     0,     0,     0,     0,
2925        0,     0,     0,     0,     0,     0,     0,     0,     0,   479,
2926      481,     0,     0,     0,     0,     0,   545,     0,   224,   224,
2927        0,     0,   785,     0,     0,     0,     0,     0,    78,     0,
2928        0,   113,     0,     0,   785,     0,     0,     0,     0,     0,
2929      114,    78,     0,     0,   113,     0,     0,     0,    78,     0,
2930      534,     0,   535,     0,     0,     0,     0,     0,   227,     0,
2931        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2932      512,     0,     0,     0,     0,     0,     0,     0,  1031,     0,
2933      114,     0,     0,     0,     0,     0,     0,   877,     0,     0,
2934        0,     0,     0,   159,     0,     0,     0,     0,     0,     0,
2935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2936        0,     0,     0,     0,     0,     0,     0,   227,   227,   227,
2937      227,     0,     0,     0,   224,     0,     0,     0,     0,     0,
2938        0,   224,     0,     0,     0,     0,     0,   227,     0,     0,
2939        0,     0,     0,     0,     0,     0,     0,     0,    78,     0,
2940      113,  1549,   348,     0,     0,     0,     0,     0,     0,     0,
2941        0,     0,     0,     0,     0,     0,     0,     0,   547,   227,
2942        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2943        0,     0,     0,     0,     0,     0,     0,     0,  1595,   113,
2944        0,     0,     0,     0,     0,  1595,     0,     0,     0,   114,
2945        0,   349,     0,     0,     0,     0,     0,     0,     0,     0,
2946        0,   227,   227,     0,     0,     0,     0,     0,   227,   227,
2947        0,     0,   227,   227,   848,     0,     0,     0,     0,     0,
2948        0,     0,     0,     0,     0,     0,     0,     0,   114,     0,
2949        0,     0,     0,   224,   224,   224,   224,     0,     0,     0,
2950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2951        0,     0,     0,     0,     0,     0,   224,   224,     0,     0,
2952        0,     0,   226,     0,     0,     0,   200,   202,     0,     0,
2953      113,     0,   348,     0,     0,     0,     0,     0,     0,   224,
2954      113,   113,     0,     0,     0,     0,  1110,  1120,     0,     0,
2955     1110,  1120,     0,     0,     0,     0,     0,   113,   226,   113,
2956        0,     0,     0,     0,     0,     0,     0,   348,   224,   113,
2957        0,     0,     0,     0,   224,     0,     0,   224,   226,   917,
2958        0,   918,     0,     0,     0,     0,     0,     0,     0,   114,
2959      114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2960      348,     0,   226,     0,     0,     0,   114,     0,   114,     0,
2961        0,     0,     0,     0,     0,     0,   349,     0,   114,     0,
2962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2963      513,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2964        0,     0,     0,     0,     0,   227,     0,     0,   227,   349,
2965        0,     0,     0,     0,     0,     0,   512,     0,     0,     0,
2966        0,     0,     0,   224,     0,     0,   224,   224,     0,     0,
2967      546,     0,     0,   226,   226,   226,     0,     0,   229,     0,
2968        0,     0,     0,     0,     0,  1338,   512,     0,     0,   227,
2969        0,     0,     0,   512,   226,     0,  1338,     0,     0,     0,
2970      512,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2971      227,     0,     0,   646,   229,     0,     0,     0,     0,   646,
2972        0,   227,   227,   227,   227,     0,     0,   665,     0,     0,
2973        0,     0,     0,     0,   229,  1044,     0,     1,   269,    97,
2974      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
2975        0,   512,     0,     0,     0,     0,     0,     0,   229,     0,
2976        0,     0,     2,     0,     0,     0,     0,     0,   512,   224,
2977        0,     0,     0,     0,     0,     0,   224,   224,     0,     0,
2978        0,   514,     0,     0,     0,     0,   516,     0,   224,     0,
2979      227,   227,     0,     0,     0,     0,     0,     0,     0,   273,
2980        0,     0,   224,   224,   224,   274,   275,   276,     0,   546,
2981      545,   226,   226,     0,     0,     0,     0,     0,   277,   278,
2982        0,     0,     0,     0,     0,     0,   549,     0,     0,   229,
2983      229,   229,   279,     0,     0,     0,   280,   281,   282,   283,
2984      284,   285,   286,   287,     0,     0,   288,  1349,   289,  1045,
2985      229,  1046,   113,     0,   227,     0,   290,   291,     0,   292,
2986      293,   294,   295,   513,     0,     0,     0,     0,     0,   649,
2987        0,     0,     0,     0,     0,   649,     0,     0,     0,     0,
2988        0,     0,     0,   668,     0,     0,     0,     0,     0,     0,
2989        0,   224,   113,     0,     0,     0,     0,   227,     0,  1379,
2990     1381,   114,     0,   227,    78,   113,     0,     0,     0,     0,
2991        0,     0,   113,     0,     0,     0,     0,   226,     0,     0,
2992        0,   666,   848,     0,   226,     0,     0,     0,     0,     0,
2993        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2994        0,   114,     0,     0,     0,     0,     0,     0,   200,   202,
2995      224,   224,   224,   224,   114,     0,     0,     0,   534,     0,
2996      535,   114,     0,     0,   848,   549,     0,   229,   229,     0,
2997      224,     0,     0,   227,     0,     0,     0,     0,     0,     0,
2998        0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
2999      227,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3000        0,   545,   224,     0,     0,     0,     0,     0,     0,     0,
3001        0,     0,   113,     0,     0,     0,     0,     0,     0,   516,
3002        0,  1593,     0,     0,     0,     0,     0,     0,  1593,     0,
3003        0,     0,     0,     0,     0,     0,   226,   226,   226,   226,
3004        0,     0,     0,     0,   224,   224,     0,     0,     0,     0,
3005        0,   224,   224,     0,     0,   224,   224,     0,     0,   226,
3006      226,   114,     0,     0,     0,     0,     0,     0,  1084,     0,
3007        0,     0,     0,   229,     0,     0,     0,     0,     0,     0,
3008      229,     0,   226,     0,     0,     0,     0,     0,     0,  1111,
3009     1121,   665,     0,  1111,  1121,     0,     0,     0,     0,     1,
3010        0,     0,     0,     0,     0,     0,     0,     0,  1140,     0,
3011        0,   226,     0,   227,     0,   666,     0,   226,     0,     0,
3012      226,     0,     0,     0,     2,   172,   173,   174,   175,   176,
3013        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
3014       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
3015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3016        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
3017       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
3018        0,    37,    38,    39,     0,     0,     0,     0,     0,   227,
3019      227,     0,   229,   229,   229,   229,    40,     0,     0,   513,
3020        0,     0,     0,     0,     0,    43,   226,     0,   507,   226,
3021      226,     0,     0,     0,     0,   229,   229,     0,     0,   508,
3022        0,   509,     0,     0,  1087,     0,     0,     0,   224,   513,
3023        0,   224,     0,     0,     0,     0,   513,     0,   229,     0,
3024        0,   665,     0,   513,     0,  1114,  1124,   668,     0,  1114,
3025     1124,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3026        0,     0,     0,     0,  1143,     0,     0,   229,     0,     0,
3027        0,     0,   224,   229,     0,     0,   229,     0,     0,     0,
3028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3029        0,     0,     0,   224,   513,     0,     0,     0,     0,     0,
3030        0,     0,     0,     0,   224,   224,   224,   224,     0,     0,
3031        0,   513,   226,     0,     0,     0,     0,     0,     0,   226,
3032      226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3033        0,   226,     0,     0,     0,     0,     0,     0,     0,     0,
3034        0,     0,     0,     0,     0,   226,   226,   226,     0,     0,
3035        0,     0,     0,   546,     0,   516,     0,     0,     0,     0,
3036        0,     0,   229,     0,   512,   229,   229,     0,   225,     0,
3037        0,     0,     0,   224,   224,     0,     0,     0,     0,     0,
3038        0,     0,     0,     0,     0,   516,     0,     0,     0,     0,
3039        0,     0,   516,     0,     0,     0,     0,   668,     0,   516,
3040     1666,  1668,     0,     0,   225,     0,     0,     0,     0,     0,
3041      225,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3042        0,     0,   225,     0,   225,     0,   225,     0,  1349,     0,
3043     1680,     0,  1681,     0,   226,     0,     0,   224,     0,     0,
3044        0,     0,     0,     0,     0,     0,     0,     0,   225,     0,
3045      516,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3046        0,     0,     0,     0,     0,     0,     0,   516,   229,     0,
3047        0,     0,     0,     0,     0,   229,   229,     0,     0,   534,
3048      224,   535,     0,     0,     0,     0,   224,   229,     0,     0,
3049        0,     0,     0,   226,   226,   226,   226,     0,     0,     0,
3050        0,   229,   229,   229,     0,     0,     0,     0,     0,   549,
3051        0,     0,     0,   226,     0,     0,   225,     0,   113,   225,
3052      225,   225,     0,     0,     0,     0,     0,  1548,     0,     0,
3053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3054      225,     0,     0,     0,   546,   226,     0,     0,     0,     0,
3055        0,     0,     0,     0,     0,     0,   224,     0,     0,   225,
3056        0,     0,     0,     0,  1594,   225,     0,   114,     0,     0,
3057        0,  1594,   224,   224,     0,     0,     0,     0,     0,     0,
3058        0,     0,     0,     0,     0,     0,     0,   226,   226,     0,
3059      229,     0,     0,     0,   226,   226,     1,     0,   226,   226,
3060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3061        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3062        0,     2,   172,   173,   174,   175,   176,   204,   205,   206,
3063      207,   208,   209,   210,   211,   212,   213,    18,    19,   214,
3064      215,    22,    23,    24,     0,     0,     0,     0,     0,   229,
3065      229,   229,   229,     0,     0,   225,     0,   225,   225,   216,
3066        0,   225,     0,     0,     0,     0,     0,    28,    29,   229,
3067        0,     0,    32,   225,     0,     0,     0,     0,   217,    38,
3068      218,     0,     0,  1551,     0,     0,     0,     0,     0,     0,
3069        0,     0,     0,   219,     0,     0,   224,     0,     0,     0,
3070      549,   229,    43,     0,     0,   774,     0,     0,     0,     0,
3071        0,     0,  1336,     0,     0,     0,   508,  1863,     0,  1864,
3072     1597,     0,     0,     0,     0,     0,   225,  1597,     0,  1666,
3073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3074        0,     0,     0,   229,   229,     0,     0,     0,     0,     0,
3075      229,   229,     0,     0,   229,   229,   171,     0,     1,     0,
3076        0,     0,     0,   225,     0,     0,     0,     0,     0,     0,
3077      225,   226,   224,   224,   226,     0,     0,     0,     0,     0,
3078        0,     0,     0,     2,   172,   173,   174,   175,   176,     8,
3079        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3080       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
3081        0,     0,     0,     0,     0,   226,   230,     0,     0,     0,
3082      177,    27,     0,     0,     0,     0,     0,     0,     0,    28,
3083       29,     0,     0,     0,    32,     0,   226,    35,    36,     0,
3084       37,    38,    39,     0,     0,     0,     0,   226,   226,   226,
3085      226,     0,   230,     0,   675,    40,     0,     0,   230,     0,
3086        0,     0,     0,     0,    43,     0,     0,   507,   949,   702,
3087      230,     0,   230,     0,   230,     0,     0,     0,   508,     0,
3088        0,     0,   225,   225,   225,   225,     0,     0,     0,     0,
3089        0,     0,     0,     0,     0,     0,   230,     0,     0,     0,
3090        0,     0,     0,     0,     0,   225,   225,   513,     0,     0,
3091        0,     0,     0,     0,     0,     0,   226,   226,     0,     0,
3092        0,     0,     0,     0,     0,     0,     0,   229,   225,     0,
3093      229,     0,     0,     0,     0,   225,   225,     0,     0,   225,
3094      225,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3095        0,     0,     0,     0,     0,     0,     0,   225,     0,     0,
3096        0,     0,     0,   225,   230,     0,   225,   230,   230,   230,
3097        0,   229,     0,     0,     0,     0,     0,     0,     0,     0,
3098      226,     0,     0,     0,     0,     0,     0,     0,   230,     0,
3099        0,     0,   229,     0,     0,     0,     0,     0,     0,     0,
3100        0,     0,     0,   229,   229,   229,   229,   230,     0,     0,
3101        0,     0,     0,   230,     0,     0,   591,     0,     0,     0,
3102        0,     0,     0,   226,     0,     0,     0,     0,     0,   226,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,     0,     0,     0,   665,     0,     0,
3105        0,     0,   225,     0,     0,   225,   225,     0,     0,     0,
3106        0,     0,     0,   516,     0,     0,     0,     0,   664,     0,
3107        0,     0,   229,   229,   225,     0,     0,     0,     0,     0,
3108        0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
3109        0,     0,     0,     0,     0,     0,     0,     0,     0,   226,
3110        0,     0,     0,   230,     0,   230,   230,     0,     0,   230,
3111        0,     0,     0,     0,     0,   226,   226,     0,     0,     0,
3112        0,   230,     0,     0,     0,     0,     0,     0,     0,     0,
3113        0,     0,     0,     0,     0,  1026,   229,     0,     0,     0,
3114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3115        0,     0,     0,     0,     0,     0,     0,     0,   225,     0,
3116        0,     0,     0,     0,     0,   225,   225,     0,     0,   664,
3117        0,     0,     0,     0,   230,     0,     0,   225,     0,   229,
3118        0,     0,     0,     0,     0,   229,     0,     0,     0,     0,
3119        0,   225,   225,   225,     0,     0,     0,     0,     0,   225,
3120        0,     0,     0,   668,     0,     0,     0,     0,     0,     0,
3121        0,   230,     0,     0,     0,     0,     0,     0,   230,     0,
3122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3123        0,     0,     0,     0,     0,     0,     0,     0,     0,   226,
3124        0,   665,     0,     0,     0,     0,     0,     0,     0,   675,
3125        0,     0,     0,     0,     0,   229,     0,     0,     0,     0,
3126        0,     0,     0,  1173,     0,     0,     0,     0,     0,     0,
3127        0,   229,   229,     0,     0,     0,     0,     0,     0,     0,
3128      225,     0,  1199,  1204,  1208,  1212,  1216,     0,     0,  1225,
3129     1231,     0,     0,     0,     0,   675,     0,     0,  1243,     0,
3130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3131     1270,  1275,  1279,  1283,  1287,   226,   226,  1225,  1300,     0,
3132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3133      230,   230,   230,   230,     0,  1225,  1225,     0,     0,   225,
3134      225,   225,   225,     0,     0,     0,     0,     0,     0,     0,
3135        0,     0,  1029,   230,   230,     0,     0,     0,     0,   225,
3136        0,     0,     0,     0,     0,     0,     0,  1048,     0,     0,
3137        0,     0,     0,     0,     0,     0,   230,   591,   591,   591,
3138      591,     0,     0,   230,   230,     0,     0,   230,   230,     0,
3139      225,   225,     0,     0,     0,   229,     0,   668,     0,     0,
3140        0,     0,     0,     0,     0,   230,     0,     0,     0,     0,
3141      225,   230,     0,     0,   230,     0,     0,   225,   664,     0,
3142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3143        0,     0,     0,   225,   225,     0,     0,     0,     0,     0,
3144      225,   225,     0,  1048,   225,   225,     0,     0,     0,     0,
3145        0,     0,     0,   268,     0,     1,   269,    97,   270,     0,
3146      271,   272,     0,     0,     0,     0,     0,     0,  1172,     0,
3147        0,   229,   229,     0,     0,     0,     0,     0,     0,     0,
3148        2,     0,     0,     0,     0,     0,     0,     0,  1018,     0,
3149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3150      230,     0,     0,   230,   230,     0,  1229,     0,     0,     0,
3151        0,     0,     0,     0,  1242,     0,     0,   273,     0,     0,
3152     1058,  1062,   230,   274,   275,   276,     0,     0,     0,     0,
3153        0,     0,     0,   230,  1298,     0,   277,   278,     0,     0,
3154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3155      279,     0,  1324,  1328,   280,   281,   282,   283,   284,   285,
3156      286,   287,     0,     0,   288,  1050,   289,     0,   663,  1631,
3157        0,     0,     0,  1632,   290,   291,  1026,   292,   293,   294,
3158      295,     0,   664,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3160        0,     0,     0,     0,  1173,     0,   230,     0,     0,     0,
3161        0,     0,  1243,   230,   230,     0,     0,   225,     0,   268,
3162      225,     1,   269,    97,   270,   230,   271,   272,     0,     0,
3163        0,     0,     0,     0,     0,     0,     0,     0,     0,   230,
3164      230,   230,     0,     0,     0,     0,     2,   230,     0,     0,
3165        0,     0,     0,     0,     0,     0,     0,     0,   675,     0,
3166        0,   225,     0,     0,   675,     0,     0,     0,     0,   663,
3167     1006,  1007,  1008,   565,  1009,  1010,  1011,  1012,   570,   571,
3168     1013,     0,   225,   273,     0,     0,     0,     0,     0,   274,
3169      275,   276,     0,   225,   225,   225,   225,  1014,     0,     0,
3170        0,     0,   277,   278,  1015,     0,   575,   576,   577,     0,
3171        0,     0,     0,     0,     0,  1618,   279,     0,     0,     0,
3172      280,   281,   282,   283,   284,   285,   286,   287,   230,     0,
3173      288,  -470,   289,   578,     0,  -470,     0,   220,     0,   579,
3174      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
3175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3176        0,     0,   225,   225,     0,     0,     0,     0,     0,     0,
3177        0,     0,     0,     0,     0,     0,     0,     0,   591,     0,
3178        0,   591,  1486,  1488,     0,  1492,     0,   230,   230,   230,
3179      230,     0,     0,  1502,     0,     0,     0,     0,     0,     0,
3180        0,  1511,     0,     0,     0,     0,     0,   230,  1048,     0,
3181        0,     0,     0,     0,     0,     0,     0,     0,     0,   591,
3182        0,     0,     0,     0,     0,     0,   225,  1048,     0,     0,
3183        0,     0,  1048,     0,   591,   591,   591,   591,   230,   230,
3184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3185        0,     0,  1028,     0,     0,     0,     0,     0,   230,     0,
3186        0,     0,     0,     0,     0,   230,     0,  1047,     0,   225,
3187        0,  1052,     0,     0,     0,   225,     0,  1563,     0,     0,
3188        0,   230,   230,  1573,     0,     0,     0,     0,   230,   230,
3189        0,     0,   230,   230,     0,     0,     0,     0,     0,     0,
3190        0,     0,     0,     0,     0,     0,  1048,     0,     0,     0,
3191        0,     0,     0,     0,     0,     0,     0,     0,   663,  1479,
3192        0,     0,  1483,     0,     0,     0,     0,     0,     0,     0,
3193        0,  1499,  1126,     0,     0,     0,     0,     0,     0,     0,
3194        0,     0,     0,  1047,  1052,   225,     0,     0,     0,     0,
3195        0,  1048,     0,     0,     0,     0,     0,     0,     0,     0,
3196     1523,   225,   225,     0,     0,     0,     0,     0,  1171,     0,
3197        0,     0,     0,     0,     0,  1058,  1062,  1058,  1062,     0,
3198        0,     0,     0,     0,     0,     0,  1163,     0,     1,   269,
3199       97,   270,     0,   271,   272,     0,     0,     0,     0,     0,
3200        0,     0,     0,     0,     0,     0,  1227,  1048,     0,     0,
3201        0,     0,     0,     2,  1241,     0,     0,     0,     0,     0,
3202        0,  1048,     0,     0,     0,     0,     0,     0,     0,     0,
3203        0,     0,     0,     0,  1296,     0,     0,     0,     0,     0,
3204        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3205      273,     0,  1322,  1326,     0,     0,   274,   275,   276,     0,
3206        0,     0,     0,     0,     0,   230,     0,     0,   230,   277,
3207      278,     0,     0,     0,     0,     0,  1048,     0,     0,     0,
3208        0,     0,   663,   279,     0,   225,     0,   280,   281,   282,
3209      283,   284,   285,   286,   287,     0,     0,   288,  1164,   289,
3210        0,     0,  1048,     0,   672,     0,  1048,   290,   291,   230,
3211      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
3212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3213      230,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3214        0,   230,   230,   230,   230,     0,     0,     0,     0,     0,
3215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3216        0,   225,   225,     0,     0,     0,     0,     0,     0,     0,
3217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3218        0,     0,     0,     0,     0,     0,  1618,     0,     0,     0,
3219        0,  1819,  1821,  1825,  1829,  1831,  1835,     0,  1618,     0,
3220        0,  1840,  1844,  1848,  1852,     0,     0,     0,     0,     0,
3221      230,   230,     0,  1821,  1825,  1831,  1835,  1840,  1844,  1848,
3222     1852,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3223        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3224        0,     0,     0,     0,     0,    82,     0,     0,     0,     0,
3225        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3226        0,   591,   591,     0,     0,  1048,     0,  1048,     0,     0,
3227        0,  1048,   591,     0,   230,     0,     0,  1743,  1746,     0,
3228     1748,     0,  1485,  1487,     0,  1491,     0,     0,   111,   117,
3229     1048,     0,  1759,  1028,     0,     0,     0,  1052,     0,     0,
3230        0,  1510,     0,     0,     0,     0,     0,     0,  1047,  1052,
3231        0,     0,     0,     0,     0,     0,     0,   230,     0,     0,
3232      161,   117,     0,   230,     0,   201,     0,  1047,  1052,    82,
3233        0,     0,  1047,     0,     0,     0,    82,    82,  1618,     0,
3234        0,     0,  1048,  1618,     0,     0,     0,     0,     0,     0,
3235        0,     0,  1048,     0,   347,     0,     0,     0,     0,     0,
3236        0,   350,     0,     0,     0,     0,     0,     0,     0,     0,
3237        0,     0,     0,     0,     0,     0,     0,  1562,     0,     0,
3238        0,     0,     0,  1572,     0,     0,     0,     0,     0,     0,
3239        0,     0,     0,   230,     0,     0,     0,     0,     0,     0,
3240        0,     0,  1726,  1728,     0,   480,  1047,     0,     0,   230,
3241      230,  1735,     0,  1739,  1479,     0,     0,  1483,     0,     0,
3242        0,     0,     0,     0,     0,  1523,     0,     0,  1752,     0,
3243        0,     0,     0,     0,     0,     0,   519,     0,     0,     0,
3244      268,     0,     1,   269,    97,   270,     0,   271,   272,     0,
3245        0,  1047,  1052,     0,     0,     0,     0,     0,     0,     0,
3246        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
3247        0,     0,     0,     0,     0,     0,   117,     0,     0,     0,
3248        0,     0,     0,     0,     0,     0,     0,     0,     0,   161,
3249        0,     0,     0,     0,     0,     0,     0,     0,     0,    82,
3250        0,    82,     0,     0,   273,     0,     0,  1047,     0,  1052,
3251      274,   275,   276,     0,     0,     0,   591,     0,  1048,     0,
3252        0,  1047,  1052,   277,   278,  1048,     0,     0,     0,  1748,
3253        0,  1897,     0,   230,     0,     0,     0,   279,     0,     0,
3254     1904,   280,   281,   282,   283,   284,   285,   286,   287,     0,
3255        0,   288,  1050,   289,     0,     0,  1051,     0,     0,     0,
3256        0,   290,   291,  1637,   292,   293,   294,   295,     0,     0,
3257        0,     0,     0,     0,     0,     0,  1047,     0,  1052,     0,
3258        0,     0,   664,     0,     0,     0,     0,     0,     0,     0,
3259        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3260        0,     0,  1047,     0,  1052,     0,  1047,     0,  1052,   230,
3261      230,     0,     0,     0,     0,   776,     0,   268,     0,     1,
3262      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
3263        0,     0,     0,     0,   117,     0,     0,     0,     0,     0,
3264        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
3265        0,  1886,  1887,  1888,  1889,     0,     0,  1890,     0,     0,
3266        0,     0,  1726,  1728,     0,  1735,     0,  1739,     0,   850,
3267        0,     0,   859,  1958,  1961,     0,  1048,     0,  1048,  1899,
3268        0,   273,   591,  1048,   591,     0,     0,   274,   275,   276,
3269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3270      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
3271        0,     0,     0,     0,   279,     0,     0,     0,   280,   281,
3272      282,   283,   284,   285,   286,   287,     0,     0,   288,  1050,
3273      289,  1517,     0,  1051,     0,   117,   117,  1048,   290,   291,
3274     1048,   292,   293,   294,   295,     0,     0,     0,   591,     0,
3275        0,     0,   519,     0,   117,     0,     0,     0,     0,     0,
3276        0,     0,   962,     0,     0,  1047,  1052,  1047,  1052,     0,
3277        0,  1047,  1738,     0,     0,     0,     0,  1485,  1745,     0,
3278     1510,     0,  1052,     0,  1048,     0,     0,     0,     0,     0,
3279     1047,  1052,  1510,     0,     0,   350,     0,     0,     0,     0,
3280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3281        0,     0,     0,  1890,     0,     0,     0,     0,     0,     0,
3282        0,     0,     0,  1966,     0,  1969,     0,     0,     0,     0,
3283        0,     0,   268,     0,     1,   269,    97,   270,     0,   271,
3284      272,     0,  1047,  1052,     0,     0,     0,     0,     0,     0,
3285        0,     0,  1047,  1052,     0,     0,     0,     0,     0,     2,
3286        0,     0,     0,     0,     0,     0,     0,     0,     0,    82,
3287        0,     0,     0,     0,     0,     0,  1998,  1999,     0,     0,
3288     1966,     0,  1969,     0,     0,  2003,     0,     0,     0,  2005,
3289        0,     0,     0,     0,     0,  1117,   273,     0,     0,  1117,
3290        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
3291        0,     0,     0,     0,   776,   277,   278,     0,     0,     0,
3292        0,     0,  2005,     0,     0,     0,     0,     0,     0,   279,
3293        0,     0,     0,   280,   281,   282,   283,   284,   285,   286,
3294      287,     0,     0,   288,  1050,   289,     0,     0,  1631,     0,
3295     2042,     0,  1640,   290,   291,     0,   292,   293,   294,   295,
3296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3297        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3300        0,     0,     0,     0,     0,     0,     0,     0,   268,     0,
3301        1,   269,    97,   270,     0,   271,   272,     0,  1047,   776,
3302     1330,     0,     0,  1052,     0,  1047,  1738,     0,  1052,  1510,
3303        0,  1896,     0,  1898,   776,     2,     0,     0,     0,  1052,
3304     1903,     0,  1351,     0,     0,   776,   111,   117,     0,     0,
3305        0,     0,     0,     0,     0,     0,     0,     0,     0,  1006,
3306     1007,  1008,   565,  1009,  1010,  1011,  1012,   570,   571,  1013,
3307        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
3308      276,     0,   663,     0,     0,     0,  1014,   117,     0,     0,
3309        0,   277,   278,  1015,  1380,   575,   576,   577,     0,     0,
3310      519,     0,     0,     0,     0,   279,     0,   117,     0,   280,
3311      281,   282,   283,   284,   285,   286,   287,   850,     0,   288,
3312     1050,   289,   578,     0,  1051,     0,   220,     0,   579,   290,
3313      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
3314        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3315        0,     0,     0,     0,     0,     0,     0,     0,     0,   850,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,     0,  1957,  1960,     0,  1047,  1052,  1047,   682,
3318        0,     0,     0,  1047,  1738,   683,   684,   685,  -360,  -360,
3319     -360,  -360,  -360,  -360,  -360,  -360,     0,     0,     0,     0,
3320        0,     0,     0,     0,     0,     0,  -360,  -360,  -360,  -360,
3321     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3322     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,     0,
3323        0,     0,     0,     0,     0,     0,     0,  1047,  1052,     0,
3324     1047,  1738,     0,     0,  -360,  2004,     0,     0,     0,     0,
3325        0,     0,  -360,  -360,     0,     0,     0,  -360,     0,     0,
3326        0,     0,     0,  -360,  -360,  -360,     0,     0,     0,     0,
3327        0,     0,     0,     0,     0,     0,     0,     0,  -360,     0,
3328        0,     0,     0,     0,  1047,     0,     0,  -360,  -360,  -360,
3329      686,     0,     0,  -360,  1439,  -360,  -360,     0,   687,     0,
3330        0,   688,     0,  -360,  -360,  -360,     0,  -360,  -360,  -360,
3331     -360,  -360,     0,     0,     0,     0,     0,     0,     0,     0,
3332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3333        0,     0,     0,   776,     0,     0,     0,     0,     0,     0,
3334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3335      776,     0,  1117,     0,     0,     0,     0,     0,     0,     0,
3336     1586,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3337     1117,     0,     0,     0,     0,  -360,   682,  1117,  -360,  -360,
3338     -360,  -360,   683,   684,   685,  -360,  -360,  -360,  -360,  -360,
3339     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3340     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3341     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3342     -360,  -360,  -360,  -360,  -360,  -360,     0,  -360,  -360,  -360,
3343     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,     0,     0,
3344     -360,  -360,     0,  -360,     0,     0,  -360,  -360,  -360,  -360,
3345     -360,     0,     0,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3346     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3347        0,  -360,     0,  -360,  -360,  -360,     0,  -360,  -360,  -360,
3348     -360,  -360,  -360,  -360,  -360,  -360,  -360,   686,  -360,  -360,
3349     -360,  -360,  -360,  -360,  -360,   687,  -360,  -360,   688,  -360,
3350     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,     0,
3351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3352        0,     0,     0,     0,     0,     0,  -362,  1091,     0,  -362,
3353     -362,  -362,  -362,  1092,  1093,  1094,  -362,  -362,  -362,  -362,
3354     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3355     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3356     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3357     -362,  -362,  -362,  -362,  -362,  -362,  -362,     0,  -362,  -362,
3358     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,     0,
3359        0,  -362,  -362,     0,  -362,  1667,     0,  -362,  -362,  -362,
3360     -362,  -362,     0,     0,  -362,  -362,  -362,  -362,  -362,  -362,
3361     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3362     -362,     0,  -362,  1351,  -362,  -362,  -362,     0,  -362,  -362,
3363     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  1095,  -362,
3364     -362,  -362,  -362,  -362,  -362,  -362,  1096,  -362,  -362,  1097,
3365     -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,  -362,
3366        0,     0,  -467,  1042,     0,  -467,  -467,  -467,  -467,  -467,
3367     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3368     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3369     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3370     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3371     -467,  -467,  -467,   519,  -467,  -467,  -467,  -467,  -467,  -467,
3372     -467,  -467,  -467,  -467,  -467,     0,     0,  -467,  -467,     0,
3373     -467,     0,     0,  -467,  -467,  -467,  -467,  -467,     0,     0,
3374     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3375     -467,  -467,  -467,  -467,  -467,  -467,  -467,     0,  -467,     0,
3376     -467,  -467,  -467,     0,  -467,  -467,  -467,  -467,  -467,  -467,
3377     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3378     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3379     -467,  -467,  -467,  -467,  -467,  -467,     0,     0,     0,     0,
3380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3382        0,     0,     0,  -303,  1044,     0,     1,   269,    97,   270,
3383     -303,   271,   272,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3384     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3385     -303,     2,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3386     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3387     -303,  -303,  -303,  -303,     0,  -303,  -303,  -303,  -303,  -303,
3388     -303,  -303,  -303,  -303,  -303,  -303,     0,     0,   273,  -303,
3389        0,  -303,     0,     0,   274,   275,   276,  -303,  -303,     0,
3390        0,  -303,  -303,  -303,  -303,  -303,  -303,   277,   278,  -303,
3391     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,     0,  -303,
3392        0,   279,  -303,  -303,  1667,   280,   281,   282,   283,   284,
3393      285,   286,   287,  -303,  -303,   288,  1138,   289,  -303,  -303,
3394     1046,  -303,  -303,  -303,  -303,   290,   291,  -303,   292,   293,
3395      294,   295,  -303,  -303,  -303,  -303,  -303,  -304,   268,     0,
3396        1,   269,    97,   270,  -304,   271,   272,  -304,  -304,  -304,
3397     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3398     -304,  -304,  -304,  -304,  -304,     2,  -304,  -304,  -304,  -304,
3399     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3400     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,  -304,
3401     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3402        0,     0,   273,  -304,     0,  -304,     0,     0,   274,   275,
3403      276,  -304,  -304,     0,     0,  -304,  -304,  -304,  -304,  -304,
3404     -304,   277,   278,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3405     -304,  -304,     0,  -304,     0,   279,  -304,  -304,     0,   280,
3406      281,   282,   283,   284,   285,   286,   287,  -304,  -304,   288,
3407     1050,   289,  -304,  -304,  1051,  -304,  -304,  -304,  -304,   290,
3408      291,  -304,   292,   293,   294,   295,  -304,  -304,  -304,  -304,
3409     -304,  -609,   268,     0,     1,   269,    97,   270,  -609,   271,
3410      272,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3411     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,     2,
3412     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3413     -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3414     -609,  -609,     0,  -609,  -609,  -609,  -609,  -609,  -609,  -609,
3415     -609,  -609,  -609,  -609,     0,     0,   273,  -609,     0,  -609,
3416        0,     0,   274,   275,   276,  -609,  -609,     0,     0,  -609,
3417     -609,  -609,  -609,  -609,  -609,   277,   278,  -609,  -609,  -609,
3418     -609,  -609,  -609,  -609,  -609,  -609,     0,  -609,     0,   279,
3419     -609,  -609,     0,   280,   281,   282,   283,   284,   285,   286,
3420      287,  -609,  -609,   288,  -609,   289,  -609,  -609,  -609,  -609,
3421      672,  -609,  1224,   290,   291,  -609,   292,   293,   294,   295,
3422     -609,  -609,  -609,  -609,  -609,  -610,   268,     0,     1,   269,
3423       97,   270,  -610,   271,   272,  -610,  -610,  -610,  -610,  -610,
3424     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3425     -610,  -610,  -610,     2,  -610,  -610,  -610,  -610,  -610,  -610,
3426     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3427     -610,  -610,  -610,  -610,  -610,  -610,     0,  -610,  -610,  -610,
3428     -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,     0,     0,
3429      273,  -610,     0,  -610,     0,     0,   274,   275,   276,  -610,
3430     -610,     0,     0,  -610,  -610,  -610,  -610,  -610,  -610,   277,
3431      278,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,  -610,
3432        0,  -610,     0,   279,  -610,  -610,     0,   280,   281,   282,
3433      283,   284,   285,   286,   287,  -610,  -610,   288,  -610,   289,
3434     -610,  -610,  -610,  -610,   672,  -610,  1295,   290,   291,  -610,
3435      292,   293,   294,   295,  -610,  -610,  -610,  -610,  -610,  -625,
3436     1044,     0,     1,   269,    97,   270,  -625,   271,   272,  -625,
3437     -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,
3438     -625,  -625,  -625,  -625,  -625,  -625,  -625,     2,  -625,  -625,
3439     -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,
3440     -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,
3441        0,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,  -625,
3442     -625,  -625,     0,     0,   273,  -625,     0,  -625,     0,     0,
3443      274,   275,   276,  -625,  -625,     0,     0,  -625,  -625,  -625,
3444     -625,  -625,  -625,   277,   278,  -625,  -625,  -625,  -625,  -625,
3445     -625,  -625,  -625,  -625,     0,  -625,     0,   279,  -625,  -625,
3446        0,   280,   281,   282,   283,   284,   285,   286,   287,  -625,
3447     -625,   288,  -625,   289,  -625,  -625,  1046,  -625,  -625,  -625,
3448     -625,   290,   291,  -625,   292,   293,   294,   295,  -625,  -625,
3449     -625,  -625,  -625,  -627,   268,     0,     1,   269,    97,   270,
3450     -627,   271,   272,  -627,  -627,  -627,  -627,  -627,  -627,  -627,
3451     -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,
3452     -627,     2,  -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,
3453     -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,
3454     -627,  -627,  -627,  -627,     0,  -627,  -627,  -627,  -627,  -627,
3455     -627,  -627,  -627,  -627,  -627,  -627,     0,     0,   273,  -627,
3456        0,  -627,     0,     0,   274,   275,   276,  -627,  -627,     0,
3457        0,  -627,  -627,  -627,  -627,  -627,  -627,   277,   278,  -627,
3458     -627,  -627,  -627,  -627,  -627,  -627,  -627,  -627,     0,  -627,
3459        0,   279,  -627,  -627,     0,   280,   281,   282,   283,   284,
3460      285,   286,   287,  -627,  -627,   288,  1050,   289,  -627,  -627,
3461     1051,  -627,  -627,  -627,  -627,   290,   291,  -627,   292,   293,
3462      294,   295,  -627,  -627,  -627,  -627,  -627,  -626,  1044,     0,
3463        1,   269,    97,   270,  -626,   271,   272,  -626,  -626,  -626,
3464     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3465     -626,  -626,  -626,  -626,  -626,     2,  -626,  -626,  -626,  -626,
3466     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3467     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,     0,  -626,
3468     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3469        0,     0,   273,  -626,     0,  -626,     0,     0,   274,   275,
3470      276,  -626,  -626,     0,     0,  -626,  -626,  -626,  -626,  -626,
3471     -626,   277,   278,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3472     -626,  -626,     0,  -626,     0,   279,  -626,  -626,     0,   280,
3473      281,   282,   283,   284,   285,   286,   287,  -626,  -626,   288,
3474     -626,   289,  -626,  -626,  1046,  -626,  -626,  -626,  -626,   290,
3475      291,  -626,   292,   293,   294,   295,  -626,  -626,  -626,  -626,
3476     -626,  -356,  1773,     0,  -356,  -356,  -356,  -356,  -356,  -356,
3477     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3478     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3479     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3480     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3481     -356,  -356,     0,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3482     -356,  -356,  -356,  -356,     0,     0,  -356,  -356,     0,  -356,
3483        0,     0,  -356,  -356,  -356,  -356,  -356,     0,     0,  -356,
3484     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3485     -356,  -356,  -356,  -356,  -356,  -356,     0,  -356,     0,  -356,
3486     -356,  -356,     0,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3487     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3488     -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,  -356,
3489     -356,  -356,  -356,  -356,  -356,  -349,  1816,     0,     1,   269,
3490       97,   270,  -349,   271,   272,  -349,  -349,  -349,  -349,  -349,
3491     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3492     -349,  -349,  -349,     2,  -349,  -349,  -349,  -349,  -349,  -349,
3493     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3494     -349,  -349,  -349,  -349,  -349,  -349,     0,  -349,  -349,  -349,
3495     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     0,     0,
3496      273,  -349,     0,  -349,     0,     0,   274,   275,   276,  -349,
3497     -349,     0,     0,  -349,  -349,  -349,  -349,  -349,  -349,   277,
3498      278,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3499        0,  -349,     0,   279,  -349,  -349,     0,   280,   281,   282,
3500      283,   284,   285,   286,   287,  -349,  -349,   288,  -349,   289,
3501     -349,  -349,  -349,  -349,   672,  -349,  -349,   290,   291,  -349,
3502      292,   293,   294,   295,  -349,  -349,  -349,  -349,  -349,  -587,
3503      268,     0,     1,   269,    97,   270,  -587,   271,   272,  -587,
3504     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3505     -587,  -587,  -587,  -587,  -587,  -587,  -587,     2,  -587,  -587,
3506     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3507     -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3508        0,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,  -587,
3509     -587,  -587,     0,     0,   273,  -587,     0,  -587,     0,     0,
3510      274,   275,   276,  -587,  -587,     0,     0,  -587,  -587,  -587,
3511     -587,  -587,  -587,   277,   278,  -587,  -587,  -587,  -587,  -587,
3512     -587,  -587,  -587,  -587,     0,  -587,     0,   279,  -587,  -587,
3513        0,   280,   281,   282,   283,   284,   285,   286,   287,  -587,
3514     -587,   288,  -587,   289,  -587,  -587,  -587,  -587,   672,  -587,
3515     -587,   290,   291,  -587,   292,   293,   294,   295,  -587,  -587,
3516     -587,  -587,  -587,  -595,   268,     0,     1,   269,    97,   270,
3517     -595,   271,   272,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3518     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3519     -595,     2,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3520     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,
3521     -595,  -595,  -595,  -595,     0,  -595,  -595,  -595,  -595,  -595,
3522     -595,  -595,  -595,  -595,  -595,  -595,     0,     0,   273,  -595,
3523        0,  -595,     0,     0,   274,   275,   276,  -595,  -595,     0,
3524        0,  -595,  -595,  -595,  -595,  -595,  -595,   277,   278,  -595,
3525     -595,  -595,  -595,  -595,  -595,  -595,  -595,  -595,     0,  -595,
3526        0,   279,  -595,  -595,     0,   280,   281,   282,   283,   284,
3527      285,   286,   287,  -595,  -595,   288,  -595,   289,  -595,  -595,
3528     -595,  -595,   672,  -595,  -595,   290,   291,  -595,   292,   293,
3529      294,   295,  -595,  -595,  -595,  -595,  -595,  -588,   268,     0,
3530        1,   269,    97,   270,  -588,   271,   272,  -588,  -588,  -588,
3531     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3532     -588,  -588,  -588,  -588,  -588,     2,  -588,  -588,  -588,  -588,
3533     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3534     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,     0,  -588,
3535     -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3536        0,     0,   273,  -588,     0,  -588,     0,     0,   274,   275,
3537      276,  -588,  -588,     0,     0,  -588,  -588,  -588,  -588,  -588,
3538     -588,   277,   278,  -588,  -588,  -588,  -588,  -588,  -588,  -588,
3539     -588,  -588,     0,  -588,     0,   279,  -588,  -588,     0,   280,
3540      281,   282,   283,   284,   285,   286,   287,  -588,  -588,   288,
3541     -588,   289,  -588,  -588,  -588,  -588,   672,  -588,  -588,   290,
3542      291,  -588,   292,   293,   294,   295,  -588,  -588,  -588,  -588,
3543     -588,  -596,   268,     0,     1,   269,    97,   270,  -596,   271,
3544      272,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3545     -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,     2,
3546     -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3547     -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3548     -596,  -596,     0,  -596,  -596,  -596,  -596,  -596,  -596,  -596,
3549     -596,  -596,  -596,  -596,     0,     0,   273,  -596,     0,  -596,
3550        0,     0,   274,   275,   276,  -596,  -596,     0,     0,  -596,
3551     -596,  -596,  -596,  -596,  -596,   277,   278,  -596,  -596,  -596,
3552     -596,  -596,  -596,  -596,  -596,  -596,     0,  -596,     0,   279,
3553     -596,  -596,     0,   280,   281,   282,   283,   284,   285,   286,
3554      287,  -596,  -596,   288,  -596,   289,  -596,  -596,  -596,  -596,
3555      672,  -596,  -596,   290,   291,  -596,   292,   293,   294,   295,
3556     -596,  -596,  -596,  -596,  -596,  -349,  1839,     0,     1,   269,
3557       97,   270,  -349,   271,   272,  -349,  -349,  -349,  -349,  -349,
3558     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3559     -349,  -349,  -349,     2,  -349,  -349,  -349,  -349,  -349,  -349,
3560     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3561     -349,  -349,  -349,  -349,  -349,  -349,     0,  -349,  -349,  -349,
3562     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     0,     0,
3563      273,  -349,     0,  -349,     0,     0,   274,   275,   276,  -349,
3564     -349,     0,     0,  -349,  -349,  -349,  -349,  -349,  -349,   277,
3565      278,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3566        0,  -349,     0,   279,  -349,  -349,     0,   280,   281,   282,
3567      283,   284,   285,   286,   287,  -349,  -349,   288,  -349,   289,
3568     -349,  -349,  -349,  -349,   672,  -349,  -349,   290,   291,  -349,
3569      292,   293,   294,   295,  -349,  -349,  -349,  -349,  -349,  -589,
3570      268,     0,     1,   269,    97,   270,  -589,   271,   272,  -589,
3571     -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,
3572     -589,  -589,  -589,  -589,  -589,  -589,  -589,     2,  -589,  -589,
3573     -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,
3574     -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,
3575        0,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,  -589,
3576     -589,  -589,     0,     0,   273,  -589,     0,  -589,     0,     0,
3577      274,   275,   276,  -589,  -589,     0,     0,  -589,  -589,  -589,
3578     -589,  -589,  -589,   277,   278,  -589,  -589,  -589,  -589,  -589,
3579     -589,  -589,  -589,  -589,     0,  -589,     0,   279,  -589,  -589,
3580        0,   280,   281,   282,   283,   284,   285,   286,   287,  -589,
3581     -589,   288,  -589,   289,  -589,  -589,  -589,  -589,   672,  -589,
3582     -589,   290,   291,  -589,   292,   293,   294,   295,  -589,  -589,
3583     -589,  -589,  -589,  -597,   268,     0,     1,   269,    97,   270,
3584     -597,   271,   272,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
3585     -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
3586     -597,     2,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
3587     -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,
3588     -597,  -597,  -597,  -597,     0,  -597,  -597,  -597,  -597,  -597,
3589     -597,  -597,  -597,  -597,  -597,  -597,     0,     0,   273,  -597,
3590        0,  -597,     0,     0,   274,   275,   276,  -597,  -597,     0,
3591        0,  -597,  -597,  -597,  -597,  -597,  -597,   277,   278,  -597,
3592     -597,  -597,  -597,  -597,  -597,  -597,  -597,  -597,     0,  -597,
3593        0,   279,  -597,  -597,     0,   280,   281,   282,   283,   284,
3594      285,   286,   287,  -597,  -597,   288,  -597,   289,  -597,  -597,
3595     -597,  -597,   672,  -597,  -597,   290,   291,  -597,   292,   293,
3596      294,   295,  -597,  -597,  -597,  -597,  -597,  -590,   268,     0,
3597        1,   269,    97,   270,  -590,   271,   272,  -590,  -590,  -590,
3598     -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,
3599     -590,  -590,  -590,  -590,  -590,     2,  -590,  -590,  -590,  -590,
3600     -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,
3601     -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,     0,  -590,
3602     -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,  -590,
3603        0,     0,   273,  -590,     0,  -590,     0,     0,   274,   275,
3604      276,  -590,  -590,     0,     0,  -590,  -590,  -590,  -590,  -590,
3605     -590,   277,   278,  -590,  -590,  -590,  -590,  -590,  -590,  -590,
3606     -590,  -590,     0,  -590,     0,   279,  -590,  -590,     0,   280,
3607      281,   282,   283,   284,   285,   286,   287,  -590,  -590,   288,
3608     -590,   289,  -590,  -590,  -590,  -590,   672,  -590,  -590,   290,
3609      291,  -590,   292,   293,   294,   295,  -590,  -590,  -590,  -590,
3610     -590,  -598,   268,     0,     1,   269,    97,   270,  -598,   271,
3611      272,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3612     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,     2,
3613     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3614     -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3615     -598,  -598,     0,  -598,  -598,  -598,  -598,  -598,  -598,  -598,
3616     -598,  -598,  -598,  -598,     0,     0,   273,  -598,     0,  -598,
3617        0,     0,   274,   275,   276,  -598,  -598,     0,     0,  -598,
3618     -598,  -598,  -598,  -598,  -598,   277,   278,  -598,  -598,  -598,
3619     -598,  -598,  -598,  -598,  -598,  -598,     0,  -598,     0,   279,
3620     -598,  -598,     0,   280,   281,   282,   283,   284,   285,   286,
3621      287,  -598,  -598,   288,  -598,   289,  -598,  -598,  -598,  -598,
3622      672,  -598,  -598,   290,   291,  -598,   292,   293,   294,   295,
3623     -598,  -598,  -598,  -598,  -598,  -358,  1917,     0,  -358,  -358,
3624     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3625     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3626     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3627     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3628     -358,  -358,  -358,  -358,  -358,  -358,     0,  -358,  -358,  -358,
3629     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,     0,     0,
3630     -358,  -358,     0,  -358,     0,     0,  -358,  -358,  -358,  -358,
3631     -358,     0,     0,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3632     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3633        0,  -358,     0,  -358,  -358,  -358,     0,  -358,  -358,  -358,
3634     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3635     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,
3636     -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -358,  -357,
3637     1918,     0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3638     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3639     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3640     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3641     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3642        0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3643     -357,  -357,     0,     0,  -357,  -357,     0,  -357,     0,     0,
3644     -357,  -357,  -357,  -357,  -357,     0,     0,  -357,  -357,  -357,
3645     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3646     -357,  -357,  -357,  -357,     0,  -357,     0,  -357,  -357,  -357,
3647        0,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3648     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3649     -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
3650     -357,  -357,  -357,  -349,  1919,     0,     1,   269,    97,   270,
3651     -349,   271,   272,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3652     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3653     -349,     2,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3654     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3655     -349,  -349,  -349,  -349,     0,  -349,  -349,  -349,  -349,  -349,
3656     -349,  -349,  -349,  -349,  -349,  -349,     0,     0,   273,  -349,
3657        0,  -349,     0,     0,   274,   275,   276,  -349,  -349,     0,
3658        0,  -349,  -349,  -349,  -349,  -349,  -349,   277,   278,  -349,
3659     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     0,  -349,
3660        0,   279,  -349,  -349,     0,   280,   281,   282,   283,   284,
3661      285,   286,   287,  -349,  -349,   288,  -349,   289,  -349,  -349,
3662     -349,  -349,   672,  -349,  -349,   290,   291,  -349,   292,   293,
3663      294,   295,  -349,  -349,  -349,  -349,  -349,  -349,  1920,     0,
3664        1,   269,    97,   270,  -349,   271,   272,  -349,  -349,  -349,
3665     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3666     -349,  -349,  -349,  -349,  -349,     2,  -349,  -349,  -349,  -349,
3667     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3668     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     0,  -349,
3669     -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3670        0,     0,   273,  -349,     0,  -349,     0,     0,   274,   275,
3671      276,  -349,  -349,     0,     0,  -349,  -349,  -349,  -349,  -349,
3672     -349,   277,   278,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
3673     -349,  -349,     0,  -349,     0,   279,  -349,  -349,     0,   280,
3674      281,   282,   283,   284,   285,   286,   287,  -349,  -349,   288,
3675     -349,   289,  -349,  -349,  -349,  -349,   672,  -349,  -349,   290,
3676      291,  -349,   292,   293,   294,   295,  -349,  -349,  -349,  -349,
3677     -349,  -360,   682,     0,  -360,  -360,  -360,  -360,   683,   684,
3678      685,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3679     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3680     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3681     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3682     -360,  -360,     0,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3683     -360,  -360,  -360,  -360,     0,     0,  -360,  -360,     0,  -360,
3684        0,     0,  -360,  -360,  -360,  -360,  -360,     0,     0,  -360,
3685     -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3686     -360,  -360,  -360,  -360,  -360,  -360,     0,  -360,     0,  -360,
3687     -360,  -360,     0,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
3688     -360,  -360,  -360,   686,  -360,  -360,  -360,  -360,  -360,  -360,
3689     -360,  1040,  -360,  -360,   688,     0,  -360,  -360,  -360,  -360,
3690     -360,  -360,  -360,  -360,  -360,  -467,  1042,     0,  -467,  -467,
3691     -467,  -467,     0,  -467,  -467,     0,     0,     0,     0,     0,
3692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3693        0,     0,     0,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3694     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3695     -467,  -467,  -467,  -467,  -467,  -467,     0,  -467,  -467,  -467,
3696     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,     0,     0,
3697     -467,  -467,     0,  -467,     0,     0,  -467,  -467,  -467,  -467,
3698     -467,     0,     0,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3699     -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,  -467,
3700        0,  -467,     0,  -467,  -467,  -467,     0,  -467,  -467,  -467,
3701     -467,  -467,  -467,  -467,  -467,     0,     0,  -467,  -467,  -467,
3702     -467,     0,  -467,  -467,  -467,  1043,  -467,  -467,  -467,     0,
3703     -467,  -467,  -467,  -467, -1064,   268,     0,     1,   269,    97,
3704      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
3705        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3706        0,     0,     2, -1064, -1064, -1064, -1064, -1064, -1064, -1064,
3707    -1064, -1064, -1064, -1064, -1064, -1064, -1064, -1064, -1064, -1064,
3708    -1064, -1064, -1064, -1064, -1064,     0, -1064, -1064, -1064, -1064,
3709    -1064, -1064, -1064, -1064, -1064, -1064, -1064,     0,     0,   273,
3710    -1064,     0, -1064,     0,     0,   274,   275,   276, -1064, -1064,
3711        0,     0, -1064, -1064, -1064, -1064, -1064, -1064,   277,   278,
3712    -1064, -1064, -1064, -1064, -1064, -1064, -1064, -1064, -1064,     0,
3713    -1064,     0,   279, -1064, -1064,     0,   280,   281,   282,   283,
3714      284,   285,   286,   287,     0,     0,   288,  1050,   289, -1064,
3715        0,  1051, -1064, -1064,     0, -1064,   290,   291,     0,   292,
3716      293,   294,   295, -1200,   268,     0,     1,   269,    97,   270,
3717        0,   271,   272,     0,     0,     0,     0,     0,     0,     0,
3718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3719        0,     2, -1200, -1200, -1200, -1200, -1200, -1200, -1200, -1200,
3720    -1200, -1200, -1200, -1200, -1200, -1200, -1200, -1200, -1200, -1200,
3721    -1200, -1200, -1200, -1200,     0, -1200, -1200, -1200, -1200, -1200,
3722    -1200, -1200, -1200, -1200, -1200, -1200,     0,     0,   273, -1200,
3723        0, -1200,     0,     0,   274,   275,   276, -1200, -1200,     0,
3724        0, -1200, -1200, -1200, -1200, -1200, -1200,   277,   278, -1200,
3725    -1200, -1200, -1200, -1200, -1200, -1200, -1200, -1200,     0, -1200,
3726        0,   279, -1200, -1200,     0,   280,   281,   282,   283,   284,
3727      285,   286,   287,     0,     0,   288,  1050,   289,  1517,     0,
3728     1051, -1200, -1200,     0, -1200,   290,   291,     0,   292,   293,
3729      294,   295, -1155,   268,     0,     1,   269,    97,   270,     0,
3730      271,   272,     0,     0,     0,     0,     0,     0,     0,     0,
3731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3732        2, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
3733    -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155, -1155,
3734    -1155, -1155, -1155,     0, -1155, -1155, -1155, -1155, -1155, -1155,
3735    -1155, -1155, -1155, -1155, -1155,     0,     0,   273, -1155,     0,
3736    -1155,     0,     0,   274,   275,   276, -1155, -1155,     0,     0,
3737    -1155, -1155, -1155, -1155, -1155, -1155,   277,   278, -1155, -1155,
3738    -1155, -1155, -1155, -1155, -1155, -1155, -1155,     0, -1155,     0,
3739      279, -1155, -1155,     0,   280,   281,   282,   283,   284,   285,
3740      286,   287,     0,     0,   288,  1731,   289, -1155,     0,  1051,
3741    -1155, -1155,     0, -1155,   290,   291,     0,   292,   293,   294,
3742      295, -1188,  1737,     0,     1,   269,    97,   270,     0,   271,
3743      272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3744        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3745    -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188,
3746    -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188, -1188,
3747    -1188, -1188,     0,   562,   563,   564,   565,   566,   567,   568,
3748      569,   570,   571,   572,     0,     0,   273, -1188,     0, -1188,
3749        0,     0,   274,   275,   276, -1188, -1188,     0,     0, -1188,
3750     1014, -1188, -1188, -1188, -1188,   277,   278,  1015, -1188,   575,
3751      576,   577, -1188, -1188, -1188, -1188,     0, -1188,     0,   279,
3752    -1188, -1188,     0,   280,   281,   282,   283,   284,   285,   286,
3753      287,     0,     0,   288,  1050,   289,   578,     0,  1051, -1188,
3754      220,     0,   579,   290,   291,     0,   292,   293,   294,   295,
3755     -626,  1044,     0,     1,   269,    97,   270,     0,   271,   272,
3756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3757        0,     0,     0,     0,     0,     0,     0,     0,     2,  -626,
3758     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3759     -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3760     -626,     0,  -626,  -626,  -626,  -626,  -626,  -626,  -626,  -626,
3761     -626,  -626,  -626,     0,     0,   273,  -626,     0,  -626,     0,
3762        0,   274,   275,   276,  -626,  -626,     0,     0,  -626,  -626,
3763     -626,  -626,  -626,  -626,   277,   278,  -626,  -626,  -626,  -626,
3764     -626,  -626,  -626,  -626,  -626,     0,  -626,     0,   279,  -626,
3765     -626,     0,   280,   281,   282,   283,   284,   285,   286,   287,
3766        0,     0,   288,  -626,   289,  1045,     0,  1046,  -626,  -626,
3767        0,  -626,   290,   291,     0,   292,   293,   294,   295, -1179,
3768     1044,     0,     1,   269,    97,   270,     0,   271,   272,     0,
3769        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3770        0,     0,     0,     0,     0,     0,     0,     2, -1179, -1179,
3771    -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179,
3772    -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179,
3773        0, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179, -1179,
3774    -1179, -1179,     0,     0,   273, -1179,     0, -1179,     0,     0,
3775      274,   275,   276, -1179, -1179,     0,     0, -1179, -1179, -1179,
3776    -1179, -1179, -1179,   277,   278, -1179, -1179, -1179, -1179, -1179,
3777    -1179, -1179, -1179, -1179,     0, -1179,     0,   279, -1179, -1179,
3778        0,   280,   281,   282,   283,   284,   285,   286,   287,     0,
3779        0,   288,  1962,   289, -1179,     0,  1046, -1179, -1179,     0,
3780    -1179,   290,   291,     0,   292,   293,   294,   295, -1180,   268,
3781        0,     1,   269,    97,   270,     0,   271,   272,     0,     0,
3782        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3783        0,     0,     0,     0,     0,     0,     2, -1180, -1180, -1180,
3784    -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180,
3785    -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180,     0,
3786    -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180, -1180,
3787    -1180,     0,     0,   273, -1180,     0, -1180,     0,     0,   274,
3788      275,   276, -1180, -1180,     0,     0, -1180, -1180, -1180, -1180,
3789    -1180, -1180,   277,   278, -1180, -1180, -1180, -1180, -1180, -1180,
3790    -1180, -1180, -1180,     0, -1180,     0,   279, -1180, -1180,     0,
3791      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
3792      288,  1050,   289,  1963,     0,  1051, -1180, -1180,     0, -1180,
3793      290,   291,     0,   292,   293,   294,   295, -1174,   268,     0,
3794        1,   269,    97,   270,     0,   271,   272,     0,     0,     0,
3795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3796        0,     0,     0,     0,     0,     2, -1174, -1174, -1174, -1174,
3797    -1174, -1174, -1174, -1174, -1174, -1174, -1174, -1174, -1174, -1174,
3798    -1174, -1174, -1174, -1174, -1174, -1174, -1174, -1174,     0,   562,
3799      563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
3800        0,     0,   273, -1174,     0, -1174,     0,     0,   274,   275,
3801      276, -1174, -1174,     0,     0, -1174,  1014, -1174, -1174, -1174,
3802    -1174,   277,   278,  1015, -1174,   575,   576,   577, -1174, -1174,
3803    -1174, -1174,     0, -1174,     0,   279, -1174, -1174,     0,   280,
3804      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
3805     1050,   289,   578,     0,  1051, -1174,   220,     0,   579,   290,
3806      291,     0,   292,   293,   294,   295, -1121,   553,     0, -1121,
3807    -1121, -1121, -1121,     0, -1121, -1121,     0,     0,     0,     0,
3808        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3809        0,     0,     0,     0, -1121, -1121, -1121, -1121, -1121, -1121,
3810    -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121,
3811    -1121, -1121, -1121, -1121, -1121, -1121, -1121,     0, -1121, -1121,
3812    -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121,     0,
3813        0, -1121, -1121,     0, -1121,     0,     0, -1121, -1121, -1121,
3814    -1121, -1121,     0,     0, -1121, -1121, -1121, -1121, -1121, -1121,
3815    -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121, -1121,
3816    -1121,     0, -1121,     0, -1121, -1121, -1121,     0, -1121, -1121,
3817    -1121, -1121, -1121, -1121, -1121, -1121,     0,     0, -1121,     0,
3818    -1121,   554,     0, -1121, -1121, -1121,     0, -1121, -1121, -1121,
3819        0, -1121, -1121, -1121, -1121, -1144,   268,     0,     1,   269,
3820       97,   270,     0,   271,   272,     0,     0,     0,     0,     0,
3821        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3822        0,     0,     0,     2,   172,   173,   174,   175,   176,   204,
3823      205,   206,   207,   208,   209,   210,   211,   212,   213,    18,
3824       19,   214,   215,    22,    23,    24,     0,   562,   563,   564,
3825      565,   566,   567,   568,   569,   570,   571,   572,     0,     0,
3826      273,   216,     0, -1144,     0,     0,   274,   275,   276,    28,
3827       29,     0,     0, -1144,   573, -1144, -1144, -1144, -1144,   277,
3828      355,   574,   218,   575,   576,   577, -1144, -1144, -1144, -1144,
3829        0, -1144,     0,   279, -1144,   219,     0,   280,   281,   282,
3830      283,   284,   285,   286,   287,     0,     0,   288,     0,   289,
3831      578,     0, -1144, -1144,   220,     0,   579,   290,   291,     0,
3832      292,   293,   294,   295, -1122,   553,     0, -1122, -1122, -1122,
3833    -1122,     0, -1122, -1122,     0,     0,     0,     0,     0,     0,
3834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3835        0,     0, -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122,
3836    -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122,
3837    -1122, -1122, -1122, -1122, -1122,     0, -1122, -1122, -1122, -1122,
3838    -1122, -1122, -1122, -1122, -1122, -1122, -1122,     0,     0, -1122,
3839    -1122,     0, -1122,     0,     0, -1122, -1122, -1122, -1122, -1122,
3840        0,     0, -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122,
3841    -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122, -1122,     0,
3842    -1122,     0, -1122, -1122, -1122,     0, -1122, -1122, -1122, -1122,
3843    -1122, -1122, -1122, -1122,     0,     0, -1122,     0, -1122,   554,
3844        0, -1122, -1122, -1122,     0, -1122, -1122, -1122,     0, -1122,
3845    -1122, -1122, -1122, -1184,   268,     0,     1,   269,    97,   270,
3846        0,   271,   272,     0,     0,     0,     0,     0,     0,     0,
3847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3848        0,     2, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
3849    -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184, -1184,
3850    -1184, -1184, -1184, -1184,     0,  1006,  1007,  1008,   565,  1009,
3851     1010,  1011,  1012,   570,   571,  1013,     0,     0,   273, -1184,
3852        0, -1184,     0,     0,   274,   275,   276, -1184, -1184,     0,
3853        0, -1184,  1014, -1184, -1184, -1184, -1184,   277,   278,  1015,
3854    -1184,   575,   576,   577, -1184, -1184, -1184, -1184,     0, -1184,
3855        0,   279, -1184, -1184,     0,   280,   281,   282,   283,   284,
3856      285,   286,   287,     0,     0,   288,     0,   289,   578,     0,
3857    -1184, -1184,   220,     0,   579,   290,   291,     0,   292,   293,
3858      294,   295, -1202,   268,     0,     1,   269,    97,   270,     0,
3859      271,   272,     0,     0,     0,     0,     0,     0,     0,     0,
3860        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3861        2, -1202, -1202, -1202, -1202, -1202, -1202, -1202, -1202, -1202,
3862    -1202, -1202, -1202, -1202, -1202, -1202, -1202, -1202, -1202, -1202,
3863    -1202, -1202, -1202,     0, -1202, -1202, -1202, -1202, -1202, -1202,
3864    -1202, -1202, -1202, -1202, -1202,     0,     0,   273, -1202,     0,
3865    -1202,     0,     0,   274,   275,   276, -1202, -1202,     0,     0,
3866    -1202, -1202, -1202, -1202, -1202, -1202,   277,   278, -1202, -1202,
3867    -1202, -1202, -1202, -1202, -1202, -1202, -1202,     0, -1202,     0,
3868      279, -1202, -1202,     0,   280,   281,   282,   283,   284,   285,
3869      286,   287,     0,     0,   288,     0,   289,  1025,     0, -1202,
3870    -1202,   672,     0, -1202,   290,   291,     0,   292,   293,   294,
3871      295, -1134,  1053,     0,     1,   269,    97,   270,     0,   271,
3872      272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3873        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
3874      172,   173,   174,   175,   176,   204,   205,   206,   207,   208,
3875      209,   210,   211,   212,   213,    18,    19,   214,   215,    22,
3876       23,    24,     0,   562,   563,   564,   565,   566,   567,   568,
3877      569,   570,   571,   572,     0,     0,   273,   216,     0, -1134,
3878        0,     0,   274,   275,   276,    28,    29,     0,     0, -1134,
3879      573, -1134, -1134, -1134, -1134,   277,   355,   574,   218,   575,
3880      576,   577, -1134, -1134, -1134, -1134,     0, -1134,     0,   279,
3881    -1134,   219,     0,   280,   281,   282,   283,   284,   285,   286,
3882      287,     0,     0,   288,     0,   289,   578,     0, -1134, -1134,
3883      220,     0,   579,   290,   291,     0,   292,   293,   294,   295,
3884    -1138,   268,     0,     1,   269,    97,   270,     0,   271,   272,
3885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3886        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
3887      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
3888      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
3889       24,     0,   562,   563,   564,   565,   566,   567,   568,   569,
3890      570,   571,   572,     0,     0,   273,   216,     0, -1138,     0,
3891        0,   274,   275,   276,    28,    29,     0,     0, -1138,   573,
3892    -1138, -1138, -1138, -1138,   277,   355,   574,   218,   575,   576,
3893      577, -1138, -1138, -1138, -1138,     0, -1138,     0,   279, -1138,
3894      219,     0,   280,   281,   282,   283,   284,   285,   286,   287,
3895        0,     0,   288,     0,   289,   578,     0, -1138, -1138,   220,
3896        0,   579,   290,   291,     0,   292,   293,   294,   295, -1133,
3897      268,     0,     1,   269,    97,   270,     0,   271,   272,     0,
3898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3899        0,     0,     0,     0,     0,     0,     0,     2,   172,   173,
3900      174,   175,   176,   204,   205,   206,   207,   208,   209,   210,
3901      211,   212,   213,    18,    19,   214,   215,    22,    23,    24,
3902        0,   562,   563,   564,   565,   566,   567,   568,   569,   570,
3903      571,   572,     0,     0,   273,   216,     0, -1133,     0,     0,
3904      274,   275,   276,    28,    29,     0,     0, -1133,   573, -1133,
3905    -1133, -1133, -1133,   277,   355,   574,   218,   575,   576,   577,
3906    -1133, -1133, -1133, -1133,     0, -1133,     0,   279, -1133,   219,
3907        0,   280,   281,   282,   283,   284,   285,   286,   287,     0,
3908        0,   288,     0,   289,   578,     0, -1133, -1133,   220,     0,
3909      579,   290,   291,     0,   292,   293,   294,   295, -1137,   268,
3910        0,     1,   269,    97,   270,     0,   271,   272,     0,     0,
3911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3912        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
3913      175,   176,   204,   205,   206,   207,   208,   209,   210,   211,
3914      212,   213,    18,    19,   214,   215,    22,    23,    24,     0,
3915      562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
3916      572,     0,     0,   273,   216,     0, -1137,     0,     0,   274,
3917      275,   276,    28,    29,     0,     0, -1137,   573, -1137, -1137,
3918    -1137, -1137,   277,   355,   574,   218,   575,   576,   577, -1137,
3919    -1137, -1137, -1137,     0, -1137,     0,   279, -1137,   219,     0,
3920      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
3921      288,     0,   289,   578,     0, -1137, -1137,   220,     0,   579,
3922      290,   291,     0,   292,   293,   294,   295, -1051,  1066,     0,
3923    -1051, -1051, -1051, -1051,     0, -1051, -1051,     0,     0,     0,
3924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3925        0,     0,     0,     0,     0, -1051, -1051, -1051, -1051, -1051,
3926    -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051,
3927    -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051,     0, -1051,
3928    -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051,
3929        0,     0, -1051, -1051,     0, -1051,     0,     0, -1051, -1051,
3930    -1051, -1051, -1051,     0,     0, -1051, -1051, -1051, -1051, -1051,
3931    -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051,
3932    -1051, -1051,     0, -1051,     0, -1051, -1051, -1051,     0, -1051,
3933    -1051, -1051, -1051, -1051, -1051, -1051, -1051,     0,     0, -1051,
3934        0, -1051, -1051,     0, -1051, -1051, -1051,     0, -1051, -1051,
3935    -1051,     0, -1051, -1051, -1051, -1051, -1053,  1067,     0, -1053,
3936    -1053, -1053, -1053,     0, -1053, -1053,     0,     0,     0,     0,
3937        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3938        0,     0,     0,     0, -1053, -1053, -1053, -1053, -1053, -1053,
3939    -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053,
3940    -1053, -1053, -1053, -1053, -1053, -1053, -1053,     0, -1053, -1053,
3941    -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053,     0,
3942        0, -1053, -1053,     0, -1053,     0,     0, -1053, -1053, -1053,
3943    -1053, -1053,     0,     0, -1053, -1053, -1053, -1053, -1053, -1053,
3944    -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053, -1053,
3945    -1053,     0, -1053,     0, -1053, -1053, -1053,     0, -1053, -1053,
3946    -1053, -1053, -1053, -1053, -1053, -1053,     0,     0, -1053,     0,
3947    -1053, -1053,     0, -1053, -1053, -1053,     0, -1053, -1053, -1053,
3948        0, -1053, -1053, -1053, -1053, -1093,   268,     0,     1,   269,
3949       97,   270,     0,   271,   272,     0,     0,     0,     0,     0,
3950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3951        0,     0,     0,     2, -1093, -1093, -1093, -1093, -1093, -1093,
3952    -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093,
3953    -1093, -1093, -1093, -1093, -1093, -1093,     0,   562,   563,   564,
3954      565,   566,   567,   568,   569,   570,   571,   572,     0,     0,
3955      273, -1093,     0, -1093,     0,     0,   274,   275,   276, -1093,
3956    -1093,     0,     0, -1093,  1014, -1093, -1093, -1093, -1093,   277,
3957      278,  1015, -1093,   575,   576,   577, -1093, -1093, -1093, -1093,
3958        0, -1093,     0,   279, -1093, -1093,     0,   280,   281,   282,
3959      283,   284,   285,   286,   287,     0,     0,   288,     0,   289,
3960      578,     0, -1093, -1093,   220,     0,   579,   290,   291,     0,
3961      292,   293,   294,   295, -1095,   268,     0,     1,   269,    97,
3962      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
3963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3964        0,     0,     2, -1095, -1095, -1095, -1095, -1095, -1095, -1095,
3965    -1095, -1095, -1095, -1095, -1095, -1095, -1095, -1095, -1095, -1095,
3966    -1095, -1095, -1095, -1095, -1095,     0,   562,   563,   564,   565,
3967      566,   567,   568,   569,   570,   571,   572,     0,     0,   273,
3968    -1095,     0, -1095,     0,     0,   274,   275,   276, -1095, -1095,
3969        0,     0, -1095,  1014, -1095, -1095, -1095, -1095,   277,   278,
3970     1015, -1095,   575,   576,   577, -1095, -1095, -1095, -1095,     0,
3971    -1095,     0,   279, -1095, -1095,     0,   280,   281,   282,   283,
3972      284,   285,   286,   287,     0,     0,   288,     0,   289,   578,
3973        0, -1095, -1095,   220,     0,   579,   290,   291,     0,   292,
3974      293,   294,   295, -1135,   268,     0,     1,   269,    97,   270,
3975        0,   271,   272,     0,     0,     0,     0,     0,     0,     0,
3976        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3977        0,     2,   172,   173,   174,   175,   176,   204,   205,   206,
3978      207,   208,   209,   210,   211,   212,   213,    18,    19,   214,
3979      215,    22,    23,    24,     0,   562,   563,   564,   565,   566,
3980      567,   568,   569,   570,   571,   572,     0,     0,   273,   216,
3981        0, -1135,     0,     0,   274,   275,   276,    28,    29,     0,
3982        0, -1135,   573, -1135, -1135, -1135, -1135,   277,   355,   574,
3983      218,   575,   576,   577, -1135, -1135, -1135, -1135,     0, -1135,
3984        0,   279, -1135,   219,     0,   280,   281,   282,   283,   284,
3985      285,   286,   287,     0,     0,   288,     0,   289,   578,     0,
3986    -1135, -1135,   220,     0,   579,   290,   291,     0,   292,   293,
3987      294,   295, -1139,   268,     0,     1,   269,    97,   270,     0,
3988      271,   272,     0,     0,     0,     0,     0,     0,     0,     0,
3989        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3990        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
3991      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
3992       22,    23,    24,     0,   562,   563,   564,   565,   566,   567,
3993      568,   569,   570,   571,   572,     0,     0,   273,   216,     0,
3994    -1139,     0,     0,   274,   275,   276,    28,    29,     0,     0,
3995    -1139,   573, -1139, -1139, -1139, -1139,   277,   355,   574,   218,
3996      575,   576,   577, -1139, -1139, -1139, -1139,     0, -1139,     0,
3997      279, -1139,   219,     0,   280,   281,   282,   283,   284,   285,
3998      286,   287,     0,     0,   288,     0,   289,   578,     0, -1139,
3999    -1139,   220,     0,   579,   290,   291,     0,   292,   293,   294,
4000      295, -1136,   268,     0,     1,   269,    97,   270,     0,   271,
4001      272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4002        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4003      172,   173,   174,   175,   176,   204,   205,   206,   207,   208,
4004      209,   210,   211,   212,   213,    18,    19,   214,   215,    22,
4005       23,    24,     0,   562,   563,   564,   565,   566,   567,   568,
4006      569,   570,   571,   572,     0,     0,   273,   216,     0, -1136,
4007        0,     0,   274,   275,   276,    28,    29,     0,     0, -1136,
4008      573, -1136, -1136, -1136, -1136,   277,   355,   574,   218,   575,
4009      576,   577, -1136, -1136, -1136, -1136,     0, -1136,     0,   279,
4010    -1136,   219,     0,   280,   281,   282,   283,   284,   285,   286,
4011      287,     0,     0,   288,     0,   289,   578,     0, -1136, -1136,
4012      220,     0,   579,   290,   291,     0,   292,   293,   294,   295,
4013    -1140,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4014        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4015        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
4016      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
4017      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
4018       24,     0,   562,   563,   564,   565,   566,   567,   568,   569,
4019      570,   571,   572,     0,     0,   273,   216,     0, -1140,     0,
4020        0,   274,   275,   276,    28,    29,     0,     0, -1140,   573,
4021    -1140, -1140, -1140, -1140,   277,   355,   574,   218,   575,   576,
4022      577, -1140, -1140, -1140, -1140,     0, -1140,     0,   279, -1140,
4023      219,     0,   280,   281,   282,   283,   284,   285,   286,   287,
4024        0,     0,   288,     0,   289,   578,     0, -1140, -1140,   220,
4025        0,   579,   290,   291,     0,   292,   293,   294,   295, -1131,
4026      553,     0, -1131, -1131, -1131, -1131,     0, -1131, -1131,     0,
4027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4028        0,     0,     0,     0,     0,     0,     0, -1131, -1131, -1131,
4029    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4030    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4031        0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4032    -1131, -1131,     0,     0, -1131, -1131,     0, -1131,     0,     0,
4033    -1131, -1131, -1131, -1131, -1131,     0,     0, -1131, -1131, -1131,
4034    -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,
4035    -1131, -1131, -1131, -1131,     0, -1131,     0, -1131, -1131, -1131,
4036        0, -1131, -1131, -1131, -1131, -1131, -1131, -1131, -1131,     0,
4037        0, -1131,     0, -1131,   554,     0, -1131, -1131, -1131,     0,
4038    -1131, -1131, -1131,     0, -1131, -1131, -1131, -1131, -1132,   553,
4039        0, -1132, -1132, -1132, -1132,     0, -1132, -1132,     0,     0,
4040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4041        0,     0,     0,     0,     0,     0, -1132, -1132, -1132, -1132,
4042    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4043    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,     0,
4044    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4045    -1132,     0,     0, -1132, -1132,     0, -1132,     0,     0, -1132,
4046    -1132, -1132, -1132, -1132,     0,     0, -1132, -1132, -1132, -1132,
4047    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,
4048    -1132, -1132, -1132,     0, -1132,     0, -1132, -1132, -1132,     0,
4049    -1132, -1132, -1132, -1132, -1132, -1132, -1132, -1132,     0,     0,
4050    -1132,     0, -1132,   554,     0, -1132, -1132, -1132,     0, -1132,
4051    -1132, -1132,     0, -1132, -1132, -1132, -1132,  -981,   268,     0,
4052        1,   269,    97,   270,     0,   271,   272,     0,     0,     0,
4053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4054        0,     0,     0,     0,     0,     2,  -981,  -981,  -981,  -981,
4055     -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,
4056     -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,     0,  -981,
4057     -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,  -981,
4058        0,     0,   273,  -981,     0,  -981,     0,     0,   274,   275,
4059      276,  -981,  -981,     0,     0,  -981,  -981,  -981,  -981,  -981,
4060     -981,   277,   278,  -981,  -981,  -981,  -981,  -981,  -981,  -981,
4061     -981,  -981,     0,  -981,     0,   279,  -981,  -981,     0,   280,
4062      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4063        0,   289,  -981,     0,  1710,  1711,   920,     0,  -981,   290,
4064      291,     0,   292,   293,   294,   295,  -983,   268,     0,     1,
4065      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
4066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4067        0,     0,     0,     0,     2,  -983,  -983,  -983,  -983,  -983,
4068     -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,
4069     -983,  -983,  -983,  -983,  -983,  -983,  -983,     0,  -983,  -983,
4070     -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,     0,
4071        0,   273,  -983,     0,  -983,     0,     0,   274,   275,   276,
4072     -983,  -983,     0,     0,  -983,  -983,  -983,  -983,  -983,  -983,
4073      277,   278,  -983,  -983,  -983,  -983,  -983,  -983,  -983,  -983,
4074     -983,     0,  -983,     0,   279,  -983,  -983,     0,   280,   281,
4075      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4076      289,  -983,     0,  -983,  1878,   920,     0,  -983,   290,   291,
4077        0,   292,   293,   294,   295,  -977,  1881,     0,  -977,  -977,
4078     -977,  -977,     0,  -977,  -977,     0,     0,     0,     0,     0,
4079        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4080        0,     0,     0,  -977,  -977,  -977,  -977,  -977,  -977,  -977,
4081     -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,
4082     -977,  -977,  -977,  -977,  -977,  -977,     0,  -977,  -977,  -977,
4083     -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,     0,     0,
4084     -977,  -977,     0,  -977,     0,     0,  -977,  -977,  -977,  -977,
4085     -977,     0,     0,  -977,  -977,  -977,  -977,  -977,  -977,  -977,
4086     -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,  -977,
4087        0,  -977,     0,  -977,  -977,  -977,     0,  -977,  -977,  -977,
4088     -977,  -977,  -977,  -977,  -977,     0,     0,  -977,     0,  -977,
4089     -977,     0,  -977,  -977,  -977,     0,  -977,  -977,  -977,     0,
4090     -977,  -977,  -977,  -977, -1181,   268,     0,     1,   269,    97,
4091      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
4092        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4093        0,     0,     2, -1181, -1181, -1181, -1181, -1181, -1181, -1181,
4094    -1181, -1181, -1181, -1181, -1181, -1181, -1181, -1181, -1181, -1181,
4095    -1181, -1181, -1181, -1181, -1181,     0, -1181, -1181, -1181, -1181,
4096    -1181, -1181, -1181, -1181, -1181, -1181, -1181,     0,     0,   273,
4097    -1181,     0, -1181,     0,     0,   274,   275,   276, -1181, -1181,
4098        0,     0, -1181, -1181, -1181, -1181, -1181, -1181,   277,   278,
4099    -1181, -1181, -1181, -1181, -1181, -1181, -1181, -1181, -1181,     0,
4100    -1181,     0,   279, -1181, -1181,     0,   280,   281,   282,   283,
4101      284,   285,   286,   287,     0,     0,   288,     0,   289, -1181,
4102        0, -1181, -1181, -1181,     0, -1181,   290,   291,     0,   292,
4103      293,   294,   295,  -978,  1954,     0,  -978,  -978,  -978,  -978,
4104        0,  -978,  -978,     0,     0,     0,     0,     0,     0,     0,
4105        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4106        0,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,
4107     -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,
4108     -978,  -978,  -978,  -978,     0,  -978,  -978,  -978,  -978,  -978,
4109     -978,  -978,  -978,  -978,  -978,  -978,     0,     0,  -978,  -978,
4110        0,  -978,     0,     0,  -978,  -978,  -978,  -978,  -978,     0,
4111        0,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,
4112     -978,  -978,  -978,  -978,  -978,  -978,  -978,  -978,     0,  -978,
4113        0,  -978,  -978,  -978,     0,  -978,  -978,  -978,  -978,  -978,
4114     -978,  -978,  -978,     0,     0,  -978,     0,  -978,  -978,     0,
4115     -978,  -978,  -978,     0,  -978,  -978,  -978,     0,  -978,  -978,
4116     -978,  -978,  -907,   522,     0,  -907,  -907,  -907,  -907,     0,
4117     -907,  -907,     0,     0,     0,     0,     0,     0,     0,     0,
4118        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4119     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
4120     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
4121     -907,  -907,  -907,     0,     0,  -907,     0,     0,     0,     0,
4122        0,     0,     0,     0,     0,     0,     0,  -907,  -907,     0,
4123     -907,     0,     0,  -907,  -907,  -907,  -907,  -907,     0,     0,
4124     -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,  -907,
4125     -907,     0,     0,  -907,  -907,  -907,  -907,     0,  -907,     0,
4126     -907,  -907,  -907,     0,  -907,  -907,  -907,  -907,  -907,  -907,
4127     -907,  -907,     0,     0,  -907,   523,  -907,  -907,     0,   524,
4128     -907,  -907,     0,     0,  -907,  -907,     0,  -907,  -907,  -907,
4129     -907,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4130        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4131        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
4132      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
4133      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
4134       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4135        0,     0,     0,     0,     0,   273,   216,     0,     0,     0,
4136        0,   274,   275,   276,    28,    29,     0,     0,     0,    32,
4137        0,     0,     0,     0,   277,   355,    38,   218,     0,     0,
4138        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4139      219,     0,   280,   281,   282,   283,   284,   285,   286,   287,
4140        0,     0,   288,     0,   289,   894,     0,   895,   896,   672,
4141        0,     0,   290,   291,     0,   292,   293,   294,   295,  1147,
4142        0,     1,   269,    97,   270,     0,   271,   272,     0,     0,
4143        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4144        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
4145      175,   176,   204,   205,   206,   207,   208,   209,   210,   211,
4146      212,   213,    18,    19,   214,   215,    22,    23,    24,     0,
4147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4148        0,     0,     0,   273,   216,     0,     0,     0,     0,   274,
4149      275,   276,    28,    29,     0,     0,     0,    32,     0,     0,
4150        0,     0,   277,   355,    38,   218,     0,     0,     0,     0,
4151        0,     0,     0,     0,     0,     0,   279,     0,   219,     0,
4152      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4153      288,     0,   289,   894,     0,   895,  -109,   672,     0,     0,
4154      290,   291,     0,   292,   293,   294,   295,  1154,     0,     1,
4155      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
4156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4157        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
4158      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
4159       18,    19,   214,   215,    22,    23,    24,     0,     0,     0,
4160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4161        0,   273,   216,     0,     0,     0,     0,   274,   275,   276,
4162       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4163      277,   355,    38,   218,     0,     0,     0,     0,     0,     0,
4164        0,     0,     0,     0,   279,     0,   219,     0,   280,   281,
4165      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4166      289,   894,     0,   895,   -97,   672,     0,     0,   290,   291,
4167        0,   292,   293,   294,   295,  1158,     0,     1,   269,    97,
4168      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
4169        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4170        0,     0,     2,   172,   173,   174,   175,   176,   204,   205,
4171      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
4172      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
4173        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4174      216,     0,     0,     0,     0,   274,   275,   276,    28,    29,
4175        0,     0,     0,    32,     0,     0,     0,     0,   277,   355,
4176       38,   218,     0,     0,     0,     0,     0,     0,     0,     0,
4177        0,     0,   279,     0,   219,     0,   280,   281,   282,   283,
4178      284,   285,   286,   287,     0,     0,   288,     0,   289,   894,
4179        0,   895,  -101,   672,     0,     0,   290,   291,     0,   292,
4180      293,   294,   295,   268,     0,     1,   269,    97,   270,     0,
4181      271,   272,     0,     0,     0,     0,     0,     0,     0,     0,
4182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4183        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
4184      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
4185       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4186        0,     0,     0,     0,     0,     0,     0,   273,   216,     0,
4187        0,     0,     0,   274,   275,   276,    28,    29,     0,     0,
4188        0,    32,     0,     0,     0,     0,   277,   355,    38,   218,
4189        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4190      279,     0,   219,     0,   280,   281,   282,   283,   284,   285,
4191      286,   287,     0,     0,   288,     0,   289,  1423,     0,   895,
4192      -64,   672,     0,     0,   290,   291,     0,   292,   293,   294,
4193      295,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4194        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4195        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
4196      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
4197      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
4198       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4199        0,     0,     0,     0,     0,   273,   216,     0,     0,     0,
4200        0,   274,   275,   276,    28,    29,     0,     0,     0,    32,
4201        0,     0,     0,     0,   277,   355,    38,   218,     0,     0,
4202        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4203      219,     0,   280,   281,   282,   283,   284,   285,   286,   287,
4204        0,     0,   288,     0,   289,  1432,     0,   895,  1433,   672,
4205        0,     0,   290,   291,     0,   292,   293,   294,   295,  1476,
4206        0,     1,   269,    97,   270,     0,   271,   272,     0,     0,
4207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4208        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
4209      175,   176,   204,   205,   206,   207,   208,   209,   210,   211,
4210      212,   213,    18,    19,   214,   215,    22,    23,    24,     0,
4211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4212        0,     0,     0,   273,   216,     0,     0,     0,     0,   274,
4213      275,   276,    28,    29,     0,     0,     0,    32,     0,     0,
4214        0,     0,   277,   355,    38,   218,     0,     0,     0,     0,
4215        0,     0,     0,     0,     0,     0,   279,     0,   219,     0,
4216      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4217      288,     0,   289,   894,     0,   895,   -80,   672,     0,     0,
4218      290,   291,     0,   292,   293,   294,   295,   268,     0,     1,
4219      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
4220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4221        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
4222      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
4223       18,    19,   214,   215,    22,    23,    24,     0,     0,     0,
4224        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4225        0,   273,   216,     0,     0,     0,     0,   274,   275,   276,
4226       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4227      277,   355,    38,   218,     0,     0,     0,     0,     0,     0,
4228        0,     0,     0,     0,   279,     0,   219,     0,   280,   281,
4229      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4230      289,  1432,     0,   895,  -106,   672,     0,     0,   290,   291,
4231        0,   292,   293,   294,   295,   268,     0,     1,   269,    97,
4232      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
4233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4234        0,     0,     2,   172,   173,   174,   175,   176,   204,   205,
4235      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
4236      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
4237        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4238      216,     0,     0,     0,     0,   274,   275,   276,    28,    29,
4239        0,     0,     0,    32,     0,     0,     0,     0,   277,   355,
4240       38,   218,     0,     0,     0,     0,     0,     0,     0,     0,
4241        0,     0,   279,     0,   219,     0,   280,   281,   282,   283,
4242      284,   285,   286,   287,     0,     0,   288,     0,   289,  1432,
4243        0,   895,   -96,   672,     0,     0,   290,   291,     0,   292,
4244      293,   294,   295,   268,     0,     1,   269,    97,   270,     0,
4245      271,   272,     0,     0,     0,     0,     0,     0,     0,     0,
4246        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4247        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
4248      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
4249       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4250        0,     0,     0,     0,     0,     0,     0,   273,   216,     0,
4251        0,     0,     0,   274,   275,   276,    28,    29,     0,     0,
4252        0,    32,     0,     0,     0,     0,   277,   355,    38,   218,
4253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4254      279,     0,   219,     0,   280,   281,   282,   283,   284,   285,
4255      286,   287,     0,     0,   288,     0,   289,  1432,     0,   895,
4256     -100,   672,     0,     0,   290,   291,     0,   292,   293,   294,
4257      295,  1675,     0,     1,   269,    97,   270,     0,   271,   272,
4258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4259        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
4260      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
4261      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
4262       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4263        0,     0,     0,     0,     0,   273,   216,     0,     0,     0,
4264        0,   274,   275,   276,    28,    29,     0,     0,     0,    32,
4265        0,     0,     0,     0,   277,   355,    38,   218,     0,     0,
4266        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4267      219,     0,   280,   281,   282,   283,   284,   285,   286,   287,
4268        0,     0,   288,     0,   289,   894,     0,   895,   -87,   672,
4269        0,     0,   290,   291,     0,   292,   293,   294,   295,   268,
4270        0,     1,   269,    97,   270,     0,   271,   272,     0,     0,
4271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4272        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
4273      175,   176,   204,   205,   206,   207,   208,   209,   210,   211,
4274      212,   213,    18,    19,   214,   215,    22,    23,    24,     0,
4275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4276        0,     0,     0,   273,   216,     0,     0,     0,     0,   274,
4277      275,   276,    28,    29,     0,     0,     0,    32,     0,     0,
4278        0,     0,   277,   355,    38,   218,     0,     0,     0,     0,
4279        0,     0,     0,     0,     0,     0,   279,     0,   219,     0,
4280      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4281      288,     0,   289,  1432,     0,   895,   -77,   672,     0,     0,
4282      290,   291,     0,   292,   293,   294,   295,   268,     0,     1,
4283      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
4284        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4285        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
4286      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
4287       18,    19,   214,   215,    22,    23,    24,     0,     0,     0,
4288        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4289        0,   273,   216,     0,     0,     0,     0,   274,   275,   276,
4290       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4291      277,   355,    38,   218,     0,     0,     0,     0,     0,     0,
4292        0,     0,     0,     0,   279,     0,   219,     0,   280,   281,
4293      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4294      289,  1432,     0,   895,   -84,   672,     0,     0,   290,   291,
4295        0,   292,   293,   294,   295,   268,     0,     1,   269,    97,
4296      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
4297        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4298        0,     0,     2,   172,   173,   174,   175,   176,   204,   205,
4299      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
4300      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
4301        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4302      216,     0,     0,     0,     0,   274,   275,   276,    28,    29,
4303        0,     0,     0,    32,     0,     0,     0,     0,   277,   355,
4304       38,   218,     0,     0,     0,     0,     0,     0,     0,     0,
4305        0,     0,   279,     0,   219,     0,   280,   281,   282,   283,
4306      284,   285,   286,   287,     0,     0,   288,   268,   289,     1,
4307      269,    97,   270,     0,   271,   272,   290,   291,     0,   292,
4308      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4309        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
4310      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
4311       18,    19,   214,   215,    22,    23,    24,     0,     0,     0,
4312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4313        0,   778,   216,     0,     0,     0,     0,   274,   275,   276,
4314       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4315      277,   355,    38,   218,     0,     0,     0,     0,     0,     0,
4316        0,     0,     0,     0,   279,     0,   219,     0,   280,   281,
4317      282,   283,   284,   285,   286,   287,     0,     0,   288,   268,
4318      289,     1,   269,    97,   270,     0,   271,   272,   290,   291,
4319        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4320        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4321        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4322       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4324        0,     0,     0,   273,    27,     0,     0,     0,     0,   274,
4325      275,   276,    28,    29,     0,     0,     0,    32,     0,     0,
4326       35,    36,   277,   380,    38,    39,     0,     0,     0,     0,
4327        0,     0,     0,     0,     0,     0,   279,     0,    40,     0,
4328      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4329      288,   661,   289,     0,     0,     0,     0,     0,     0,     0,
4330      290,   291,     0,   292,   293,   294,   295,   268,     0,     1,
4331      269,    97,   270,     0,   271,   272,     0,     0,     0,     0,
4332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4333        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4334        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4335       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4337        0,  1079,    27,     0,     0,     0,     0,   274,   275,   276,
4338       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4339      277,   380,    38,    39,     0,     0,     0,     0,     0,     0,
4340        0,     0,     0,     0,   279,     0,    40,     0,   280,   281,
4341      282,   283,   284,   285,   286,   287,     0,     0,   638,   661,
4342      289,     0,     0,     0,     0,     0,     0,     0,   290,   291,
4343        0,   292,   293,   294,   295,   268,     0,     1,   269,    97,
4344      270,     0,   271,   272,     0,     0,     0,     0,     0,     0,
4345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4346        0,     0,     2,     0,     0,     0,     0,     0,     8,     9,
4347       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
4348       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
4349        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4350       27,     0,     0,     0,     0,   274,   275,   276,    28,    29,
4351        0,     0,     0,    32,     0,     0,    35,    36,   277,   380,
4352       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
4353        0,     0,   279,     0,    40,     0,   280,   281,   282,   283,
4354      284,   285,   286,   287,     0,     0,   288,   268,   289,     1,
4355      269,    97,   270,   220,   271,   272,   290,   291,     0,   292,
4356      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4357        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4358        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4359       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4361        0,   273,    27,     0,     0,     0,     0,   274,   275,   276,
4362       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4363      277,   380,    38,    39,   268,     0,     1,   269,    97,   270,
4364        0,   271,   272,     0,   279,     0,    40,     0,   280,   281,
4365      282,   283,   284,   285,   286,   801,     0,     0,   802,   661,
4366      289,     2,     0,     0,     0,     0,     0,     0,   290,   291,
4367        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4368        0,     0,     0,     0,     0,  1006,  1007,  1008,   565,  1009,
4369     1010,  1011,  1012,   570,   571,  1013,     0,     0,   273,     0,
4370        0,     0,     0,     0,   274,   275,   276,     0,     0,     0,
4371        0,     0,  1014,     0,     0,     0,     0,   277,   278,  1015,
4372        0,   575,   576,   577,     0,     0,     0,     0,     0,     0,
4373        0,   279,     0,     0,     0,   280,   281,   282,   283,   284,
4374      285,   286,   287,     0,     0,   288,     0,   289,   578,     0,
4375        0,     0,   220,     0,   579,   290,   291,     0,   292,   293,
4376      294,   295,   268,     0,     1,   269,    97,   270,     0,   271,
4377      272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4378        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4381        0,     0,     0,   562,   563,   564,   565,   566,   567,   568,
4382      569,   570,   571,   572,     0,     0,   273,     0,     0,     0,
4383        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
4384     1014,     0,     0,     0,     0,   277,   278,  1015,     0,   575,
4385      576,   577,     0,     0,     0,     0,     0,     0,     0,   279,
4386        0,     0,     0,   280,   281,   282,   283,   284,   285,   286,
4387      287,     0,     0,   288,     0,   289,   578,     0,     0,     0,
4388      220,     0,   579,   290,   291,     0,   292,   293,   294,   295,
4389     1734,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4390        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4391        0,     0,     0,     0,     0,     0,     0,     2,     0,     0,
4392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4394        0,  1006,  1007,  1008,   565,  1009,  1010,  1011,  1012,   570,
4395      571,  1013,     0,     0,   273,     0,     0,     0,     0,     0,
4396      274,   275,   276,     0,     0,     0,     0,     0,  1014,     0,
4397        0,     0,     0,   277,   278,  1015,     0,   575,   576,   577,
4398        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4399        0,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4400        0,   288,     0,   289,   578,     0,     0,     0,   220,     0,
4401      579,   290,   291,     0,   292,   293,   294,   295,   268,     0,
4402        1,   269,    97,   270,     0,   271,   272,     0,     0,     0,
4403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4404        0,     0,     0,     0,     0,     2,     0,     0,     0,     0,
4405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4408        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4409      276,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4410        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4411        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4412      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4413     1050,   289,     0,     0,  1631,     0,     0,     0,  1652,   290,
4414      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4415        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4416        0,   274,   275,   276,  1755,     0,     1,   269,    97,   270,
4417        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4418        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4419        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4420        0,     0,   288,  1050,   289,     0,     0,  1631,     0,     0,
4421        0,  1656,   290,   291,     0,   292,   293,   294,   295,     0,
4422        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4423        0,     0,     0,     0,   274,   275,   276,   268,     0,     1,
4424      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4426        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4427      285,   286,   287,     0,     0,   288,  1050,   289,  1756,     0,
4428     1051,     0,     0,     0,     0,   290,   291,     0,   292,   293,
4429      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4430        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4431      268,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4432      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4433        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4434      282,   283,   284,   285,   286,   287,     0,     0,   288,  1050,
4435      289,     0,     0,  1051,     0,     0,     0,     0,   290,   291,
4436     1778,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4437        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4438      274,   275,   276,   268,     0,     1,   269,    97,   270,     0,
4439      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4440        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4441        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4442        0,   288,  1050,   289,     0,     0,  1051,     0,     0,     0,
4443        0,   290,   291,  1782,   292,   293,   294,   295,     0,     0,
4444        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4445        0,     0,     0,   274,   275,   276,  1900,     0,     1,   269,
4446       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4448      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4449      286,   287,     0,     0,   288,  1050,   289,  1756,     0,  1051,
4450        0,     0,     0,     0,   290,   291,     0,   292,   293,   294,
4451      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4452      273,     0,     0,     0,     0,     0,   274,   275,   276,  1044,
4453        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4454      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4455        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4456      283,   284,   285,   286,   287,     0,     0,   288,  1050,   289,
4457     1756,     0,  1051,     0,     0,     0,     0,   290,   291,     0,
4458      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4459        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4460      275,   276,   268,     0,     1,   269,    97,   270,     0,   271,
4461      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4462        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4463      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4464      288,  1964,   289,  1965,     0,  1046,     0,     0,     0,     0,
4465      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4466        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4467        0,     0,   274,   275,   276,   268,     0,     1,   269,    97,
4468      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4469        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4470        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4471      287,     0,     0,   288,     0,   289,     0,     0,  1993,  1994,
4472      920,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4473        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4474        0,     0,     0,     0,     0,   274,   275,   276,  1235,     0,
4475        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4476        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4477        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4478      284,   285,   286,   287,     0,     0,   288,  1050,   289,  1963,
4479        0,  1051,     0,     0,     0,     0,   290,   291,     0,   292,
4480      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4481        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4482      276,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4483        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4484        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4485      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4486     1236,   289,     0,     0,     0,     0,   672,     0,     0,   290,
4487      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4488        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4489        0,   274,   275,   276,   268,     0,     1,   269,    97,   270,
4490        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4492        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4493        0,     0,   288,     0,   289,  1025,     0,     0,     0,   672,
4494        0,     0,   290,   291,     0,   292,   293,   294,   295,     0,
4495        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4496        0,     0,     0,     0,   274,   275,   276,  1506,     0,     1,
4497      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4499        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4500      285,   286,   287,     0,     0,   288,  1050,   289,     0,     0,
4501     1051,     0,     0,     0,     0,   290,   291,     0,   292,   293,
4502      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4503        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4504     1044,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4505      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4506        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4507      282,   283,   284,   285,   286,   287,     0,     0,   288,  1507,
4508      289,  1508,     0,     0,     0,     0,     0,     0,   290,   291,
4509        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4510        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4511      274,   275,   276,  1556,     0,     1,   269,    97,   270,     0,
4512      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4513        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4514        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4515        0,   288,     0,   289,  1516,     0,  1046,     0,     0,     0,
4516        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4517        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4518        0,     0,     0,   274,   275,   276,  1566,     0,     1,   269,
4519       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4521      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4522      286,   287,     0,     0,   288,  1557,   289,     0,     0,     0,
4523        0,   672,     0,     0,   290,   291,     0,   292,   293,   294,
4524      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4525      273,     0,     0,     0,     0,     0,   274,   275,   276,  1044,
4526        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4527      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4528        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4529      283,   284,   285,   286,   287,     0,     0,   288,  1567,   289,
4530        0,     0,     0,     0,   672,     0,     0,   290,   291,     0,
4531      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4532        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4533      275,   276,  1044,     0,     1,   269,    97,   270,     0,   271,
4534      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4535        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4536      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4537      288,  1599,   289,     0,     0,  1046,     0,     0,     0,     0,
4538      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4539        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4540        0,     0,   274,   275,   276,  1044,     0,     1,   269,    97,
4541      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4542        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4543        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4544      287,     0,     0,   288,     0,   289,     0,     0,  1046,     0,
4545        0,     0,     0,   290,   291,  1625,   292,   293,   294,   295,
4546        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4547        0,     0,     0,     0,     0,   274,   275,   276,  1044,     0,
4548        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4550        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4551      284,   285,   286,   287,     0,     0,   288,     0,   289,     0,
4552        0,  1628,     0,     0,     0,  1629,   290,   291,     0,   292,
4553      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4554        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4555      276,  1044,     0,     1,   269,    97,   270,     0,   271,   272,
4556        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4557        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4558      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4559        0,   289,     0,     0,  1046,     0,     0,     0,     0,   290,
4560      291,  1636,   292,   293,   294,   295,     0,     0,     0,     0,
4561        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4562        0,   274,   275,   276,  1044,     0,     1,   269,    97,   270,
4563        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4564        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4565        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4566        0,     0,   288,     0,   289,     0,     0,  1628,     0,     0,
4567        0,  1638,   290,   291,     0,   292,   293,   294,   295,     0,
4568        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4569        0,     0,     0,     0,   274,   275,   276,  1044,     0,     1,
4570      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4572        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4573      285,   286,   287,     0,     0,   288,     0,   289,     0,     0,
4574     1628,     0,     0,     0,  1650,   290,   291,     0,   292,   293,
4575      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4577     1044,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4578      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4579        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4580      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4581      289,     0,     0,  1628,     0,     0,     0,  1654,   290,   291,
4582        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4583        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4584      274,   275,   276,  1044,     0,     1,   269,    97,   270,     0,
4585      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4586        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4587        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4588        0,   288,  1730,   289,     0,     0,  1046,     0,     0,     0,
4589        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4590        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4591        0,     0,     0,   274,   275,   276,   268,     0,     1,   269,
4592       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4594      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4595      286,   287,     0,     0,   288,  1732,   289,     0,     0,  1046,
4596        0,     0,     0,     0,   290,   291,     0,   292,   293,   294,
4597      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4598      273,     0,     0,     0,     0,     0,   274,   275,   276,  1044,
4599        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4600      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4601        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4602      283,   284,   285,   286,   287,     0,     0,   288,  1733,   289,
4603        0,     0,  1051,     0,     0,     0,     0,   290,   291,     0,
4604      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4605        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4606      275,   276,   268,     0,     1,   269,    97,   270,     0,   271,
4607      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4608        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4609      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4610      288,  1736,   289,     0,     0,  1046,     0,     0,     0,     0,
4611      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4612        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4613        0,     0,   274,   275,   276,  1044,     0,     1,   269,    97,
4614      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4615        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4616        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4617      287,     0,     0,   288,  1507,   289,  1508,     0,     0,     0,
4618        0,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4619        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4620        0,     0,     0,     0,     0,   274,   275,   276,  1757,     0,
4621        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4623        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4624      284,   285,   286,   287,     0,     0,   288,     0,   289,  1754,
4625        0,  1046,     0,     0,     0,     0,   290,   291,     0,   292,
4626      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4627        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4628      276,  1044,     0,     1,   269,    97,   270,     0,   271,   272,
4629        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4630        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4631      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4632     1758,   289,  1508,     0,     0,     0,     0,     0,     0,   290,
4633      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4634        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4635        0,   274,   275,   276,  1044,     0,     1,   269,    97,   270,
4636        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4637        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4638        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4639        0,     0,   288,     0,   289,     0,     0,  1046,     0,     0,
4640        0,     0,   290,   291,  1777,   292,   293,   294,   295,     0,
4641        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4642        0,     0,     0,     0,   274,   275,   276,   268,     0,     1,
4643      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4645        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4646      285,   286,   287,     0,     0,   288,     0,   289,     0,     0,
4647     1046,     0,     0,     0,     0,   290,   291,  1781,   292,   293,
4648      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4649        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4650     1044,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4651      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4652        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4653      282,   283,   284,   285,   286,   287,     0,     0,   288,  1731,
4654      289,     0,     0,  1051,     0,     0,     0,     0,   290,   291,
4655        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4656        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4657      274,   275,   276,   268,     0,     1,   269,    97,   270,     0,
4658      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4659        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4660        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4661        0,   288,  1892,   289,     0,     0,  1046,     0,     0,     0,
4662        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4663        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4664        0,     0,     0,   274,   275,   276,  1044,     0,     1,   269,
4665       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4667      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4668      286,   287,     0,     0,   288,  1758,   289,  1508,     0,     0,
4669        0,     0,     0,     0,   290,   291,     0,   292,   293,   294,
4670      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671      273,     0,     0,     0,     0,     0,   274,   275,   276,  1044,
4672        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4673      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4674        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4675      283,   284,   285,   286,   287,     0,     0,   288,  1968,   289,
4676        0,     0,  1046,     0,     0,     0,     0,   290,   291,     0,
4677      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4678        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4679      275,   276,  1044,     0,     1,   269,    97,   270,     0,   271,
4680      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4681        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4682      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4683      288,  2000,   289,     0,     0,  1046,     0,     0,     0,     0,
4684      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4685        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4686        0,     0,   274,   275,   276,   268,     0,     1,   269,    97,
4687      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4688        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4689        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4690      287,     0,     0,   288,  2001,   289,     0,     0,  1046,     0,
4691        0,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4692        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4693        0,     0,     0,     0,     0,   274,   275,   276,  1044,     0,
4694        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4695        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4696        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4697      284,   285,   286,   287,     0,     0,   288,     0,   289,     0,
4698        0,     0,  2028,   920,     0,     0,   290,   291,     0,   292,
4699      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4700        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4701      276,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4702        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4703        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4704      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4705     2029,   289,     0,     0,  1046,     0,     0,     0,     0,   290,
4706      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4707        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4708        0,   274,   275,   276,   268,     0,     1,   269,    97,   270,
4709        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4711        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4712        0,     0,   288,     0,   289,     0,     0,     0,     0,     0,
4713        0,     0,   290,   291,   493,   292,   293,   294,   295,     0,
4714        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4715        0,     0,     0,     0,   274,   275,   276,   919,     0,     1,
4716      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4718        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4719      285,   286,   287,     0,     0,   288,     0,   289,     0,     0,
4720        0,     0,   672,     0,     0,   290,   291,     0,   292,   293,
4721      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4722        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4723      268,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4724      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4725        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4726      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4727      289,     0,     0,     0,     0,   920,     0,     0,   290,   291,
4728        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4729        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4730      274,   275,   276,   268,     0,     1,   269,    97,   270,     0,
4731      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4732        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4733        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4734        0,   288,     0,   289,     0,     0,     0,     0,     0,     0,
4735        0,   290,   291,   956,   292,   293,   294,   295,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4737        0,     0,     0,   274,   275,   276,   268,     0,     1,   269,
4738       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4740      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4741      286,   287,     0,     0,   288,     0,   289,     0,     0,     0,
4742        0,     0,     0,   998,   290,   291,     0,   292,   293,   294,
4743      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4744      273,     0,     0,     0,     0,     0,   274,   275,   276,  1198,
4745        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4746      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4747        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4748      283,   284,   285,   286,   287,     0,     0,   288,   661,   289,
4749        0,     0,     0,     0,     0,     0,     0,   290,   291,     0,
4750      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4751        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4752      275,   276,  1203,     0,     1,   269,    97,   270,     0,   271,
4753      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4754        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4755      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4756      288,     0,   289,     0,     0,     0,     0,   672,     0,     0,
4757      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4758        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4759        0,     0,   274,   275,   276,  1269,     0,     1,   269,    97,
4760      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4761        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4762        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4763      287,     0,     0,   288,     0,   289,     0,     0,     0,     0,
4764      672,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4765        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4766        0,     0,     0,     0,     0,   274,   275,   276,  1274,     0,
4767        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4768        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4769        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4770      284,   285,   286,   287,     0,     0,   288,     0,   289,     0,
4771        0,     0,     0,   672,     0,     0,   290,   291,     0,   292,
4772      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4774      276,  1370,     0,     1,   269,    97,   270,     0,   271,   272,
4775        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4776        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4777      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4778        0,   289,     0,     0,     0,     0,   672,     0,     0,   290,
4779      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4780        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4781        0,   274,   275,   276,   268,     0,     1,   269,    97,   270,
4782        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4783        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4784        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4785        0,     0,   288,     0,   289,     0,     0,     0,     0,   672,
4786        0,     0,   290,   291,     0,   292,   293,   294,   295,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4788        0,     0,     0,     0,   274,   275,   276,   268,     0,     1,
4789      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4790        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4791        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4792      285,   286,   287,     0,     0,   288,     0,   289,     0,     0,
4793        0,     0,   920,     0,     0,   290,   291,     0,   292,   293,
4794      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4795        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4796     1489,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4797      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4798        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4799      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4800      289,     0,     0,     0,     0,     0,     0,     0,   290,   291,
4801     1462,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4802        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4803      274,   275,   276,   268,     0,     1,   269,    97,   270,     0,
4804      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4805        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4806        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4807        0,   288,  1490,   289,     0,     0,     0,     0,     0,     0,
4808        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4809        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4810        0,     0,     0,   274,   275,   276,  1526,     0,     1,   269,
4811       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4813      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4814      286,   287,     0,     0,   288,     0,   289,     0,     0,     0,
4815        0,     0,     0,  1493,   290,   291,     0,   292,   293,   294,
4816      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817      273,     0,     0,     0,     0,     0,   274,   275,   276,  1535,
4818        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4819      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4820        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4821      283,   284,   285,   286,   287,     0,     0,   288,     0,   289,
4822        0,     0,     0,     0,   672,     0,     0,   290,   291,     0,
4823      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4824        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4825      275,   276,  1700,     0,     1,   269,    97,   270,     0,   271,
4826      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4827        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4828      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4829      288,     0,   289,     0,     0,     0,     0,   672,     0,     0,
4830      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4832        0,     0,   274,   275,   276,  1703,     0,     1,   269,    97,
4833      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4834        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4835        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4836      287,     0,     0,   288,     0,   289,     0,     0,     0,     0,
4837      672,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4838        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4839        0,     0,     0,     0,     0,   274,   275,   276,  1707,     0,
4840        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4842        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4843      284,   285,   286,   287,     0,     0,   288,     0,   289,     0,
4844        0,     0,     0,   672,     0,     0,   290,   291,     0,   292,
4845      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4846        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4847      276,   268,     0,     1,   269,    97,   270,     0,   271,   272,
4848        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4849        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4850      281,   282,   283,   284,   285,   286,   287,     0,     0,   288,
4851        0,   289,     0,     0,     0,     0,   672,     0,     0,   290,
4852      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4853        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4854        0,   274,   275,   276,   268,     0,     1,   269,    97,   270,
4855        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4856        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4857        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4858        0,     0,   288,  1744,   289,     0,     0,     0,     0,     0,
4859        0,     0,   290,   291,     0,   292,   293,   294,   295,     0,
4860        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4861        0,     0,     0,     0,   274,   275,   276,  1532,     0,     1,
4862      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4864        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4865      285,   286,   287,     0,     0,  1802,     0,   289,     0,     0,
4866        0,     0,  1803,     0,     0,   290,   291,     0,   292,   293,
4867      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4868        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4869     1538,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4870      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4871        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4872      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4873      289,     0,     0,     0,     0,   672,     0,     0,   290,   291,
4874        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4875        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4876      274,   275,   276,  1901,     0,     1,   269,    97,   270,     0,
4877      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4878        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4879        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4880        0,   288,     0,   289,     0,     0,     0,     0,   672,     0,
4881        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4882        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4883        0,     0,     0,   274,   275,   276,   268,     0,     1,   269,
4884       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4886      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4887      286,   287,     0,     0,   288,  1902,   289,     0,     0,     0,
4888        0,     0,     0,     0,   290,   291,     0,   292,   293,   294,
4889      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4890      273,     0,     0,     0,     0,     0,   274,   275,   276,   268,
4891        0,     1,   269,    97,   270,     0,   271,   272,     0,   277,
4892      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4893        0,     0,     0,   279,     0,     0,     2,   280,   281,   282,
4894      283,   284,   285,   286,   287,     0,     0,   288,  1959,   289,
4895        0,     0,     0,     0,     0,     0,     0,   290,   291,     0,
4896      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4897        0,     0,     0,   273,     0,     0,     0,     0,     0,   274,
4898      275,   276,   268,     0,     1,   269,    97,   270,     0,   271,
4899      272,     0,   277,   278,     0,     0,     0,     0,     0,     0,
4900        0,     0,     0,     0,     0,     0,   279,     0,     0,     2,
4901      280,   281,   282,   283,   284,   285,   286,   287,     0,     0,
4902      288,     0,   289,     0,     0,     0,     0,  1803,     0,     0,
4903      290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
4904        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
4905        0,     0,   274,   275,   276,   628,     0,     1,   269,    97,
4906      270,     0,   271,   272,     0,   277,   278,     0,     0,     0,
4907        0,     0,     0,     0,     0,     0,     0,     0,     0,   279,
4908        0,     0,     2,   280,   281,   282,   283,   284,   285,   286,
4909      287,     0,     0,   288,     0,   289,     0,     0,     0,     0,
4910        0,     0,     0,   290,   291,     0,   292,   293,   294,   295,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
4912        0,     0,     0,     0,     0,   274,   275,   276,   268,     0,
4913        1,   269,    97,   270,     0,   271,   272,     0,   277,   278,
4914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4915        0,     0,   279,     0,     0,     2,   280,   281,   282,   283,
4916      284,   285,   286,   287,     0,     0,   629,     0,   289,     0,
4917        0,     0,     0,     0,     0,     0,   290,   291,     0,   292,
4918      293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
4919        0,     0,   273,     0,     0,     0,     0,     0,   274,   275,
4920      276,  1182,     0,     1,   269,    97,   270,     0,   271,   272,
4921        0,   277,   278,     0,     0,     0,     0,     0,     0,     0,
4922        0,     0,     0,     0,     0,   279,     0,     0,     2,   280,
4923      281,   282,   283,   284,   285,   286,   287,     0,     0,   638,
4924        0,   289,     0,     0,     0,     0,     0,     0,     0,   290,
4925      291,     0,   292,   293,   294,   295,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,   273,     0,     0,     0,     0,
4927        0,   274,   275,   276,  1185,     0,     1,   269,    97,   270,
4928        0,   271,   272,     0,   277,   278,     0,     0,     0,     0,
4929        0,     0,     0,     0,     0,     0,     0,     0,   279,     0,
4930        0,     2,   280,   281,   282,   283,   284,   285,   286,   287,
4931        0,     0,   288,     0,   289,     0,     0,     0,     0,     0,
4932        0,     0,   290,   291,     0,   292,   293,   294,   295,     0,
4933        0,     0,     0,     0,     0,     0,     0,     0,   273,     0,
4934        0,     0,     0,     0,   274,   275,   276,  1251,     0,     1,
4935      269,    97,   270,     0,   271,   272,     0,   277,   278,     0,
4936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4937        0,   279,     0,     0,     2,   280,   281,   282,   283,   284,
4938      285,   286,   287,     0,     0,   288,     0,   289,     0,     0,
4939        0,     0,     0,     0,     0,   290,   291,     0,   292,   293,
4940      294,   295,     0,     0,     0,     0,     0,     0,     0,     0,
4941        0,   273,     0,     0,     0,     0,     0,   274,   275,   276,
4942     1254,     0,     1,   269,    97,   270,     0,   271,   272,     0,
4943      277,   278,     0,     0,     0,     0,     0,     0,     0,     0,
4944        0,     0,     0,     0,   279,     0,     0,     2,   280,   281,
4945      282,   283,   284,   285,   286,   287,     0,     0,   288,     0,
4946      289,     0,     0,     0,     0,     0,     0,     0,   290,   291,
4947        0,   292,   293,   294,   295,     0,     0,     0,     0,     0,
4948        0,     0,     0,     0,   273,     0,     0,     0,     0,     0,
4949      274,   275,   276,  1532,     0,     1,   269,    97,   270,     0,
4950      271,   272,     0,   277,   278,     0,     0,     0,     0,     0,
4951        0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
4952        2,   280,   281,   282,   283,   284,   285,   286,   287,     0,
4953        0,   288,     0,   289,     0,     0,     0,     0,     0,     0,
4954        0,   290,   291,     0,   292,   293,   294,   295,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,   273,     0,     0,
4956        0,     0,     0,   274,   275,   276,  1538,     0,     1,   269,
4957       97,   270,     0,   271,   272,     0,   277,   278,     0,     0,
4958        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4959      279,     0,     0,     2,   280,   281,   282,   283,   284,   285,
4960      286,   287,     0,     0,   288,     0,   289,     0,     0,     0,
4961        0,     0,     0,     0,   290,   291,     0,   292,   293,   294,
4962      295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4963      273,     0,     0,     0,     0,     0,   274,   275,   276,     0,
4964        0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
4965      278,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4966        0,     0,     0,   279,     0,     0,     0,   280,   281,   282,
4967      283,   284,   285,   286,   287,     0,     0,   288,     0,   289,
4968     -257,   834,     0,     1,   269,    97,     0,   290,   291,     0,
4969      292,   293,   294,   295,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
4971      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
4972       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
4973       24,     0,     0,  -257,     0,     0,     0,     0,     0,     0,
4974        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
4975        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
4976      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
4977        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
4978       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
4979        0,     0,   389,     0,   390,   391,  -255,   837,  -257,     1,
4980      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
4981        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4982        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
4983        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4984       18,    19,    20,    21,    22,    23,    24,     0,     0,  -255,
4985        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4986        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
4987       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
4988        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
4989      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
4990      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
4991      390,   391,  -258,   834,  -255,     1,   269,    97,   290,   291,
4992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4993        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4994        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
4995       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
4996       22,    23,    24,     0,     0,  -258,     0,     0,     0,     0,
4997        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
4998      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
4999      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5000      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5001      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5002      286,    43,     0,     0,   389,     0,   390,   391,  -256,   837,
5003     -258,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5005        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5006      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5007       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5008        0,  -256,     0,     0,     0,     0,     0,     0,     0,     0,
5009        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5010      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5011       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5012      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5013      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5014      389,     0,   390,   391,     0,   375,  -256,     1,   269,    97,
5015      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5016        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5017        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5018       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5019       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5020        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5021       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5022        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5023       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5024      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5025      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5026        0,   443,   392,     1,   269,    97,   290,   291,     0,     0,
5027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5029      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5030       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5031       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5032        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5033        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5034      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5035        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5036       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5037        0,     0,   389,     0,   390,   391,     0,   465,   444,     1,
5038      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5039        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5040        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5041        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5042       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5044        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5045       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5046        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5047      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5048      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5049      390,   391,     0,   470,   466,     1,   269,    97,   290,   291,
5050        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5051        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5052        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5053       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5054       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5056      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5057      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5058      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5059      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5060      286,    43,     0,     0,   389,     0,   390,   391,     0,   474,
5061      471,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5063        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5064      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5065       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5068      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5069       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5070      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5071      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5072      389,     0,   390,   391,     0,   834,   475,     1,   269,    97,
5073      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5074        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5075        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5076       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5077       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5078        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5079       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5080        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5081       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5082      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5083      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5084        0,   837,  -776,     1,   269,    97,   290,   291,     0,     0,
5085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5086        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5087      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5088       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5089       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5090        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5091        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5092      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5093        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5094       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5095        0,     0,   389,     0,   390,   391,     0,   834,  -777,     1,
5096      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5097        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5098        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5099        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5100       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5102        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5103       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5104        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5105      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5106      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5107      390,   391,     0,   837,  -773,     1,   269,    97,   290,   291,
5108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5110        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5111       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5112       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5114      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5115      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5116      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5117      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5118      286,    43,     0,     0,   389,     0,   390,   391,     0,   834,
5119     -774,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5121        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5122      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5123       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5124        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5125        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5126      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5127       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5128      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5129      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5130      389,     0,   390,   391,     0,   837,  -779,     1,   269,    97,
5131      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5133        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5134       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5135       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5136        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5137       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5138        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5139       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5140      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5141      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5142        0,   941,  -780,     1,   269,    97,   290,   291,     0,     0,
5143        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5144        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5145      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5146       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5147       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5148        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5149        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5150      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5151        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5152       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5153        0,     0,   389,     0,   390,   391,     0,   945,   942,     1,
5154      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5156        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5157        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5158       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5159        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5160        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5161       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5162        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5163      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5164      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5165      390,   391,     0,   834,   946,     1,   269,    97,   290,   291,
5166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5168        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5169       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5170       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5171        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5172      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5173      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5174      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5175      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5176      286,    43,     0,     0,   389,     0,   390,   391,     0,   837,
5177     -759,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5178        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5179        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5180      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5181       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5183        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5184      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5185       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5186      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5187      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5188      389,     0,   390,   391,     0,   834,  -760,     1,   269,    97,
5189      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5190        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5191        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5192       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5193       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5194        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5195       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5196        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5197       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5198      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5199      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5200        0,   837,  -762,     1,   269,    97,   290,   291,     0,     0,
5201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5202        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5203      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5204       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5205       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5206        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5207        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5208      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5209        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5210       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5211        0,     0,   389,     0,   390,   391,     0,   834,  -763,     1,
5212      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5214        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5215        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5216       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5218        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5219       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5220        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5221      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5222      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5223      390,   391,     0,   837,  -687,     1,   269,    97,   290,   291,
5224        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5225        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5226        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5227       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5228       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5229        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5230      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5231      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5232      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5233      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5234      286,    43,     0,     0,   389,     0,   390,   391,     0,   834,
5235     -688,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5237        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5238      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5239       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5240        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5241        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5242      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5243       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5244      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5245      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5246      389,     0,   390,   391,     0,   837,  -680,     1,   269,    97,
5247      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5248        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5249        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5250       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5251       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5252        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5253       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5254        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5255       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5256      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5257      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5258        0,   834,  -681,     1,   269,    97,   290,   291,     0,     0,
5259        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5260        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5261      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5262       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5263       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5265        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5266      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5267        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5268       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5269        0,     0,   389,     0,   390,   391,     0,   837,  -676,     1,
5270      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5272        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5273        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5274       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5277       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5278        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5279      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5280      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5281      390,   391,     0,   834,  -677,     1,   269,    97,   290,   291,
5282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5285       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5286       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5287        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5288      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5289      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5290      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5291      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5292      286,    43,     0,     0,   389,     0,   390,   391,     0,   837,
5293     -666,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5295        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5296      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5297       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5299        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5300      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5301       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5302      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5303      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5304      389,     0,   390,   391,     0,   834,  -667,     1,   269,    97,
5305      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5307        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5308       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5309       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5310        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
5311       27,     0,   376,     0,     0,   274,   275,     0,    28,    29,
5312        0,     0,   377,    32,   378,   379,    35,    36,     0,   380,
5313       38,    39,   381,     0,     0,   382,   383,   384,   385,     0,
5314      386,     0,   387,   388,    40,     0,   280,   281,   282,   283,
5315      284,   285,   286,    43,     0,     0,   389,     0,   390,   391,
5316        0,   837,  -661,     1,   269,    97,   290,   291,     0,     0,
5317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     2,   172,
5319      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5320       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5321       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5322        0,     0,     0,     0,     0,   273,    27,     0,   376,     0,
5323        0,   274,   275,     0,    28,    29,     0,     0,   377,    32,
5324      378,   379,    35,    36,     0,   380,    38,    39,   381,     0,
5325        0,   382,   383,   384,   385,     0,   386,     0,   387,   388,
5326       40,     0,   280,   281,   282,   283,   284,   285,   286,    43,
5327        0,     0,   389,     0,   390,   391,     0,   834,  -662,     1,
5328      269,    97,   290,   291,     0,     0,     0,     0,     0,     0,
5329        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5330        0,     0,     0,     0,     2,   172,   173,   174,   175,   176,
5331        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5332       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334        0,   273,    27,     0,   376,     0,     0,   274,   275,     0,
5335       28,    29,     0,     0,   377,    32,   378,   379,    35,    36,
5336        0,   380,    38,    39,   381,     0,     0,   382,   383,   384,
5337      385,     0,   386,     0,   387,   388,    40,     0,   280,   281,
5338      282,   283,   284,   285,   286,    43,     0,     0,   389,     0,
5339      390,   391,     0,   837,  -678,     1,   269,    97,   290,   291,
5340        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5342        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5343       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5344       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,     0,   273,    27,     0,
5346      376,     0,     0,   274,   275,     0,    28,    29,     0,     0,
5347      377,    32,   378,   379,    35,    36,     0,   380,    38,    39,
5348      381,     0,     0,   382,   383,   384,   385,     0,   386,     0,
5349      387,   388,    40,     0,   280,   281,   282,   283,   284,   285,
5350      286,    43,     0,     0,   389,     0,   390,   391,     0,   268,
5351     -679,     1,   269,    97,   290,   291,     0,     0,     0,     0,
5352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5353        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5354      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5355       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5358      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5359       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5360      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5361      280,   281,   282,   283,   284,   285,   286,    43,     0,     0,
5362      389,     0,   390,   391,   375,     0,     1,   269,    97,     0,
5363      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5365        0,     2,   172,   173,   174,   175,   176,     8,     9,    10,
5366       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5367       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5368        0,     0,     0,     0,     0,     0,     0,     0,   273,    27,
5369        0,   376,     0,     0,   274,   275,     0,    28,    29,     0,
5370        0,   377,    32,   378,   379,    35,    36,     0,   380,    38,
5371       39,   381,     0,     0,   382,   383,   384,   385,     0,   386,
5372        0,   387,   388,    40,     0,   280,   281,   282,   283,   284,
5373      285,   286,    43,     0,     0,   389,     0,   390,   391,   443,
5374        0,     1,   269,    97,     0,   290,   291,     0,     0,     0,
5375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5376        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5377      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5378       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5380        0,     0,     0,   273,    27,     0,   376,     0,     0,   274,
5381      275,     0,    28,    29,     0,     0,   377,    32,   378,   379,
5382       35,    36,     0,   380,    38,    39,   381,     0,     0,   382,
5383      383,   384,   385,     0,   386,     0,   387,   388,    40,     0,
5384      280,   281,   282,   283,   284,   285,   286,    43,     0,   171,
5385      389,     1,   390,   391,     0,     0,     0,     0,     0,     0,
5386      290,   291,     0,     0,     0,     0,     0,     0,     0,     0,
5387        0,     0,     0,     0,     0,     0,     2,   172,   173,   174,
5388      175,   176,     8,     9,    10,    11,    12,    13,    14,    15,
5389       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5390        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5391        0,     0,     0,   177,    27,     0,     0,     0,     0,     0,
5392        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5393       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
5394        0,     0,     0, -1187,     0,     0,     0,     0,    40,     0,
5395        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
5396      774,   949,     0,     0,     0,     0,     0,     0,     0,     0,
5397        0,   508, -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1187,
5398    -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1187,
5399    -1187, -1187, -1187, -1187,     0, -1187, -1187, -1187, -1187, -1187,
5400    -1187, -1187, -1187, -1187, -1187, -1187,     0,     0,     0, -1187,
5401        0, -1187,     0,     0,     0,     0,     0, -1187, -1187,     0,
5402        0, -1187, -1187, -1187, -1187, -1187, -1187,     0,     0, -1187,
5403    -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1187, -1170, -1187,
5404        0,     0, -1187, -1187,     0,     0,     0,     0,     0,     0,
5405        0,     0,     0,     0,     0,     0,     0,     0, -1187,     0,
5406        0, -1187, -1187,     0, -1187,     0,     0, -1170, -1170, -1170,
5407    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,
5408    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,     0,
5409    -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170, -1170,
5410    -1170,     0,     0,     0, -1170,     0, -1170,     0,     0,     0,
5411        0,     0, -1170, -1170,     0,     0, -1170, -1170, -1170, -1170,
5412    -1170, -1170,     0,     0, -1170, -1170, -1170, -1170, -1170, -1170,
5413    -1170, -1170, -1170, -1172, -1170,     0,     0, -1170, -1170,     0,
5414        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5415        0,     0,     0, -1170,     0,     0, -1170, -1170,     0, -1170,
5416        0,     0, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172,
5417    -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172,
5418    -1172, -1172, -1172, -1172,     0, -1172, -1172, -1172, -1172, -1172,
5419    -1172, -1172, -1172, -1172, -1172, -1172,     0,     0,     0, -1172,
5420        0, -1172,     0,     0,     0,     0,     0, -1172, -1172,     0,
5421        0, -1172, -1172, -1172, -1172, -1172, -1172,     0,     0, -1172,
5422    -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1172, -1169, -1172,
5423        0,     0, -1172, -1172,     0,     0,     0,     0,     0,     0,
5424        0,     0,     0,     0,     0,     0,     0,     0, -1172,     0,
5425        0, -1172, -1172,     0, -1172,     0,     0, -1169, -1169, -1169,
5426    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
5427    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,     0,
5428    -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169, -1169,
5429    -1169,     0,     0,     0, -1169,     0, -1169,     0,     0,     0,
5430        0,     0, -1169, -1169,     0,     0, -1169, -1169, -1169, -1169,
5431    -1169, -1169,     0,     0, -1169, -1169, -1169, -1169, -1169, -1169,
5432    -1169, -1169, -1169, -1171, -1169,     0,     0, -1169, -1169,     0,
5433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5434        0,     0,     0,     0,     0,     0, -1169, -1169,     0, -1169,
5435        0,     0, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171,
5436    -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171,
5437    -1171, -1171, -1171, -1171,     0, -1171, -1171, -1171, -1171, -1171,
5438    -1171, -1171, -1171, -1171, -1171, -1171,     0,     0,     0, -1171,
5439        0, -1171,     0,     0,     0,     0,     0, -1171, -1171,     0,
5440        0, -1171, -1171, -1171, -1171, -1171, -1171,     0,     0, -1171,
5441    -1171, -1171, -1171, -1171, -1171, -1171, -1171, -1171,     0, -1171,
5442        1,     0, -1171, -1171,     0,     0,     0,     0,     0,     0,
5443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5444        0, -1171, -1171,     0, -1171,     2,   172,   173,   174,   175,
5445      176,   204,   205,   206,   207,   208,   209,   210,   211,   212,
5446      213,    18,    19,   214,   215,    22,    23,    24,     0,     0,
5447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5448        0,     0,     0,   216,     0,     0,     0,     0,     0,     0,
5449        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5450        0,     0,   217,    38,   218,     0,     0,     0,     0,     0,
5451        0,     0,     0,     0,     0,     0,     1,   219,     0,     0,
5452        0,     0,     0,     0,     0,     0,    43,     0,     0,   774,
5453        0,     0,     0,     0,     0,     0,  1354,     0,     0,     0,
5454      508,     2,   172,   173,   174,   175,   176,   204,   205,   206,
5455      207,   208,   209,   210,   211,   212,   213,    18,    19,   214,
5456      215,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     0,     0,   216,
5458        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5459        0,     0,    32,     0,     0,     0,     0,     0,   217,    38,
5460      218,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5461        0,     0,     1,   219,     0,     0,     0,     0,     0,     0,
5462        0,     0,    43,     0,     0,  1107,     0,     0,     0,     0,
5463        0,     0,     0,     0,     0,     0,  1108,     2,   172,   173,
5464      174,   175,   176,   204,   205,   206,   207,   208,   209,   210,
5465      211,   212,   213,    18,    19,   214,   215,    22,    23,    24,
5466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5467        0,     0,     0,     0,     0,   216,     0,     0,     0,     0,
5468        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5469        0,     0,     0,     0,   217,    38,   218,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,     0,     1,   219,
5471        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
5472        0,  1107,     0,     0,     0,     0,     0,     0,     0,     0,
5473        0,     0,  1130,     2,   172,   173,   174,   175,   176,   204,
5474      205,   206,   207,   208,   209,   210,   211,   212,   213,    18,
5475       19,   214,   215,    22,    23,    24,     0,     0,     0,     0,
5476        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5477        0,   216,     0,     0,     0,     0,     0,     0,     0,    28,
5478       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5479      217,    38,   218,     0,     0,     0,     0,     0,     0,     0,
5480        0,     0,     0,     0,     1,   219,     0,     0,     0,     0,
5481        0,     0,     0,     0,    43,     0,     0,  1107,     0,     0,
5482        0,     0,     0,     0,     0,     0,     0,     0,  1591,     2,
5483      172,   173,   174,   175,   176,   204,   205,   206,   207,   208,
5484      209,   210,   211,   212,   213,    18,    19,   214,   215,    22,
5485       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5486        0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
5487        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5488       32,     0,     0,     0,     0,     0,   217,    38,   218,     0,
5489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5490        1,   219,     0,     0,     0,     0,     0,     0,     0,     0,
5491       43,     0,     0,  1107,     0,     0,     0,     0,     0,     0,
5492        0,     0,     0,     0,  1606,     2,     3,     4,   239,     6,
5493        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5494       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5496        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5497        0,    28,    29,   240,    31,     0,    32,     0,     0,    35,
5498       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5499        0,     0,     0,     0,     1,     0,     0,    40,     0,     0,
5500        0,     0,    42,     0,     0,     0,    43,     0,     0,    44,
5501        0,     0,     0,     0,     0,     0,     0,     0,   241,     2,
5502      172,   173,   174,   175,   176,     8,     9,    10,    11,    12,
5503       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5504       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5505        0,     0,     0,     0,     0,     0,     0,    27,     0,   376,
5506        0,     0,     0,     0,     0,    28,    29,     0,     0,   377,
5507       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
5508        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
5509        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5510       43,     0,     0,   862,     0,   390,     0,     0,     0,     0,
5511        0,     0,   863,     2,   172,   173,   174,   175,   176,     8,
5512        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5513       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5515        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5516       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5517       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
5518        0,     0,     1,     0,     0,    40,     0,     0,     0,     0,
5519        0,     0,     0,     0,    43,     0,     0,   842,     0,     0,
5520      843,     0,     0,     0,     0,     0,   844,     2,   172,   173,
5521      174,   175,   176,     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,     0,    27,     0,     0,     0,     0,
5525        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5526        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5527        0,     0,     0,     0,     0,     0,     1,     0,     0,    40,
5528        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
5529        0,   842,     0,     0,  1394,     0,     0,     0,     0,     0,
5530      844,     2,   172,   173,   174,   175,   176,     8,     9,    10,
5531       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5532       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5534        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5535        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5536       39,     0,     0,     0,     0,     0,     0,     0,   555,     0,
5537        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5538        0,     0,    43,     0,     0,    44,     0,     0,     0,     0,
5539        0,     0,     0,     0,   844,     2,   172,   173,   174,   175,
5540      176,   204,   205,   206,   207,   208,   209,   210,   211,   212,
5541      213,    18,    19,   214,   215,    22,    23,    24,     0,     0,
5542        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5543        0,     0,     0,   216,     0,     0,     0,     0,     0,     0,
5544        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5545        0,     0,   217,    38,   218,     0,     0,     0,     0,     0,
5546     1418,     0,     0,     0,     0,     0,     0,   219,     0,     0,
5547        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5548        0,     0,     0,     0,     0,     0,   220,   -65,   -65,   -65,
5549      -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5550      -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
5551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5552        0,     0,     0,     0,     0,   -65,     0,     0,     0,     0,
5553        0,     0,     0,   -65,   -65,     0,     0,     0,   -65,     0,
5554        0,     0,     0,     0,   -65,   -65,   -65,     0,     0,     0,
5555        0,  1616,     0,     0,     0,     0,     0,     0,     0,   -65,
5556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5557        0,     0,     0,     0,  1419,     0,  1420,   -65,     2,   172,
5558      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
5559      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
5560       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5561        0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
5562        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5563        0,     0,     0,     0,     0,   217,    38,   218,     0,     0,
5564        0,     0,  1620,     0,     0,     0,     0,     0,     0,     0,
5565      219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5566        0,     0,     0,     0,     0,     0,     0,     0,  -110,     2,
5567      172,   173,   174,   175,   176,   204,   205,   206,   207,   208,
5568      209,   210,   211,   212,   213,    18,    19,   214,   215,    22,
5569       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
5571        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5572       32,     0,     0,     0,     0,     0,   217,    38,   218,     0,
5573        0,     0,     0,  1621,     0,     0,     0,     0,     0,     0,
5574        0,   219,     0,     0,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,     0,     0,     0,     0,     0,   -94,
5576        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
5577      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
5578       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5579        0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
5580        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5581        0,    32,     0,     0,     0,     0,     0,   217,    38,   218,
5582        0,     0,     0,     0,  1725,     0,     0,     0,     0,     0,
5583        0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
5584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5585      -95,     2,   172,   173,   174,   175,   176,   204,   205,   206,
5586      207,   208,   209,   210,   211,   212,   213,    18,    19,   214,
5587      215,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5588        0,     0,     0,     0,     0,     0,     0,     0,     0,   216,
5589        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5590        0,     0,    32,     0,     0,     0,     0,     0,   217,    38,
5591      218,     0,     0,     0,     0,  1867,     0,     0,     0,     0,
5592        0,     0,     0,   219,     0,     0,     0,     0,     0,     0,
5593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5594        0,   -79,     2,   172,   173,   174,   175,   176,   204,   205,
5595      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
5596      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
5597        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5598      216,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5599        0,     0,     0,    32,     0,     0,     0,     0,     0,   217,
5600       38,   218,     0,     0,     0, -1250,   258,     0,     1,     0,
5601        0,     0,     0,     0,   219,     0,     0,     0,     0,     0,
5602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5603        0,     0,   -86,     2,     3,     4,     5,     6,     7,     8,
5604        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5605       19,    20,    21,    22,    23,    24,     0,     0,    25,     0,
5606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5607       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5608       29,    30,    31,     0,    32,    33,    34,    35,    36,     0,
5609       37,    38,    39,     0,     0,     0,     1,     0,     0,     0,
5610        0,     0,     0,     0,     0,    40,    41,     0,     0,     0,
5611       42,     0,     0,     0,    43,     0,     0,    44,     0,     0,
5612       45,     2,   172,   173,   174,   175,   176,     8,     9,    10,
5613       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5614       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5615        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5616        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5617        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5618       39,     0,     0,     0,     0,     0,     0,     1,     0,     0,
5619        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5620      758,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,  1308,     2,   172,   173,   174,   175,   176,     8,     9,
5622       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5623       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5625       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5626        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5627       38,    39,     0,     0,     0,     0,     0,     0,     1,     0,
5628        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5629        0,   758,     0,     0,     0,     0,     0,     0,     0,     0,
5630        0,     0,  1648,     2,   172,   173,   174,   175,   176,     8,
5631        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5632       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5635       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5636       37,    38,    39,     0,     0,     0,     0,   147,     0,     1,
5637        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5638        0,     0,   758,     0,     0,     0,     0,     0,     0,     0,
5639        0,     0,     0,  1649,     2,     3,     4,   148,     6,     7,
5640        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5641       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5643        0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
5644       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5645        0,    37,    38,    39,     0,   147,     0,     1,     0,     0,
5646        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5647        0,     0,     0,     0,     0,    43,     0,     0,    44,     0,
5648        0,   149,     2,     3,     4,   148,     6,     7,     8,     9,
5649       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5650       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5651        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5652       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5653        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5654       38,    39,     0,   542,     0,     1,     0,     0,     0,     0,
5655        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5656        0,     0,     0,    43,     0,     0,    44,     0,     0,   149,
5657        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
5658      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
5659       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5660        0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
5661        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5662        0,    32,     0,     0,     0,     0,     0,   217,    38,   218,
5663        0,  -918,     0,  -918,     0,     0,     0,     0,     0,     0,
5664        0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
5665        0,    43,     0,     0,    44,     0,     0,   543,  -918,  -918,
5666     -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,
5667     -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,  -918,
5668     -918,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5669        0,     0,     0,     0,     0,     0,  -918,     0,     0,     0,
5670        0,     0,     0,     0,  -918,  -918,     0,     0,     0,  -918,
5671        0,     0,     0,     0,     0,  -918,  -918,  -918,     0,     0,
5672        0,     1,     0,     0,     0,     0,     0,     0,     0,     0,
5673     -918,     0,     0,     0,     0,     0,     0,     0,     0,  -918,
5674        0,     0,  -918,     0,     0,  -918,     2,     3,     4,     5,
5675        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
5676       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5677        0,    25,     0,     0,     0,     0,     0,     0,     0,     0,
5678        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
5679        0,     0,    28,    29,    30,    31,     0,    32,    33,    34,
5680       35,    36,     0,    37,    38,    39, -1251,   250,     0,     1,
5681        0,     0,     0,     0,     0,     0,     0,     0,    40,    41,
5682        0,     0,     0,    42,     0,     0,     0,    43,     0,     0,
5683       44,     0,     0,    45,     2,     3,     4,   148,     6,     7,
5684        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
5685       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
5686        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5687        0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
5688       28,    29,     0,     0,     0,    32,    33,    34,    35,    36,
5689        0,    37,    38,    39,   171,     0,     1,     0,     0,     0,
5690        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5691        0,     0,     0,     0,     0,    43,     0,     0,    44,     0,
5692        0,     2,   172,   173,   174,   175,   176,     8,     9,    10,
5693       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5694       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5695        0,     0,     0,     0,     0,     0,     0,     0,   177,    27,
5696        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5697        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5698       39,   171,     0,     1,     0,     0,     0,     0,     0,     0,
5699        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5700        0,     0,    43,     0,     0,  1107,  1578,     0,     2,   172,
5701      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5702       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5703       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5704        0,     0,     0,     0,     0,   177,    27,     0,     0,     0,
5705        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5706        0,     0,    35,    36,     0,    37,    38,    39,   854,     0,
5707        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5708       40,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5709        0,     0,     0,   178,     0,     2,   172,   173,   174,   175,
5710      176,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5711       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5713        0,     0,   177,    27,     0,     0,     0,     0,     0,     0,
5714        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5715       36,     0,    37,    38,    39,   171,     0,     1,     0,     0,
5716        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5718      178,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5719       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5720       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5721        0,     0,     0,     0,     0,     0,     0,     0,     0,   177,
5722       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5723        0,     0,     0,    32,     0,     0,    35,    36,     0,    37,
5724       38,    39,   171,     0,     1,     0,     0,     0,     0,     0,
5725        0,     0,     0,     0,    40,     0,     0,     0,     0,     0,
5726        0,     0,     0,     0,     0,     0,     0,  1459,     0,     2,
5727      172,   173,   174,   175,   176,     8,     9,    10,    11,    12,
5728       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
5729       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
5730        0,     0,     0,     0,     0,     0,   177,    27,     0,     0,
5731        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
5732       32,     0,     0,    35,    36,     0,    37,    38,    39,   147,
5733        0,     1,     0,     0,     0,     0,     0,     0,     0,     0,
5734        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
5735        0,     0,     0,     0,  1792,     0,     2,     3,     4,   148,
5736        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
5737       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
5738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5739        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
5740        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5741       35,    36,     0,    37,    38,    39,   147,     0,     1,     0,
5742        0,     0,     0,     0,     0,     0,     0,     0,    40,     0,
5743        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
5744       44,     0,     0,     2,     3,     4,   148,     6,     7,     8,
5745        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
5746       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
5747        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5748        0,    27,     0,     0,     0,     0,     0,     0,     0,    28,
5749       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
5750       37,    38,    39,   798,     0,     1,     0,     0,     0,     0,
5751        0,     0,     0,     0,     0,    40,     0,     0,     0,     0,
5752        0,     0,     0,     0,    43,     0,     0,    44,     0,     0,
5753        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
5754      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
5755       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5756        0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
5757        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5758        0,    32,     0,     0,     0,     0,     0,   217,    38,   218,
5759        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
5761        0,     0,     0,     0,   799,     2,     3,     4,   148,     6,
5762        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5763       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5765        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5766        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5767       36,     0,    37,    38,    39,     1,     0,     0,     0,     0,
5768        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5769        0,     0,     0,     0,     0,     0,    43,     0,     0,    44,
5770        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5771       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5772       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5773        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
5774        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5775        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5776        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5777        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5778        0,    43,     0,     0,    44,     2,   172,   173,   174,   175,
5779      176,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5780       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5781        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5782        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5783        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5784       36,     0,    37,    38,    39,     1,     0,     0,     0,     0,
5785        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5786        0,     0,     0,     0,     0,     0,     0,     0,     0,   653,
5787        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5788       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5789       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5790        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
5791        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5792        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5793        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5794        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5795        0,     0,     0,     0,  1358,     2,   172,   173,   174,   175,
5796      176,   204,   205,   206,   207,   208,   209,   210,   211,   212,
5797      213,    18,    19,   214,   215,    22,    23,    24,     0,     0,
5798        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5799        0,     0,     0,   216,     0,     0,     0,     0,     0,     0,
5800        0,    28,    29,     0,     0,     0,    32,     0,     0,     0,
5801        0,     0,   217,    38,   218,     1,     0,     0,     0,     0,
5802        0,     0,     0,     0,     0,     0,     0,   219,     0,     0,
5803        0,     0,     0,     0,     0,     0,    43,     0,     0,    44,
5804        2,   172,   173,   174,   175,   176,     8,     9,    10,    11,
5805       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5806       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5807        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
5808        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5809        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5810      969,     0,     1,     0,     0,     0,     0,     0,     0,     0,
5811        0,     0,    40,     0,     0,     0,     0,     0,     0,   758,
5812        0,     0,     0,     0,     0,     0,     0,     2,   172,   173,
5813      174,   175,   176,     8,     9,    10,    11,    12,    13,    14,
5814       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5815      970,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5816        0,     0,     0,     0,   177,    27,     0,     0,     0,     0,
5817        0,     0,     0,    28,    29,   975,     0,     1,    32,     0,
5818        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5819        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5820        0,     0,     2,   172,   173,   174,   175,   176,     8,     9,
5821       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5822       20,    21,    22,    23,    24,   976,     0,     0,     0,     0,
5823        0,     0,     0,     0,     0,     0,     0,     0,     0,   177,
5824       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5825      981,     0,     1,    32,     0,     0,    35,    36,     0,    37,
5826       38,    39,     0,     0,     0,     0,     0,     0,     0,     0,
5827        0,     0,     0,     0,    40,     0,     0,     2,   172,   173,
5828      174,   175,   176,     8,     9,    10,    11,    12,    13,    14,
5829       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5830      982,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5831        0,     0,     0,     0,   177,    27,     0,     0,     0,     0,
5832        0,     0,     0,    28,    29,   783,     0,     1,    32,     0,
5833        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5835        0,     0,     2,   172,   173,   174,   175,   176,   204,   205,
5836      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
5837      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
5838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5839      216,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5840        1,     0,     0,    32,     0,     0,     0,     0,     0,   217,
5841       38,   218,     0,     0,     0,     0,     0,     0,     0,     0,
5842        0,     0,     0,     0,   219,     2,   172,   173,   174,   175,
5843      176,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5844       17,    18,    19,    20,    21,    22,    23,    24,   934,     0,
5845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5846        0,     0,   177,    27,     0,     0,     0,     0,     0,     0,
5847        0,    28,    29,     1,     0,     0,    32,     0,     0,    35,
5848       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5849        0,     0,     0,     0,     0,     0,     0,    40,     2,   172,
5850      173,   174,   175,   176,     8,     9,    10,    11,    12,    13,
5851       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5852       24,   987,     0,     0,     0,     0,     0,     0,     0,     0,
5853        0,     0,     0,     0,     0,   177,    27,     0,     0,     0,
5854        0,     0,     0,     0,    28,    29,     1,     0,     0,    32,
5855        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5857       40,     2,   172,   173,   174,   175,   176,     8,     9,    10,
5858       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5859       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5860        0,     0,     0,     0,     0,     0,     0,     0,   177,    27,
5861        0,     0,     0,     0,     0,     0,     0,    28,    29,     1,
5862        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5863       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5864        0,     0,     0,    40,     2,   172,   173,   174,   175,   176,
5865      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
5866       18,    19,   214,   215,    22,    23,    24,     0,     0,     0,
5867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5868        0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
5869       28,    29,     1,     0,     0,    32,   432,   433,     0,     0,
5870        0,   217,    38,   218,     0,     0,     0,     0,     0,     0,
5871        0,     0,     0,     0,     0,     0,   219,     2,   172,   173,
5872      174,   175,   176,     8,     9,    10,    11,    12,    13,    14,
5873       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5874        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5875        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5876        0,     0,     0,    28,    29,     1,     0,     0,    32,     0,
5877        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5878        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5879        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
5880      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
5881       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5882        0,     0,     0,     0,     0,     0,     0,   457,   216,     0,
5883        0,     0,     0,     0,     0,     0,    28,    29,     1,     0,
5884        0,    32,     0,     0,     0,     0,     0,   217,    38,   218,
5885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5886        0,     0,   219,     2,   172,   173,   174,   175,   176,   204,
5887      205,   206,   207,   208,   209,   210,   211,   212,   213,    18,
5888       19,   214,   215,    22,    23,    24,     0,     0,     0,     0,
5889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5890        0,   216,     0,     0,     0,     0,     0,     0,     0,    28,
5891       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
5892      217,    38,   218,     0,     0,     0,     0,     0,     0,     0,
5893        0,     0,     0,     0,     0,   219,     2,   172,   173,   174,
5894      175,   176,   204,   205,   206,   207,   208,   209,   210,   211,
5895      212,   213,    18,    19,   214,   215,    22,    23,    24,     0,
5896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5897        0,     0,     0,     0,   216,     0,     0,     0,     0,     0,
5898        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5899        0,     0,     0,   217,    38,   218,     0,     0,     0,     0,
5900        0,     0,     0,     0,     0,     0,     0,     0,   219,     0,
5901        0,     0,     0,     0,     0,     0,     0,    43,     0,     0,
5902      774,  1575,     0,     0,     0,     0,     0,     0,     0,     0,
5903        0,   508,     2,   172,   173,   174,   175,   176,   204,   205,
5904      206,   207,   208,   209,   210,   211,   212,   213,    18,    19,
5905      214,   215,    22,    23,    24,     0,     0,     0,     0,     0,
5906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5907      216,     0,     0,     0,     0,     0,     0,     0,    28,    29,
5908        0,     0,     0,    32,     0,     0,     0,     0,     0,   217,
5909       38,   218,     0,     0,     0,     0,     0,     0,     0,     0,
5910        0,     0,     0,     0,   219,     0,     0,     0,     0,     0,
5911        0,     0,     0,    43,     0,     0,   774,     0,     0,     0,
5912        0,     0,     0,     0,     0,     0,     0,   508,     2,   172,
5913      173,   174,   175,   176,   204,   205,   206,   207,   208,   209,
5914      210,   211,   212,   213,    18,    19,   214,   215,    22,    23,
5915       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5916        0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
5917        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
5918        0,     0,     0,     0,     0,   217,    38,   218,     0,     0,
5919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5920      219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5921        0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
5922        2,   172,   173,   174,   175,   176,   204,   205,   206,   207,
5923      208,   209,   210,   211,   212,   213,    18,    19,   214,   215,
5924       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5925        0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
5926        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5927        0,    32,     0,     0,     0,     0,     0,   217,    38,   218,
5928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5929        0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
5930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5931     1429,     2,   172,   173,   174,   175,   176,   204,   205,   206,
5932      207,   208,   209,   210,   211,   212,   213,    18,    19,   214,
5933      215,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5934        0,     0,     0,     0,     0,     0,     0,     0,     0,   216,
5935        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5936        0,     0,    32,     0,     0,     0,     0,     0,   217,    38,
5937      218,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5938        0,     0,     0,   219
5939 };
5940
5941 static const yytype_int16 yycheck[] =
5942 {
5943        0,    83,   652,   127,   507,   841,   507,   577,   873,   517,
5944       75,   519,   484,   139,    75,    75,   140,    76,   142,   841,
5945      144,   767,    78,    91,   767,   771,   484,   136,   771,   732,
5946       30,    31,    51,   117,   763,     1,   906,   907,   908,     1,
5947       75,    41,   763,   907,    44,  1500,    91,    78,   236,    84,
5948      906,    51,   908,   127,    84,   163,    56,  1512,    58,    75,
5949       76,   767,  1115,     1,  1117,   771,   140,   906,   142,   908,
5950      144,     1,   686,    84,    74,    75,    76,   161,    78,    56,
5951       80,   163,    82,   306,    84,   104,     3,   305,   654,    84,
5952        5,    91,    92,   139,   291,    95,    91,    17,     3,    30,
5953        5,   319,     3,   484,   104,   323,   370,   107,     5,    51,
5954        3,    42,   427,   428,    69,    70,   116,   117,   732,   119,
5955        3,   306,     5,   123,   124,   125,    17,   127,   236,   672,
5956      377,   131,    74,   133,     3,   678,   136,   137,   681,   139,
5957      140,   141,   142,     1,   144,   721,     5,   255,   672,    75,
5958      893,   170,   234,   153,   678,   121,   118,   681,    84,     1,
5959      160,   161,     3,   118,     1,    91,     3,    98,    99,   110,
5960      170,   102,   231,   749,   112,   191,   153,   424,   119,   244,
5961      180,     1,   182,   244,   244,   115,   254,     3,   256,   131,
5962      190,   191,   109,   254,   254,   112,   112,   499,     3,     5,
5963        5,   201,     1,   203,     3,   120,   123,   499,   113,   254,
5964        1,   256,   113,   133,   311,   231,   121,   170,     1,   254,
5965      117,   256,   524,   793,     1,   527,   256,   529,   244,   531,
5966      113,   231,   524,   599,   600,   527,   236,   529,   121,   531,
5967      240,  1106,   133,   507,   244,   256,   372,   373,   190,     1,
5968      119,   906,    17,   908,   254,     3,   256,   115,    74,   117,
5969      118,   256,     1,    79,     3,     3,   350,   775,   776,     1,
5970       86,   774,     0,   774,   274,   116,   118,   254,  1148,  1149,
5971      280,   118,     1,     3,  1148,  1155,  1156,     1,   288,  1159,
5972     1160,  1155,    17,  1149,  1749,  1159,   112,     1,   118,     3,
5973     1156,     1,   112,     1,  1160,   686,     1,   123,   113,   240,
5974     1149,   117,   394,   395,   396,   397,   121,  1156,   906,   118,
5975      908,  1160,   275,    79,   115,     3,   117,   373,   281,     3,
5976      256,     1,   115,   115,   117,   118,   234,   235,     1,     1,
5977      797,   118,   342,   343,   234,   235,     3,    75,     1,     1,
5978      350,   732,   352,   117,     3,     1,    84,     3,     0,   290,
5979      124,   109,   110,    91,    92,   121,   118,   585,   133,   425,
5980      588,   119,   372,   373,     3,     3,   376,   377,   116,   118,
5981      504,     3,   506,   383,     5,   117,   386,   387,   388,   389,
5982      390,   500,  1095,   113,   425,  1984,   480,   117,  1101,   118,
5983       28,   121,   112,   485,   118,   669,    28,   112,   133,   597,
5984      598,   599,   600,   123,   118,   872,    73,   115,   118,   419,
5985      420,   421,   110,   118,   424,   425,     3,   427,   428,   118,
5986      504,   431,   506,    75,   112,   519,   436,   118,     3,   113,
5987      440,   441,    84,   117,    90,   445,   446,   121,   118,    91,
5988       92,  2040,   995,   119,   962,   118,   118,   457,   458,     1,
5989      963,   118,   963,   191,   113,   118,   118,   467,   468,     1,
5990     1335,   995,   472,   473,   490,   491,   476,   477,     1,   118,
5991      480,  1095,   482,   706,   707,   708,   115,  1101,   117,   508,
5992      490,   491,   113,   509,  1149,   495,    73,   119,   440,   499,
5993      500,  1156,     5,   700,   504,  1160,   506,   507,   508,   509,
5994      774,   511,   620,   736,   737,   738,   244,   517,   537,   519,
5995        1,   706,   707,   708,   524,   789,   254,   527,   256,   529,
5996      727,   531,  1397,  1586,   849,   850,   800,   537,   735,   920,
5997       77,  1107,    74,   790,   859,     1,   861,    79,   113,     3,
5998      550,   736,   737,   738,    86,   508,   624,     0,   755,  1125,
5999      288,  1149,   311,   624,   624,     5,  1132,   567,  1156,   569,
6000      652,   113,  1160,     3,     5,   117,     3,   577,     5,   624,
6001      112,   113,  1311,  1312,   121,   117,  1332,   485,     3,  1332,
6002     1311,  1312,   115,   109,   117,   485,   112,   597,   598,   599,
6003      600,    28,   244,  1439,  1107,     3,  1107,  1477,  1478,   562,
6004      113,     5,   254,  1477,   256,   615,   616,  1439,   715,   716,
6005        3,   718,  1478,   116,   624,   872,  1332,   112,     3,   629,
6006      109,     3,   998,   112,     3,  1001,   117,   110,   123,  1478,
6007        1,   767,   115,   643,   123,   771,   743,   744,   745,   746,
6008      650,   651,   652,   653,   654,   655,   112,   113,     3,   113,
6009     1041,   117,  1408,     3,  1410,  1046,   968,   914,  1049,   669,
6010     1051,   115,   974,  1039,   616,   115,   968,     3,   980,   117,
6011      110,   612,   613,   683,   986,   115,   118,   687,  1054,  1055,
6012     1056,  1057,   119,    65,   986,   109,   424,     3,   117,   597,
6013      598,   599,   600,    83,   119,     3,  1412,   597,   598,   599,
6014      600,   109,   110,     1,  1095,   129,   130,     3,   112,  1584,
6015     1101,   119,    28,   621,     1,  1590,   657,   658,   659,   729,
6016       28,   621,     3,   733,    74,   377,   119,   109,   110,    79,
6017      109,   110,   824,   825,   119,   827,    86,   119,   830,   831,
6018      119,   112,   113,   110,   880,   881,   117,    28,   758,   759,
6019      760,   885,   119,   763,   764,   765,   892,   767,   113,   109,
6020      770,   771,   112,     3,   774,     5,   119,   886,   778,   779,
6021      723,   121,   424,   163,   110,   111,    74,    73,   788,   789,
6022      790,    79,     1,   793,     3,  1660,   103,   797,    86,   799,
6023      800,    31,   802,     1,   804,   118,  1676,  1677,   751,   722,
6024      998,   885,  1676,  1001,   112,   897,   724,   113,     7,     8,
6025        9,  1677,  1330,  1478,  1088,   725,     3,   115,   116,   117,
6026      939,   940,   118,  1376,   880,   881,   113,   750,  1677,   855,
6027      117,  1105,   842,   112,   752,   845,   788,     3,   119,   849,
6028      850,  1039,  1376,   753,   234,   855,   236,   113,   111,   859,
6029        1,   861,   862,   170,   117,    74,  1054,  1055,  1056,  1057,
6030       79,   871,   872,   873,     3,   255,   754,    86,   962,   116,
6031      880,   881,   236,   883,   121,   885,   886,     7,     8,     9,
6032     1478,   844,   892,   893,   772,   773,   624,   828,   112,    28,
6033      109,   629,     3,   112,     1,   112,   115,     3,   117,   118,
6034        7,     8,     9,   118,   914,   113,   123,     3,     3,   117,
6035        5,   116,  1145,   112,   652,    11,     3,    28,     1,   882,
6036        3,   120,   109,   110,   123,  1800,     7,     8,     9,   939,
6037      940,   669,   721,   943,   944,   964,    31,   947,   948,  1073,
6038      950,    28,   116,   109,   110,  1152,   112,   121,  1608,   111,
6039     1145,  1531,   962,   963,   964,   117,   715,   716,   968,   718,
6040      749,   971,   113,  1445,   974,   111,   117,   977,   709,   710,
6041      980,   117,   624,   983,   291,    11,   986,  1445,   988,   119,
6042      119,   121,   112,   993,   743,   744,   745,   746,   998,  1073,
6043      120,  1001,   115,   123,     3,     1,   119,    77,   739,   740,
6044     1010,   964,  1012,   109,   394,   112,   112,   397,   119,   116,
6045      722,  1021,  1677,   120,   112,   111,   123,   119,   508,  1865,
6046      116,   117,   760,   119,  1034,   112,   109,   110,   112,  1039,
6047     1040,     7,     8,     9,   117,   111,  1763,    11,   750,   120,
6048      109,   117,   123,  1006,  1054,  1055,  1056,  1057,     3,   115,
6049     1079,   112,   790,   119,  1445,  1380,     3,  1382,   112,   797,
6050      129,   130,  1072,  1073,   802,    74,   804,   112,    74,  1079,
6051       79,  1081,   562,    79,  1587,   111,  1587,    86,  1088,  1677,
6052       86,   117,  1092,   119,   112,     1,  1096,   111,  1098,  1030,
6053       12,    13,  1102,   117,   112,   485,  1106,  1107,    11,   112,
6054        7,     8,     9,   112,   119,  1481,  1482,   132,   723,   115,
6055      116,   117,     7,     8,     9,  1125,  1492,   855,  1600,    74,
6056     1876,  1877,  1132,    74,    79,   724,   115,    74,    79,  1139,
6057      119,    86,    79,   125,   872,    86,   751,   111,   790,    86,
6058      131,     3,  1802,   117,   120,  1108,  1054,  1055,  1056,  1057,
6059        7,     8,     9,   752,  1054,  1055,  1056,  1057,    74,     3,
6060      113,   478,   109,    79,   119,   725,  1074,  1130,   119,    16,
6061       86,   118,   113,     3,  1074,     5,   117,   113,    12,    13,
6062      121,   117,   125,  1910,     3,  1912,   111,  1767,   110,   111,
6063       74,   508,   117,   753,  1468,    79,  1332,   754,   111,   115,
6064      116,   117,    86,   116,   117,  1146,   119,   597,   598,   599,
6065      600,   118,    74,   120,   113,   772,   773,    79,   117,   536,
6066      872,    65,    44,    45,    86,   120,   131,     3,  1710,     3,
6067      620,   621,  1623,   597,   598,   599,   600,  1628,   711,   712,
6068     1631,   132,  1710,   111,  1635,   562,  1973,   109,  1975,   117,
6069     1977,    16,    74,    75,   113,    74,   118,    79,   115,   116,
6070       79,   119,   914,   120,    86,   109,   110,    86,   741,   742,
6071      126,   127,  1408,  1409,  1410,  1411,   110,   111,   113,   109,
6072      110,   119,   117,  1481,  1482,    44,    45,   109,  2015,  2016,
6073      109,  2018,  1302,  1303,  1492,   116,  1306,  1307,    74,   118,
6074       74,  1311,  1312,    79,   112,    79,    74,  2034,   111,   113,
6075       86,    79,    86,   117,   117,    74,    75,   121,    86,  1710,
6076       79,   110,  1332,  2050,   119,  1335,   121,    86,   709,   710,
6077      119,  1341,   121,   109,  1344,   109,   112,   113,   112,   656,
6078     1350,  1351,   119,   660,   121,   113,  1356,  1357,   711,   712,
6079     1088,   111,   119,   112,   844,   672,   111,   117,   739,   740,
6080     1736,   678,   117,   113,   681,   113,  1307,   117,  1378,   117,
6081     1380,   121,  1382,   121,   111,  1385,   111,   113,   741,   742,
6082      117,   117,   117,   700,  1775,    69,    70,  1397,     1,  1780,
6083        3,   111,   882,  1403,  1404,    10,    11,   117,  1408,  1409,
6084     1410,  1411,     1,   124,     3,  1541,   127,    91,  1988,   115,
6085      727,    95,  1803,    97,    88,    89,    90,   115,   735,   140,
6086     1383,   142,   117,   144,    18,    19,    20,    21,    22,    23,
6087       24,    25,    26,    27,   118,   719,   720,   113,   755,   719,
6088      720,   117,  1468,  1650,  1651,  1652,  1653,  1654,  1655,  1656,
6089     1657,  1933,   113,   113,   110,   113,   117,   117,  1468,   117,
6090      119,    74,   121,   747,   748,  1933,    79,   747,   748,    14,
6091       15,  1481,  1482,    86,   964,   126,   127,   113,    44,    45,
6092     1490,   117,  1492,  1493,   113,   113,  1496,   113,   117,   117,
6093     1500,   117,   110,   115,  1504,   117,   109,  1507,   119,   112,
6094      121,   115,   115,   117,   117,   118,   115,   897,    74,    75,
6095     1992,  1993,   110,    79,   137,     1,  1006,     3,   141,   116,
6096       86,  1531,   116,   119,   841,  1993,  1902,   844,  1904,   117,
6097      115,  1541,   117,   119,     1,   121,     3,   119,  1736,   121,
6098      124,     1,  1933,     3,   124,     1,   112,     3,     1,   270,
6099        3,   115,   115,   117,   117,    10,    11,  1691,   119,  1693,
6100      121,     1,  1503,     3,     1,   882,     3,     1,     1,     3,
6101        3,   115,  1664,   117,  1584,    14,    15,  1587,  1519,   119,
6102     1590,  1715,   115,  1717,   117,   115,   124,   117,   119,   906,
6103      121,   908,  1968,  1420,   119,  1422,   117,  1420,  1608,  1422,
6104     1610,  1611,  1993,   117,   822,   823,   117,  1691,   998,  1693,
6105      117,  1001,   822,   823,   490,   491,   490,   491,  1108,   597,
6106      598,   118,   597,   598,   119,   115,  1589,   121,  1591,    91,
6107       92,  1715,   112,  1717,   998,  1645,   112,  1001,   764,   765,
6108     1130,   112,  1605,  1606,   112,   115,   115,   964,   112,  1039,
6109     1660,   116,   115,   119,   115,   113,   115,  1667,  1865,  1669,
6110      110,   115,   119,   115,  1054,  1055,  1056,  1057,   110,  1679,
6111        0,   118,   115,   119,   115,  1039,   124,   121,   995,   115,
6112      118,  1691,   110,  1693,  1074,   115,   118,   118,   113,  1006,
6113     1054,  1055,  1056,  1057,   113,   113,   113,   124,   419,   420,
6114      124,   113,    56,   112,  1902,  1715,  1904,  1717,   121,   112,
6115      431,   121,   112,   115,   115,  1032,  1033,   115,   112,   110,
6116     1730,  1731,  1732,  1733,   445,   446,  1736,   110,   115,   113,
6117     1468,  1741,  1742,   113,  1744,   113,  1746,   110,   112,  1873,
6118     1876,  1877,   112,   110,   123,    75,   467,   468,  1758,   113,
6119      113,   472,   473,   113,    84,   476,   477,  1767,   123,  1992,
6120     1770,    91,    92,   118,   117,   117,   113,   123,    56,   110,
6121     1968,   121,   121,   121,   113,   121,   121,   121,   121,   121,
6122      113,   113,    11,   504,   115,   506,   113,   113,   124,  1873,
6123     1800,  1108,  1802,     0,   112,   125,   124,  1992,   113,   124,
6124      121,   121,   112,   112,   123,   113,   113,   137,   113,   113,
6125      113,   141,   113,  1130,   113,    64,    64,   112,   124,   115,
6126     1761,   123,  1763,   116,   124,   119,   124,   124,   119,   121,
6127      115,   121,  1149,   116,    41,  1152,   116,   115,  1801,  1156,
6128      119,   113,   113,  1160,    51,  2023,   119,   124,  1811,   124,
6129      124,    58,   113,   113,   124,   124,   124,   124,   124,   113,
6130      113,  1871,  1872,  1873,  1874,  1875,  1876,  1877,    75,   115,
6131     1608,    78,  1882,  1883,  1884,  1885,    83,    84,   113,   124,
6132      124,   113,  1892,   124,    91,    92,   124,   115,   115,  1981,
6133     1982,   115,  1902,  1383,  1904,   115,   113,   104,   892,   115,
6134      107,   115,   115,  1913,  1914,  1868,  1869,   115,   431,   115,
6135      115,   115,   119,   115,   244,   115,   115,   124,   125,   431,
6136      127,   431,   431,   431,   254,   770,   256,   883,   655,  1378,
6137      137,   914,   139,   140,   141,   142,   270,   144,   254,   388,
6138     1950,  1951,   254,   280,   853,  1955,  1956,  1803,   425,  1959,
6139      231,  1961,  1972,   270,  1964,    91,   163,   270,  1968,    84,
6140      236,    84,    92,   170,    84,    -1,  1645,    -1,    -1,  1910,
6141       -1,  1912,  1982,    -1,  1984,   182,    -1,    -1,  1988,    -1,
6142      125,    -1,    -1,   306,   191,    -1,    -1,    -1,    -1,    -1,
6143       -1,  2001,   137,    -1,    -1,    -1,   141,    -1,    -1,    -1,
6144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6145       -1,    -1,    -1,  2023,  2024,    -1,    -1,    -1,    -1,  2029,
6146       -1,    -1,    -1,    -1,   231,    -1,    -1,   234,   235,   236,
6147     2040,  1972,  1973,    -1,  1975,    -1,  1977,   244,    -1,    -1,
6148     1430,    -1,    -1,    -1,    -1,    -1,   376,   254,   255,   256,
6149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   388,  1376,
6150       -1,    -1,    -1,    -1,  1802,    -1,  1383,   274,    -1,    -1,
6151       -1,    -1,    -1,   280,  2015,  2016,    -1,  2018,    -1,    -1,
6152       -1,   288,    -1,    -1,    -1,    -1,   231,    -1,    -1,    -1,
6153       -1,  1481,  1482,  2034,    -1,    -1,    -1,   419,   420,  1589,
6154       -1,  1591,  1492,  1420,    -1,  1422,    -1,    -1,    -1,  2050,
6155       -1,   441,    -1,    -1,    -1,  1605,  1606,  1481,  1482,    -1,
6156       -1,    -1,  1439,   445,   446,    -1,    -1,    -1,  1492,   274,
6157       -1,    -1,    -1,    -1,    -1,   280,   343,    -1,    -1,    -1,
6158       -1,    -1,    -1,    -1,    -1,   467,   468,    -1,    -1,    -1,
6159      472,   473,    -1,    -1,   476,   477,    -1,    -1,    -1,    -1,
6160       -1,  1478,    -1,   370,   885,   372,   373,    -1,    -1,   376,
6161      377,    -1,    -1,    -1,    -1,    -1,   383,    -1,    -1,    -1,
6162      387,   388,    -1,   390,    -1,    -1,    -1,    -1,   419,   420,
6163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6165       -1,    -1,   419,   420,   445,   446,    -1,   424,   425,    -1,
6166       -1,    -1,   943,   944,   431,   370,   947,   948,    -1,   436,
6167       -1,   376,    -1,    -1,   441,    -1,   467,   468,   445,   446,
6168       -1,   472,   473,   388,    -1,   476,   477,    -1,    -1,   572,
6169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6170      467,   468,    -1,    -1,    -1,   472,   473,    -1,    -1,   476,
6171      477,   478,  1589,    -1,  1591,    -1,    -1,    -1,   485,    -1,
6172       -1,    -1,    -1,  1600,    -1,    -1,    -1,    -1,  1605,  1606,
6173      124,    -1,   499,   127,   624,  1612,   441,   504,    -1,   506,
6174      507,   508,    -1,    -1,    -1,    -1,   140,    -1,   142,    -1,
6175      144,  1801,    -1,    -1,    -1,    -1,    -1,   524,    -1,    -1,
6176      527,  1811,   529,    -1,   531,    -1,    -1,    -1,    -1,    -1,
6177      537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6178       -1,    -1,    -1,    -1,    -1,    -1,  1736,    -1,    -1,    -1,
6179       -1,  1072,  1073,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6180     1677,    -1,    -1,   686,    -1,    -1,    -1,    -1,    -1,    -1,
6181       -1,    -1,  1736,    -1,    -1,    -1,    -1,    -1,  1868,  1869,
6182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6183      597,   598,   599,   600,    -1,    -1,   719,   720,   721,   722,
6184      723,    -1,    -1,   726,    -1,    -1,    -1,    -1,    -1,   732,
6185       -1,    -1,    -1,   620,   621,    -1,    -1,   624,    -1,    -1,
6186       -1,    -1,   629,    -1,   747,   748,   749,   750,   751,    -1,
6187       -1,   754,    -1,    -1,    -1,    -1,   643,    -1,    -1,    -1,
6188       -1,    -1,    -1,   650,   651,   652,    -1,   654,   655,   772,
6189      773,  1768,  1769,    -1,    -1,    -1,    -1,    -1,    -1,   789,
6190       -1,    -1,   669,    -1,    -1,   672,    -1,    -1,    -1,    -1,
6191      800,   678,    -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,
6192       -1,    -1,    -1,    -1,  1801,    -1,    -1,    -1,    -1,   119,
6193       -1,    -1,    -1,    -1,  1811,    -1,    -1,    -1,    -1,    -1,
6194       -1,    -1,    -1,    -1,    -1,   650,   651,    -1,    -1,   654,
6195      655,    -1,  1902,    -1,  1904,    -1,    -1,    -1,    -1,    -1,
6196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,
6198     1904,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6199       -1,  1868,  1869,   760,    -1,    -1,   763,   764,   765,    -1,
6200      767,    -1,    -1,   770,   771,    -1,    -1,   774,    -1,    -1,
6201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1968,    -1,
6202       -1,    -1,   789,   790,    -1,   419,   420,    -1,    -1,    -1,
6203      797,    -1,    78,   800,    -1,   802,    -1,   804,    -1,    -1,
6204       -1,    -1,    -1,    -1,  1968,    -1,    -1,    -1,    -1,    -1,
6205       -1,   445,   446,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6206       -1,   943,   944,    -1,    -1,   947,   948,    -1,    -1,    -1,
6207       -1,    -1,    -1,   467,   468,    -1,   266,    -1,   472,   473,
6208       -1,    -1,   476,   477,   789,   275,    -1,    -1,   855,    -1,
6209       -1,   281,    -1,    -1,    -1,   800,    -1,  1974,    -1,    -1,
6210       -1,    -1,    -1,    -1,    -1,   872,   873,    -1,     0,    -1,
6211      504,    -1,   506,   880,   881,  1992,    -1,    -1,   885,     0,
6212       -1,    -1,  1403,  1404,    -1,   892,    -1,    -1,     7,    -1,
6213     1013,    10,    11,    12,    13,    14,    15,    16,    17,   906,
6214      907,   908,    -1,    -1,    -1,    -1,    -1,   914,    -1,    -1,
6215       -1,    -1,   943,   944,    -1,    -1,   947,   948,  1041,    -1,
6216       -1,    -1,    -1,    -1,    -1,    -1,  1049,    -1,    -1,    -1,
6217       -1,    -1,    -1,    -1,    -1,   124,   943,   944,   127,    -1,
6218      947,   948,   372,    75,    -1,    -1,     0,    -1,    -1,    -1,
6219       -1,   140,    84,   142,    75,   144,   963,   964,    -1,    91,
6220       92,   968,    -1,    84,    -1,    -1,    -1,   974,    -1,   914,
6221       91,    92,  1095,   980,    -1,    -1,    -1,    -1,  1101,   986,
6222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   995,    -1,
6223       44,   110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6224       -1,   120,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,
6225      129,   130,   131,   132,   133,    -1,   137,    -1,    -1,    -1,
6226      141,    75,    76,    -1,    -1,    -1,    -1,    -1,    82,    -1,
6227       84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
6228       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1054,  1055,  1056,
6229     1057,    -1,    -1,    -1,    -1,    -1,    -1,   343,    -1,   191,
6230       -1,    -1,    -1,   117,   118,  1072,  1073,  1074,    -1,    -1,
6231      124,    -1,  1079,   127,    -1,    -1,    -1,    -1,    -1,    -1,
6232       -1,  1088,    -1,    -1,    -1,    -1,   140,    -1,   142,    -1,
6233      144,   377,   103,    -1,    -1,    -1,    -1,    -1,  1105,  1106,
6234     1107,   387,    -1,    -1,   390,    -1,    -1,   161,   162,    -1,
6235       -1,    -1,   244,    -1,    -1,    -1,    -1,    -1,  1125,    -1,
6236       -1,    -1,   254,   244,   256,  1132,    -1,    -1,    -1,    -1,
6237       -1,    -1,    -1,   254,    -1,   256,    -1,   191,    -1,   425,
6238       -1,  1148,  1149,    -1,    -1,   431,    -1,    -1,  1155,  1156,
6239       -1,    -1,  1159,  1160,    -1,    -1,    -1,    -1,    -1,    -1,
6240     1105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6241     1691,    -1,  1693,    -1,    -1,    -1,    -1,   231,    -1,    -1,
6242     1125,    -1,    -1,    -1,    -1,    -1,    -1,  1132,   822,   823,
6243      244,    -1,    -1,    -1,  1715,   625,  1717,    -1,    -1,    -1,
6244      254,    -1,   256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6245       -1,    -1,    -1,   499,    -1,    -1,    -1,    -1,    -1,    -1,
6246       -1,   507,    -1,    -1,    -1,   236,    -1,    -1,    -1,    -1,
6247      419,   420,    -1,    -1,    -1,    -1,    -1,    -1,   524,    -1,
6248       -1,   527,   431,   529,    -1,   531,    -1,    -1,    -1,    -1,
6249       -1,   885,    -1,    -1,    -1,   376,   445,   446,    -1,    -1,
6250       -1,    -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,    -1,
6251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,   468,
6252      291,  1403,  1404,   472,   473,    -1,    -1,   476,   477,    -1,
6253       -1,    -1,   424,    -1,    -1,    -1,   350,    -1,    -1,    -1,
6254       -1,    -1,    -1,    -1,  1311,  1312,    -1,    -1,    -1,   943,
6255      944,    -1,    -1,   947,   948,   504,   370,   506,    -1,    -1,
6256      441,    -1,    -1,   377,    -1,  1332,    -1,    -1,  1335,    -1,
6257       -1,    -1,    -1,    -1,    -1,   389,    -1,   767,    -1,    -1,
6258      770,   771,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6259     1871,  1872,  1873,  1874,  1875,    -1,    -1,    -1,    -1,    -1,
6260       -1,  1882,  1883,  1884,  1885,   419,   420,    -1,    -1,  1376,
6261      424,    -1,  1403,  1404,   428,    -1,    -1,   431,    -1,    -1,
6262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6263     1397,   445,   446,    -1,    -1,    -1,  1403,  1404,    -1,    -1,
6264       -1,  1408,  1409,  1410,  1411,    -1,    -1,    -1,    -1,    -1,
6265       -1,    -1,    -1,   467,   468,    -1,    -1,    -1,   472,   473,
6266       -1,    -1,   476,   477,    -1,    -1,   480,    -1,    -1,  1950,
6267     1951,    -1,    -1,    -1,    -1,    -1,   490,   491,  1072,  1073,
6268       -1,    -1,    -1,   873,    -1,    -1,    -1,    -1,    -1,    -1,
6269      504,    -1,   506,   507,    -1,   509,    -1,    -1,    -1,    -1,
6270        1,  1468,     3,     4,     5,   519,    -1,   521,    -1,    -1,
6271     1477,  1478,    -1,   484,    -1,    -1,    -1,   763,   764,   765,
6272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,   774,    -1,
6273       -1,    -1,   624,    -1,    -1,    -1,    -1,   629,    -1,    -1,
6274     1623,    -1,    -1,   624,    -1,  1628,  1629,  1630,  1631,  1632,
6275     1633,    -1,  1635,    -1,    -1,  1638,  1639,  1640,  1641,    -1,
6276       -1,    -1,    -1,    -1,    65,   536,    -1,    -1,    -1,    -1,
6277       71,    72,    -1,    -1,  1541,    -1,    -1,    -1,    -1,    -1,
6278       -1,    -1,    -1,    -1,    85,    -1,    -1,    -1,    -1,    -1,
6279       -1,    -1,    -1,    -1,    -1,    -1,   567,    98,    -1,    -1,
6280       -1,   102,   103,   104,   105,   106,   107,   108,    -1,    -1,
6281      624,   112,    -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,
6282     1587,   122,   123,  1590,    -1,    -1,   597,   598,   599,   600,
6283       -1,    -1,    -1,    -1,    -1,    -1,   650,    -1,    -1,    -1,
6284      654,  1608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6285       -1,    -1,    -1,    -1,    -1,   669,    -1,    -1,    -1,    -1,
6286      124,    -1,    -1,   127,    -1,    -1,    -1,    -1,   760,    -1,
6287       -1,    -1,    -1,    -1,    -1,    -1,   140,    -1,   142,    -1,
6288      144,    -1,    -1,    -1,    -1,   656,    -1,    -1,    -1,   660,
6289       -1,    -1,  1775,  1660,    -1,    -1,    -1,  1780,   790,    -1,
6290       -1,    -1,    -1,    -1,    -1,   797,    -1,    -1,   789,  1676,
6291     1677,    -1,   804,    -1,    -1,   686,  1106,   963,    -1,   800,
6292       -1,    -1,   968,    -1,  1691,    -1,  1693,    -1,   974,   700,
6293       -1,    -1,    -1,    -1,   980,    -1,   885,    -1,    -1,    -1,
6294      986,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1715,    -1,
6295     1717,    -1,    -1,    -1,    -1,    -1,   727,    -1,    -1,    -1,
6296      774,   732,     0,   855,   735,    -1,    -1,    -1,    -1,    -1,
6297       -1,    -1,   236,    -1,    -1,   789,   790,    -1,    -1,    -1,
6298      872,    -1,    -1,   797,   755,    -1,   800,    -1,   802,  1871,
6299     1872,    -1,  1874,  1875,   943,   944,    -1,    -1,   947,   948,
6300     1882,  1883,  1884,  1885,    -1,    -1,    -1,    -1,    -1,  1403,
6301     1404,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   842,    -1,
6303       -1,    -1,    -1,  1800,    -1,  1802,   850,    75,    -1,    -1,
6304       -1,   855,    -1,    -1,    -1,    -1,    84,    -1,   862,    -1,
6305       -1,    -1,    -1,    91,    92,    -1,    -1,    -1,   872,    -1,
6306       -1,  1107,    -1,    -1,   119,    -1,    -1,    -1,  1950,  1951,
6307       -1,   885,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6308     1871,  1872,    -1,  1874,  1875,    -1,    -1,   125,    -1,    -1,
6309       -1,  1882,  1883,  1884,  1885,    -1,    -1,    -1,    -1,   137,
6310      914,    -1,    -1,   141,  1871,  1872,  1873,  1874,  1875,  1876,
6311     1877,    -1,    -1,    -1,    -1,  1882,  1883,  1884,  1885,    -1,
6312       -1,    -1,    -1,  1072,  1073,    -1,    -1,    -1,    -1,   943,
6313      944,    -1,    -1,   947,   948,    -1,    -1,    -1,    -1,    -1,
6314       -1,    -1,  1332,    -1,    -1,  1335,   960,    -1,   962,   920,
6315       -1,    -1,    -1,    -1,    -1,   419,   420,    -1,    -1,  1950,
6316     1951,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6318       -1,   445,   446,  1950,  1951,    -1,    -1,  1079,    -1,    -1,
6319       -1,    -1,    -1,    -1,    -1,    -1,  1088,    -1,    -1,    -1,
6320       -1,    -1,    -1,   467,   468,    -1,   244,  1397,   472,   473,
6321       -1,   266,   476,   477,   478,    -1,   254,    -1,   256,    -1,
6322      275,    -1,  1412,    -1,    -1,    -1,   281,   998,    -1,    -1,
6323     1001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1010,
6324      504,    -1,   506,     7,     8,     9,    10,    11,    12,    13,
6325       14,    15,    16,    17,    -1,    -1,    -1,    -1,  1072,  1073,
6326       -1,  1032,  1033,    -1,    -1,  1311,  1312,    -1,  1039,    -1,
6327     1041,    -1,    -1,    -1,  1088,  1046,    -1,    -1,  1049,    -1,
6328     1051,    -1,    -1,  1054,  1055,  1056,  1057,    -1,    -1,    -1,
6329       -1,  1105,    -1,  1107,    -1,    -1,    -1,  1691,    -1,  1693,
6330       -1,    -1,    -1,   567,    -1,    -1,    -1,    -1,    -1,    -1,
6331       -1,  1125,    -1,    -1,    -1,    -1,    -1,   372,  1132,    -1,
6332       -1,  1715,    -1,  1717,  1095,    -1,    -1,    -1,    -1,    -1,
6333     1101,    -1,    -1,   597,   598,   599,   600,    -1,   376,    -1,
6334       -1,    -1,    -1,    -1,    -1,    -1,   110,   111,    -1,    -1,
6335      388,    -1,    -1,    -1,    -1,    -1,   120,    -1,    -1,    -1,
6336       -1,   125,   126,   127,    -1,   129,   130,   131,   132,   133,
6337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6338       -1,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6339       -1,    -1,    -1,    -1,  1584,    -1,    -1,    -1,    -1,    -1,
6340     1590,    -1,    -1,   441,    -1,    -1,    -1,    -1,   672,    -1,
6341       -1,    -1,    -1,    -1,   678,    -1,    -1,   681,    -1,    -1,
6342       -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
6343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1629,
6344     1630,    -1,  1632,  1633,    -1,    -1,   119,    -1,  1638,  1639,
6345     1640,  1641,    -1,    -1,  1403,  1404,    -1,    -1,    -1,    -1,
6346     1650,  1651,  1652,  1653,  1654,  1655,  1656,  1657,    -1,    -1,
6347     1660,    -1,    -1,    -1,    -1,    -1,    -1,  1871,  1872,  1873,
6348     1874,  1875,    -1,    -1,    -1,    -1,    -1,    -1,  1882,  1883,
6349     1884,  1885,    -1,    -1,    -1,    -1,    -1,   170,    -1,    -1,
6350       -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,    -1,    -1,
6351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6353       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1351,    -1,    -1,
6354       -1,  1587,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6355       -1,    -1,    -1,    -1,    -1,    -1,  1950,  1951,   822,   823,
6356       -1,    -1,    -1,    -1,  1378,    -1,    -1,    -1,    -1,    -1,
6357      625,    -1,    -1,    -1,    -1,    -1,  1468,   234,   235,   236,
6358       -1,    -1,    -1,    -1,    -1,    -1,   624,    -1,    -1,  1403,
6359     1404,    -1,    -1,   266,    -1,    -1,    -1,    -1,   255,    -1,
6360       -1,    -1,   275,    -1,    -1,    -1,    -1,    -1,   281,    -1,
6361     1800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6362       -1,   885,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6364       -1,    -1,   906,    -1,   908,    -1,    -1,    -1,    -1,    -1,
6365       -1,    -1,    -1,    -1,  1468,    -1,    -1,    -1,    -1,    -1,
6366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6367       -1,    -1,    -1,    -1,  1445,  1865,    -1,    -1,    -1,   943,
6368      944,    -1,    -1,   947,   948,    -1,    -1,    -1,    -1,    -1,
6369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   372,
6370       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6371     1481,  1482,   767,    -1,    -1,   770,   771,    -1,    -1,  1490,
6372       -1,  1492,  1493,    -1,    -1,  1496,    -1,    -1,    -1,    -1,
6373       -1,   995,    -1,  1504,   998,    -1,  1507,  1001,    -1,    -1,
6374       -1,    -1,  1691,   103,  1693,    -1,  1010,    -1,    -1,    -1,
6375       -1,   789,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
6376       -1,    -1,   800,    -1,    -1,    -1,  1715,    -1,  1717,    -1,
6377       -1,    -1,    -1,    -1,    -1,  1039,    -1,    -1,    -1,    -1,
6378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6379     1054,  1055,  1056,  1057,    -1,    -1,    -1,    -1,    -1,    -1,
6380       -1,    -1,    -1,    -1,    -1,   478,    -1,    -1,  1072,  1073,
6381      170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,    -1,
6382       -1,   478,    -1,    -1,    -1,    -1,    -1,    -1,   485,  1600,
6383       -1,    -1,    -1,    -1,    -1,   508,    -1,    -1,    -1,    -1,
6384       -1,  1612,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6385       -1,    -1,  1623,    -1,    -1,    -1,    -1,  1628,    -1,    -1,
6386     1631,    -1,    -1,    -1,  1635,    -1,    -1,    -1,    -1,    -1,
6387       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1691,    -1,  1693,
6388       -1,    -1,    -1,    -1,    -1,  1149,    -1,    -1,    -1,   562,
6389       -1,    -1,  1156,    -1,    -1,    -1,  1160,    -1,    -1,    -1,
6390       -1,  1715,    -1,  1717,    -1,    -1,   266,    -1,    -1,    -1,
6391     1724,   271,   272,    -1,    -1,   275,    -1,    -1,    -1,    -1,
6392       -1,   281,  1871,  1872,  1873,  1874,  1875,    -1,    -1,    -1,
6393       -1,   291,    -1,  1882,  1883,  1884,  1885,    -1,    -1,  1710,
6394      597,   598,   599,   600,    -1,    -1,   306,    -1,    -1,    -1,
6395       -1,   311,   625,    -1,    -1,    -1,    -1,    -1,    -1,  1730,
6396     1731,  1732,  1733,   620,   621,  1736,    -1,    -1,    -1,    -1,
6397     1741,  1742,    -1,  1744,    -1,  1746,    -1,    -1,    -1,    -1,
6398       -1,    -1,    -1,    -1,    -1,    -1,   643,  1758,    -1,    -1,
6399       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1768,  1769,   672,
6400       -1,  1950,  1951,     3,  1775,   678,    -1,    -1,   681,  1780,
6401       -1,    -1,   372,    -1,    -1,   672,    -1,    -1,    -1,    -1,
6402       -1,   678,    -1,    -1,   681,    -1,    -1,    -1,    28,    -1,
6403       -1,    -1,  1803,    -1,    34,    35,    36,    37,    38,    39,
6404       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
6405       50,  1106,    -1,    -1,    -1,    -1,    -1,  1871,  1872,  1873,
6406     1874,  1875,    -1,    -1,    -1,    -1,    66,    -1,  1882,  1883,
6407     1884,  1885,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6408       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
6409       -1,    -1,    -1,    -1,   767,    -1,    -1,   770,   771,    -1,
6410      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6411       -1,    -1,  1376,    -1,    -1,    -1,    -1,    -1,   478,    -1,
6412       -1,  1892,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6413       -1,  1902,    -1,  1904,    -1,    -1,  1950,  1951,    -1,  1403,
6414     1404,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   508,    -1,
6415       -1,    -1,    -1,    -1,    -1,    -1,  1420,    -1,  1422,    -1,
6416       -1,    -1,  1933,    -1,    -1,    -1,    -1,    -1,   841,    -1,
6417       -1,   844,    -1,    -1,    -1,    -1,   536,    -1,    -1,    -1,
6418       -1,    -1,    -1,    -1,  1955,  1956,    -1,    -1,  1959,    -1,
6419     1961,    -1,    -1,  1964,    -1,    -1,    -1,  1968,    -1,    -1,
6420      873,    -1,   562,  1974,    -1,    -1,    -1,    -1,    -1,   882,
6421       -1,    -1,    -1,    -1,  1478,    -1,    -1,  1481,  1482,    -1,
6422       -1,  1992,  1993,    -1,    -1,    -1,  1490,    -1,  1492,  1493,
6423     2001,    -1,  1496,   906,    -1,   908,    -1,    -1,    -1,    -1,
6424     1504,    -1,    -1,  1507,    -1,    -1,    -1,    -1,    -1,   906,
6425      907,   908,    -1,    -1,    -1,    -1,   103,    -1,  2029,    -1,
6426       -1,    -1,    -1,    -1,    -1,   625,    -1,    -1,    -1,   629,
6427       -1,    -1,   119,    -1,    -1,    -1,    -1,  1332,    -1,    -1,
6428     1335,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6429       -1,   964,    -1,    -1,    -1,    -1,   656,    -1,    -1,    -1,
6430      660,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6431       -1,    -1,   672,    -1,    -1,    -1,    -1,    -1,   678,    -1,
6432       -1,   681,   995,   170,    -1,    -1,    -1,    -1,    -1,    -1,
6433       -1,    -1,    -1,  1006,    -1,    -1,    -1,    -1,   995,    -1,
6434      700,    -1,  1397,    -1,    -1,    -1,   706,   707,   708,   709,
6435      710,   711,   712,    -1,    -1,   715,   716,  1412,   718,   719,
6436      720,   721,   722,   723,   724,   725,    -1,   727,    -1,    -1,
6437       -1,    -1,    -1,    -1,    -1,   735,   736,   737,   738,   739,
6438      740,   741,   742,   743,   744,   745,   746,   747,   748,   749,
6439      750,   751,   752,   753,    -1,   755,    -1,  1054,  1055,  1056,
6440     1057,    -1,    -1,    -1,    -1,    -1,    -1,   767,    -1,    -1,
6441      770,   771,    -1,  1677,    -1,    -1,    -1,  1074,    -1,   266,
6442       -1,    -1,    -1,    -1,   271,   272,    -1,  1691,   275,  1693,
6443       -1,    -1,    -1,  1106,   281,  1108,    -1,    -1,    -1,    -1,
6444       -1,    -1,    -1,    -1,   291,    -1,    -1,    -1,    -1,    -1,
6445       -1,  1715,    -1,  1717,    -1,    -1,    -1,  1130,    -1,   306,
6446       -1,    -1,    -1,    -1,   311,    -1,  1730,  1731,  1732,  1733,
6447       -1,    -1,  1736,    -1,    -1,    -1,  1149,  1741,  1742,    -1,
6448     1744,   841,  1746,  1156,   844,    -1,    -1,  1160,    -1,    -1,
6449       -1,  1148,  1149,    -1,  1758,    -1,    -1,    -1,  1155,  1156,
6450       -1,    -1,  1159,  1160,    -1,    -1,    -1,    -1,    -1,    -1,
6451       -1,    -1,    -1,   873,    -1,    -1,    -1,    -1,    -1,    -1,
6452       -1,    -1,   882,    -1,    -1,   372,    -1,    -1,    -1,  1584,
6453       -1,    -1,    -1,    -1,    -1,  1590,    -1,    -1,    -1,    -1,
6454       -1,    -1,    -1,    -1,    -1,    -1,   906,    -1,   908,    -1,
6455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6457       -1,    -1,    -1,    -1,  1629,  1630,    -1,  1632,  1633,    -1,
6458       -1,    -1,    -1,  1638,  1639,  1640,  1641,    -1,    -1,    -1,
6459       -1,    -1,    -1,    -1,    -1,  1650,  1651,  1652,  1653,  1654,
6460     1655,  1656,  1657,    -1,   964,  1660,    -1,  1871,  1872,  1873,
6461     1874,  1875,    -1,    -1,    -1,    -1,    -1,    -1,  1882,  1883,
6462     1884,  1885,    -1,    -1,    -1,    -1,    -1,    -1,  1892,    -1,
6463       -1,   478,    -1,    -1,    -1,   995,    -1,    -1,  1902,    -1,
6464     1904,    -1,    -1,    -1,    -1,    -1,  1006,    -1,    -1,    -1,
6465       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1332,
6466       -1,   508,  1335,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6467       -1,    -1,  1032,  1033,    -1,    -1,    -1,    -1,    -1,    -1,
6468       -1,    -1,    -1,    -1,    -1,    -1,  1950,  1951,    -1,   536,
6469       -1,  1955,  1956,    -1,    -1,  1959,    -1,  1961,    -1,    -1,
6470     1964,    -1,    -1,  1376,  1968,    -1,    -1,    -1,    -1,    -1,
6471     1383,    -1,    -1,    -1,    -1,   562,    -1,    -1,    -1,  1376,
6472       -1,    -1,    -1,    -1,  1397,    -1,    -1,    -1,    -1,    -1,
6473       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2001,    -1,  1412,
6474       -1,    -1,    -1,    -1,    -1,  1800,  1106,  1420,  1108,  1422,
6475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6476       -1,    -1,    -1,    -1,    -1,  2029,  1439,    -1,    -1,    -1,
6477     1130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   625,    -1,
6478       -1,    -1,   629,    -1,    -1,  1145,    -1,    -1,    -1,  1149,
6479       -1,    -1,  1152,    -1,    -1,    -1,  1156,    -1,    -1,    -1,
6480     1160,    -1,    -1,    -1,    -1,  1478,    -1,    -1,    -1,   656,
6481     1865,    -1,    -1,   660,    -1,    -1,    -1,    -1,    -1,    -1,
6482     1477,  1478,    -1,    -1,    -1,   672,    -1,    -1,    -1,    -1,
6483       -1,   678,    -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,
6484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6485       -1,    -1,    -1,   700,    -1,    -1,    -1,    -1,    -1,   706,
6486      707,   708,   709,   710,   711,   712,    -1,    -1,   715,   716,
6487       -1,   718,   719,   720,   721,   722,   723,   724,   725,    -1,
6488      727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   735,   736,
6489      737,   738,   739,   740,   741,   742,   743,   744,   745,   746,
6490      747,   748,   749,   750,   751,   752,   753,    -1,   755,    -1,
6491       -1,  1584,    -1,    -1,    -1,    -1,  1589,  1590,  1591,    -1,
6492      767,    -1,    -1,   770,   771,    -1,    -1,    -1,    -1,    -1,
6493       -1,    -1,  1605,  1606,    -1,    -1,    -1,    -1,    -1,    -1,
6494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6495       -1,    -1,    -1,    -1,    -1,    -1,  1629,  1630,    -1,  1632,
6496     1633,    -1,    -1,    -1,    -1,  1638,  1639,  1640,  1641,    -1,
6497       -1,    -1,  1332,    -1,    -1,  1335,    -1,  1650,  1651,  1652,
6498     1653,  1654,  1655,  1656,  1657,    -1,    -1,  1660,    -1,    -1,
6499       -1,    -1,    -1,    -1,   841,    -1,    -1,   844,    -1,    -1,
6500       -1,    -1,    -1,    -1,  1677,    -1,    -1,    -1,    -1,    -1,
6501       -1,    -1,    -1,    -1,    -1,    -1,  1376,    -1,    -1,  1676,
6502     1677,    -1,    -1,  1383,    -1,    -1,   873,    -1,    -1,    -1,
6503       -1,    -1,    -1,    -1,    -1,   882,    -1,  1397,    -1,    -1,
6504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6505       -1,    -1,  1412,    -1,    -1,    -1,    -1,    -1,    -1,   906,
6506     1420,   908,  1422,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1439,
6508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6509       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
6510        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
6511       -1,    -1,    -1,    -1,    -1,    -1,    -1,   964,  1478,    -1,
6512       -1,    -1,    -1,    28,    -1,    -1,    -1,  1800,  1801,    -1,
6513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1811,    -1,
6514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   995,    -1,
6515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1006,
6516       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
6517       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
6518       85,    86,    -1,    -1,    -1,  1032,  1033,    -1,    -1,    -1,
6519       -1,    -1,  1865,    98,    -1,  1868,  1869,   102,   103,   104,
6520      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
6521       -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,
6522      125,   126,   127,   128,  1584,    -1,    -1,    -1,    -1,  1589,
6523     1590,  1591,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6524     1600,    -1,    -1,    -1,    -1,  1605,  1606,    -1,    -1,    -1,
6525       -1,    -1,  1612,    -1,    -1,    -1,    -1,    -1,    -1,  1106,
6526       -1,  1108,    -1,     0,    -1,    -1,    -1,    -1,    -1,  1629,
6527     1630,    -1,  1632,  1633,    -1,    -1,    -1,    -1,  1638,  1639,
6528     1640,  1641,    -1,  1130,    -1,    -1,    -1,     3,    -1,    -1,
6529     1650,  1651,  1652,  1653,  1654,  1655,  1656,  1657,  1145,    -1,
6530     1660,    -1,  1149,    -1,    -1,  1152,    43,    -1,    -1,  1156,
6531       -1,    -1,    28,  1160,    -1,    -1,    -1,  1677,    34,    35,
6532       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
6533       46,    47,    48,    49,    50,    -1,    -1,    -1,    75,    -1,
6534       -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
6535       66,    -1,    -1,    -1,    91,    92,    -1,    -1,    74,    75,
6536       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
6537       86,    87,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6538       -1,    -1,   119,    -1,   100,    -1,     0,    -1,   125,    -1,
6539       -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,    -1,
6540      137,    -1,   139,    -1,   141,    -1,    -1,   123,  1768,  1769,
6541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6542       -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,    -1,    -1,
6543       44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6544     1800,  1801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6545       -1,  1811,    -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,
6546       -1,    75,    76,    -1,    -1,    -1,    80,    -1,    82,    -1,
6547       84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    -1,
6548       -1,    -1,    -1,    -1,    -1,  1332,    -1,    -1,  1335,    -1,
6549       -1,    -1,    -1,    -1,   231,    -1,    -1,   234,   235,   236,
6550       -1,    -1,   116,   117,    -1,  1865,    -1,   244,  1868,  1869,
6551       -1,    -1,    -1,    -1,    -1,    -1,    -1,   254,   255,   256,
6552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1376,
6553       -1,    -1,    -1,    -1,    -1,    -1,  1383,   274,    -1,    -1,
6554       -1,    -1,    -1,   280,    -1,    -1,   160,   161,    -1,    -1,
6555     1397,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6556       -1,    -1,    -1,    -1,    -1,  1412,    -1,    -1,    -1,    -1,
6557       -1,    -1,    -1,  1420,    -1,  1422,    -1,   191,    -1,    -1,
6558       -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,   203,
6559       -1,    -1,  1439,    -1,     1,    -1,     3,     4,     5,     6,
6560       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6561       -1,    -1,    -1,    -1,  1974,    -1,    -1,   231,    -1,    -1,
6562       -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6563      244,  1478,  1992,   370,    -1,   372,   373,    -1,    -1,   376,
6564      254,    -1,   256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6565       -1,   388,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
6566       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
6567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,
6568       -1,    -1,    -1,    -1,    -1,    -1,    -1,   424,    -1,    -1,
6569       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
6570      107,   108,   109,    -1,   441,   112,   113,   114,    -1,    -1,
6571      117,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
6572      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6573       -1,    -1,    -1,    -1,    -1,    -1,   350,  1584,   352,    -1,
6574       -1,   478,  1589,  1590,  1591,    -1,    -1,    -1,   485,    -1,
6575       -1,    -1,    -1,  1600,    -1,    -1,    -1,    -1,  1605,  1606,
6576       -1,    -1,    -1,    -1,    -1,  1612,    -1,    -1,    -1,    -1,
6577       -1,    -1,    -1,    -1,    -1,   389,    -1,    -1,    -1,    -1,
6578       -1,    -1,  1629,  1630,    -1,  1632,  1633,    -1,    -1,    -1,
6579       -1,  1638,  1639,  1640,  1641,    -1,    -1,    -1,    -1,    -1,
6580       -1,    -1,    -1,  1650,  1651,  1652,  1653,  1654,  1655,  1656,
6581     1657,    -1,    -1,  1660,    -1,    -1,    -1,    -1,    -1,    -1,
6582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6583     1677,    -1,    -1,    -1,    -1,    -1,    -1,   574,    -1,    -1,
6584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6585       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6586      597,   598,   599,   600,    -1,    -1,   480,    -1,   482,    -1,
6587       -1,    -1,    -1,    -1,    -1,    -1,   490,   491,    -1,    -1,
6588       -1,    -1,    -1,   620,   621,    -1,    -1,   624,    -1,    -1,
6589       -1,    -1,   629,   507,    -1,   509,    -1,    -1,    -1,    -1,
6590       -1,    -1,    -1,   517,    -1,   519,   643,    -1,    -1,    -1,
6591       -1,    -1,    -1,   650,   651,   652,    -1,   654,   655,    -1,
6592       -1,  1768,  1769,    -1,    -1,    -1,    -1,    -1,    -1,    83,
6593       -1,    -1,   669,    -1,    -1,   672,   550,    -1,    -1,    -1,
6594       -1,   678,    -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,
6595       -1,    -1,    -1,  1800,  1801,    -1,    -1,    -1,    -1,    -1,
6596       -1,    -1,    -1,    -1,  1811,   119,    -1,    -1,    -1,    -1,
6597       -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6598       -1,    -1,    -1,   137,    -1,   139,    -1,   141,    -1,    -1,
6599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,
6601      624,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1865,    -1,
6602       -1,  1868,  1869,   760,    -1,    -1,    -1,    -1,    -1,    -1,
6603      767,    -1,    -1,   770,   771,    -1,    -1,   191,    -1,    -1,
6604       -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
6605       -1,    -1,   789,   790,    -1,    -1,    -1,    -1,    -1,    -1,
6606      797,    -1,    -1,   800,   801,   802,    -1,   804,    -1,    -1,
6607       -1,    -1,    -1,    -1,    -1,    75,    76,   231,    -1,    -1,
6608      234,   235,   236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6609       -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
6610       -1,   255,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6611       -1,    -1,    -1,    -1,    -1,    -1,   116,   117,   855,    -1,
6612      274,    -1,    -1,    -1,    75,    76,   280,  1974,    -1,    80,
6613       -1,    82,    -1,    -1,    -1,   872,   873,    -1,    -1,    -1,
6614       -1,    -1,    -1,   880,   881,  1992,    -1,    -1,    -1,    -1,
6615       -1,    -1,    -1,    -1,    -1,   892,    -1,    -1,    -1,    -1,
6616      160,   161,    -1,    -1,    -1,   116,   117,    -1,    -1,   906,
6617      907,   908,    -1,    -1,    -1,    -1,    -1,   914,    -1,    -1,
6618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   802,    -1,
6619       -1,   191,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   160,
6621      161,    -1,    -1,    -1,    -1,    -1,   370,    -1,   372,   373,
6622       -1,    -1,   376,    -1,    -1,    -1,    -1,    -1,   842,    -1,
6623       -1,   231,    -1,    -1,   388,    -1,    -1,    -1,    -1,    -1,
6624      191,   855,    -1,    -1,   244,    -1,    -1,    -1,   862,    -1,
6625      201,    -1,   203,    -1,    -1,    -1,    -1,    -1,   995,    -1,
6626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6627      424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1015,    -1,
6628      231,    -1,    -1,    -1,    -1,    -1,    -1,   441,    -1,    -1,
6629       -1,    -1,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,
6630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6631       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1054,  1055,  1056,
6632     1057,    -1,    -1,    -1,   478,    -1,    -1,    -1,    -1,    -1,
6633       -1,   485,    -1,    -1,    -1,    -1,    -1,  1074,    -1,    -1,
6634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   962,    -1,
6635      350,  1088,   352,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1105,  1106,
6637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1125,   389,
6639       -1,    -1,    -1,    -1,    -1,  1132,    -1,    -1,    -1,   350,
6640       -1,   352,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6641       -1,  1148,  1149,    -1,    -1,    -1,    -1,    -1,  1155,  1156,
6642       -1,    -1,  1159,  1160,   424,    -1,    -1,    -1,    -1,    -1,
6643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   389,    -1,
6644       -1,    -1,    -1,   597,   598,   599,   600,    -1,    -1,    -1,
6645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6646       -1,    -1,    -1,    -1,    -1,    -1,   620,   621,    -1,    -1,
6647       -1,    -1,    83,    -1,    -1,    -1,   427,   428,    -1,    -1,
6648      480,    -1,   482,    -1,    -1,    -1,    -1,    -1,    -1,   643,
6649      490,   491,    -1,    -1,    -1,    -1,   650,   651,    -1,    -1,
6650      654,   655,    -1,    -1,    -1,    -1,    -1,   507,   119,   509,
6651       -1,    -1,    -1,    -1,    -1,    -1,    -1,   517,   672,   519,
6652       -1,    -1,    -1,    -1,   678,    -1,    -1,   681,   139,   480,
6653       -1,   482,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,
6654      491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6655      550,    -1,   163,    -1,    -1,    -1,   507,    -1,   509,    -1,
6656       -1,    -1,    -1,    -1,    -1,    -1,   517,    -1,   519,    -1,
6657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6658      191,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6659       -1,    -1,    -1,    -1,    -1,  1332,    -1,    -1,  1335,   550,
6660       -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,    -1,    -1,
6661       -1,    -1,    -1,   767,    -1,    -1,   770,   771,    -1,    -1,
6662      231,    -1,    -1,   234,   235,   236,    -1,    -1,    83,    -1,
6663       -1,    -1,    -1,    -1,    -1,   789,   790,    -1,    -1,  1376,
6664       -1,    -1,    -1,   797,   255,    -1,   800,    -1,    -1,    -1,
6665      804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6666     1397,    -1,    -1,   274,   119,    -1,    -1,    -1,    -1,   280,
6667       -1,  1408,  1409,  1410,  1411,    -1,    -1,   288,    -1,    -1,
6668       -1,    -1,    -1,    -1,   139,     1,    -1,     3,     4,     5,
6669        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
6670       -1,   855,    -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,
6671       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,   872,   873,
6672       -1,    -1,    -1,    -1,    -1,    -1,   880,   881,    -1,    -1,
6673       -1,  1468,    -1,    -1,    -1,    -1,   191,    -1,   892,    -1,
6674     1477,  1478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
6675       -1,    -1,   906,   907,   908,    71,    72,    73,    -1,   370,
6676      914,   372,   373,    -1,    -1,    -1,    -1,    -1,    84,    85,
6677       -1,    -1,    -1,    -1,    -1,    -1,   231,    -1,    -1,   234,
6678      235,   236,    98,    -1,    -1,    -1,   102,   103,   104,   105,
6679      106,   107,   108,   109,    -1,    -1,   112,   797,   114,   115,
6680      255,   117,   802,    -1,  1541,    -1,   122,   123,    -1,   125,
6681      126,   127,   128,   424,    -1,    -1,    -1,    -1,    -1,   274,
6682       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,    -1,    -1,
6683       -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
6684       -1,   995,   842,    -1,    -1,    -1,    -1,  1584,    -1,   849,
6685      850,   802,    -1,  1590,  1468,   855,    -1,    -1,    -1,    -1,
6686       -1,    -1,   862,    -1,    -1,    -1,    -1,   478,    -1,    -1,
6687       -1,  1608,   872,    -1,   485,    -1,    -1,    -1,    -1,    -1,
6688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6689       -1,   842,    -1,    -1,    -1,    -1,    -1,    -1,   849,   850,
6690     1054,  1055,  1056,  1057,   855,    -1,    -1,    -1,   859,    -1,
6691      861,   862,    -1,    -1,   914,   370,    -1,   372,   373,    -1,
6692     1074,    -1,    -1,  1660,    -1,    -1,    -1,    -1,    -1,    -1,
6693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1676,
6694     1677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6695       -1,  1105,  1106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6696       -1,    -1,   962,    -1,    -1,    -1,    -1,    -1,    -1,   424,
6697       -1,  1125,    -1,    -1,    -1,    -1,    -1,    -1,  1132,    -1,
6698       -1,    -1,    -1,    -1,    -1,    -1,   597,   598,   599,   600,
6699       -1,    -1,    -1,    -1,  1148,  1149,    -1,    -1,    -1,    -1,
6700       -1,  1155,  1156,    -1,    -1,  1159,  1160,    -1,    -1,   620,
6701      621,   962,    -1,    -1,    -1,    -1,    -1,    -1,   629,    -1,
6702       -1,    -1,    -1,   478,    -1,    -1,    -1,    -1,    -1,    -1,
6703      485,    -1,   643,    -1,    -1,    -1,    -1,    -1,    -1,   650,
6704      651,   652,    -1,   654,   655,    -1,    -1,    -1,    -1,     3,
6705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   669,    -1,
6706       -1,   672,    -1,  1800,    -1,  1802,    -1,   678,    -1,    -1,
6707      681,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
6708       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
6709       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
6710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6711       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6712       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
6713       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,  1876,
6714     1877,    -1,   597,   598,   599,   600,   100,    -1,    -1,   760,
6715       -1,    -1,    -1,    -1,    -1,   109,   767,    -1,   112,   770,
6716      771,    -1,    -1,    -1,    -1,   620,   621,    -1,    -1,   123,
6717       -1,   125,    -1,    -1,   629,    -1,    -1,    -1,  1332,   790,
6718       -1,  1335,    -1,    -1,    -1,    -1,   797,    -1,   643,    -1,
6719       -1,   802,    -1,   804,    -1,   650,   651,   652,    -1,   654,
6720      655,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6721       -1,    -1,    -1,    -1,   669,    -1,    -1,   672,    -1,    -1,
6722       -1,    -1,  1376,   678,    -1,    -1,   681,    -1,    -1,    -1,
6723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6724       -1,    -1,    -1,  1397,   855,    -1,    -1,    -1,    -1,    -1,
6725       -1,    -1,    -1,    -1,  1408,  1409,  1410,  1411,    -1,    -1,
6726       -1,   872,   873,    -1,    -1,    -1,    -1,    -1,    -1,   880,
6727      881,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6728       -1,   892,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6729       -1,    -1,    -1,    -1,    -1,   906,   907,   908,    -1,    -1,
6730       -1,    -1,    -1,   914,    -1,   760,    -1,    -1,    -1,    -1,
6731       -1,    -1,   767,    -1,  1468,   770,   771,    -1,    83,    -1,
6732       -1,    -1,    -1,  1477,  1478,    -1,    -1,    -1,    -1,    -1,
6733       -1,    -1,    -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,
6734       -1,    -1,   797,    -1,    -1,    -1,    -1,   802,    -1,   804,
6735     1350,  1351,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
6736      125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6737       -1,    -1,   137,    -1,   139,    -1,   141,    -1,  1378,    -1,
6738     1380,    -1,  1382,    -1,   995,    -1,    -1,  1541,    -1,    -1,
6739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,
6740      855,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6741       -1,    -1,    -1,    -1,    -1,    -1,    -1,   872,   873,    -1,
6742       -1,    -1,    -1,    -1,    -1,   880,   881,    -1,    -1,  1380,
6743     1584,  1382,    -1,    -1,    -1,    -1,  1590,   892,    -1,    -1,
6744       -1,    -1,    -1,  1054,  1055,  1056,  1057,    -1,    -1,    -1,
6745       -1,   906,   907,   908,    -1,    -1,    -1,    -1,    -1,   914,
6746       -1,    -1,    -1,  1074,    -1,    -1,   231,    -1,  1468,   234,
6747      235,   236,    -1,    -1,    -1,    -1,    -1,  1088,    -1,    -1,
6748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6749      255,    -1,    -1,    -1,  1105,  1106,    -1,    -1,    -1,    -1,
6750       -1,    -1,    -1,    -1,    -1,    -1,  1660,    -1,    -1,   274,
6751       -1,    -1,    -1,    -1,  1125,   280,    -1,  1468,    -1,    -1,
6752       -1,  1132,  1676,  1677,    -1,    -1,    -1,    -1,    -1,    -1,
6753       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1148,  1149,    -1,
6754      995,    -1,    -1,    -1,  1155,  1156,     3,    -1,  1159,  1160,
6755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6757       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
6758       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
6759       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,  1054,
6760     1055,  1056,  1057,    -1,    -1,   370,    -1,   372,   373,    66,
6761       -1,   376,    -1,    -1,    -1,    -1,    -1,    74,    75,  1074,
6762       -1,    -1,    79,   388,    -1,    -1,    -1,    -1,    85,    86,
6763       87,    -1,    -1,  1088,    -1,    -1,    -1,    -1,    -1,    -1,
6764       -1,    -1,    -1,   100,    -1,    -1,  1800,    -1,    -1,    -1,
6765     1105,  1106,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,
6766       -1,    -1,   119,    -1,    -1,    -1,   123,  1667,    -1,  1669,
6767     1125,    -1,    -1,    -1,    -1,    -1,   441,  1132,    -1,  1679,
6768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6769       -1,    -1,    -1,  1148,  1149,    -1,    -1,    -1,    -1,    -1,
6770     1155,  1156,    -1,    -1,  1159,  1160,     1,    -1,     3,    -1,
6771       -1,    -1,    -1,   478,    -1,    -1,    -1,    -1,    -1,    -1,
6772      485,  1332,  1876,  1877,  1335,    -1,    -1,    -1,    -1,    -1,
6773       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
6774       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
6775       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
6776       -1,    -1,    -1,    -1,    -1,  1376,    83,    -1,    -1,    -1,
6777       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
6778       75,    -1,    -1,    -1,    79,    -1,  1397,    82,    83,    -1,
6779       85,    86,    87,    -1,    -1,    -1,    -1,  1408,  1409,  1410,
6780     1411,    -1,   119,    -1,   291,   100,    -1,    -1,   125,    -1,
6781       -1,    -1,    -1,    -1,   109,    -1,    -1,   112,   113,   306,
6782      137,    -1,   139,    -1,   141,    -1,    -1,    -1,   123,    -1,
6783       -1,    -1,   597,   598,   599,   600,    -1,    -1,    -1,    -1,
6784       -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,    -1,    -1,
6785       -1,    -1,    -1,    -1,    -1,   620,   621,  1468,    -1,    -1,
6786       -1,    -1,    -1,    -1,    -1,    -1,  1477,  1478,    -1,    -1,
6787       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1332,   643,    -1,
6788     1335,    -1,    -1,    -1,    -1,   650,   651,    -1,    -1,   654,
6789      655,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6790       -1,    -1,    -1,    -1,    -1,    -1,    -1,   672,    -1,    -1,
6791       -1,    -1,    -1,   678,   231,    -1,   681,   234,   235,   236,
6792       -1,  1376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6793     1541,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   255,    -1,
6794       -1,    -1,  1397,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6795       -1,    -1,    -1,  1408,  1409,  1410,  1411,   274,    -1,    -1,
6796       -1,    -1,    -1,   280,    -1,    -1,   236,    -1,    -1,    -1,
6797       -1,    -1,    -1,  1584,    -1,    -1,    -1,    -1,    -1,  1590,
6798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6799       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1608,    -1,    -1,
6800       -1,    -1,   767,    -1,    -1,   770,   771,    -1,    -1,    -1,
6801       -1,    -1,    -1,  1468,    -1,    -1,    -1,    -1,   288,    -1,
6802       -1,    -1,  1477,  1478,   789,    -1,    -1,    -1,    -1,    -1,
6803       -1,    -1,    -1,    -1,    -1,   800,    -1,    -1,    -1,    -1,
6804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1660,
6805       -1,    -1,    -1,   370,    -1,   372,   373,    -1,    -1,   376,
6806       -1,    -1,    -1,    -1,    -1,  1676,  1677,    -1,    -1,    -1,
6807       -1,   388,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6808       -1,    -1,    -1,    -1,    -1,   572,  1541,    -1,    -1,    -1,
6809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,    -1,
6811       -1,    -1,    -1,    -1,    -1,   880,   881,    -1,    -1,   389,
6812       -1,    -1,    -1,    -1,   441,    -1,    -1,   892,    -1,  1584,
6813       -1,    -1,    -1,    -1,    -1,  1590,    -1,    -1,    -1,    -1,
6814       -1,   906,   907,   908,    -1,    -1,    -1,    -1,    -1,   914,
6815       -1,    -1,    -1,  1608,    -1,    -1,    -1,    -1,    -1,    -1,
6816       -1,   478,    -1,    -1,    -1,    -1,    -1,    -1,   485,    -1,
6817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1800,
6819       -1,  1802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   686,
6820       -1,    -1,    -1,    -1,    -1,  1660,    -1,    -1,    -1,    -1,
6821       -1,    -1,    -1,   700,    -1,    -1,    -1,    -1,    -1,    -1,
6822       -1,  1676,  1677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6823      995,    -1,   719,   720,   721,   722,   723,    -1,    -1,   726,
6824      727,    -1,    -1,    -1,    -1,   732,    -1,    -1,   735,    -1,
6825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6826      747,   748,   749,   750,   751,  1876,  1877,   754,   755,    -1,
6827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6828      597,   598,   599,   600,    -1,   772,   773,    -1,    -1,  1054,
6829     1055,  1056,  1057,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6830       -1,    -1,   572,   620,   621,    -1,    -1,    -1,    -1,  1074,
6831       -1,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,
6832       -1,    -1,    -1,    -1,    -1,    -1,   643,   597,   598,   599,
6833      600,    -1,    -1,   650,   651,    -1,    -1,   654,   655,    -1,
6834     1105,  1106,    -1,    -1,    -1,  1800,    -1,  1802,    -1,    -1,
6835       -1,    -1,    -1,    -1,    -1,   672,    -1,    -1,    -1,    -1,
6836     1125,   678,    -1,    -1,   681,    -1,    -1,  1132,   638,    -1,
6837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6838       -1,    -1,    -1,  1148,  1149,    -1,    -1,    -1,    -1,    -1,
6839     1155,  1156,    -1,   663,  1159,  1160,    -1,    -1,    -1,    -1,
6840       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
6841        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,   688,    -1,
6842       -1,  1876,  1877,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6843       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
6844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6845      767,    -1,    -1,   770,   771,    -1,   726,    -1,    -1,    -1,
6846       -1,    -1,    -1,    -1,   734,    -1,    -1,    65,    -1,    -1,
6847      599,   600,   789,    71,    72,    73,    -1,    -1,    -1,    -1,
6848       -1,    -1,    -1,   800,   754,    -1,    84,    85,    -1,    -1,
6849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6850       98,    -1,   772,   773,   102,   103,   104,   105,   106,   107,
6851      108,   109,    -1,    -1,   112,   113,   114,    -1,   288,   117,
6852       -1,    -1,    -1,   121,   122,   123,  1013,   125,   126,   127,
6853      128,    -1,   802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6855       -1,    -1,    -1,    -1,  1041,    -1,   873,    -1,    -1,    -1,
6856       -1,    -1,  1049,   880,   881,    -1,    -1,  1332,    -1,     1,
6857     1335,     3,     4,     5,     6,   892,     8,     9,    -1,    -1,
6858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   906,
6859      907,   908,    -1,    -1,    -1,    -1,    28,   914,    -1,    -1,
6860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1095,    -1,
6861       -1,  1376,    -1,    -1,  1101,    -1,    -1,    -1,    -1,   389,
6862       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
6863       62,    -1,  1397,    65,    -1,    -1,    -1,    -1,    -1,    71,
6864       72,    73,    -1,  1408,  1409,  1410,  1411,    79,    -1,    -1,
6865       -1,    -1,    84,    85,    86,    -1,    88,    89,    90,    -1,
6866       -1,    -1,    -1,    -1,    -1,  1152,    98,    -1,    -1,    -1,
6867      102,   103,   104,   105,   106,   107,   108,   109,   995,    -1,
6868      112,   113,   114,   115,    -1,   117,    -1,   119,    -1,   121,
6869      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
6870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6871       -1,    -1,  1477,  1478,    -1,    -1,    -1,    -1,    -1,    -1,
6872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   998,    -1,
6873       -1,  1001,  1002,  1003,    -1,  1005,    -1,  1054,  1055,  1056,
6874     1057,    -1,    -1,  1013,    -1,    -1,    -1,    -1,    -1,    -1,
6875       -1,  1021,    -1,    -1,    -1,    -1,    -1,  1074,  1028,    -1,
6876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1039,
6877       -1,    -1,    -1,    -1,    -1,    -1,  1541,  1047,    -1,    -1,
6878       -1,    -1,  1052,    -1,  1054,  1055,  1056,  1057,  1105,  1106,
6879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6880       -1,    -1,   572,    -1,    -1,    -1,    -1,    -1,  1125,    -1,
6881       -1,    -1,    -1,    -1,    -1,  1132,    -1,   587,    -1,  1584,
6882       -1,   591,    -1,    -1,    -1,  1590,    -1,  1097,    -1,    -1,
6883       -1,  1148,  1149,  1103,    -1,    -1,    -1,    -1,  1155,  1156,
6884       -1,    -1,  1159,  1160,    -1,    -1,    -1,    -1,    -1,    -1,
6885       -1,    -1,    -1,    -1,    -1,    -1,  1126,    -1,    -1,    -1,
6886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   638,   998,
6887       -1,    -1,  1001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6888       -1,  1010,   652,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6889       -1,    -1,    -1,   663,   664,  1660,    -1,    -1,    -1,    -1,
6890       -1,  1171,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6891     1039,  1676,  1677,    -1,    -1,    -1,    -1,    -1,   688,    -1,
6892       -1,    -1,    -1,    -1,    -1,  1054,  1055,  1056,  1057,    -1,
6893       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
6894        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
6895       -1,    -1,    -1,    -1,    -1,    -1,   726,  1227,    -1,    -1,
6896       -1,    -1,    -1,    28,   734,    -1,    -1,    -1,    -1,    -1,
6897       -1,  1241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6898       -1,    -1,    -1,    -1,   754,    -1,    -1,    -1,    -1,    -1,
6899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6900       65,    -1,   772,   773,    -1,    -1,    71,    72,    73,    -1,
6901       -1,    -1,    -1,    -1,    -1,  1332,    -1,    -1,  1335,    84,
6902       85,    -1,    -1,    -1,    -1,    -1,  1296,    -1,    -1,    -1,
6903       -1,    -1,   802,    98,    -1,  1800,    -1,   102,   103,   104,
6904      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
6905       -1,    -1,  1322,    -1,   119,    -1,  1326,   122,   123,  1376,
6906      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
6907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6908     1397,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6909       -1,  1408,  1409,  1410,  1411,    -1,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,  1876,  1877,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6913       -1,    -1,    -1,    -1,    -1,    -1,  1623,    -1,    -1,    -1,
6914       -1,  1628,  1629,  1630,  1631,  1632,  1633,    -1,  1635,    -1,
6915       -1,  1638,  1639,  1640,  1641,    -1,    -1,    -1,    -1,    -1,
6916     1477,  1478,    -1,  1650,  1651,  1652,  1653,  1654,  1655,  1656,
6917     1657,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6919       -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
6920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6921       -1,  1481,  1482,    -1,    -1,  1485,    -1,  1487,    -1,    -1,
6922       -1,  1491,  1492,    -1,  1541,    -1,    -1,  1497,  1498,    -1,
6923     1500,    -1,  1002,  1003,    -1,  1005,    -1,    -1,    43,    44,
6924     1510,    -1,  1512,  1013,    -1,    -1,    -1,  1017,    -1,    -1,
6925       -1,  1021,    -1,    -1,    -1,    -1,    -1,    -1,  1028,  1029,
6926       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,
6927       75,    76,    -1,  1590,    -1,    80,    -1,  1047,  1048,    84,
6928       -1,    -1,  1052,    -1,    -1,    -1,    91,    92,  1775,    -1,
6929       -1,    -1,  1562,  1780,    -1,    -1,    -1,    -1,    -1,    -1,
6930       -1,    -1,  1572,    -1,   109,    -1,    -1,    -1,    -1,    -1,
6931       -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6932       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1097,    -1,    -1,
6933       -1,    -1,    -1,  1103,    -1,    -1,    -1,    -1,    -1,    -1,
6934       -1,    -1,    -1,  1660,    -1,    -1,    -1,    -1,    -1,    -1,
6935       -1,    -1,  1481,  1482,    -1,   160,  1126,    -1,    -1,  1676,
6936     1677,  1490,    -1,  1492,  1493,    -1,    -1,  1496,    -1,    -1,
6937       -1,    -1,    -1,    -1,    -1,  1504,    -1,    -1,  1507,    -1,
6938       -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,
6939        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
6940       -1,  1171,  1172,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
6942       -1,    -1,    -1,    -1,    -1,    -1,   231,    -1,    -1,    -1,
6943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   244,
6944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   254,
6945       -1,   256,    -1,    -1,    65,    -1,    -1,  1227,    -1,  1229,
6946       71,    72,    73,    -1,    -1,    -1,  1736,    -1,  1738,    -1,
6947       -1,  1241,  1242,    84,    85,  1745,    -1,    -1,    -1,  1749,
6948       -1,  1751,    -1,  1800,    -1,    -1,    -1,    98,    -1,    -1,
6949     1760,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
6950       -1,   112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,
6951       -1,   122,   123,   124,   125,   126,   127,   128,    -1,    -1,
6952       -1,    -1,    -1,    -1,    -1,    -1,  1296,    -1,  1298,    -1,
6953       -1,    -1,  1802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6955       -1,    -1,  1322,    -1,  1324,    -1,  1326,    -1,  1328,  1876,
6956     1877,    -1,    -1,    -1,    -1,   370,    -1,     1,    -1,     3,
6957        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
6958       -1,    -1,    -1,    -1,   389,    -1,    -1,    -1,    -1,    -1,
6959       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
6960       -1,  1730,  1731,  1732,  1733,    -1,    -1,  1736,    -1,    -1,
6961       -1,    -1,  1741,  1742,    -1,  1744,    -1,  1746,    -1,   424,
6962       -1,    -1,   427,  1893,  1894,    -1,  1896,    -1,  1898,  1758,
6963       -1,    65,  1902,  1903,  1904,    -1,    -1,    71,    72,    73,
6964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6965       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6966       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
6967      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
6968      114,   115,    -1,   117,    -1,   490,   491,  1957,   122,   123,
6969     1960,   125,   126,   127,   128,    -1,    -1,    -1,  1968,    -1,
6970       -1,    -1,   507,    -1,   509,    -1,    -1,    -1,    -1,    -1,
6971       -1,    -1,   517,    -1,    -1,  1485,  1486,  1487,  1488,    -1,
6972       -1,  1491,  1492,    -1,    -1,    -1,    -1,  1497,  1498,    -1,
6973     1500,    -1,  1502,    -1,  2004,    -1,    -1,    -1,    -1,    -1,
6974     1510,  1511,  1512,    -1,    -1,   550,    -1,    -1,    -1,    -1,
6975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6976       -1,    -1,    -1,  1892,    -1,    -1,    -1,    -1,    -1,    -1,
6977       -1,    -1,    -1,  1902,    -1,  1904,    -1,    -1,    -1,    -1,
6978       -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,     8,
6979        9,    -1,  1562,  1563,    -1,    -1,    -1,    -1,    -1,    -1,
6980       -1,    -1,  1572,  1573,    -1,    -1,    -1,    -1,    -1,    28,
6981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   624,
6982       -1,    -1,    -1,    -1,    -1,    -1,  1955,  1956,    -1,    -1,
6983     1959,    -1,  1961,    -1,    -1,  1964,    -1,    -1,    -1,  1968,
6984       -1,    -1,    -1,    -1,    -1,   650,    65,    -1,    -1,   654,
6985       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
6986       -1,    -1,    -1,    -1,   669,    84,    85,    -1,    -1,    -1,
6987       -1,    -1,  2001,    -1,    -1,    -1,    -1,    -1,    -1,    98,
6988       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
6989      109,    -1,    -1,   112,   113,   114,    -1,    -1,   117,    -1,
6990     2029,    -1,   121,   122,   123,    -1,   125,   126,   127,   128,
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,    -1,    -1,    -1,
6994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
6996        3,     4,     5,     6,    -1,     8,     9,    -1,  1738,   774,
6997      775,    -1,    -1,  1743,    -1,  1745,  1746,    -1,  1748,  1749,
6998       -1,  1751,    -1,  1753,   789,    28,    -1,    -1,    -1,  1759,
6999     1760,    -1,   797,    -1,    -1,   800,   801,   802,    -1,    -1,
7000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
7001       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7002       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7003       73,    -1,  1802,    -1,    -1,    -1,    79,   842,    -1,    -1,
7004       -1,    84,    85,    86,   849,    88,    89,    90,    -1,    -1,
7005      855,    -1,    -1,    -1,    -1,    98,    -1,   862,    -1,   102,
7006      103,   104,   105,   106,   107,   108,   109,   872,    -1,   112,
7007      113,   114,   115,    -1,   117,    -1,   119,    -1,   121,   122,
7008      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
7009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   914,
7011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7012       -1,    -1,    -1,  1893,  1894,    -1,  1896,  1897,  1898,     1,
7013       -1,    -1,    -1,  1903,  1904,     7,     8,     9,    10,    11,
7014       12,    13,    14,    15,    16,    17,    -1,    -1,    -1,    -1,
7015       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7016       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7017       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7018       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1957,  1958,    -1,
7019     1960,  1961,    -1,    -1,    66,  1965,    -1,    -1,    -1,    -1,
7020       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7021       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
7022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
7023       -1,    -1,    -1,    -1,  2004,    -1,    -1,   109,   110,   111,
7024      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,    -1,
7025       -1,   123,    -1,   125,   126,   127,    -1,   129,   130,   131,
7026      132,   133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7027       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7028       -1,    -1,    -1,  1088,    -1,    -1,    -1,    -1,    -1,    -1,
7029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7030     1105,    -1,  1107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7031     1115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7032     1125,    -1,    -1,    -1,    -1,     0,     1,  1132,     3,     4,
7033        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7034       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7035       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7036       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7037       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7038       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7039       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7040       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7041       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7042       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7043      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7044      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7045      125,   126,   127,   128,   129,   130,   131,   132,   133,    -1,
7046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7047       -1,    -1,    -1,    -1,    -1,    -1,     0,     1,    -1,     3,
7048        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7049       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7050       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7051       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7052       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7053       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7054       -1,    65,    66,    -1,    68,  1350,    -1,    71,    72,    73,
7055       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7056       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7057       94,    -1,    96,  1378,    98,    99,   100,    -1,   102,   103,
7058      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7059      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7060      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7061       -1,    -1,     0,     1,    -1,     3,     4,     5,     6,     7,
7062        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7063       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7064       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7065       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7066       48,    49,    50,  1468,    52,    53,    54,    55,    56,    57,
7067       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7068       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7069       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7070       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7071       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7072      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7073      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7074      128,   129,   130,   131,   132,   133,    -1,    -1,    -1,    -1,
7075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7077       -1,    -1,    -1,     0,     1,    -1,     3,     4,     5,     6,
7078        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7079       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7080       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7081       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7082       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7083       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7084       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7085       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7086       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7087       -1,    98,    99,   100,  1679,   102,   103,   104,   105,   106,
7088      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7089      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7090      127,   128,   129,   130,   131,   132,   133,     0,     1,    -1,
7091        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7092       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7093       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7094       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7095       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7096       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7097       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7098       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7099       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7100       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7101      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7102      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7103      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7104      133,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7105        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7106       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7107       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7108       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7109       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7110       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7111       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7112       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7113       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7114       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7115      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7116      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7117      129,   130,   131,   132,   133,     0,     1,    -1,     3,     4,
7118        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7119       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7120       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7121       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7122       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7123       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7124       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7125       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7126       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7127       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7128      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7129      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7130      125,   126,   127,   128,   129,   130,   131,   132,   133,     0,
7131        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7132       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7133       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7134       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7135       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7136       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7137       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7138       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7139       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7140       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7141       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7142      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7143      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7144      131,   132,   133,     0,     1,    -1,     3,     4,     5,     6,
7145        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7146       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7147       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7148       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7149       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7150       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7151       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7152       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7153       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7154       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7155      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7156      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7157      127,   128,   129,   130,   131,   132,   133,     0,     1,    -1,
7158        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7159       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7160       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7161       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7162       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7163       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7164       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7165       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7166       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7167       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7168      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7169      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7170      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7171      133,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7172        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7173       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7174       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7175       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7176       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7177       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7178       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7179       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7180       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7181       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7182      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7183      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7184      129,   130,   131,   132,   133,     0,     1,    -1,     3,     4,
7185        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7186       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7187       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7188       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7189       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7190       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7191       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7192       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7193       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7194       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7195      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7196      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7197      125,   126,   127,   128,   129,   130,   131,   132,   133,     0,
7198        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7199       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7200       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7201       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7202       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7203       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7204       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7205       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7206       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7207       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7208       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7209      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7210      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7211      131,   132,   133,     0,     1,    -1,     3,     4,     5,     6,
7212        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7213       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7214       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7215       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7216       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7217       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7218       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7219       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7220       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7221       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7222      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7223      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7224      127,   128,   129,   130,   131,   132,   133,     0,     1,    -1,
7225        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7226       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7227       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7228       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7229       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7230       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7231       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7232       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7233       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7234       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7235      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7236      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7237      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7238      133,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7239        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7240       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7241       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7242       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7243       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7244       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7245       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7246       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7247       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7248       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7249      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7250      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7251      129,   130,   131,   132,   133,     0,     1,    -1,     3,     4,
7252        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7253       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7254       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7255       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7256       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7257       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7258       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7259       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7260       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7261       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7262      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7263      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7264      125,   126,   127,   128,   129,   130,   131,   132,   133,     0,
7265        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7266       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7267       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7268       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7269       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7270       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7271       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7272       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7273       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7274       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7275       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7276      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7277      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7278      131,   132,   133,     0,     1,    -1,     3,     4,     5,     6,
7279        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7280       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7281       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7282       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7283       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7284       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7285       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7286       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7287       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7288       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7289      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7290      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7291      127,   128,   129,   130,   131,   132,   133,     0,     1,    -1,
7292        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7293       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7294       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7295       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7296       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7297       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7298       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7299       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7300       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7301       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7302      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7303      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7304      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7305      133,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7306        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7307       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7308       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7309       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7310       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7311       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7312       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7313       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7314       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7315       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7316      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7317      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7318      129,   130,   131,   132,   133,     0,     1,    -1,     3,     4,
7319        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7320       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7321       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7322       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7323       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7324       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7325       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7326       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7327       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7328       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7329      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7330      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7331      125,   126,   127,   128,   129,   130,   131,   132,   133,     0,
7332        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7333       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7334       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7335       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7336       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7337       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7338       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7339       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7340       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7341       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7342       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7343      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7344      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7345      131,   132,   133,     0,     1,    -1,     3,     4,     5,     6,
7346        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7347       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7348       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7349       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7350       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7351       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7352       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7353       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7354       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7355       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7356      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7357      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7358      127,   128,   129,   130,   131,   132,   133,     0,     1,    -1,
7359        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7360       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7361       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7362       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7363       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7364       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7365       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7366       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7367       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7368       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7369      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7370      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7371      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7372      133,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7373        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7374       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7375       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7376       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7377       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7378       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7379       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7380       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7381       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7382       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7383      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7384      119,   120,   121,   122,   123,    -1,   125,   126,   127,   128,
7385      129,   130,   131,   132,   133,     0,     1,    -1,     3,     4,
7386        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
7387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7388       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7389       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7390       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7391       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7392       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7393       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7394       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7395       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7396      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
7397      115,    -1,   117,   118,   119,   120,   121,   122,   123,    -1,
7398      125,   126,   127,   128,     0,     1,    -1,     3,     4,     5,
7399        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7401       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7402       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7403       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7404       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7405       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7406       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7407       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7408       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7409      106,   107,   108,   109,    -1,    -1,   112,   113,   114,   115,
7410       -1,   117,   118,   119,    -1,   121,   122,   123,    -1,   125,
7411      126,   127,   128,     0,     1,    -1,     3,     4,     5,     6,
7412       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7414       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7415       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7416       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7417       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7418       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7419       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7420       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7421       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7422      107,   108,   109,    -1,    -1,   112,   113,   114,   115,    -1,
7423      117,   118,   119,    -1,   121,   122,   123,    -1,   125,   126,
7424      127,   128,     0,     1,    -1,     3,     4,     5,     6,    -1,
7425        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7427       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7428       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7429       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7430       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7431       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7432       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7433       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7434       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7435      108,   109,    -1,    -1,   112,   113,   114,   115,    -1,   117,
7436      118,   119,    -1,   121,   122,   123,    -1,   125,   126,   127,
7437      128,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
7438        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7439       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7440       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7441       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7442       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7443       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7444       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7445       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7446       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7447       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7448      109,    -1,    -1,   112,   113,   114,   115,    -1,   117,   118,
7449      119,    -1,   121,   122,   123,    -1,   125,   126,   127,   128,
7450        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7452       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7453       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7454       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7455       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7456       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7457       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7458       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7459       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7460      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7461       -1,    -1,   112,   113,   114,   115,    -1,   117,   118,   119,
7462       -1,   121,   122,   123,    -1,   125,   126,   127,   128,     0,
7463        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7465       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
7466       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7467       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7468       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7469       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7470       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7471       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7472       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7473       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7474       -1,   112,   113,   114,   115,    -1,   117,   118,   119,    -1,
7475      121,   122,   123,    -1,   125,   126,   127,   128,     0,     1,
7476       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7478       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7479       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7480       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7481       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7482       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7483       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7484       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7485       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7486      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7487      112,   113,   114,   115,    -1,   117,   118,   119,    -1,   121,
7488      122,   123,    -1,   125,   126,   127,   128,     0,     1,    -1,
7489        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7491       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
7492       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7493       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7494       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7495       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7496       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7497       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7498       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7499      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
7500      113,   114,   115,    -1,   117,   118,   119,    -1,   121,   122,
7501      123,    -1,   125,   126,   127,   128,     0,     1,    -1,     3,
7502        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7504       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7505       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7506       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7507       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7508       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7509       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7510       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7511       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7512      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7513      114,   115,    -1,   117,   118,   119,    -1,   121,   122,   123,
7514       -1,   125,   126,   127,   128,     0,     1,    -1,     3,     4,
7515        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
7516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7517       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7518       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7519       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7520       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7521       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7522       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7523       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7524       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7525      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,   114,
7526      115,    -1,   117,   118,   119,    -1,   121,   122,   123,    -1,
7527      125,   126,   127,   128,     0,     1,    -1,     3,     4,     5,
7528        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7530       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7531       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7532       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7533       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7534       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7535       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7536       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7537       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7538      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
7539       -1,   117,   118,   119,    -1,   121,   122,   123,    -1,   125,
7540      126,   127,   128,     0,     1,    -1,     3,     4,     5,     6,
7541       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7543       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7544       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7545       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7546       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7547       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7548       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7549       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7550       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7551      107,   108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,
7552      117,   118,   119,    -1,   121,   122,   123,    -1,   125,   126,
7553      127,   128,     0,     1,    -1,     3,     4,     5,     6,    -1,
7554        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7556       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7557       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7558       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7559       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7560       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7561       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7562       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7563       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7564      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,
7565      118,   119,    -1,   121,   122,   123,    -1,   125,   126,   127,
7566      128,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
7567        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7569       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7570       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7571       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7572       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7573       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7574       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7575       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7576       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7577      109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,
7578      119,    -1,   121,   122,   123,    -1,   125,   126,   127,   128,
7579        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7582       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7583       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7584       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7585       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7586       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7587       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7588       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7589      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7590       -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,   119,
7591       -1,   121,   122,   123,    -1,   125,   126,   127,   128,     0,
7592        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
7595       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7596       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7597       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7598       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7599       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7600       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7601       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7602       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7603       -1,   112,    -1,   114,   115,    -1,   117,   118,   119,    -1,
7604      121,   122,   123,    -1,   125,   126,   127,   128,     0,     1,
7605       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7607       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7608       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7609       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7610       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7611       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7612       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7613       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7614       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7615      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7616      112,    -1,   114,   115,    -1,   117,   118,   119,    -1,   121,
7617      122,   123,    -1,   125,   126,   127,   128,     0,     1,    -1,
7618        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7620       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
7621       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7622       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7623       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7624       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7625       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7626       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7627       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7628      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
7629       -1,   114,   115,    -1,   117,   118,   119,    -1,   121,   122,
7630      123,    -1,   125,   126,   127,   128,     0,     1,    -1,     3,
7631        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7633       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7634       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7635       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7636       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7637       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7638       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7639       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7640       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7641      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7642      114,   115,    -1,   117,   118,   119,    -1,   121,   122,   123,
7643       -1,   125,   126,   127,   128,     0,     1,    -1,     3,     4,
7644        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
7645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7646       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7647       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7648       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7649       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7650       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7651       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7652       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7653       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7654      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,   114,
7655      115,    -1,   117,   118,   119,    -1,   121,   122,   123,    -1,
7656      125,   126,   127,   128,     0,     1,    -1,     3,     4,     5,
7657        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7659       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7660       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7661       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7662       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7663       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7664       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7665       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7666       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7667      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
7668       -1,   117,   118,   119,    -1,   121,   122,   123,    -1,   125,
7669      126,   127,   128,     0,     1,    -1,     3,     4,     5,     6,
7670       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7672       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7673       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7674       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7675       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7676       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7677       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7678       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7679       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7680      107,   108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,
7681      117,   118,   119,    -1,   121,   122,   123,    -1,   125,   126,
7682      127,   128,     0,     1,    -1,     3,     4,     5,     6,    -1,
7683        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7685       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7686       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7687       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7688       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7689       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7690       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7691       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7692       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7693      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,
7694      118,   119,    -1,   121,   122,   123,    -1,   125,   126,   127,
7695      128,     0,     1,    -1,     3,     4,     5,     6,    -1,     8,
7696        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
7698       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7699       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7700       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7701       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7702       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7703       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7704       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7705       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7706      109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,
7707      119,    -1,   121,   122,   123,    -1,   125,   126,   127,   128,
7708        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7711       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7712       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7713       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7714       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7715       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7716       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7717       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7718      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7719       -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,   119,
7720       -1,   121,   122,   123,    -1,   125,   126,   127,   128,     0,
7721        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
7722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
7724       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7725       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7726       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7727       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7728       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7729       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7730       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7731       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
7732       -1,   112,    -1,   114,   115,    -1,   117,   118,   119,    -1,
7733      121,   122,   123,    -1,   125,   126,   127,   128,     0,     1,
7734       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7736       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7737       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7738       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7739       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7740       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7741       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7742       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7743       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7744      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7745      112,    -1,   114,   115,    -1,   117,   118,   119,    -1,   121,
7746      122,   123,    -1,   125,   126,   127,   128,     0,     1,    -1,
7747        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
7748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7749       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
7750       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7751       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7752       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7753       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7754       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7755       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7756       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7757      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
7758       -1,   114,   115,    -1,   117,   118,   119,    -1,   121,   122,
7759      123,    -1,   125,   126,   127,   128,     0,     1,    -1,     3,
7760        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7762       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7763       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7764       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7765       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7766       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7767       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7768       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7769       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7770      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7771      114,   115,    -1,   117,   118,   119,    -1,   121,   122,   123,
7772       -1,   125,   126,   127,   128,     0,     1,    -1,     3,     4,
7773        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
7774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7775       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
7776       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7777       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7778       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7779       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7780       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7781       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7782       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7783      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,   114,
7784      115,    -1,   117,   118,   119,    -1,   121,   122,   123,    -1,
7785      125,   126,   127,   128,     0,     1,    -1,     3,     4,     5,
7786        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7788       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7789       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7790       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7791       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7792       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7793       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7794       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7795       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7796      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
7797       -1,   117,   118,   119,    -1,   121,   122,   123,    -1,   125,
7798      126,   127,   128,     0,     1,    -1,     3,     4,     5,     6,
7799       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7801       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7802       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7803       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7804       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7805       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7806       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7807       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7808       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7809      107,   108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,
7810      117,   118,   119,    -1,   121,   122,   123,    -1,   125,   126,
7811      127,   128,     0,     1,    -1,     3,     4,     5,     6,    -1,
7812        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7814       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7815       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7816       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
7817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
7818       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7819       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7820       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
7821       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7822      108,   109,    -1,    -1,   112,   113,   114,   115,    -1,   117,
7823      118,   119,    -1,    -1,   122,   123,    -1,   125,   126,   127,
7824      128,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7827       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7828       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7829       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7830       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
7831       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
7832       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
7833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7834      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7835       -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,   119,
7836       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,     1,
7837       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7839       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7840       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7841       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7843       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
7844       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7845       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
7846       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
7847      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7848      112,    -1,   114,   115,    -1,   117,   118,   119,    -1,    -1,
7849      122,   123,    -1,   125,   126,   127,   128,     1,    -1,     3,
7850        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7852       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7853       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7854       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7856       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
7857       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
7858       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7859       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
7860      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7861      114,   115,    -1,   117,   118,   119,    -1,    -1,   122,   123,
7862       -1,   125,   126,   127,   128,     1,    -1,     3,     4,     5,
7863        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7865       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7866       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7867       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
7868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7869       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
7870       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
7871       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7872       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
7873      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
7874       -1,   117,   118,   119,    -1,    -1,   122,   123,    -1,   125,
7875      126,   127,   128,     1,    -1,     3,     4,     5,     6,    -1,
7876        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7878       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7879       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7880       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
7882       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7883       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
7884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7885       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
7886      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,
7887      118,   119,    -1,    -1,   122,   123,    -1,   125,   126,   127,
7888      128,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7891       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7892       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7893       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7894       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
7895       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
7896       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
7897       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7898      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7899       -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,   119,
7900       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,     1,
7901       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7903       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7904       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7905       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7907       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
7908       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7909       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
7910       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
7911      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7912      112,    -1,   114,   115,    -1,   117,   118,   119,    -1,    -1,
7913      122,   123,    -1,   125,   126,   127,   128,     1,    -1,     3,
7914        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7916       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7917       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7918       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7920       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
7921       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
7922       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7923       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
7924      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7925      114,   115,    -1,   117,   118,   119,    -1,    -1,   122,   123,
7926       -1,   125,   126,   127,   128,     1,    -1,     3,     4,     5,
7927        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7929       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7930       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7931       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
7932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7933       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
7934       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
7935       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7936       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
7937      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
7938       -1,   117,   118,   119,    -1,    -1,   122,   123,    -1,   125,
7939      126,   127,   128,     1,    -1,     3,     4,     5,     6,    -1,
7940        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7942       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7943       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7944       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
7946       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7947       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
7948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7949       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
7950      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,   117,
7951      118,   119,    -1,    -1,   122,   123,    -1,   125,   126,   127,
7952      128,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7955       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7956       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7957       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7958       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
7959       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
7960       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
7961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
7962      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7963       -1,    -1,   112,    -1,   114,   115,    -1,   117,   118,   119,
7964       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,     1,
7965       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7967       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7968       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7969       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7971       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
7972       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
7973       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
7974       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
7975      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
7976      112,    -1,   114,   115,    -1,   117,   118,   119,    -1,    -1,
7977      122,   123,    -1,   125,   126,   127,   128,     1,    -1,     3,
7978        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7980       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7981       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7982       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
7983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7984       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
7985       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
7986       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
7987       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
7988      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
7989      114,   115,    -1,   117,   118,   119,    -1,    -1,   122,   123,
7990       -1,   125,   126,   127,   128,     1,    -1,     3,     4,     5,
7991        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7993       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7994       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7995       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
7996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7997       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
7998       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
7999       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8000       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8001      106,   107,   108,   109,    -1,    -1,   112,     1,   114,     3,
8002        4,     5,     6,    -1,     8,     9,   122,   123,    -1,   125,
8003      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8004       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8005       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8006       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8008       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8009       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8010       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8011       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8012      104,   105,   106,   107,   108,   109,    -1,    -1,   112,     1,
8013      114,     3,     4,     5,     6,    -1,     8,     9,   122,   123,
8014       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8015       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8016       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8017       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8019       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8020       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8021       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8022       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8023      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8024      112,   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8025      122,   123,    -1,   125,   126,   127,   128,     1,    -1,     3,
8026        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8027       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8028       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8029       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8030       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8032       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8033       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8034       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8035       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8036      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
8037      114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
8038       -1,   125,   126,   127,   128,     1,    -1,     3,     4,     5,
8039        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8041       -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,    35,
8042       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8043       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8045       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8046       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
8047       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8048       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8049      106,   107,   108,   109,    -1,    -1,   112,     1,   114,     3,
8050        4,     5,     6,   119,     8,     9,   122,   123,    -1,   125,
8051      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8052       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8053       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8054       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8056       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8057       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8058       84,    85,    86,    87,     1,    -1,     3,     4,     5,     6,
8059       -1,     8,     9,    -1,    98,    -1,   100,    -1,   102,   103,
8060      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
8061      114,    28,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
8062       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8063       -1,    -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,
8064       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    -1,
8065       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
8066       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8067       -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,
8068       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
8069      107,   108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,
8070       -1,    -1,   119,    -1,   121,   122,   123,    -1,   125,   126,
8071      127,   128,     1,    -1,     3,     4,     5,     6,    -1,     8,
8072        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8076       -1,    -1,    -1,    52,    53,    54,    55,    56,    57,    58,
8077       59,    60,    61,    62,    -1,    -1,    65,    -1,    -1,    -1,
8078       -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
8079       79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,    88,
8080       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8081       -1,    -1,    -1,   102,   103,   104,   105,   106,   107,   108,
8082      109,    -1,    -1,   112,    -1,   114,   115,    -1,    -1,    -1,
8083      119,    -1,   121,   122,   123,    -1,   125,   126,   127,   128,
8084        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8086       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
8087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8089       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
8090       61,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8091       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
8092       -1,    -1,    -1,    84,    85,    86,    -1,    88,    89,    90,
8093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8094       -1,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8095       -1,   112,    -1,   114,   115,    -1,    -1,    -1,   119,    -1,
8096      121,   122,   123,    -1,   125,   126,   127,   128,     1,    -1,
8097        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8099       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
8100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8103       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8104       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8105       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8106       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8107      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8108      113,   114,    -1,    -1,   117,    -1,    -1,    -1,   121,   122,
8109      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8110       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8111       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8112       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8114       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8115       -1,    -1,   112,   113,   114,    -1,    -1,   117,    -1,    -1,
8116       -1,   121,   122,   123,    -1,   125,   126,   127,   128,    -1,
8117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8118       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8119        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8121       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8122      107,   108,   109,    -1,    -1,   112,   113,   114,   115,    -1,
8123      117,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,
8124      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8125       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8126        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8127       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8128       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8129      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
8130      114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,
8131      124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8132       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8133       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8134        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8136       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8137       -1,   112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,
8138       -1,   122,   123,   124,   125,   126,   127,   128,    -1,    -1,
8139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8140       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8141        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8143       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8144      108,   109,    -1,    -1,   112,   113,   114,   115,    -1,   117,
8145       -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8146      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8147       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8148       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8149       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8150       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8151      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8152      115,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,    -1,
8153      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8154       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8155       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8156        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8157       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8158      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8159      112,   113,   114,   115,    -1,   117,    -1,    -1,    -1,    -1,
8160      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8161       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8162       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8163        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8165       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8166      109,    -1,    -1,   112,    -1,   114,    -1,    -1,   117,   118,
8167      119,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8169       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8170        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8172       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8173      106,   107,   108,   109,    -1,    -1,   112,   113,   114,   115,
8174       -1,   117,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,
8175      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8176       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8177       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8178       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8179       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8180      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8181      113,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,   122,
8182      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8183       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8184       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8185       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8187       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8188       -1,    -1,   112,    -1,   114,   115,    -1,    -1,    -1,   119,
8189       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,    -1,
8190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8191       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8192        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8194       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8195      107,   108,   109,    -1,    -1,   112,   113,   114,    -1,    -1,
8196      117,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,
8197      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8198       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8199        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8200       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8201       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8202      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
8203      114,   115,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
8204       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8205       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8206       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8207        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8209       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8210       -1,   112,    -1,   114,   115,    -1,   117,    -1,    -1,    -1,
8211       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8213       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8214        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8216       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8217      108,   109,    -1,    -1,   112,   113,   114,    -1,    -1,    -1,
8218       -1,   119,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8219      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8220       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8221       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8222       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8223       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8224      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8225       -1,    -1,    -1,    -1,   119,    -1,    -1,   122,   123,    -1,
8226      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8227       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8228       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8229        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8230       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8231      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8232      112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,
8233      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8234       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8235       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8236        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8238       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8239      109,    -1,    -1,   112,    -1,   114,    -1,    -1,   117,    -1,
8240       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,   128,
8241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8242       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8243        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8245       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8246      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,
8247       -1,   117,    -1,    -1,    -1,   121,   122,   123,    -1,   125,
8248      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8249       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8250       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8251       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8252       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8253      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8254       -1,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
8255      123,   124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8256       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8257       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8258       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8260       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8261       -1,    -1,   112,    -1,   114,    -1,    -1,   117,    -1,    -1,
8262       -1,   121,   122,   123,    -1,   125,   126,   127,   128,    -1,
8263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8264       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8265        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8267       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8268      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8269      117,    -1,    -1,    -1,   121,   122,   123,    -1,   125,   126,
8270      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8271       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8272        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8273       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8274       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8275      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8276      114,    -1,    -1,   117,    -1,    -1,    -1,   121,   122,   123,
8277       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8278       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8279       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8280        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8282       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8283       -1,   112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,
8284       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8286       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8287        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8289       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8290      108,   109,    -1,    -1,   112,   113,   114,    -1,    -1,   117,
8291       -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8292      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8293       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8294       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8295       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8296       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8297      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8298       -1,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,    -1,
8299      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8300       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8301       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8302        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8303       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8304      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8305      112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,
8306      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8307       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8308       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8309        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8311       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8312      109,    -1,    -1,   112,   113,   114,   115,    -1,    -1,    -1,
8313       -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8314       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8315       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8316        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8318       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8319      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8320       -1,   117,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,
8321      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8322       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8323       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8324       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8325       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8326      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8327      113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,   122,
8328      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8329       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8330       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8331       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8333       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8334       -1,    -1,   112,    -1,   114,    -1,    -1,   117,    -1,    -1,
8335       -1,    -1,   122,   123,   124,   125,   126,   127,   128,    -1,
8336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8337       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8338        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8340       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8341      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8342      117,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
8343      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8344       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8345        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8346       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8347       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8348      104,   105,   106,   107,   108,   109,    -1,    -1,   112,   113,
8349      114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,
8350       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8351       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8352       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8353        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8355       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8356       -1,   112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,
8357       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8359       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8360        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8362       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8363      108,   109,    -1,    -1,   112,   113,   114,   115,    -1,    -1,
8364       -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8365      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8366       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8367       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8368       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8369       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8370      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8371       -1,    -1,   117,    -1,    -1,    -1,    -1,   122,   123,    -1,
8372      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8373       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8374       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8375        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8376       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8377      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8378      112,   113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,
8379      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8380       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8381       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8382        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8384       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8385      109,    -1,    -1,   112,   113,   114,    -1,    -1,   117,    -1,
8386       -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8388       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8389        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8391       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8392      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,
8393       -1,    -1,   118,   119,    -1,    -1,   122,   123,    -1,   125,
8394      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8395       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8396       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8397       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8398       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8399      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8400      113,   114,    -1,    -1,   117,    -1,    -1,    -1,    -1,   122,
8401      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8402       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8403       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8404       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8406       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8407       -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,    -1,
8408       -1,    -1,   122,   123,   124,   125,   126,   127,   128,    -1,
8409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8410       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8411        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8413       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8414      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8415       -1,    -1,   119,    -1,    -1,   122,   123,    -1,   125,   126,
8416      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8417       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8418        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8419       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8420       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8421      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8422      114,    -1,    -1,    -1,    -1,   119,    -1,    -1,   122,   123,
8423       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8424       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8425       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8426        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8428       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8429       -1,   112,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
8430       -1,   122,   123,   124,   125,   126,   127,   128,    -1,    -1,
8431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8432       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8433        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8435       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8436      108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,
8437       -1,    -1,    -1,   121,   122,   123,    -1,   125,   126,   127,
8438      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8439       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8440       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8441       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8442       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8443      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8444       -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,
8445      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8446       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8447       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8448        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8449       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8450      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8451      112,    -1,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,
8452      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8453       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8454       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8455        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8457       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8458      109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,
8459      119,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8461       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8462        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8464       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8465      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,
8466       -1,    -1,    -1,   119,    -1,    -1,   122,   123,    -1,   125,
8467      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8468       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8469       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8470       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8471       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8472      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8473       -1,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,   122,
8474      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8475       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8476       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8477       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8479       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8480       -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,   119,
8481       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,    -1,
8482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8483       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8484        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8486       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8487      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8488       -1,    -1,   119,    -1,    -1,   122,   123,    -1,   125,   126,
8489      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8490       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8491        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8492       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8493       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8494      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8495      114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
8496      124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8497       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8498       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8499        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8501       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8502       -1,   112,   113,   114,    -1,    -1,    -1,    -1,    -1,    -1,
8503       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8505       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8506        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8508       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8509      108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,
8510       -1,    -1,    -1,   121,   122,   123,    -1,   125,   126,   127,
8511      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8512       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8513       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8514       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8515       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8516      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,   114,
8517       -1,    -1,    -1,    -1,   119,    -1,    -1,   122,   123,    -1,
8518      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8519       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8520       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8521        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8522       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8523      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8524      112,    -1,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,
8525      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8526       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8527       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8528        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8530       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8531      109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,
8532      119,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8534       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8535        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8537       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8538      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,
8539       -1,    -1,    -1,   119,    -1,    -1,   122,   123,    -1,   125,
8540      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8541       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8542       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8543       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8544       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8545      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8546       -1,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,   122,
8547      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8548       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8549       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8550       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8552       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8553       -1,    -1,   112,   113,   114,    -1,    -1,    -1,    -1,    -1,
8554       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,    -1,
8555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8556       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8557        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8559       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8560      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8561       -1,    -1,   119,    -1,    -1,   122,   123,    -1,   125,   126,
8562      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8563       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8564        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8565       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8566       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8567      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8568      114,    -1,    -1,    -1,    -1,   119,    -1,    -1,   122,   123,
8569       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8570       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8571       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8572        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8573       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8574       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8575       -1,   112,    -1,   114,    -1,    -1,    -1,    -1,   119,    -1,
8576       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8578       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8579        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8581       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8582      108,   109,    -1,    -1,   112,   113,   114,    -1,    -1,    -1,
8583       -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8584      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8585       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8586       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8587       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8588       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8589      105,   106,   107,   108,   109,    -1,    -1,   112,   113,   114,
8590       -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,
8591      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8592       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8593       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8594        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8595       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8596      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8597      112,    -1,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,
8598      122,   123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,
8599       -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
8600       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8601        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8602       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8603       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8604      109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,
8605       -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,   128,
8606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8607       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8608        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8609       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8610       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8611      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,
8612       -1,    -1,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,
8613      126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8614       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8615       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8616       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8617       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8618      103,   104,   105,   106,   107,   108,   109,    -1,    -1,   112,
8619       -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
8620      123,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
8621       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
8622       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8623       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8625       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8626       -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,    -1,
8627       -1,    -1,   122,   123,    -1,   125,   126,   127,   128,    -1,
8628       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,
8629       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8630        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8632       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8633      107,   108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,
8634       -1,    -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,
8635      127,   128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8636       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8637        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8638       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8639       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8640      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8641      114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,   123,
8642       -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
8643       -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
8644       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8645        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8646       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8647       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8648       -1,   112,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
8649       -1,   122,   123,    -1,   125,   126,   127,   128,    -1,    -1,
8650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
8651       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8652        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8655      108,   109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,
8656       -1,    -1,    -1,    -1,   122,   123,    -1,   125,   126,   127,
8657      128,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8658       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
8659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
8660       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8661       -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,   104,
8662      105,   106,   107,   108,   109,    -1,    -1,   112,    -1,   114,
8663        0,     1,    -1,     3,     4,     5,    -1,   122,   123,    -1,
8664      125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,    -1,
8665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8666       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8667       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8668       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
8669       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8670       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8671       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8672       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8673      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8674       -1,    -1,   112,    -1,   114,   115,     0,     1,   118,     3,
8675        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8677       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8678       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8679       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
8680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8681       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8682       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8683       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8684       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8685      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8686      114,   115,     0,     1,   118,     3,     4,     5,   122,   123,
8687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8689       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8690       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8691       48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,
8692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8693       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8694       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8695       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8696       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8697      108,   109,    -1,    -1,   112,    -1,   114,   115,     0,     1,
8698      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8700       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8701       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8702       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8703       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8704       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8705       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8706       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8707       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8708      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8709      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
8710      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8712       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8713       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8714       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8716       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
8717       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
8718       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8719       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8720      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8721       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
8722       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8724       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8725       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8726       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8727       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8728       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8729       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8730       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8731      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8732       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
8733        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8735       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8736       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8737       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8739       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8740       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8741       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8742       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8743      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8744      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
8745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8747       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8748       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8749       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8751       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8752       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8753       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8754       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8755      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
8756      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8758       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8759       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8760       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8762       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8763       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8764       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8765       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8766      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8767      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
8768      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8770       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8771       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8772       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8774       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
8775       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
8776       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8777       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8778      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8779       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
8780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8782       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8783       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8784       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8785       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8786       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8787       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8788       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8789      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8790       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
8791        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8793       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8794       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8795       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8797       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8798       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8799       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8800       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8801      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8802      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
8803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8805       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8806       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8807       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8809       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8810       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8811       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8812       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8813      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
8814      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8816       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8817       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8818       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8820       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8821       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8822       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8823       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8824      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8825      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
8826      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8828       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8829       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8830       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8832       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
8833       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
8834       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8835       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8836      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8837       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
8838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8840       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8841       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8842       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8843       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8844       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8845       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8846       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8847      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8848       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
8849        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8851       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8852       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8853       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8855       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8856       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8857       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8858       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8859      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8860      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
8861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8863       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8864       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8865       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8867       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8868       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8869       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8870       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8871      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
8872      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8874       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8875       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8876       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8878       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8879       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8880       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8881       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8882      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8883      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
8884      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8886       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8887       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8888       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8890       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
8891       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
8892       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8893       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8894      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8895       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
8896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8897       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8898       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8899       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8900       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8901       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8902       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8903       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8904       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8905      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8906       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
8907        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8909       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8910       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8911       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8913       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8914       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8915       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8916       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8917      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8918      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
8919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8921       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8922       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8923       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8925       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8926       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8927       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8928       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8929      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
8930      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8932       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8933       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8934       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8936       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8937       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8938       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8939       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8940      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8941      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
8942      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8944       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8945       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8946       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8948       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
8949       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
8950       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8951       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8952      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
8953       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
8954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8956       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8957       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8958       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8959       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
8960       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
8961       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
8962       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8963      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8964       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
8965        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
8966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8967       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8968       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8969       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8971       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
8972       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8973       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
8974       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8975      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
8976      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
8977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8979       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8980       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8981       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8983       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
8984       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
8985       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
8986       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8987      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
8988      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
8989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8990       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8991       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8992       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8994       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8995       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
8996       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
8997       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8998      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8999      112,    -1,   114,   115,    -1,     1,   118,     3,     4,     5,
9000      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9002       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9003       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9004       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9006       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9007       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9008       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9009       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9010      106,   107,   108,   109,    -1,    -1,   112,    -1,   114,   115,
9011       -1,     1,   118,     3,     4,     5,   122,   123,    -1,    -1,
9012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
9014       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9015       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9016       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9017       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,
9018       -1,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
9019       80,    81,    82,    83,    -1,    85,    86,    87,    88,    -1,
9020       -1,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
9021      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
9022       -1,    -1,   112,    -1,   114,   115,    -1,     1,   118,     3,
9023        4,     5,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9025       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9026       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9027       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9029       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9030       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9031       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9032       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9033      104,   105,   106,   107,   108,   109,    -1,    -1,   112,    -1,
9034      114,   115,    -1,     1,   118,     3,     4,     5,   122,   123,
9035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9037       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9038       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9039       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9041       68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,    -1,
9042       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
9043       88,    -1,    -1,    91,    92,    93,    94,    -1,    96,    -1,
9044       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
9045      108,   109,    -1,    -1,   112,    -1,   114,   115,    -1,     1,
9046      118,     3,     4,     5,   122,   123,    -1,    -1,    -1,    -1,
9047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9048       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9049       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9050       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9052       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9053       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9054       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9055       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9056      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9057      112,    -1,   114,   115,     1,    -1,     3,     4,     5,    -1,
9058      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9060       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9061       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9062       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9064       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9065       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9066       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9067       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9068      107,   108,   109,    -1,    -1,   112,    -1,   114,   115,     1,
9069       -1,     3,     4,     5,    -1,   122,   123,    -1,    -1,    -1,
9070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9071       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9072       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9073       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9075       -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
9076       72,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9077       82,    83,    -1,    85,    86,    87,    88,    -1,    -1,    91,
9078       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
9079      102,   103,   104,   105,   106,   107,   108,   109,    -1,     1,
9080      112,     3,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,
9081      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9082       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
9083       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9084       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9086       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9087       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9088       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9089       -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,   100,    -1,
9090       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,
9091      112,   113,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9092       -1,   123,    29,    30,    31,    32,    33,    34,    35,    36,
9093       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9094       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
9095       57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
9096       -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9097       -1,    78,    79,    80,    81,    82,    83,    -1,    -1,    86,
9098       87,    88,    89,    90,    91,    92,    93,    94,     0,    96,
9099       -1,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,
9101       -1,   118,   119,    -1,   121,    -1,    -1,    29,    30,    31,
9102       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9103       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9104       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
9105       62,    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,
9106       -1,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9107       82,    83,    -1,    -1,    86,    87,    88,    89,    90,    91,
9108       92,    93,    94,     0,    96,    -1,    -1,    99,   100,    -1,
9109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9110       -1,    -1,    -1,   115,    -1,    -1,   118,   119,    -1,   121,
9111       -1,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
9112       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9113       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
9114       57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
9115       -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9116       -1,    78,    79,    80,    81,    82,    83,    -1,    -1,    86,
9117       87,    88,    89,    90,    91,    92,    93,    94,     0,    96,
9118       -1,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,
9120       -1,   118,   119,    -1,   121,    -1,    -1,    29,    30,    31,
9121       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9122       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9123       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
9124       62,    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,
9125       -1,    -1,    74,    75,    -1,    -1,    78,    79,    80,    81,
9126       82,    83,    -1,    -1,    86,    87,    88,    89,    90,    91,
9127       92,    93,    94,     0,    96,    -1,    -1,    99,   100,    -1,
9128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9129       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,    -1,   121,
9130       -1,    -1,    29,    30,    31,    32,    33,    34,    35,    36,
9131       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9132       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
9133       57,    58,    59,    60,    61,    62,    -1,    -1,    -1,    66,
9134       -1,    68,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9135       -1,    78,    79,    80,    81,    82,    83,    -1,    -1,    86,
9136       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
9137        3,    -1,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9139       -1,   118,   119,    -1,   121,    28,    29,    30,    31,    32,
9140       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9141       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9143       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9144       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9145       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9146       -1,    -1,    -1,    -1,    -1,    -1,     3,   100,    -1,    -1,
9147       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,   112,
9148       -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
9149      123,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9150       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9151       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9154       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9155       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9156       -1,    -1,     3,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9157       -1,    -1,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,
9158       -1,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,    30,
9159       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9160       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9162       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9163       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9164       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,   100,
9166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
9167       -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9168       -1,    -1,   123,    28,    29,    30,    31,    32,    33,    34,
9169       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9170       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9172       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9173       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
9174       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9175       -1,    -1,    -1,    -1,     3,   100,    -1,    -1,    -1,    -1,
9176       -1,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,
9177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,    28,
9178       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9179       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9180       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9182       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9183       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
9184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9185        3,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9186      109,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
9187       -1,    -1,    -1,    -1,   123,    28,    29,    30,    31,    32,
9188       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9189       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9191       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9192       -1,    74,    75,    76,    77,    -1,    79,    -1,    -1,    82,
9193       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9194       -1,    -1,    -1,    -1,     3,    -1,    -1,   100,    -1,    -1,
9195       -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,   112,
9196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    28,
9197       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9198       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9199       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
9201       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
9202       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
9203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9204       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9205      109,    -1,    -1,   112,    -1,   114,    -1,    -1,    -1,    -1,
9206       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
9207       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9208       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9210       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9211       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9212       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9213       -1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9214       -1,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,
9215      115,    -1,    -1,    -1,    -1,    -1,   121,    28,    29,    30,
9216       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9217       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9219       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9220       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9221       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9222       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   100,
9223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
9224       -1,   112,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,
9225      121,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9226       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9227       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9230       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9231       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
9232       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9233       -1,    -1,   109,    -1,    -1,   112,    -1,    -1,    -1,    -1,
9234       -1,    -1,    -1,    -1,   121,    28,    29,    30,    31,    32,
9235       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9236       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9238       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9239       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9240       -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9241        1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9243       -1,    -1,    -1,    -1,    -1,    -1,   119,    28,    29,    30,
9244       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9245       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9246       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9247       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9248       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9249       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9250       -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9252       -1,    -1,    -1,    -1,   115,    -1,   117,   118,    28,    29,
9253       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9254       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9255       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9256       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9257       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9258       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9259       -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9260      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    28,
9262       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9263       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9264       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
9266       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9267       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
9268       -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,    -1,
9269       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9271       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9272       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9273       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9275       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9276       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9277       -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,
9278       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9280      118,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9281       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9282       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9285       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9286       87,    -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,
9287       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9289       -1,   118,    28,    29,    30,    31,    32,    33,    34,    35,
9290       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9291       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9293       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9294       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9295       86,    87,    -1,    -1,    -1,     0,     1,    -1,     3,    -1,
9296       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9298       -1,    -1,   118,    28,    29,    30,    31,    32,    33,    34,
9299       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9300       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
9301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9302       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9303       75,    76,    77,    -1,    79,    80,    81,    82,    83,    -1,
9304       85,    86,    87,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9305       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,    -1,    -1,
9306      105,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,
9307      115,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9308       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9309       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9312       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9313       87,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
9314       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9315      107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9316       -1,   118,    28,    29,    30,    31,    32,    33,    34,    35,
9317       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9318       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9319       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9320       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9321       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9322       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
9323       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9324       -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9325       -1,    -1,   118,    28,    29,    30,    31,    32,    33,    34,
9326       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9327       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9329       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9330       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9331       85,    86,    87,    -1,    -1,    -1,    -1,     1,    -1,     3,
9332       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9333       -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9334       -1,    -1,    -1,   118,    28,    29,    30,    31,    32,    33,
9335       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9336       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9338       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9339       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9340       -1,    85,    86,    87,    -1,     1,    -1,     3,    -1,    -1,
9341       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9342       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,
9343       -1,   115,    28,    29,    30,    31,    32,    33,    34,    35,
9344       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9345       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9347       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9348       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9349       86,    87,    -1,     1,    -1,     3,    -1,    -1,    -1,    -1,
9350       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9351       -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,   115,
9352       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9353       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9354       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9356       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9357       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9358       -1,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
9359       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9360       -1,   109,    -1,    -1,   112,    -1,    -1,   115,    28,    29,
9361       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9362       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9363       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9364       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9365       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9366       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9367       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9368      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
9369       -1,    -1,   112,    -1,    -1,   115,    28,    29,    30,    31,
9370       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9371       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9372       -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9373       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9374       -1,    -1,    74,    75,    76,    77,    -1,    79,    80,    81,
9375       82,    83,    -1,    85,    86,    87,     0,     1,    -1,     3,
9376       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
9377       -1,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,
9378      112,    -1,    -1,   115,    28,    29,    30,    31,    32,    33,
9379       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9380       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
9381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9382       -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9383       74,    75,    -1,    -1,    -1,    79,    80,    81,    82,    83,
9384       -1,    85,    86,    87,     1,    -1,     3,    -1,    -1,    -1,
9385       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9386       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,
9387       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9388       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9389       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9392       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9393       87,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
9394       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9395       -1,    -1,   109,    -1,    -1,   112,   113,    -1,    28,    29,
9396       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9397       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9398       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9399       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9400       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9401       -1,    -1,    82,    83,    -1,    85,    86,    87,     1,    -1,
9402        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9403      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9404       -1,    -1,    -1,   113,    -1,    28,    29,    30,    31,    32,
9405       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9406       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9408       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9409       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9410       83,    -1,    85,    86,    87,     1,    -1,     3,    -1,    -1,
9411       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9413      113,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9414       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9415       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9417       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9418       -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,
9419       86,    87,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
9420       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9421       -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    28,
9422       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
9423       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
9424       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9425       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
9426       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
9427       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,     1,
9428       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9429       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9430       -1,    -1,    -1,    -1,   113,    -1,    28,    29,    30,    31,
9431       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9432       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9434       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
9435       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9436       82,    83,    -1,    85,    86,    87,     1,    -1,     3,    -1,
9437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9438       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,
9439      112,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
9440       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9441       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9443       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9444       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
9445       85,    86,    87,     1,    -1,     3,    -1,    -1,    -1,    -1,
9446       -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,
9447       -1,    -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,
9448       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9449       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9450       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9452       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9453       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9454        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9455       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9456       -1,    -1,    -1,    -1,   112,    28,    29,    30,    31,    32,
9457       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9458       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9460       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9461       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9462       83,    -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,
9463       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9464       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,   112,
9465       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9466       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9467       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9469       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9470       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9471        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9472       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9473       -1,   109,    -1,    -1,   112,    28,    29,    30,    31,    32,
9474       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9475       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9477       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9478       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9479       83,    -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,
9480       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,
9482       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9483       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9484       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9486       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9487       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9488        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9489       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9490       -1,    -1,    -1,    -1,   112,    28,    29,    30,    31,    32,
9491       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9492       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9494       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9495       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
9496       -1,    -1,    85,    86,    87,     3,    -1,    -1,    -1,    -1,
9497       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9498       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,   112,
9499       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9500       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9501       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9503       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9504       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9505        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9506       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,   107,
9507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9508       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9509       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9510       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9511       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9512       -1,    -1,    -1,    74,    75,     1,    -1,     3,    79,    -1,
9513       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9515       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9516       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9517       46,    47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,
9518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9519       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9520        1,    -1,     3,    79,    -1,    -1,    82,    83,    -1,    85,
9521       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9522       -1,    -1,    -1,    -1,   100,    -1,    -1,    28,    29,    30,
9523       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9524       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9525       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9526       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
9527       -1,    -1,    -1,    74,    75,     1,    -1,     3,    79,    -1,
9528       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9530       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9531       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9532       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9534       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9535        3,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9536       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9537       -1,    -1,    -1,    -1,   100,    28,    29,    30,    31,    32,
9538       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9539       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
9540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9541       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9542       -1,    74,    75,     3,    -1,    -1,    79,    -1,    -1,    82,
9543       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9544       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    28,    29,
9545       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9546       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9547       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9548       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9549       -1,    -1,    -1,    -1,    74,    75,     3,    -1,    -1,    79,
9550       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9552      100,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9553       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9554       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,     3,
9557       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9558       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9559       -1,    -1,    -1,   100,    28,    29,    30,    31,    32,    33,
9560       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9561       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9563       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9564       74,    75,     3,    -1,    -1,    79,    80,    81,    -1,    -1,
9565       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9566       -1,    -1,    -1,    -1,    -1,    -1,   100,    28,    29,    30,
9567       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9568       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9570       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9571       -1,    -1,    -1,    74,    75,     3,    -1,    -1,    79,    -1,
9572       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9573       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9574       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9575       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9576       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9578       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,     3,    -1,
9579       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9581       -1,    -1,   100,    28,    29,    30,    31,    32,    33,    34,
9582       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
9583       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
9584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9585       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
9586       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
9587       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9588       -1,    -1,    -1,    -1,    -1,   100,    28,    29,    30,    31,
9589       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9590       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9592       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9593       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9594       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9596       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,
9597      112,   113,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9598       -1,   123,    28,    29,    30,    31,    32,    33,    34,    35,
9599       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9600       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9602       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
9603       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
9604       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9605       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
9606       -1,    -1,    -1,   109,    -1,    -1,   112,    -1,    -1,    -1,
9607       -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,    28,    29,
9608       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9609       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9610       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9611       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
9612       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
9613       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,
9614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9615      100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
9617       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9618       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9619       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9621       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9622       -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,
9623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9624       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9626      118,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9627       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9628       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9631       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9632       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9633       -1,    -1,    -1,   100
9634 };
9635
9636 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
9637    symbol of state STATE-NUM.  */
9638 static const yytype_uint16 yystos[] =
9639 {
9640        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
9641       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9642       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
9643       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
9644      100,   101,   105,   109,   112,   115,   135,   136,   137,   139,
9645      164,   201,   202,   203,   204,   205,   206,   260,   263,   264,
9646      267,   268,   269,   270,   271,   272,   273,   275,   279,   282,
9647      283,   284,   285,   286,   287,   292,   293,   301,   302,   303,
9648      306,   307,   310,   314,   341,   344,   345,   363,   364,   366,
9649      367,   368,   369,   370,   371,    77,   121,     5,    31,   206,
9650      365,   206,   112,   112,   112,   139,   206,   365,   273,   274,
9651      306,   310,   206,   301,   303,   305,   306,   310,   313,   110,
9652      115,   136,   137,   206,   119,   121,   115,   119,   118,   109,
9653      110,   201,   206,   119,   139,   206,   119,   121,   118,   110,
9654      119,   121,   119,   118,   119,   137,   206,     1,    31,   115,
9655      135,   203,   205,   206,   260,   270,   271,   273,   275,   303,
9656      306,   310,   313,   314,   322,   323,   324,   325,   324,   112,
9657      123,     1,    29,    30,    31,    32,    33,    65,   113,   135,
9658      206,   259,   263,   265,   266,   273,   275,   279,   280,   281,
9659      287,   291,   299,   300,   328,   329,   330,   331,   332,   333,
9660      303,   310,   303,   306,    34,    35,    36,    37,    38,    39,
9661       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
9662      119,   139,   160,   161,   259,   264,   265,   273,   276,   280,
9663      282,   290,   343,   346,   347,   348,   353,   354,   355,    31,
9664       76,   121,   203,   205,   292,   344,   345,   363,   364,   371,
9665        1,   203,   269,   286,   292,   314,   341,   367,     1,   366,
9666      367,     0,   206,   365,   365,     5,   116,   365,     1,     4,
9667        6,     8,     9,    65,    71,    72,    73,    84,    85,    98,
9668      102,   103,   104,   105,   106,   107,   108,   109,   112,   114,
9669      122,   123,   125,   126,   127,   128,   139,   165,   166,   206,
9670      207,   208,   211,   212,   216,   217,   219,   220,   221,   222,
9671      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
9672      233,   237,   239,   240,   242,   243,   244,   245,   246,   247,
9673      248,   249,   250,   251,   252,   253,   365,   377,   378,   379,
9674      380,   136,   206,   119,   139,   206,   273,   310,   301,   303,
9675      310,   305,   306,   113,   306,    85,   139,   190,   191,   193,
9676      195,   199,   200,   206,   217,   231,   232,   240,   252,   257,
9677      290,   115,   110,   110,   115,     1,    68,    78,    80,    81,
9678       85,    88,    91,    92,    93,    94,    96,    98,    99,   112,
9679      114,   115,   118,   139,   140,   141,   142,   143,   144,   145,
9680      146,   147,   162,   163,   165,   166,   169,   170,   171,   172,
9681      173,   174,   175,   176,   177,   178,   182,   186,   187,   188,
9682      189,   206,   212,   237,   291,   302,   304,   306,   310,   314,
9683      315,   342,    80,    81,   206,   259,   263,   273,   276,   279,
9684      287,   294,   295,     1,   118,   188,   189,   137,   206,     1,
9685      206,   261,   262,     1,   118,   262,   295,    65,   190,   192,
9686      194,   196,   197,   198,   206,     1,   118,   188,   189,   295,
9687        1,   118,   188,   189,     1,   118,   188,   189,   119,   303,
9688      310,   303,   306,     1,   116,   347,   354,   355,     1,   115,
9689      117,   117,   115,   124,   136,   206,   253,   257,   258,   117,
9690      119,   139,   206,   118,   119,   118,   119,   112,   123,   125,
9691      135,   206,   259,   265,   273,   275,   280,   306,   308,   310,
9692      311,   313,     1,   113,   117,     1,   113,   117,     1,   117,
9693        1,   117,   113,   113,   303,   303,   112,   112,     1,   115,
9694        1,   118,     1,   115,   206,   259,   265,   273,   276,   280,
9695      306,   324,   325,     1,   115,     1,   343,   346,   354,   355,
9696      343,   346,    52,    53,    54,    55,    56,    57,    58,    59,
9697       60,    61,    62,    79,    86,    88,    89,    90,   115,   121,
9698      183,   184,   185,   206,   212,   217,   233,   235,   240,   253,
9699      254,   255,   334,   335,   338,   339,   340,   347,   348,   349,
9700      350,   351,   352,   354,   355,   357,   358,   359,   360,   361,
9701      362,   118,    31,   206,   365,   206,   201,   202,   204,   205,
9702      314,   347,   355,   203,   292,   116,   232,   113,     1,   112,
9703      166,   208,   213,   216,   218,   238,   239,   241,   112,   217,
9704      240,   217,   240,   112,   206,   259,   265,   273,   276,   280,
9705      298,   257,   112,   112,   298,   257,   112,   112,   112,   112,
9706      112,   113,   233,   235,   255,   265,   273,   275,   280,   288,
9707      326,   365,   119,   167,   168,   209,   214,   233,   119,     1,
9708      118,   119,     1,     7,     8,     9,   112,   120,   123,    18,
9709       19,    20,    21,    22,    23,    24,    25,    26,    27,   116,
9710      234,   168,   209,   210,   220,   242,   109,   129,   130,   126,
9711      127,    10,    11,   223,   245,    12,    13,   110,   111,    14,
9712       15,   125,   131,   132,    16,    17,   133,   234,   113,     7,
9713        8,     9,   112,   120,   123,   234,   109,   129,   130,   126,
9714      127,    10,    11,    12,    13,   110,   111,    14,    15,   125,
9715      131,   132,    16,    17,   133,   234,   113,   113,   107,   206,
9716      291,   372,   375,   376,   119,   119,   305,   116,    11,   111,
9717      117,   116,   133,   133,   112,   306,   310,   311,    65,   190,
9718      198,   206,   198,     1,   206,   259,   273,   276,   287,   296,
9719      291,   314,   315,   112,   139,   206,   206,   291,     1,   112,
9720      296,   109,   112,   206,   291,   115,   354,   355,   354,   355,
9721      354,   115,   354,   355,   115,   115,     1,   118,   115,     1,
9722        1,   115,   117,   117,    69,    70,    91,    95,    97,   118,
9723       69,    70,   118,   115,     1,   186,   187,     1,   186,   187,
9724        1,   116,   112,   115,   121,   206,   277,   278,   301,   306,
9725      310,   314,   315,   316,     1,   291,   299,   330,   304,   310,
9726      304,   306,   112,   121,   146,   147,   162,   163,   165,   166,
9727      175,   206,   291,   110,   139,   206,   206,   259,   273,   276,
9728      110,   110,   116,   117,     1,   115,   119,    28,   138,   206,
9729      206,   111,   117,   116,   115,   117,   118,   148,   149,   150,
9730      151,   152,   153,   154,   155,   156,   157,   158,   159,   209,
9731      210,   212,   232,   253,   290,   319,   320,   303,   303,     1,
9732      119,   233,   254,   317,   318,   354,   355,   322,   323,   322,
9733      323,   124,   124,   124,    51,   328,   329,     1,   262,   119,
9734      119,     1,   118,   188,   189,     1,   118,   188,   189,   113,
9735      206,   299,   300,   311,   332,   333,   124,   136,   257,   258,
9736      313,   308,   310,   112,   123,   308,     1,     1,   117,     1,
9737       51,   206,   328,   329,   117,     1,    51,   206,   328,   329,
9738      117,     1,    51,   206,   328,   329,   117,    51,   206,   328,
9739      329,   233,   136,   206,   118,   119,   115,   115,   121,   257,
9740      258,   121,   112,   112,     1,   112,    52,    53,    54,    56,
9741       57,    58,    59,    62,    79,    86,   206,   255,   334,   357,
9742      361,   112,   206,   115,   115,   115,   209,   210,   235,   255,
9743      112,   273,   112,   112,   179,   206,   115,   115,   115,   121,
9744      120,   234,     1,   120,     1,   115,   117,   235,   255,   234,
9745      113,   117,   235,     1,   349,   350,   349,   350,   334,   335,
9746      343,   346,   334,   335,   343,   346,     1,     1,   365,   365,
9747      137,   206,   119,   119,   347,   355,   355,   232,   115,    65,
9748      135,   206,   217,   240,   265,   273,   275,   280,   289,   327,
9749        1,     1,     7,     8,     9,   112,   120,   123,     7,     8,
9750        9,   112,   120,   123,   206,   290,   110,   112,   123,   206,
9751      259,   265,   273,   276,   280,   306,   309,   310,   312,   206,
9752      259,   265,   273,   276,   280,   297,   235,   326,   354,   206,
9753      123,   312,   297,   233,   365,   365,   365,   233,   113,   206,
9754      265,   273,   275,   280,   311,   113,   120,     1,   158,   159,
9755        1,   118,   117,   124,     1,   158,   159,   118,     1,   158,
9756      159,     1,   206,     1,   113,   210,   214,   215,   254,     1,
9757      206,   235,   255,   209,   233,     1,   220,   242,   220,   242,
9758      220,   242,     1,   221,   243,     1,   221,   243,   222,   244,
9759      222,   244,   223,   245,   223,   245,   223,   245,     1,   209,
9760      210,   225,   246,     1,   209,   210,   225,   246,   209,   210,
9761      226,   247,   209,   210,   227,   248,   209,   210,   228,   249,
9762      229,   250,   230,   251,   121,   209,   210,   235,   236,   255,
9763      256,   209,   233,     1,   206,     1,   113,   214,   215,     1,
9764      206,   235,   255,   209,   233,   220,   242,   220,   242,   220,
9765      242,     1,   221,   243,     1,   221,   243,   222,   244,   222,
9766      244,   223,   245,   223,   245,   223,   245,   223,   245,     1,
9767      209,   210,   225,   246,     1,   209,   210,   225,   246,   209,
9768      210,   226,   247,   209,   210,   227,   248,   209,   210,   228,
9769      249,   229,   250,   230,   251,   121,   235,   236,   255,   256,
9770      209,   233,   110,   111,   206,   373,   374,   206,   118,   372,
9771      375,   376,   376,   190,   191,   193,   195,   206,   199,   191,
9772      193,   195,   235,   236,   255,   256,   235,   236,   255,   256,
9773      310,   111,   116,   111,   119,   110,   119,   206,   259,   273,
9774      276,   311,   314,   315,   179,   115,   115,   115,   278,   301,
9775      306,   310,   119,   206,   119,   206,   311,   206,   112,   118,
9776      169,   170,   169,   170,   354,   354,   354,   365,   354,   354,
9777        1,   319,   320,   113,   257,   258,   119,   115,   117,   301,
9778      310,   301,   306,   121,   307,   206,   112,   304,   304,   206,
9779      115,     1,   115,     1,   115,   278,   200,   110,   198,   198,
9780      257,   258,   261,   188,   189,     1,   118,   262,   116,   121,
9781      116,   121,   116,   197,   193,   206,   354,   355,     1,   115,
9782      117,   115,   117,   115,   150,   151,   154,   155,   156,   118,
9783      148,   151,   115,   118,   150,   151,   154,   155,   156,   116,
9784      314,   315,   316,   317,   318,   321,     1,   118,   262,     1,
9785      118,   262,   113,   113,   113,   124,   124,   124,   308,   113,
9786      332,   333,   124,   136,   257,   258,   328,   329,   291,   328,
9787      328,   328,   329,   113,   113,   113,     1,   158,   159,   334,
9788      335,   121,   121,   334,   335,   235,   255,   235,   255,     1,
9789      113,   235,   255,   121,   257,   258,   121,   112,   112,   334,
9790      112,   210,   255,   112,   121,    56,     1,   113,   115,   206,
9791      235,   255,   356,   115,   115,   115,   115,   115,   365,   112,
9792      233,   233,   206,   334,   335,    90,     1,   210,   254,    88,
9793       89,    90,     1,   233,   254,     1,   210,   254,     1,   233,
9794      254,   110,   355,   115,   135,   136,   113,   135,   265,   273,
9795      275,   280,   311,   113,     1,   206,     1,   113,   214,   215,
9796        1,   206,   235,   255,     1,   206,     1,   113,   214,   215,
9797        1,   206,   235,   255,   113,   113,   311,   200,   113,   312,
9798      332,   333,   257,   258,   110,   309,   310,   112,   309,   123,
9799      110,   123,   206,   259,   265,   273,   276,   280,   312,   113,
9800      113,   113,   113,   257,   258,   123,   123,   312,   117,   113,
9801      117,   117,   117,   220,   242,   365,     1,   118,   209,   233,
9802        1,     1,   113,   117,   113,   124,   124,     1,   117,   121,
9803      121,   117,   121,   121,   113,   117,   124,   124,   121,   121,
9804      121,   121,   206,   206,   115,   117,   206,   365,   118,   118,
9805      121,   121,   121,   121,   121,   121,   121,   121,   193,   200,
9806      110,   119,   119,   206,   113,   115,   301,   310,   301,   306,
9807      113,   119,   119,   206,   113,     1,   158,   159,   277,   306,
9808      301,   301,   257,   258,   112,   113,   115,   111,   200,   111,
9809      111,   115,     1,   115,   191,   206,   190,   191,   190,   195,
9810        1,   152,   153,     1,   152,   153,   355,     1,   319,   320,
9811      117,   118,   317,   318,     1,   115,     1,   115,   113,   113,
9812      124,   124,   124,   311,   313,     1,   334,   335,   334,   335,
9813      113,   113,   113,   113,     1,   334,   113,     1,   235,   334,
9814      335,   121,   121,   255,   113,   235,   255,    56,   255,   356,
9815      365,   112,   334,   121,   115,     1,   115,     1,   113,   255,
9816      356,     3,   113,   121,   365,   113,   113,   117,   112,   112,
9817      179,   113,   113,     1,   113,   117,   113,   124,   124,   113,
9818      117,   124,   124,   113,   111,   113,   113,   113,   124,   124,
9819      200,   309,   113,   332,   333,   257,   258,   200,   257,   258,
9820      110,   123,   112,   119,   317,   124,   124,   257,   258,   257,
9821      258,   123,   326,   206,   206,   233,     1,   210,   254,   209,
9822      210,   209,   210,   232,   252,   209,   210,   232,   252,   209,
9823      210,   209,   210,   232,   252,   209,   210,   232,   252,     1,
9824      209,   210,   232,   252,   209,   210,   232,   252,   209,   210,
9825      232,   252,   209,   210,   232,   252,   373,   115,   115,   111,
9826      200,   119,   354,   301,   301,   116,   119,     1,   121,   121,
9827      111,   188,   189,   115,   188,   189,   116,   116,   118,   317,
9828      318,     1,   188,   189,   188,   189,   334,   334,   334,   334,
9829      334,   335,   113,   112,   356,   113,   235,   255,   235,   334,
9830        1,     1,   113,   235,   255,   336,   337,   365,   115,   337,
9831        3,   113,   121,   119,   179,   233,   233,     1,     1,     1,
9832        1,   111,   113,   113,   124,   124,   111,   124,   124,   200,
9833      257,   258,   326,   321,   124,   124,   124,   124,   257,   258,
9834      113,   113,   113,   113,   111,   319,   257,   258,   257,   258,
9835      188,   189,   191,   191,     1,    64,    64,   235,   255,   113,
9836      235,   255,   113,   115,   113,   115,   334,   335,   113,   334,
9837      335,   113,   117,   121,   112,     3,   113,   121,   337,   115,
9838      337,    73,   179,   180,   181,   113,   113,   113,   117,   111,
9839      124,   124,   113,   117,   118,   124,   124,   115,   334,   334,
9840      113,   113,   115,   334,   235,   334,   335,   115,   336,   337,
9841      233,   337,   115,   337,   113,   121,     3,   113,   121,   354,
9842      354,   118,   180,   119,   179,   220,   242,   317,   118,   113,
9843      113,   113,   113,   113,   121,   115,   337,   337,   115,   337,
9844      181,   113,   334,   115,   115,   115,   337,   113,   113,   113,
9845      121,   118,   113,   115,   115,   115,   337,   115,   113,   115
9846 };
9847
9848 #define yyerrok         (yyerrstatus = 0)
9849 #define yyclearin       (yychar = YYEMPTY)
9850 #define YYEMPTY         (-2)
9851 #define YYEOF           0
9852
9853 #define YYACCEPT        goto yyacceptlab
9854 #define YYABORT         goto yyabortlab
9855 #define YYERROR         goto yyerrorlab
9856
9857
9858 /* Like YYERROR except do call yyerror.  This remains here temporarily
9859    to ease the transition to the new meaning of YYERROR, for GCC.
9860    Once GCC version 2 has supplanted version 1, this can go.  However,
9861    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
9862    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
9863    discussed.  */
9864
9865 #define YYFAIL          goto yyerrlab
9866 #if defined YYFAIL
9867   /* This is here to suppress warnings from the GCC cpp's
9868      -Wunused-macros.  Normally we don't worry about that warning, but
9869      some users do, and we want to make it easy for users to remove
9870      YYFAIL uses, which will produce warnings from Bison 2.5.  */
9871 #endif
9872
9873 #define YYRECOVERING()  (!!yyerrstatus)
9874
9875 #define YYBACKUP(Token, Value)                                  \
9876 do                                                              \
9877   if (yychar == YYEMPTY && yylen == 1)                          \
9878     {                                                           \
9879       yychar = (Token);                                         \
9880       yylval = (Value);                                         \
9881       yytoken = YYTRANSLATE (yychar);                           \
9882       YYPOPSTACK (1);                                           \
9883       goto yybackup;                                            \
9884     }                                                           \
9885   else                                                          \
9886     {                                                           \
9887       yyerror (YY_("syntax error: cannot back up")); \
9888       YYERROR;                                                  \
9889     }                                                           \
9890 while (YYID (0))
9891
9892
9893 #define YYTERROR        1
9894 #define YYERRCODE       256
9895
9896
9897 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
9898    If N is 0, then set CURRENT to the empty location which ends
9899    the previous symbol: RHS[0] (always defined).  */
9900
9901 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
9902 #ifndef YYLLOC_DEFAULT
9903 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
9904     do                                                                  \
9905       if (YYID (N))                                                    \
9906         {                                                               \
9907           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
9908           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
9909           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
9910           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
9911         }                                                               \
9912       else                                                              \
9913         {                                                               \
9914           (Current).first_line   = (Current).last_line   =              \
9915             YYRHSLOC (Rhs, 0).last_line;                                \
9916           (Current).first_column = (Current).last_column =              \
9917             YYRHSLOC (Rhs, 0).last_column;                              \
9918         }                                                               \
9919     while (YYID (0))
9920 #endif
9921
9922
9923 /* YY_LOCATION_PRINT -- Print the location on the stream.
9924    This macro was not mandated originally: define only if we know
9925    we won't break user code: when these are the locations we know.  */
9926
9927 #ifndef YY_LOCATION_PRINT
9928 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
9929 #  define YY_LOCATION_PRINT(File, Loc)                  \
9930      fprintf (File, "%d.%d-%d.%d",                      \
9931               (Loc).first_line, (Loc).first_column,     \
9932               (Loc).last_line,  (Loc).last_column)
9933 # else
9934 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
9935 # endif
9936 #endif
9937
9938
9939 /* YYLEX -- calling `yylex' with the right arguments.  */
9940
9941 #ifdef YYLEX_PARAM
9942 # define YYLEX yylex (YYLEX_PARAM)
9943 #else
9944 # define YYLEX yylex ()
9945 #endif
9946
9947 /* Enable debugging if requested.  */
9948 #if YYDEBUG
9949
9950 # ifndef YYFPRINTF
9951 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
9952 #  define YYFPRINTF fprintf
9953 # endif
9954
9955 # define YYDPRINTF(Args)                        \
9956 do {                                            \
9957   if (yydebug)                                  \
9958     YYFPRINTF Args;                             \
9959 } while (YYID (0))
9960
9961 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
9962 do {                                                                      \
9963   if (yydebug)                                                            \
9964     {                                                                     \
9965       YYFPRINTF (stderr, "%s ", Title);                                   \
9966       yy_symbol_print (stderr,                                            \
9967                   Type, Value, Location); \
9968       YYFPRINTF (stderr, "\n");                                           \
9969     }                                                                     \
9970 } while (YYID (0))
9971
9972
9973 /*--------------------------------.
9974 | Print this symbol on YYOUTPUT.  |
9975 `--------------------------------*/
9976
9977 /*ARGSUSED*/
9978 #if (defined __STDC__ || defined __C99__FUNC__ \
9979      || defined __cplusplus || defined _MSC_VER)
9980 static void
9981 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
9982 #else
9983 static void
9984 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
9985     FILE *yyoutput;
9986     int yytype;
9987     YYSTYPE const * const yyvaluep;
9988     YYLTYPE const * const yylocationp;
9989 #endif
9990 {
9991   if (!yyvaluep)
9992     return;
9993   YYUSE (yylocationp);
9994 # ifdef YYPRINT
9995   if (yytype < YYNTOKENS)
9996     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
9997 # else
9998   YYUSE (yyoutput);
9999 # endif
10000   switch (yytype)
10001     {
10002       default:
10003         break;
10004     }
10005 }
10006
10007
10008 /*--------------------------------.
10009 | Print this symbol on YYOUTPUT.  |
10010 `--------------------------------*/
10011
10012 #if (defined __STDC__ || defined __C99__FUNC__ \
10013      || defined __cplusplus || defined _MSC_VER)
10014 static void
10015 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10016 #else
10017 static void
10018 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10019     FILE *yyoutput;
10020     int yytype;
10021     YYSTYPE const * const yyvaluep;
10022     YYLTYPE const * const yylocationp;
10023 #endif
10024 {
10025   if (yytype < YYNTOKENS)
10026     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10027   else
10028     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10029
10030   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10031   YYFPRINTF (yyoutput, ": ");
10032   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10033   YYFPRINTF (yyoutput, ")");
10034 }
10035
10036 /*------------------------------------------------------------------.
10037 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10038 | TOP (included).                                                   |
10039 `------------------------------------------------------------------*/
10040
10041 #if (defined __STDC__ || defined __C99__FUNC__ \
10042      || defined __cplusplus || defined _MSC_VER)
10043 static void
10044 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10045 #else
10046 static void
10047 yy_stack_print (yybottom, yytop)
10048     yytype_int16 *yybottom;
10049     yytype_int16 *yytop;
10050 #endif
10051 {
10052   YYFPRINTF (stderr, "Stack now");
10053   for (; yybottom <= yytop; yybottom++)
10054     {
10055       int yybot = *yybottom;
10056       YYFPRINTF (stderr, " %d", yybot);
10057     }
10058   YYFPRINTF (stderr, "\n");
10059 }
10060
10061 # define YY_STACK_PRINT(Bottom, Top)                            \
10062 do {                                                            \
10063   if (yydebug)                                                  \
10064     yy_stack_print ((Bottom), (Top));                           \
10065 } while (YYID (0))
10066
10067
10068 /*------------------------------------------------.
10069 | Report that the YYRULE is going to be reduced.  |
10070 `------------------------------------------------*/
10071
10072 #if (defined __STDC__ || defined __C99__FUNC__ \
10073      || defined __cplusplus || defined _MSC_VER)
10074 static void
10075 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10076 #else
10077 static void
10078 yy_reduce_print (yyvsp, yylsp, yyrule)
10079     YYSTYPE *yyvsp;
10080     YYLTYPE *yylsp;
10081     int yyrule;
10082 #endif
10083 {
10084   int yynrhs = yyr2[yyrule];
10085   int yyi;
10086   unsigned long int yylno = yyrline[yyrule];
10087   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10088              yyrule - 1, yylno);
10089   /* The symbols being reduced.  */
10090   for (yyi = 0; yyi < yynrhs; yyi++)
10091     {
10092       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10093       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10094                        &(yyvsp[(yyi + 1) - (yynrhs)])
10095                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10096       YYFPRINTF (stderr, "\n");
10097     }
10098 }
10099
10100 # define YY_REDUCE_PRINT(Rule)          \
10101 do {                                    \
10102   if (yydebug)                          \
10103     yy_reduce_print (yyvsp, yylsp, Rule); \
10104 } while (YYID (0))
10105
10106 /* Nonzero means print parse trace.  It is left uninitialized so that
10107    multiple parsers can coexist.  */
10108 int yydebug;
10109 #else /* !YYDEBUG */
10110 # define YYDPRINTF(Args)
10111 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10112 # define YY_STACK_PRINT(Bottom, Top)
10113 # define YY_REDUCE_PRINT(Rule)
10114 #endif /* !YYDEBUG */
10115
10116
10117 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10118 #ifndef YYINITDEPTH
10119 # define YYINITDEPTH 200
10120 #endif
10121
10122 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10123    if the built-in stack extension method is used).
10124
10125    Do not make this value too large; the results are undefined if
10126    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
10127    evaluated with infinite-precision integer arithmetic.  */
10128
10129 #ifndef YYMAXDEPTH
10130 # define YYMAXDEPTH 10000
10131 #endif
10132
10133 \f
10134
10135 #if YYERROR_VERBOSE
10136
10137 # ifndef yystrlen
10138 #  if defined __GLIBC__ && defined _STRING_H
10139 #   define yystrlen strlen
10140 #  else
10141 /* Return the length of YYSTR.  */
10142 #if (defined __STDC__ || defined __C99__FUNC__ \
10143      || defined __cplusplus || defined _MSC_VER)
10144 static YYSIZE_T
10145 yystrlen (const char *yystr)
10146 #else
10147 static YYSIZE_T
10148 yystrlen (yystr)
10149     const char *yystr;
10150 #endif
10151 {
10152   YYSIZE_T yylen;
10153   for (yylen = 0; yystr[yylen]; yylen++)
10154     continue;
10155   return yylen;
10156 }
10157 #  endif
10158 # endif
10159
10160 # ifndef yystpcpy
10161 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
10162 #   define yystpcpy stpcpy
10163 #  else
10164 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10165    YYDEST.  */
10166 #if (defined __STDC__ || defined __C99__FUNC__ \
10167      || defined __cplusplus || defined _MSC_VER)
10168 static char *
10169 yystpcpy (char *yydest, const char *yysrc)
10170 #else
10171 static char *
10172 yystpcpy (yydest, yysrc)
10173     char *yydest;
10174     const char *yysrc;
10175 #endif
10176 {
10177   char *yyd = yydest;
10178   const char *yys = yysrc;
10179
10180   while ((*yyd++ = *yys++) != '\0')
10181     continue;
10182
10183   return yyd - 1;
10184 }
10185 #  endif
10186 # endif
10187
10188 # ifndef yytnamerr
10189 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
10190    quotes and backslashes, so that it's suitable for yyerror.  The
10191    heuristic is that double-quoting is unnecessary unless the string
10192    contains an apostrophe, a comma, or backslash (other than
10193    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
10194    null, do not copy; instead, return the length of what the result
10195    would have been.  */
10196 static YYSIZE_T
10197 yytnamerr (char *yyres, const char *yystr)
10198 {
10199   if (*yystr == '"')
10200     {
10201       YYSIZE_T yyn = 0;
10202       char const *yyp = yystr;
10203
10204       for (;;)
10205         switch (*++yyp)
10206           {
10207           case '\'':
10208           case ',':
10209             goto do_not_strip_quotes;
10210
10211           case '\\':
10212             if (*++yyp != '\\')
10213               goto do_not_strip_quotes;
10214             /* Fall through.  */
10215           default:
10216             if (yyres)
10217               yyres[yyn] = *yyp;
10218             yyn++;
10219             break;
10220
10221           case '"':
10222             if (yyres)
10223               yyres[yyn] = '\0';
10224             return yyn;
10225           }
10226     do_not_strip_quotes: ;
10227     }
10228
10229   if (! yyres)
10230     return yystrlen (yystr);
10231
10232   return yystpcpy (yyres, yystr) - yyres;
10233 }
10234 # endif
10235
10236 /* Copy into YYRESULT an error message about the unexpected token
10237    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
10238    including the terminating null byte.  If YYRESULT is null, do not
10239    copy anything; just return the number of bytes that would be
10240    copied.  As a special case, return 0 if an ordinary "syntax error"
10241    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
10242    size calculation.  */
10243 static YYSIZE_T
10244 yysyntax_error (char *yyresult, int yystate, int yychar)
10245 {
10246   int yyn = yypact[yystate];
10247
10248   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
10249     return 0;
10250   else
10251     {
10252       int yytype = YYTRANSLATE (yychar);
10253       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
10254       YYSIZE_T yysize = yysize0;
10255       YYSIZE_T yysize1;
10256       int yysize_overflow = 0;
10257       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10258       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10259       int yyx;
10260
10261 # if 0
10262       /* This is so xgettext sees the translatable formats that are
10263          constructed on the fly.  */
10264       YY_("syntax error, unexpected %s");
10265       YY_("syntax error, unexpected %s, expecting %s");
10266       YY_("syntax error, unexpected %s, expecting %s or %s");
10267       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
10268       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
10269 # endif
10270       char *yyfmt;
10271       char const *yyf;
10272       static char const yyunexpected[] = "syntax error, unexpected %s";
10273       static char const yyexpecting[] = ", expecting %s";
10274       static char const yyor[] = " or %s";
10275       char yyformat[sizeof yyunexpected
10276                     + sizeof yyexpecting - 1
10277                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
10278                        * (sizeof yyor - 1))];
10279       char const *yyprefix = yyexpecting;
10280
10281       /* Start YYX at -YYN if negative to avoid negative indexes in
10282          YYCHECK.  */
10283       int yyxbegin = yyn < 0 ? -yyn : 0;
10284
10285       /* Stay within bounds of both yycheck and yytname.  */
10286       int yychecklim = YYLAST - yyn + 1;
10287       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
10288       int yycount = 1;
10289
10290       yyarg[0] = yytname[yytype];
10291       yyfmt = yystpcpy (yyformat, yyunexpected);
10292
10293       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
10294         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
10295           {
10296             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
10297               {
10298                 yycount = 1;
10299                 yysize = yysize0;
10300                 yyformat[sizeof yyunexpected - 1] = '\0';
10301                 break;
10302               }
10303             yyarg[yycount++] = yytname[yyx];
10304             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
10305             yysize_overflow |= (yysize1 < yysize);
10306             yysize = yysize1;
10307             yyfmt = yystpcpy (yyfmt, yyprefix);
10308             yyprefix = yyor;
10309           }
10310
10311       yyf = YY_(yyformat);
10312       yysize1 = yysize + yystrlen (yyf);
10313       yysize_overflow |= (yysize1 < yysize);
10314       yysize = yysize1;
10315
10316       if (yysize_overflow)
10317         return YYSIZE_MAXIMUM;
10318
10319       if (yyresult)
10320         {
10321           /* Avoid sprintf, as that infringes on the user's name space.
10322              Don't have undefined behavior even if the translation
10323              produced a string with the wrong number of "%s"s.  */
10324           char *yyp = yyresult;
10325           int yyi = 0;
10326           while ((*yyp = *yyf) != '\0')
10327             {
10328               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
10329                 {
10330                   yyp += yytnamerr (yyp, yyarg[yyi++]);
10331                   yyf += 2;
10332                 }
10333               else
10334                 {
10335                   yyp++;
10336                   yyf++;
10337                 }
10338             }
10339         }
10340       return yysize;
10341     }
10342 }
10343 #endif /* YYERROR_VERBOSE */
10344 \f
10345
10346 /*-----------------------------------------------.
10347 | Release the memory associated to this symbol.  |
10348 `-----------------------------------------------*/
10349
10350 /*ARGSUSED*/
10351 #if (defined __STDC__ || defined __C99__FUNC__ \
10352      || defined __cplusplus || defined _MSC_VER)
10353 static void
10354 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
10355 #else
10356 static void
10357 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
10358     const char *yymsg;
10359     int yytype;
10360     YYSTYPE *yyvaluep;
10361     YYLTYPE *yylocationp;
10362 #endif
10363 {
10364   YYUSE (yyvaluep);
10365   YYUSE (yylocationp);
10366
10367   if (!yymsg)
10368     yymsg = "Deleting";
10369   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
10370
10371   switch (yytype)
10372     {
10373       case 135: /* "guess_type" */
10374
10375 /* Line 1009 of yacc.c  */
10376 #line 200 "grammar.y"
10377         { FreeSpecifier((yyvaluep->specifier)); };
10378
10379 /* Line 1009 of yacc.c  */
10380 #line 10381 "grammar.ec"
10381         break;
10382       case 136: /* "type" */
10383
10384 /* Line 1009 of yacc.c  */
10385 #line 200 "grammar.y"
10386         { FreeSpecifier((yyvaluep->specifier)); };
10387
10388 /* Line 1009 of yacc.c  */
10389 #line 10390 "grammar.ec"
10390         break;
10391       case 137: /* "base_strict_type" */
10392
10393 /* Line 1009 of yacc.c  */
10394 #line 200 "grammar.y"
10395         { FreeSpecifier((yyvaluep->specifier)); };
10396
10397 /* Line 1009 of yacc.c  */
10398 #line 10399 "grammar.ec"
10399         break;
10400       case 139: /* "strict_type" */
10401
10402 /* Line 1009 of yacc.c  */
10403 #line 200 "grammar.y"
10404         { FreeSpecifier((yyvaluep->specifier)); };
10405
10406 /* Line 1009 of yacc.c  */
10407 #line 10408 "grammar.ec"
10408         break;
10409       case 140: /* "class_function_definition_start" */
10410
10411 /* Line 1009 of yacc.c  */
10412 #line 226 "grammar.y"
10413         { FreeClassFunction((yyvaluep->classFunction)); };
10414
10415 /* Line 1009 of yacc.c  */
10416 #line 10417 "grammar.ec"
10417         break;
10418       case 141: /* "constructor_function_definition_start" */
10419
10420 /* Line 1009 of yacc.c  */
10421 #line 226 "grammar.y"
10422         { FreeClassFunction((yyvaluep->classFunction)); };
10423
10424 /* Line 1009 of yacc.c  */
10425 #line 10426 "grammar.ec"
10426         break;
10427       case 142: /* "destructor_function_definition_start" */
10428
10429 /* Line 1009 of yacc.c  */
10430 #line 226 "grammar.y"
10431         { FreeClassFunction((yyvaluep->classFunction)); };
10432
10433 /* Line 1009 of yacc.c  */
10434 #line 10435 "grammar.ec"
10435         break;
10436       case 143: /* "virtual_class_function_definition_start" */
10437
10438 /* Line 1009 of yacc.c  */
10439 #line 226 "grammar.y"
10440         { FreeClassFunction((yyvaluep->classFunction)); };
10441
10442 /* Line 1009 of yacc.c  */
10443 #line 10444 "grammar.ec"
10444         break;
10445       case 144: /* "class_function_definition_start_error" */
10446
10447 /* Line 1009 of yacc.c  */
10448 #line 226 "grammar.y"
10449         { FreeClassFunction((yyvaluep->classFunction)); };
10450
10451 /* Line 1009 of yacc.c  */
10452 #line 10453 "grammar.ec"
10453         break;
10454       case 145: /* "virtual_class_function_definition_start_error" */
10455
10456 /* Line 1009 of yacc.c  */
10457 #line 226 "grammar.y"
10458         { FreeClassFunction((yyvaluep->classFunction)); };
10459
10460 /* Line 1009 of yacc.c  */
10461 #line 10462 "grammar.ec"
10462         break;
10463       case 146: /* "class_function_definition" */
10464
10465 /* Line 1009 of yacc.c  */
10466 #line 226 "grammar.y"
10467         { FreeClassFunction((yyvaluep->classFunction)); };
10468
10469 /* Line 1009 of yacc.c  */
10470 #line 10471 "grammar.ec"
10471         break;
10472       case 147: /* "class_function_definition_error" */
10473
10474 /* Line 1009 of yacc.c  */
10475 #line 226 "grammar.y"
10476         { FreeClassFunction((yyvaluep->classFunction)); };
10477
10478 /* Line 1009 of yacc.c  */
10479 #line 10480 "grammar.ec"
10480         break;
10481       case 148: /* "instance_class_function_definition_start" */
10482
10483 /* Line 1009 of yacc.c  */
10484 #line 226 "grammar.y"
10485         { FreeClassFunction((yyvaluep->classFunction)); };
10486
10487 /* Line 1009 of yacc.c  */
10488 #line 10489 "grammar.ec"
10489         break;
10490       case 149: /* "instance_class_function_definition_start_error" */
10491
10492 /* Line 1009 of yacc.c  */
10493 #line 226 "grammar.y"
10494         { FreeClassFunction((yyvaluep->classFunction)); };
10495
10496 /* Line 1009 of yacc.c  */
10497 #line 10498 "grammar.ec"
10498         break;
10499       case 150: /* "instance_class_function_definition" */
10500
10501 /* Line 1009 of yacc.c  */
10502 #line 226 "grammar.y"
10503         { FreeClassFunction((yyvaluep->classFunction)); };
10504
10505 /* Line 1009 of yacc.c  */
10506 #line 10507 "grammar.ec"
10507         break;
10508       case 151: /* "instance_class_function_definition_error" */
10509
10510 /* Line 1009 of yacc.c  */
10511 #line 226 "grammar.y"
10512         { FreeClassFunction((yyvaluep->classFunction)); };
10513
10514 /* Line 1009 of yacc.c  */
10515 #line 10516 "grammar.ec"
10516         break;
10517       case 152: /* "data_member_initialization" */
10518
10519 /* Line 1009 of yacc.c  */
10520 #line 224 "grammar.y"
10521         { FreeMemberInit((yyvaluep->memberInit)); };
10522
10523 /* Line 1009 of yacc.c  */
10524 #line 10525 "grammar.ec"
10525         break;
10526       case 153: /* "data_member_initialization_error" */
10527
10528 /* Line 1009 of yacc.c  */
10529 #line 224 "grammar.y"
10530         { FreeMemberInit((yyvaluep->memberInit)); };
10531
10532 /* Line 1009 of yacc.c  */
10533 #line 10534 "grammar.ec"
10534         break;
10535       case 154: /* "data_member_initialization_list" */
10536
10537 /* Line 1009 of yacc.c  */
10538 #line 247 "grammar.y"
10539         { FreeList((yyvaluep->list), FreeMemberInit); };
10540
10541 /* Line 1009 of yacc.c  */
10542 #line 10543 "grammar.ec"
10543         break;
10544       case 155: /* "data_member_initialization_list_error" */
10545
10546 /* Line 1009 of yacc.c  */
10547 #line 247 "grammar.y"
10548         { FreeList((yyvaluep->list), FreeMemberInit); };
10549
10550 /* Line 1009 of yacc.c  */
10551 #line 10552 "grammar.ec"
10552         break;
10553       case 156: /* "data_member_initialization_list_coloned" */
10554
10555 /* Line 1009 of yacc.c  */
10556 #line 247 "grammar.y"
10557         { FreeList((yyvaluep->list), FreeMemberInit); };
10558
10559 /* Line 1009 of yacc.c  */
10560 #line 10561 "grammar.ec"
10561         break;
10562       case 157: /* "members_initialization_list_coloned" */
10563
10564 /* Line 1009 of yacc.c  */
10565 #line 248 "grammar.y"
10566         { FreeList((yyvaluep->list), FreeMembersInit); };
10567
10568 /* Line 1009 of yacc.c  */
10569 #line 10570 "grammar.ec"
10570         break;
10571       case 158: /* "members_initialization_list" */
10572
10573 /* Line 1009 of yacc.c  */
10574 #line 248 "grammar.y"
10575         { FreeList((yyvaluep->list), FreeMembersInit); };
10576
10577 /* Line 1009 of yacc.c  */
10578 #line 10579 "grammar.ec"
10579         break;
10580       case 159: /* "members_initialization_list_error" */
10581
10582 /* Line 1009 of yacc.c  */
10583 #line 248 "grammar.y"
10584         { FreeList((yyvaluep->list), FreeMembersInit); };
10585
10586 /* Line 1009 of yacc.c  */
10587 #line 10588 "grammar.ec"
10588         break;
10589       case 160: /* "instantiation_named" */
10590
10591 /* Line 1009 of yacc.c  */
10592 #line 222 "grammar.y"
10593         { FreeInstance((yyvaluep->instance)); };
10594
10595 /* Line 1009 of yacc.c  */
10596 #line 10597 "grammar.ec"
10597         break;
10598       case 161: /* "instantiation_named_error" */
10599
10600 /* Line 1009 of yacc.c  */
10601 #line 222 "grammar.y"
10602         { FreeInstance((yyvaluep->instance)); };
10603
10604 /* Line 1009 of yacc.c  */
10605 #line 10606 "grammar.ec"
10606         break;
10607       case 165: /* "instantiation_unnamed" */
10608
10609 /* Line 1009 of yacc.c  */
10610 #line 222 "grammar.y"
10611         { FreeInstance((yyvaluep->instance)); };
10612
10613 /* Line 1009 of yacc.c  */
10614 #line 10615 "grammar.ec"
10615         break;
10616       case 166: /* "instantiation_unnamed_error" */
10617
10618 /* Line 1009 of yacc.c  */
10619 #line 222 "grammar.y"
10620         { FreeInstance((yyvaluep->instance)); };
10621
10622 /* Line 1009 of yacc.c  */
10623 #line 10624 "grammar.ec"
10624         break;
10625       case 169: /* "default_property" */
10626
10627 /* Line 1009 of yacc.c  */
10628 #line 224 "grammar.y"
10629         { FreeMemberInit((yyvaluep->memberInit)); };
10630
10631 /* Line 1009 of yacc.c  */
10632 #line 10633 "grammar.ec"
10633         break;
10634       case 170: /* "default_property_error" */
10635
10636 /* Line 1009 of yacc.c  */
10637 #line 224 "grammar.y"
10638         { FreeMemberInit((yyvaluep->memberInit)); };
10639
10640 /* Line 1009 of yacc.c  */
10641 #line 10642 "grammar.ec"
10642         break;
10643       case 171: /* "default_property_list" */
10644
10645 /* Line 1009 of yacc.c  */
10646 #line 247 "grammar.y"
10647         { FreeList((yyvaluep->list), FreeMemberInit); };
10648
10649 /* Line 1009 of yacc.c  */
10650 #line 10651 "grammar.ec"
10651         break;
10652       case 172: /* "default_property_list_error" */
10653
10654 /* Line 1009 of yacc.c  */
10655 #line 247 "grammar.y"
10656         { FreeList((yyvaluep->list), FreeMemberInit); };
10657
10658 /* Line 1009 of yacc.c  */
10659 #line 10660 "grammar.ec"
10660         break;
10661       case 175: /* "property" */
10662
10663 /* Line 1009 of yacc.c  */
10664 #line 233 "grammar.y"
10665         { FreeProperty((yyvaluep->prop)); };
10666
10667 /* Line 1009 of yacc.c  */
10668 #line 10669 "grammar.ec"
10669         break;
10670       case 186: /* "struct_declaration" */
10671
10672 /* Line 1009 of yacc.c  */
10673 #line 231 "grammar.y"
10674         { FreeClassDef((yyvaluep->classDef)); };
10675
10676 /* Line 1009 of yacc.c  */
10677 #line 10678 "grammar.ec"
10678         break;
10679       case 187: /* "struct_declaration_error" */
10680
10681 /* Line 1009 of yacc.c  */
10682 #line 231 "grammar.y"
10683         { FreeClassDef((yyvaluep->classDef)); };
10684
10685 /* Line 1009 of yacc.c  */
10686 #line 10687 "grammar.ec"
10687         break;
10688       case 188: /* "struct_declaration_list" */
10689
10690 /* Line 1009 of yacc.c  */
10691 #line 246 "grammar.y"
10692         { FreeList((yyvaluep->list), FreeClassDef); };
10693
10694 /* Line 1009 of yacc.c  */
10695 #line 10696 "grammar.ec"
10696         break;
10697       case 189: /* "struct_declaration_list_error" */
10698
10699 /* Line 1009 of yacc.c  */
10700 #line 246 "grammar.y"
10701         { FreeList((yyvaluep->list), FreeClassDef); };
10702
10703 /* Line 1009 of yacc.c  */
10704 #line 10705 "grammar.ec"
10705         break;
10706       case 190: /* "template_datatype" */
10707
10708 /* Line 1009 of yacc.c  */
10709 #line 252 "grammar.y"
10710         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
10711
10712 /* Line 1009 of yacc.c  */
10713 #line 10714 "grammar.ec"
10714         break;
10715       case 191: /* "template_type_argument" */
10716
10717 /* Line 1009 of yacc.c  */
10718 #line 251 "grammar.y"
10719         { FreeTemplateArgument((yyvaluep->templateArgument)); };
10720
10721 /* Line 1009 of yacc.c  */
10722 #line 10723 "grammar.ec"
10723         break;
10724       case 192: /* "template_type_parameter" */
10725
10726 /* Line 1009 of yacc.c  */
10727 #line 250 "grammar.y"
10728         { FreeTemplateParameter((yyvaluep->templateParameter)); };
10729
10730 /* Line 1009 of yacc.c  */
10731 #line 10732 "grammar.ec"
10732         break;
10733       case 193: /* "template_identifier_argument" */
10734
10735 /* Line 1009 of yacc.c  */
10736 #line 251 "grammar.y"
10737         { FreeTemplateArgument((yyvaluep->templateArgument)); };
10738
10739 /* Line 1009 of yacc.c  */
10740 #line 10741 "grammar.ec"
10741         break;
10742       case 194: /* "template_identifier_parameter" */
10743
10744 /* Line 1009 of yacc.c  */
10745 #line 250 "grammar.y"
10746         { FreeTemplateParameter((yyvaluep->templateParameter)); };
10747
10748 /* Line 1009 of yacc.c  */
10749 #line 10750 "grammar.ec"
10750         break;
10751       case 195: /* "template_expression_argument" */
10752
10753 /* Line 1009 of yacc.c  */
10754 #line 251 "grammar.y"
10755         { FreeTemplateArgument((yyvaluep->templateArgument)); };
10756
10757 /* Line 1009 of yacc.c  */
10758 #line 10759 "grammar.ec"
10759         break;
10760       case 196: /* "template_expression_parameter" */
10761
10762 /* Line 1009 of yacc.c  */
10763 #line 250 "grammar.y"
10764         { FreeTemplateParameter((yyvaluep->templateParameter)); };
10765
10766 /* Line 1009 of yacc.c  */
10767 #line 10768 "grammar.ec"
10768         break;
10769       case 197: /* "template_parameter" */
10770
10771 /* Line 1009 of yacc.c  */
10772 #line 250 "grammar.y"
10773         { FreeTemplateParameter((yyvaluep->templateParameter)); };
10774
10775 /* Line 1009 of yacc.c  */
10776 #line 10777 "grammar.ec"
10777         break;
10778       case 199: /* "template_argument" */
10779
10780 /* Line 1009 of yacc.c  */
10781 #line 251 "grammar.y"
10782         { FreeTemplateArgument((yyvaluep->templateArgument)); };
10783
10784 /* Line 1009 of yacc.c  */
10785 #line 10786 "grammar.ec"
10786         break;
10787       case 203: /* "class" */
10788
10789 /* Line 1009 of yacc.c  */
10790 #line 230 "grammar.y"
10791         { FreeClass((yyvaluep->_class)); };
10792
10793 /* Line 1009 of yacc.c  */
10794 #line 10795 "grammar.ec"
10795         break;
10796       case 205: /* "class_error" */
10797
10798 /* Line 1009 of yacc.c  */
10799 #line 230 "grammar.y"
10800         { FreeClass((yyvaluep->_class)); };
10801
10802 /* Line 1009 of yacc.c  */
10803 #line 10804 "grammar.ec"
10804         break;
10805       case 206: /* "identifier" */
10806
10807 /* Line 1009 of yacc.c  */
10808 #line 187 "grammar.y"
10809         { FreeIdentifier((yyvaluep->id)); };
10810
10811 /* Line 1009 of yacc.c  */
10812 #line 10813 "grammar.ec"
10813         break;
10814       case 207: /* "primary_expression" */
10815
10816 /* Line 1009 of yacc.c  */
10817 #line 189 "grammar.y"
10818         { FreeExpression((yyvaluep->exp)); };
10819
10820 /* Line 1009 of yacc.c  */
10821 #line 10822 "grammar.ec"
10822         break;
10823       case 211: /* "primary_expression_error" */
10824
10825 /* Line 1009 of yacc.c  */
10826 #line 189 "grammar.y"
10827         { FreeExpression((yyvaluep->exp)); };
10828
10829 /* Line 1009 of yacc.c  */
10830 #line 10831 "grammar.ec"
10831         break;
10832       case 212: /* "postfix_expression" */
10833
10834 /* Line 1009 of yacc.c  */
10835 #line 189 "grammar.y"
10836         { FreeExpression((yyvaluep->exp)); };
10837
10838 /* Line 1009 of yacc.c  */
10839 #line 10840 "grammar.ec"
10840         break;
10841       case 214: /* "argument_expression_list" */
10842
10843 /* Line 1009 of yacc.c  */
10844 #line 235 "grammar.y"
10845         { FreeList((yyvaluep->list), FreeExpression); };
10846
10847 /* Line 1009 of yacc.c  */
10848 #line 10849 "grammar.ec"
10849         break;
10850       case 215: /* "argument_expression_list_error" */
10851
10852 /* Line 1009 of yacc.c  */
10853 #line 235 "grammar.y"
10854         { FreeList((yyvaluep->list), FreeExpression); };
10855
10856 /* Line 1009 of yacc.c  */
10857 #line 10858 "grammar.ec"
10858         break;
10859       case 217: /* "unary_expression" */
10860
10861 /* Line 1009 of yacc.c  */
10862 #line 189 "grammar.y"
10863         { FreeExpression((yyvaluep->exp)); };
10864
10865 /* Line 1009 of yacc.c  */
10866 #line 10867 "grammar.ec"
10867         break;
10868       case 220: /* "cast_expression" */
10869
10870 /* Line 1009 of yacc.c  */
10871 #line 189 "grammar.y"
10872         { FreeExpression((yyvaluep->exp)); };
10873
10874 /* Line 1009 of yacc.c  */
10875 #line 10876 "grammar.ec"
10876         break;
10877       case 221: /* "multiplicative_expression" */
10878
10879 /* Line 1009 of yacc.c  */
10880 #line 189 "grammar.y"
10881         { FreeExpression((yyvaluep->exp)); };
10882
10883 /* Line 1009 of yacc.c  */
10884 #line 10885 "grammar.ec"
10885         break;
10886       case 222: /* "additive_expression" */
10887
10888 /* Line 1009 of yacc.c  */
10889 #line 189 "grammar.y"
10890         { FreeExpression((yyvaluep->exp)); };
10891
10892 /* Line 1009 of yacc.c  */
10893 #line 10894 "grammar.ec"
10894         break;
10895       case 223: /* "shift_expression" */
10896
10897 /* Line 1009 of yacc.c  */
10898 #line 189 "grammar.y"
10899         { FreeExpression((yyvaluep->exp)); };
10900
10901 /* Line 1009 of yacc.c  */
10902 #line 10903 "grammar.ec"
10903         break;
10904       case 225: /* "relational_expression" */
10905
10906 /* Line 1009 of yacc.c  */
10907 #line 189 "grammar.y"
10908         { FreeExpression((yyvaluep->exp)); };
10909
10910 /* Line 1009 of yacc.c  */
10911 #line 10912 "grammar.ec"
10912         break;
10913       case 226: /* "equality_expression" */
10914
10915 /* Line 1009 of yacc.c  */
10916 #line 189 "grammar.y"
10917         { FreeExpression((yyvaluep->exp)); };
10918
10919 /* Line 1009 of yacc.c  */
10920 #line 10921 "grammar.ec"
10921         break;
10922       case 227: /* "and_expression" */
10923
10924 /* Line 1009 of yacc.c  */
10925 #line 189 "grammar.y"
10926         { FreeExpression((yyvaluep->exp)); };
10927
10928 /* Line 1009 of yacc.c  */
10929 #line 10930 "grammar.ec"
10930         break;
10931       case 228: /* "exclusive_or_expression" */
10932
10933 /* Line 1009 of yacc.c  */
10934 #line 189 "grammar.y"
10935         { FreeExpression((yyvaluep->exp)); };
10936
10937 /* Line 1009 of yacc.c  */
10938 #line 10939 "grammar.ec"
10939         break;
10940       case 229: /* "inclusive_or_expression" */
10941
10942 /* Line 1009 of yacc.c  */
10943 #line 189 "grammar.y"
10944         { FreeExpression((yyvaluep->exp)); };
10945
10946 /* Line 1009 of yacc.c  */
10947 #line 10948 "grammar.ec"
10948         break;
10949       case 230: /* "logical_and_expression" */
10950
10951 /* Line 1009 of yacc.c  */
10952 #line 189 "grammar.y"
10953         { FreeExpression((yyvaluep->exp)); };
10954
10955 /* Line 1009 of yacc.c  */
10956 #line 10957 "grammar.ec"
10957         break;
10958       case 231: /* "logical_or_expression" */
10959
10960 /* Line 1009 of yacc.c  */
10961 #line 189 "grammar.y"
10962         { FreeExpression((yyvaluep->exp)); };
10963
10964 /* Line 1009 of yacc.c  */
10965 #line 10966 "grammar.ec"
10966         break;
10967       case 232: /* "conditional_expression" */
10968
10969 /* Line 1009 of yacc.c  */
10970 #line 189 "grammar.y"
10971         { FreeExpression((yyvaluep->exp)); };
10972
10973 /* Line 1009 of yacc.c  */
10974 #line 10975 "grammar.ec"
10975         break;
10976       case 233: /* "assignment_expression" */
10977
10978 /* Line 1009 of yacc.c  */
10979 #line 189 "grammar.y"
10980         { FreeExpression((yyvaluep->exp)); };
10981
10982 /* Line 1009 of yacc.c  */
10983 #line 10984 "grammar.ec"
10984         break;
10985       case 235: /* "expression" */
10986
10987 /* Line 1009 of yacc.c  */
10988 #line 235 "grammar.y"
10989         { FreeList((yyvaluep->list), FreeExpression); };
10990
10991 /* Line 1009 of yacc.c  */
10992 #line 10993 "grammar.ec"
10993         break;
10994       case 237: /* "postfix_expression_error" */
10995
10996 /* Line 1009 of yacc.c  */
10997 #line 189 "grammar.y"
10998         { FreeExpression((yyvaluep->exp)); };
10999
11000 /* Line 1009 of yacc.c  */
11001 #line 11002 "grammar.ec"
11002         break;
11003       case 240: /* "unary_expression_error" */
11004
11005 /* Line 1009 of yacc.c  */
11006 #line 189 "grammar.y"
11007         { FreeExpression((yyvaluep->exp)); };
11008
11009 /* Line 1009 of yacc.c  */
11010 #line 11011 "grammar.ec"
11011         break;
11012       case 242: /* "cast_expression_error" */
11013
11014 /* Line 1009 of yacc.c  */
11015 #line 189 "grammar.y"
11016         { FreeExpression((yyvaluep->exp)); };
11017
11018 /* Line 1009 of yacc.c  */
11019 #line 11020 "grammar.ec"
11020         break;
11021       case 243: /* "multiplicative_expression_error" */
11022
11023 /* Line 1009 of yacc.c  */
11024 #line 189 "grammar.y"
11025         { FreeExpression((yyvaluep->exp)); };
11026
11027 /* Line 1009 of yacc.c  */
11028 #line 11029 "grammar.ec"
11029         break;
11030       case 244: /* "additive_expression_error" */
11031
11032 /* Line 1009 of yacc.c  */
11033 #line 189 "grammar.y"
11034         { FreeExpression((yyvaluep->exp)); };
11035
11036 /* Line 1009 of yacc.c  */
11037 #line 11038 "grammar.ec"
11038         break;
11039       case 245: /* "shift_expression_error" */
11040
11041 /* Line 1009 of yacc.c  */
11042 #line 189 "grammar.y"
11043         { FreeExpression((yyvaluep->exp)); };
11044
11045 /* Line 1009 of yacc.c  */
11046 #line 11047 "grammar.ec"
11047         break;
11048       case 246: /* "relational_expression_error" */
11049
11050 /* Line 1009 of yacc.c  */
11051 #line 189 "grammar.y"
11052         { FreeExpression((yyvaluep->exp)); };
11053
11054 /* Line 1009 of yacc.c  */
11055 #line 11056 "grammar.ec"
11056         break;
11057       case 247: /* "equality_expression_error" */
11058
11059 /* Line 1009 of yacc.c  */
11060 #line 189 "grammar.y"
11061         { FreeExpression((yyvaluep->exp)); };
11062
11063 /* Line 1009 of yacc.c  */
11064 #line 11065 "grammar.ec"
11065         break;
11066       case 248: /* "and_expression_error" */
11067
11068 /* Line 1009 of yacc.c  */
11069 #line 189 "grammar.y"
11070         { FreeExpression((yyvaluep->exp)); };
11071
11072 /* Line 1009 of yacc.c  */
11073 #line 11074 "grammar.ec"
11074         break;
11075       case 249: /* "exclusive_or_expression_error" */
11076
11077 /* Line 1009 of yacc.c  */
11078 #line 189 "grammar.y"
11079         { FreeExpression((yyvaluep->exp)); };
11080
11081 /* Line 1009 of yacc.c  */
11082 #line 11083 "grammar.ec"
11083         break;
11084       case 250: /* "inclusive_or_expression_error" */
11085
11086 /* Line 1009 of yacc.c  */
11087 #line 189 "grammar.y"
11088         { FreeExpression((yyvaluep->exp)); };
11089
11090 /* Line 1009 of yacc.c  */
11091 #line 11092 "grammar.ec"
11092         break;
11093       case 251: /* "logical_and_expression_error" */
11094
11095 /* Line 1009 of yacc.c  */
11096 #line 189 "grammar.y"
11097         { FreeExpression((yyvaluep->exp)); };
11098
11099 /* Line 1009 of yacc.c  */
11100 #line 11101 "grammar.ec"
11101         break;
11102       case 252: /* "logical_or_expression_error" */
11103
11104 /* Line 1009 of yacc.c  */
11105 #line 189 "grammar.y"
11106         { FreeExpression((yyvaluep->exp)); };
11107
11108 /* Line 1009 of yacc.c  */
11109 #line 11110 "grammar.ec"
11110         break;
11111       case 253: /* "conditional_expression_error" */
11112
11113 /* Line 1009 of yacc.c  */
11114 #line 189 "grammar.y"
11115         { FreeExpression((yyvaluep->exp)); };
11116
11117 /* Line 1009 of yacc.c  */
11118 #line 11119 "grammar.ec"
11119         break;
11120       case 254: /* "assignment_expression_error" */
11121
11122 /* Line 1009 of yacc.c  */
11123 #line 189 "grammar.y"
11124         { FreeExpression((yyvaluep->exp)); };
11125
11126 /* Line 1009 of yacc.c  */
11127 #line 11128 "grammar.ec"
11128         break;
11129       case 255: /* "expression_error" */
11130
11131 /* Line 1009 of yacc.c  */
11132 #line 235 "grammar.y"
11133         { FreeList((yyvaluep->list), FreeExpression); };
11134
11135 /* Line 1009 of yacc.c  */
11136 #line 11137 "grammar.ec"
11137         break;
11138       case 257: /* "constant_expression" */
11139
11140 /* Line 1009 of yacc.c  */
11141 #line 189 "grammar.y"
11142         { FreeExpression((yyvaluep->exp)); };
11143
11144 /* Line 1009 of yacc.c  */
11145 #line 11146 "grammar.ec"
11146         break;
11147       case 258: /* "constant_expression_error" */
11148
11149 /* Line 1009 of yacc.c  */
11150 #line 189 "grammar.y"
11151         { FreeExpression((yyvaluep->exp)); };
11152
11153 /* Line 1009 of yacc.c  */
11154 #line 11155 "grammar.ec"
11155         break;
11156       case 259: /* "storage_class_specifier" */
11157
11158 /* Line 1009 of yacc.c  */
11159 #line 200 "grammar.y"
11160         { FreeSpecifier((yyvaluep->specifier)); };
11161
11162 /* Line 1009 of yacc.c  */
11163 #line 11164 "grammar.ec"
11164         break;
11165       case 260: /* "external_storage_class_specifier" */
11166
11167 /* Line 1009 of yacc.c  */
11168 #line 200 "grammar.y"
11169         { FreeSpecifier((yyvaluep->specifier)); };
11170
11171 /* Line 1009 of yacc.c  */
11172 #line 11173 "grammar.ec"
11173         break;
11174       case 261: /* "enumerator" */
11175
11176 /* Line 1009 of yacc.c  */
11177 #line 205 "grammar.y"
11178         { FreeEnumerator((yyvaluep->enumerator)); };
11179
11180 /* Line 1009 of yacc.c  */
11181 #line 11182 "grammar.ec"
11182         break;
11183       case 262: /* "enumerator_list" */
11184
11185 /* Line 1009 of yacc.c  */
11186 #line 236 "grammar.y"
11187         { FreeList((yyvaluep->list), FreeEnumerator); };
11188
11189 /* Line 1009 of yacc.c  */
11190 #line 11191 "grammar.ec"
11191         break;
11192       case 264: /* "enum_specifier_nocompound" */
11193
11194 /* Line 1009 of yacc.c  */
11195 #line 200 "grammar.y"
11196         { FreeSpecifier((yyvaluep->specifier)); };
11197
11198 /* Line 1009 of yacc.c  */
11199 #line 11200 "grammar.ec"
11200         break;
11201       case 265: /* "enum_specifier_compound" */
11202
11203 /* Line 1009 of yacc.c  */
11204 #line 200 "grammar.y"
11205         { FreeSpecifier((yyvaluep->specifier)); };
11206
11207 /* Line 1009 of yacc.c  */
11208 #line 11209 "grammar.ec"
11209         break;
11210       case 266: /* "enum_specifier_compound_error" */
11211
11212 /* Line 1009 of yacc.c  */
11213 #line 200 "grammar.y"
11214         { FreeSpecifier((yyvaluep->specifier)); };
11215
11216 /* Line 1009 of yacc.c  */
11217 #line 11218 "grammar.ec"
11218         break;
11219       case 268: /* "enum_class" */
11220
11221 /* Line 1009 of yacc.c  */
11222 #line 200 "grammar.y"
11223         { FreeSpecifier((yyvaluep->specifier)); };
11224
11225 /* Line 1009 of yacc.c  */
11226 #line 11227 "grammar.ec"
11227         break;
11228       case 269: /* "enum_class_error" */
11229
11230 /* Line 1009 of yacc.c  */
11231 #line 200 "grammar.y"
11232         { FreeSpecifier((yyvaluep->specifier)); };
11233
11234 /* Line 1009 of yacc.c  */
11235 #line 11236 "grammar.ec"
11236         break;
11237       case 270: /* "class_specifier" */
11238
11239 /* Line 1009 of yacc.c  */
11240 #line 200 "grammar.y"
11241         { FreeSpecifier((yyvaluep->specifier)); };
11242
11243 /* Line 1009 of yacc.c  */
11244 #line 11245 "grammar.ec"
11245         break;
11246       case 271: /* "class_specifier_error" */
11247
11248 /* Line 1009 of yacc.c  */
11249 #line 200 "grammar.y"
11250         { FreeSpecifier((yyvaluep->specifier)); };
11251
11252 /* Line 1009 of yacc.c  */
11253 #line 11254 "grammar.ec"
11254         break;
11255       case 272: /* "ext_storage" */
11256
11257 /* Line 1009 of yacc.c  */
11258 #line 200 "grammar.y"
11259         { FreeSpecifier((yyvaluep->specifier)); };
11260
11261 /* Line 1009 of yacc.c  */
11262 #line 11263 "grammar.ec"
11263         break;
11264       case 273: /* "type_qualifier" */
11265
11266 /* Line 1009 of yacc.c  */
11267 #line 200 "grammar.y"
11268         { FreeSpecifier((yyvaluep->specifier)); };
11269
11270 /* Line 1009 of yacc.c  */
11271 #line 11272 "grammar.ec"
11272         break;
11273       case 274: /* "type_qualifier_list" */
11274
11275 /* Line 1009 of yacc.c  */
11276 #line 237 "grammar.y"
11277         { FreeList((yyvaluep->list), FreeSpecifier); };
11278
11279 /* Line 1009 of yacc.c  */
11280 #line 11281 "grammar.ec"
11281         break;
11282       case 275: /* "type_specifier" */
11283
11284 /* Line 1009 of yacc.c  */
11285 #line 200 "grammar.y"
11286         { FreeSpecifier((yyvaluep->specifier)); };
11287
11288 /* Line 1009 of yacc.c  */
11289 #line 11290 "grammar.ec"
11290         break;
11291       case 276: /* "strict_type_specifier" */
11292
11293 /* Line 1009 of yacc.c  */
11294 #line 200 "grammar.y"
11295         { FreeSpecifier((yyvaluep->specifier)); };
11296
11297 /* Line 1009 of yacc.c  */
11298 #line 11299 "grammar.ec"
11299         break;
11300       case 277: /* "struct_declarator" */
11301
11302 /* Line 1009 of yacc.c  */
11303 #line 206 "grammar.y"
11304         { FreeDeclarator((yyvaluep->declarator)); };
11305
11306 /* Line 1009 of yacc.c  */
11307 #line 11308 "grammar.ec"
11308         break;
11309       case 278: /* "struct_declarator_list" */
11310
11311 /* Line 1009 of yacc.c  */
11312 #line 239 "grammar.y"
11313         { FreeList((yyvaluep->list), FreeDeclarator); };
11314
11315 /* Line 1009 of yacc.c  */
11316 #line 11317 "grammar.ec"
11317         break;
11318       case 279: /* "struct_entry" */
11319
11320 /* Line 1009 of yacc.c  */
11321 #line 200 "grammar.y"
11322         { FreeSpecifier((yyvaluep->specifier)); };
11323
11324 /* Line 1009 of yacc.c  */
11325 #line 11326 "grammar.ec"
11326         break;
11327       case 280: /* "struct_or_union_specifier_compound" */
11328
11329 /* Line 1009 of yacc.c  */
11330 #line 200 "grammar.y"
11331         { FreeSpecifier((yyvaluep->specifier)); };
11332
11333 /* Line 1009 of yacc.c  */
11334 #line 11335 "grammar.ec"
11335         break;
11336       case 281: /* "struct_or_union_specifier_compound_error" */
11337
11338 /* Line 1009 of yacc.c  */
11339 #line 200 "grammar.y"
11340         { FreeSpecifier((yyvaluep->specifier)); };
11341
11342 /* Line 1009 of yacc.c  */
11343 #line 11344 "grammar.ec"
11344         break;
11345       case 282: /* "struct_or_union_specifier_nocompound" */
11346
11347 /* Line 1009 of yacc.c  */
11348 #line 200 "grammar.y"
11349         { FreeSpecifier((yyvaluep->specifier)); };
11350
11351 /* Line 1009 of yacc.c  */
11352 #line 11353 "grammar.ec"
11353         break;
11354       case 283: /* "struct_decl" */
11355
11356 /* Line 1009 of yacc.c  */
11357 #line 200 "grammar.y"
11358         { FreeSpecifier((yyvaluep->specifier)); };
11359
11360 /* Line 1009 of yacc.c  */
11361 #line 11362 "grammar.ec"
11362         break;
11363       case 284: /* "struct_head" */
11364
11365 /* Line 1009 of yacc.c  */
11366 #line 200 "grammar.y"
11367         { FreeSpecifier((yyvaluep->specifier)); };
11368
11369 /* Line 1009 of yacc.c  */
11370 #line 11371 "grammar.ec"
11371         break;
11372       case 285: /* "struct_class" */
11373
11374 /* Line 1009 of yacc.c  */
11375 #line 200 "grammar.y"
11376         { FreeSpecifier((yyvaluep->specifier)); };
11377
11378 /* Line 1009 of yacc.c  */
11379 #line 11380 "grammar.ec"
11380         break;
11381       case 286: /* "struct_class_error" */
11382
11383 /* Line 1009 of yacc.c  */
11384 #line 200 "grammar.y"
11385         { FreeSpecifier((yyvaluep->specifier)); };
11386
11387 /* Line 1009 of yacc.c  */
11388 #line 11389 "grammar.ec"
11389         break;
11390       case 288: /* "specifier_qualifier_list" */
11391
11392 /* Line 1009 of yacc.c  */
11393 #line 237 "grammar.y"
11394         { FreeList((yyvaluep->list), FreeSpecifier); };
11395
11396 /* Line 1009 of yacc.c  */
11397 #line 11398 "grammar.ec"
11398         break;
11399       case 289: /* "guess_specifier_qualifier_list" */
11400
11401 /* Line 1009 of yacc.c  */
11402 #line 237 "grammar.y"
11403         { FreeList((yyvaluep->list), FreeSpecifier); };
11404
11405 /* Line 1009 of yacc.c  */
11406 #line 11407 "grammar.ec"
11407         break;
11408       case 290: /* "declaration_specifiers" */
11409
11410 /* Line 1009 of yacc.c  */
11411 #line 237 "grammar.y"
11412         { FreeList((yyvaluep->list), FreeSpecifier); };
11413
11414 /* Line 1009 of yacc.c  */
11415 #line 11416 "grammar.ec"
11416         break;
11417       case 291: /* "guess_declaration_specifiers" */
11418
11419 /* Line 1009 of yacc.c  */
11420 #line 237 "grammar.y"
11421         { FreeList((yyvaluep->list), FreeSpecifier); };
11422
11423 /* Line 1009 of yacc.c  */
11424 #line 11425 "grammar.ec"
11425         break;
11426       case 292: /* "external_guess_declaration_specifiers" */
11427
11428 /* Line 1009 of yacc.c  */
11429 #line 237 "grammar.y"
11430         { FreeList((yyvaluep->list), FreeSpecifier); };
11431
11432 /* Line 1009 of yacc.c  */
11433 #line 11434 "grammar.ec"
11434         break;
11435       case 293: /* "external_guess_declaration_specifiers_error" */
11436
11437 /* Line 1009 of yacc.c  */
11438 #line 237 "grammar.y"
11439         { FreeList((yyvaluep->list), FreeSpecifier); };
11440
11441 /* Line 1009 of yacc.c  */
11442 #line 11443 "grammar.ec"
11443         break;
11444       case 294: /* "_inheritance_specifiers" */
11445
11446 /* Line 1009 of yacc.c  */
11447 #line 237 "grammar.y"
11448         { FreeList((yyvaluep->list), FreeSpecifier); };
11449
11450 /* Line 1009 of yacc.c  */
11451 #line 11452 "grammar.ec"
11452         break;
11453       case 295: /* "inheritance_specifiers" */
11454
11455 /* Line 1009 of yacc.c  */
11456 #line 237 "grammar.y"
11457         { FreeList((yyvaluep->list), FreeSpecifier); };
11458
11459 /* Line 1009 of yacc.c  */
11460 #line 11461 "grammar.ec"
11461         break;
11462       case 299: /* "identifier_list_error" */
11463
11464 /* Line 1009 of yacc.c  */
11465 #line 243 "grammar.y"
11466         { FreeList((yyvaluep->list), FreeTypeName); };
11467
11468 /* Line 1009 of yacc.c  */
11469 #line 11470 "grammar.ec"
11470         break;
11471       case 300: /* "identifier_list" */
11472
11473 /* Line 1009 of yacc.c  */
11474 #line 243 "grammar.y"
11475         { FreeList((yyvaluep->list), FreeTypeName); };
11476
11477 /* Line 1009 of yacc.c  */
11478 #line 11479 "grammar.ec"
11479         break;
11480       case 301: /* "direct_declarator_nofunction" */
11481
11482 /* Line 1009 of yacc.c  */
11483 #line 206 "grammar.y"
11484         { FreeDeclarator((yyvaluep->declarator)); };
11485
11486 /* Line 1009 of yacc.c  */
11487 #line 11488 "grammar.ec"
11488         break;
11489       case 302: /* "direct_declarator_function_start" */
11490
11491 /* Line 1009 of yacc.c  */
11492 #line 206 "grammar.y"
11493         { FreeDeclarator((yyvaluep->declarator)); };
11494
11495 /* Line 1009 of yacc.c  */
11496 #line 11497 "grammar.ec"
11497         break;
11498       case 303: /* "direct_declarator_function" */
11499
11500 /* Line 1009 of yacc.c  */
11501 #line 206 "grammar.y"
11502         { FreeDeclarator((yyvaluep->declarator)); };
11503
11504 /* Line 1009 of yacc.c  */
11505 #line 11506 "grammar.ec"
11506         break;
11507       case 304: /* "direct_declarator_function_error" */
11508
11509 /* Line 1009 of yacc.c  */
11510 #line 206 "grammar.y"
11511         { FreeDeclarator((yyvaluep->declarator)); };
11512
11513 /* Line 1009 of yacc.c  */
11514 #line 11515 "grammar.ec"
11515         break;
11516       case 305: /* "direct_declarator" */
11517
11518 /* Line 1009 of yacc.c  */
11519 #line 206 "grammar.y"
11520         { FreeDeclarator((yyvaluep->declarator)); };
11521
11522 /* Line 1009 of yacc.c  */
11523 #line 11524 "grammar.ec"
11524         break;
11525       case 306: /* "ext_decl" */
11526
11527 /* Line 1009 of yacc.c  */
11528 #line 232 "grammar.y"
11529         { delete (yyvaluep->string); };
11530
11531 /* Line 1009 of yacc.c  */
11532 #line 11533 "grammar.ec"
11533         break;
11534       case 308: /* "direct_abstract_declarator" */
11535
11536 /* Line 1009 of yacc.c  */
11537 #line 206 "grammar.y"
11538         { FreeDeclarator((yyvaluep->declarator)); };
11539
11540 /* Line 1009 of yacc.c  */
11541 #line 11542 "grammar.ec"
11542         break;
11543       case 309: /* "direct_abstract_declarator_noarray" */
11544
11545 /* Line 1009 of yacc.c  */
11546 #line 206 "grammar.y"
11547         { FreeDeclarator((yyvaluep->declarator)); };
11548
11549 /* Line 1009 of yacc.c  */
11550 #line 11551 "grammar.ec"
11551         break;
11552       case 310: /* "pointer" */
11553
11554 /* Line 1009 of yacc.c  */
11555 #line 188 "grammar.y"
11556         { FreePointer((yyvaluep->pointer)); };
11557
11558 /* Line 1009 of yacc.c  */
11559 #line 11560 "grammar.ec"
11560         break;
11561       case 311: /* "abstract_declarator" */
11562
11563 /* Line 1009 of yacc.c  */
11564 #line 206 "grammar.y"
11565         { FreeDeclarator((yyvaluep->declarator)); };
11566
11567 /* Line 1009 of yacc.c  */
11568 #line 11569 "grammar.ec"
11569         break;
11570       case 312: /* "abstract_declarator_noarray" */
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 206 "grammar.y"
11574         { FreeDeclarator((yyvaluep->declarator)); };
11575
11576 /* Line 1009 of yacc.c  */
11577 #line 11578 "grammar.ec"
11578         break;
11579       case 313: /* "declarator" */
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 206 "grammar.y"
11583         { FreeDeclarator((yyvaluep->declarator)); };
11584
11585 /* Line 1009 of yacc.c  */
11586 #line 11587 "grammar.ec"
11587         break;
11588       case 314: /* "declarator_function" */
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 206 "grammar.y"
11592         { FreeDeclarator((yyvaluep->declarator)); };
11593
11594 /* Line 1009 of yacc.c  */
11595 #line 11596 "grammar.ec"
11596         break;
11597       case 315: /* "declarator_function_error" */
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 206 "grammar.y"
11601         { FreeDeclarator((yyvaluep->declarator)); };
11602
11603 /* Line 1009 of yacc.c  */
11604 #line 11605 "grammar.ec"
11605         break;
11606       case 316: /* "declarator_nofunction" */
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 206 "grammar.y"
11610         { FreeDeclarator((yyvaluep->declarator)); };
11611
11612 /* Line 1009 of yacc.c  */
11613 #line 11614 "grammar.ec"
11614         break;
11615       case 317: /* "initializer" */
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 211 "grammar.y"
11619         { FreeInitializer((yyvaluep->initializer)); };
11620
11621 /* Line 1009 of yacc.c  */
11622 #line 11623 "grammar.ec"
11623         break;
11624       case 318: /* "initializer_error" */
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 211 "grammar.y"
11628         { FreeInitializer((yyvaluep->initializer)); };
11629
11630 /* Line 1009 of yacc.c  */
11631 #line 11632 "grammar.ec"
11632         break;
11633       case 319: /* "initializer_condition" */
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 211 "grammar.y"
11637         { FreeInitializer((yyvaluep->initializer)); };
11638
11639 /* Line 1009 of yacc.c  */
11640 #line 11641 "grammar.ec"
11641         break;
11642       case 320: /* "initializer_condition_error" */
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 211 "grammar.y"
11646         { FreeInitializer((yyvaluep->initializer)); };
11647
11648 /* Line 1009 of yacc.c  */
11649 #line 11650 "grammar.ec"
11650         break;
11651       case 321: /* "initializer_list" */
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 241 "grammar.y"
11655         { FreeList((yyvaluep->list), FreeInitializer); };
11656
11657 /* Line 1009 of yacc.c  */
11658 #line 11659 "grammar.ec"
11659         break;
11660       case 322: /* "init_declarator" */
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 212 "grammar.y"
11664         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
11665
11666 /* Line 1009 of yacc.c  */
11667 #line 11668 "grammar.ec"
11668         break;
11669       case 323: /* "init_declarator_error" */
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 212 "grammar.y"
11673         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
11674
11675 /* Line 1009 of yacc.c  */
11676 #line 11677 "grammar.ec"
11677         break;
11678       case 324: /* "init_declarator_list" */
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 242 "grammar.y"
11682         { FreeList((yyvaluep->list), FreeInitDeclarator); };
11683
11684 /* Line 1009 of yacc.c  */
11685 #line 11686 "grammar.ec"
11686         break;
11687       case 325: /* "init_declarator_list_error" */
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 242 "grammar.y"
11691         { FreeList((yyvaluep->list), FreeInitDeclarator); };
11692
11693 /* Line 1009 of yacc.c  */
11694 #line 11695 "grammar.ec"
11695         break;
11696       case 326: /* "type_name" */
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 213 "grammar.y"
11700         { FreeTypeName((yyvaluep->typeName)); };
11701
11702 /* Line 1009 of yacc.c  */
11703 #line 11704 "grammar.ec"
11704         break;
11705       case 327: /* "guess_type_name" */
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 213 "grammar.y"
11709         { FreeTypeName((yyvaluep->typeName)); };
11710
11711 /* Line 1009 of yacc.c  */
11712 #line 11713 "grammar.ec"
11713         break;
11714       case 328: /* "parameter_declaration" */
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 213 "grammar.y"
11718         { FreeTypeName((yyvaluep->typeName)); };
11719
11720 /* Line 1009 of yacc.c  */
11721 #line 11722 "grammar.ec"
11722         break;
11723       case 329: /* "parameter_declaration_error" */
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 213 "grammar.y"
11727         { FreeTypeName((yyvaluep->typeName)); };
11728
11729 /* Line 1009 of yacc.c  */
11730 #line 11731 "grammar.ec"
11731         break;
11732       case 330: /* "parameter_list" */
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 243 "grammar.y"
11736         { FreeList((yyvaluep->list), FreeTypeName); };
11737
11738 /* Line 1009 of yacc.c  */
11739 #line 11740 "grammar.ec"
11740         break;
11741       case 331: /* "parameter_list_error" */
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 243 "grammar.y"
11745         { FreeList((yyvaluep->list), FreeTypeName); };
11746
11747 /* Line 1009 of yacc.c  */
11748 #line 11749 "grammar.ec"
11749         break;
11750       case 332: /* "parameter_type_list" */
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 243 "grammar.y"
11754         { FreeList((yyvaluep->list), FreeTypeName); };
11755
11756 /* Line 1009 of yacc.c  */
11757 #line 11758 "grammar.ec"
11758         break;
11759       case 333: /* "parameter_type_list_error" */
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 243 "grammar.y"
11763         { FreeList((yyvaluep->list), FreeTypeName); };
11764
11765 /* Line 1009 of yacc.c  */
11766 #line 11767 "grammar.ec"
11767         break;
11768       case 334: /* "statement" */
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 214 "grammar.y"
11772         { FreeStatement((yyvaluep->stmt)); };
11773
11774 /* Line 1009 of yacc.c  */
11775 #line 11776 "grammar.ec"
11776         break;
11777       case 335: /* "statement_error" */
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 214 "grammar.y"
11781         { FreeStatement((yyvaluep->stmt)); };
11782
11783 /* Line 1009 of yacc.c  */
11784 #line 11785 "grammar.ec"
11785         break;
11786       case 339: /* "labeled_statement" */
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 214 "grammar.y"
11790         { FreeStatement((yyvaluep->stmt)); };
11791
11792 /* Line 1009 of yacc.c  */
11793 #line 11794 "grammar.ec"
11794         break;
11795       case 340: /* "labeled_statement_error" */
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 214 "grammar.y"
11799         { FreeStatement((yyvaluep->stmt)); };
11800
11801 /* Line 1009 of yacc.c  */
11802 #line 11803 "grammar.ec"
11803         break;
11804       case 341: /* "declaration_mode" */
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 253 "grammar.y"
11808         { };
11809
11810 /* Line 1009 of yacc.c  */
11811 #line 11812 "grammar.ec"
11812         break;
11813       case 343: /* "declaration" */
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 218 "grammar.y"
11817         { FreeDeclaration((yyvaluep->declaration)); };
11818
11819 /* Line 1009 of yacc.c  */
11820 #line 11821 "grammar.ec"
11821         break;
11822       case 347: /* "declaration_list" */
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 240 "grammar.y"
11826         { FreeList((yyvaluep->list), FreeDeclaration); };
11827
11828 /* Line 1009 of yacc.c  */
11829 #line 11830 "grammar.ec"
11830         break;
11831       case 348: /* "declaration_list_error" */
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 240 "grammar.y"
11835         { FreeList((yyvaluep->list), FreeDeclaration); };
11836
11837 /* Line 1009 of yacc.c  */
11838 #line 11839 "grammar.ec"
11839         break;
11840       case 349: /* "statement_list" */
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 244 "grammar.y"
11844         { FreeList((yyvaluep->list), FreeStatement); };
11845
11846 /* Line 1009 of yacc.c  */
11847 #line 11848 "grammar.ec"
11848         break;
11849       case 350: /* "statement_list_error" */
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 244 "grammar.y"
11853         { FreeList((yyvaluep->list), FreeStatement); };
11854
11855 /* Line 1009 of yacc.c  */
11856 #line 11857 "grammar.ec"
11857         break;
11858       case 351: /* "compound_inside" */
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 214 "grammar.y"
11862         { FreeStatement((yyvaluep->stmt)); };
11863
11864 /* Line 1009 of yacc.c  */
11865 #line 11866 "grammar.ec"
11866         break;
11867       case 352: /* "compound_inside_error" */
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 214 "grammar.y"
11871         { FreeStatement((yyvaluep->stmt)); };
11872
11873 /* Line 1009 of yacc.c  */
11874 #line 11875 "grammar.ec"
11875         break;
11876       case 353: /* "compound_start" */
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 249 "grammar.y"
11880         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
11881
11882 /* Line 1009 of yacc.c  */
11883 #line 11884 "grammar.ec"
11884         break;
11885       case 354: /* "compound_statement" */
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 214 "grammar.y"
11889         { FreeStatement((yyvaluep->stmt)); };
11890
11891 /* Line 1009 of yacc.c  */
11892 #line 11893 "grammar.ec"
11893         break;
11894       case 355: /* "compound_statement_error" */
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 214 "grammar.y"
11898         { FreeStatement((yyvaluep->stmt)); };
11899
11900 /* Line 1009 of yacc.c  */
11901 #line 11902 "grammar.ec"
11902         break;
11903       case 356: /* "expression_statement" */
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 214 "grammar.y"
11907         { FreeStatement((yyvaluep->stmt)); };
11908
11909 /* Line 1009 of yacc.c  */
11910 #line 11911 "grammar.ec"
11911         break;
11912       case 357: /* "selection_statement" */
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 214 "grammar.y"
11916         { FreeStatement((yyvaluep->stmt)); };
11917
11918 /* Line 1009 of yacc.c  */
11919 #line 11920 "grammar.ec"
11920         break;
11921       case 358: /* "selection_statement_error" */
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 214 "grammar.y"
11925         { FreeStatement((yyvaluep->stmt)); };
11926
11927 /* Line 1009 of yacc.c  */
11928 #line 11929 "grammar.ec"
11929         break;
11930       case 359: /* "iteration_statement" */
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 214 "grammar.y"
11934         { FreeStatement((yyvaluep->stmt)); };
11935
11936 /* Line 1009 of yacc.c  */
11937 #line 11938 "grammar.ec"
11938         break;
11939       case 360: /* "iteration_statement_error" */
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 214 "grammar.y"
11943         { FreeStatement((yyvaluep->stmt)); };
11944
11945 /* Line 1009 of yacc.c  */
11946 #line 11947 "grammar.ec"
11947         break;
11948       case 361: /* "jump_statement" */
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 214 "grammar.y"
11952         { FreeStatement((yyvaluep->stmt)); };
11953
11954 /* Line 1009 of yacc.c  */
11955 #line 11956 "grammar.ec"
11956         break;
11957       case 362: /* "jump_statement_error" */
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 214 "grammar.y"
11961         { FreeStatement((yyvaluep->stmt)); };
11962
11963 /* Line 1009 of yacc.c  */
11964 #line 11965 "grammar.ec"
11965         break;
11966       case 363: /* "function_definition" */
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 219 "grammar.y"
11970         { FreeFunction((yyvaluep->function)); };
11971
11972 /* Line 1009 of yacc.c  */
11973 #line 11974 "grammar.ec"
11974         break;
11975       case 364: /* "function_definition_error" */
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 219 "grammar.y"
11979         { FreeFunction((yyvaluep->function)); };
11980
11981 /* Line 1009 of yacc.c  */
11982 #line 11983 "grammar.ec"
11983         break;
11984       case 365: /* "string_literal" */
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 232 "grammar.y"
11988         { delete (yyvaluep->string); };
11989
11990 /* Line 1009 of yacc.c  */
11991 #line 11992 "grammar.ec"
11992         break;
11993       case 366: /* "external_declaration" */
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 220 "grammar.y"
11997         { FreeExternal((yyvaluep->external)); };
11998
11999 /* Line 1009 of yacc.c  */
12000 #line 12001 "grammar.ec"
12001         break;
12002       case 367: /* "external_declaration_error" */
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 220 "grammar.y"
12006         { FreeExternal((yyvaluep->external)); };
12007
12008 /* Line 1009 of yacc.c  */
12009 #line 12010 "grammar.ec"
12010         break;
12011       case 368: /* "translation_unit_error" */
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 245 "grammar.y"
12015         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12016
12017 /* Line 1009 of yacc.c  */
12018 #line 12019 "grammar.ec"
12019         break;
12020       case 369: /* "translation_unit" */
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 245 "grammar.y"
12024         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12025
12026 /* Line 1009 of yacc.c  */
12027 #line 12028 "grammar.ec"
12028         break;
12029
12030       default:
12031         break;
12032     }
12033 }
12034
12035 /* Prevent warnings from -Wmissing-prototypes.  */
12036 #ifdef YYPARSE_PARAM
12037 #if defined __STDC__ || defined __cplusplus
12038 int yyparse (void *YYPARSE_PARAM);
12039 #else
12040 int yyparse ();
12041 #endif
12042 #else /* ! YYPARSE_PARAM */
12043 #if defined __STDC__ || defined __cplusplus
12044 int yyparse (void);
12045 #else
12046 int yyparse ();
12047 #endif
12048 #endif /* ! YYPARSE_PARAM */
12049
12050
12051 /* The lookahead symbol.  */
12052 int yychar;
12053
12054 /* The semantic value of the lookahead symbol.  */
12055 YYSTYPE yylval;
12056
12057 /* Location data for the lookahead symbol.  */
12058 YYLTYPE yylloc;
12059
12060 /* Number of syntax errors so far.  */
12061 int yynerrs;
12062
12063
12064
12065 /*-------------------------.
12066 | yyparse or yypush_parse.  |
12067 `-------------------------*/
12068
12069 #ifdef YYPARSE_PARAM
12070 #if (defined __STDC__ || defined __C99__FUNC__ \
12071      || defined __cplusplus || defined _MSC_VER)
12072 int
12073 yyparse (void *YYPARSE_PARAM)
12074 #else
12075 int
12076 yyparse (YYPARSE_PARAM)
12077     void *YYPARSE_PARAM;
12078 #endif
12079 #else /* ! YYPARSE_PARAM */
12080 #if (defined __STDC__ || defined __C99__FUNC__ \
12081      || defined __cplusplus || defined _MSC_VER)
12082 int
12083 yyparse (void)
12084 #else
12085 int
12086 yyparse ()
12087
12088 #endif
12089 #endif
12090 {
12091
12092
12093     int yystate;
12094     /* Number of tokens to shift before error messages enabled.  */
12095     int yyerrstatus;
12096
12097     /* The stacks and their tools:
12098        `yyss': related to states.
12099        `yyvs': related to semantic values.
12100        `yyls': related to locations.
12101
12102        Refer to the stacks thru separate pointers, to allow yyoverflow
12103        to reallocate them elsewhere.  */
12104
12105     /* The state stack.  */
12106     yytype_int16 yyssa[YYINITDEPTH];
12107     yytype_int16 *yyss;
12108     yytype_int16 *yyssp;
12109
12110     /* The semantic value stack.  */
12111     YYSTYPE yyvsa[YYINITDEPTH];
12112     YYSTYPE *yyvs;
12113     YYSTYPE *yyvsp;
12114
12115     /* The location stack.  */
12116     YYLTYPE yylsa[YYINITDEPTH];
12117     YYLTYPE *yyls;
12118     YYLTYPE *yylsp;
12119
12120     /* The locations where the error started and ended.  */
12121     YYLTYPE yyerror_range[2];
12122
12123     YYSIZE_T yystacksize;
12124
12125   int yyn;
12126   int yyresult;
12127   /* Lookahead token as an internal (translated) token number.  */
12128   int yytoken;
12129   /* The variables used to return semantic value and location from the
12130      action routines.  */
12131   YYSTYPE yyval;
12132   YYLTYPE yyloc;
12133
12134 #if YYERROR_VERBOSE
12135   /* Buffer for error messages, and its allocated size.  */
12136   char yymsgbuf[128];
12137   char *yymsg = yymsgbuf;
12138   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
12139 #endif
12140
12141 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
12142
12143   /* The number of symbols on the RHS of the reduced rule.
12144      Keep to zero when no symbol should be popped.  */
12145   int yylen = 0;
12146
12147   yytoken = 0;
12148   yyss = yyssa;
12149   yyvs = yyvsa;
12150   yyls = yylsa;
12151   yystacksize = YYINITDEPTH;
12152
12153   YYDPRINTF ((stderr, "Starting parse\n"));
12154
12155   yystate = 0;
12156   yyerrstatus = 0;
12157   yynerrs = 0;
12158   yychar = YYEMPTY; /* Cause a token to be read.  */
12159
12160   /* Initialize stack pointers.
12161      Waste one element of value and location stack
12162      so that they stay on the same level as the state stack.
12163      The wasted elements are never initialized.  */
12164   yyssp = yyss;
12165   yyvsp = yyvs;
12166   yylsp = yyls;
12167
12168 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
12169   /* Initialize the default location before parsing starts.  */
12170   yylloc.first_line   = yylloc.last_line   = 1;
12171   yylloc.first_column = yylloc.last_column = 1;
12172 #endif
12173
12174   goto yysetstate;
12175
12176 /*------------------------------------------------------------.
12177 | yynewstate -- Push a new state, which is found in yystate.  |
12178 `------------------------------------------------------------*/
12179  yynewstate:
12180   /* In all cases, when you get here, the value and location stacks
12181      have just been pushed.  So pushing a state here evens the stacks.  */
12182   yyssp++;
12183
12184  yysetstate:
12185   *yyssp = yystate;
12186
12187   if (yyss + yystacksize - 1 <= yyssp)
12188     {
12189       /* Get the current used size of the three stacks, in elements.  */
12190       YYSIZE_T yysize = yyssp - yyss + 1;
12191
12192 #ifdef yyoverflow
12193       {
12194         /* Give user a chance to reallocate the stack.  Use copies of
12195            these so that the &'s don't force the real ones into
12196            memory.  */
12197         YYSTYPE *yyvs1 = yyvs;
12198         yytype_int16 *yyss1 = yyss;
12199         YYLTYPE *yyls1 = yyls;
12200
12201         /* Each stack pointer address is followed by the size of the
12202            data in use in that stack, in bytes.  This used to be a
12203            conditional around just the two extra args, but that might
12204            be undefined if yyoverflow is a macro.  */
12205         yyoverflow (YY_("memory exhausted"),
12206                     &yyss1, yysize * sizeof (*yyssp),
12207                     &yyvs1, yysize * sizeof (*yyvsp),
12208                     &yyls1, yysize * sizeof (*yylsp),
12209                     &yystacksize);
12210
12211         yyls = yyls1;
12212         yyss = yyss1;
12213         yyvs = yyvs1;
12214       }
12215 #else /* no yyoverflow */
12216 # ifndef YYSTACK_RELOCATE
12217       goto yyexhaustedlab;
12218 # else
12219       /* Extend the stack our own way.  */
12220       if (YYMAXDEPTH <= yystacksize)
12221         goto yyexhaustedlab;
12222       yystacksize *= 2;
12223       if (YYMAXDEPTH < yystacksize)
12224         yystacksize = YYMAXDEPTH;
12225
12226       {
12227         yytype_int16 *yyss1 = yyss;
12228         union yyalloc *yyptr =
12229           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
12230         if (! yyptr)
12231           goto yyexhaustedlab;
12232         YYSTACK_RELOCATE (yyss_alloc, yyss);
12233         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
12234         YYSTACK_RELOCATE (yyls_alloc, yyls);
12235 #  undef YYSTACK_RELOCATE
12236         if (yyss1 != yyssa)
12237           YYSTACK_FREE (yyss1);
12238       }
12239 # endif
12240 #endif /* no yyoverflow */
12241
12242       yyssp = yyss + yysize - 1;
12243       yyvsp = yyvs + yysize - 1;
12244       yylsp = yyls + yysize - 1;
12245
12246       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
12247                   (unsigned long int) yystacksize));
12248
12249       if (yyss + yystacksize - 1 <= yyssp)
12250         YYABORT;
12251     }
12252
12253   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
12254
12255   if (yystate == YYFINAL)
12256     YYACCEPT;
12257
12258   goto yybackup;
12259
12260 /*-----------.
12261 | yybackup.  |
12262 `-----------*/
12263 yybackup:
12264
12265   /* Do appropriate processing given the current state.  Read a
12266      lookahead token if we need one and don't already have one.  */
12267
12268   /* First try to decide what to do without reference to lookahead token.  */
12269   yyn = yypact[yystate];
12270   if (yyn == YYPACT_NINF)
12271     goto yydefault;
12272
12273   /* Not known => get a lookahead token if don't already have one.  */
12274
12275   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
12276   if (yychar == YYEMPTY)
12277     {
12278       YYDPRINTF ((stderr, "Reading a token: "));
12279       yychar = YYLEX;
12280     }
12281
12282   if (yychar <= YYEOF)
12283     {
12284       yychar = yytoken = YYEOF;
12285       YYDPRINTF ((stderr, "Now at end of input.\n"));
12286     }
12287   else
12288     {
12289       yytoken = YYTRANSLATE (yychar);
12290       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
12291     }
12292
12293   /* If the proper action on seeing token YYTOKEN is to reduce or to
12294      detect an error, take that action.  */
12295   yyn += yytoken;
12296   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
12297     goto yydefault;
12298   yyn = yytable[yyn];
12299   if (yyn <= 0)
12300     {
12301       if (yyn == 0 || yyn == YYTABLE_NINF)
12302         goto yyerrlab;
12303       yyn = -yyn;
12304       goto yyreduce;
12305     }
12306
12307   /* Count tokens shifted since error; after three, turn off error
12308      status.  */
12309   if (yyerrstatus)
12310     yyerrstatus--;
12311
12312   /* Shift the lookahead token.  */
12313   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
12314
12315   /* Discard the shifted token.  */
12316   yychar = YYEMPTY;
12317
12318   yystate = yyn;
12319   *++yyvsp = yylval;
12320   *++yylsp = yylloc;
12321   goto yynewstate;
12322
12323
12324 /*-----------------------------------------------------------.
12325 | yydefault -- do the default action for the current state.  |
12326 `-----------------------------------------------------------*/
12327 yydefault:
12328   yyn = yydefact[yystate];
12329   if (yyn == 0)
12330     goto yyerrlab;
12331   goto yyreduce;
12332
12333
12334 /*-----------------------------.
12335 | yyreduce -- Do a reduction.  |
12336 `-----------------------------*/
12337 yyreduce:
12338   /* yyn is the number of a rule to reduce with.  */
12339   yylen = yyr2[yyn];
12340
12341   /* If YYLEN is nonzero, implement the default value of the action:
12342      `$$ = $1'.
12343
12344      Otherwise, the following line sets YYVAL to garbage.
12345      This behavior is undocumented and Bison
12346      users should not rely upon it.  Assigning to YYVAL
12347      unconditionally makes the parser a bit smaller, and it avoids a
12348      GCC warning that YYVAL may be used uninitialized.  */
12349   yyval = yyvsp[1-yylen];
12350
12351   /* Default location.  */
12352   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
12353   YY_REDUCE_PRINT (yyn);
12354   switch (yyn)
12355     {
12356         case 2:
12357
12358 /* Line 1464 of yacc.c  */
12359 #line 261 "grammar.y"
12360     {
12361       // if($1._class && !$1._class.name)
12362       if((yyvsp[(1) - (2)].id)._class)
12363       {
12364          char name[1024];
12365          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12366          strcat(name, "::");
12367          strcat(name, (yyvsp[(1) - (2)].id).string);
12368          _DeclClass(0, name);
12369       }
12370       else
12371          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12372
12373       FreeIdentifier((yyvsp[(1) - (2)].id));
12374
12375       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12376       resetScannerPos(&(yylsp[(1) - (2)]).start);
12377       yyclearin;
12378
12379       YYPOPSTACK(1);
12380       yystate = *yyssp;
12381       YY_STACK_PRINT (yyss, yyssp);
12382       YYPOPSTACK(1);
12383       yystate = *yyssp;
12384       YY_STACK_PRINT (yyss, yyssp);
12385       goto yysetstate;
12386    ;}
12387     break;
12388
12389   case 3:
12390
12391 /* Line 1464 of yacc.c  */
12392 #line 289 "grammar.y"
12393     {
12394    #ifdef PRECOMPILER
12395       // if($1._class && !$1._class.name)
12396       if((yyvsp[(1) - (2)].id)._class)
12397       {
12398          char name[1024];
12399          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12400          strcat(name, "::");
12401          strcat(name, (yyvsp[(1) - (2)].id).string);
12402          _DeclClass(0, name);
12403       }
12404       else
12405          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12406
12407       FreeIdentifier((yyvsp[(1) - (2)].id));
12408
12409       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12410       resetScannerPos(&(yylsp[(1) - (2)]).start);
12411       yyclearin;
12412
12413       YYPOPSTACK(1);
12414       yystate = *yyssp;
12415       YY_STACK_PRINT (yyss, yyssp);
12416       YYPOPSTACK(1);
12417       yystate = *yyssp;
12418       YY_STACK_PRINT (yyss, yyssp);
12419       goto yysetstate;
12420    #endif
12421    ;}
12422     break;
12423
12424   case 4:
12425
12426 /* Line 1464 of yacc.c  */
12427 #line 346 "grammar.y"
12428     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
12429     break;
12430
12431   case 5:
12432
12433 /* Line 1464 of yacc.c  */
12434 #line 348 "grammar.y"
12435     {
12436    #ifdef PRECOMPILER
12437       // if($1._class && !$1._class.name)
12438       if((yyvsp[(1) - (2)].id)._class)
12439       {
12440          char name[1024];
12441          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
12442          strcat(name, "::");
12443          strcat(name, (yyvsp[(1) - (2)].id).string);
12444          _DeclClass(0, name);
12445       }
12446       else
12447          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
12448       FreeIdentifier((yyvsp[(1) - (2)].id));
12449       FreeIdentifier((yyvsp[(2) - (2)].id));
12450
12451       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
12452       resetScannerPos(&(yylsp[(1) - (2)]).start);
12453       yyclearin;
12454
12455       YYPOPSTACK(1);
12456       yystate = *yyssp;
12457       YY_STACK_PRINT (yyss, yyssp);
12458       YYPOPSTACK(1);
12459       yystate = *yyssp;
12460       YY_STACK_PRINT (yyss, yyssp);
12461       goto yysetstate;
12462    #else
12463       Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]); 
12464       Compiler_Error("Not a type: %s\n", (yyvsp[(1) - (2)].id).string);      
12465       yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
12466    #endif
12467    ;}
12468     break;
12469
12470   case 6:
12471
12472 /* Line 1464 of yacc.c  */
12473 #line 447 "grammar.y"
12474     { (yyval.specifier) = MkSpecifierName(yytext); ;}
12475     break;
12476
12477   case 7:
12478
12479 /* Line 1464 of yacc.c  */
12480 #line 451 "grammar.y"
12481     { (yyval.string) = CopyString(yytext); ;}
12482     break;
12483
12484   case 9:
12485
12486 /* Line 1464 of yacc.c  */
12487 #line 455 "grammar.y"
12488     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
12489     break;
12490
12491   case 10:
12492
12493 /* Line 1464 of yacc.c  */
12494 #line 457 "grammar.y"
12495     {
12496       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
12497       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
12498       (yyval.specifier).loc = (yyloc);
12499
12500       (yylsp[(4) - (4)]).end.pos--;
12501       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start); 
12502       resetScannerPos(&(yylsp[(4) - (4)]).end);
12503       yyclearin;
12504     ;}
12505     break;
12506
12507   case 11:
12508
12509 /* Line 1464 of yacc.c  */
12510 #line 506 "grammar.y"
12511     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12512     break;
12513
12514   case 12:
12515
12516 /* Line 1464 of yacc.c  */
12517 #line 508 "grammar.y"
12518     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12519     break;
12520
12521   case 13:
12522
12523 /* Line 1464 of yacc.c  */
12524 #line 513 "grammar.y"
12525     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(1) - (3)].list), FreeSpecifier); ;}
12526     break;
12527
12528   case 14:
12529
12530 /* Line 1464 of yacc.c  */
12531 #line 518 "grammar.y"
12532     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(2) - (4)].list), FreeSpecifier) ;}
12533     break;
12534
12535   case 15:
12536
12537 /* Line 1464 of yacc.c  */
12538 #line 523 "grammar.y"
12539     { (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; ;}
12540     break;
12541
12542   case 16:
12543
12544 /* Line 1464 of yacc.c  */
12545 #line 525 "grammar.y"
12546     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12547     break;
12548
12549   case 17:
12550
12551 /* Line 1464 of yacc.c  */
12552 #line 530 "grammar.y"
12553     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12554     break;
12555
12556   case 18:
12557
12558 /* Line 1464 of yacc.c  */
12559 #line 532 "grammar.y"
12560     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12561     break;
12562
12563   case 19:
12564
12565 /* Line 1464 of yacc.c  */
12566 #line 537 "grammar.y"
12567     { (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; ;}
12568     break;
12569
12570   case 20:
12571
12572 /* Line 1464 of yacc.c  */
12573 #line 539 "grammar.y"
12574     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12575     break;
12576
12577   case 21:
12578
12579 /* Line 1464 of yacc.c  */
12580 #line 544 "grammar.y"
12581     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
12582     break;
12583
12584   case 22:
12585
12586 /* Line 1464 of yacc.c  */
12587 #line 546 "grammar.y"
12588     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
12589     break;
12590
12591   case 23:
12592
12593 /* Line 1464 of yacc.c  */
12594 #line 548 "grammar.y"
12595     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
12596     break;
12597
12598   case 24:
12599
12600 /* Line 1464 of yacc.c  */
12601 #line 550 "grammar.y"
12602     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
12603     break;
12604
12605   case 25:
12606
12607 /* Line 1464 of yacc.c  */
12608 #line 552 "grammar.y"
12609     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
12610     break;
12611
12612   case 26:
12613
12614 /* Line 1464 of yacc.c  */
12615 #line 556 "grammar.y"
12616     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
12617     break;
12618
12619   case 27:
12620
12621 /* Line 1464 of yacc.c  */
12622 #line 561 "grammar.y"
12623     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
12624     break;
12625
12626   case 28:
12627
12628 /* Line 1464 of yacc.c  */
12629 #line 563 "grammar.y"
12630     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
12631     break;
12632
12633   case 29:
12634
12635 /* Line 1464 of yacc.c  */
12636 #line 565 "grammar.y"
12637     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
12638     break;
12639
12640   case 30:
12641
12642 /* Line 1464 of yacc.c  */
12643 #line 567 "grammar.y"
12644     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
12645     break;
12646
12647   case 31:
12648
12649 /* Line 1464 of yacc.c  */
12650 #line 569 "grammar.y"
12651     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
12652     break;
12653
12654   case 32:
12655
12656 /* Line 1464 of yacc.c  */
12657 #line 575 "grammar.y"
12658     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12659     break;
12660
12661   case 33:
12662
12663 /* Line 1464 of yacc.c  */
12664 #line 577 "grammar.y"
12665     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12666     break;
12667
12668   case 34:
12669
12670 /* Line 1464 of yacc.c  */
12671 #line 582 "grammar.y"
12672     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
12673     break;
12674
12675   case 35:
12676
12677 /* Line 1464 of yacc.c  */
12678 #line 587 "grammar.y"
12679     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
12680     break;
12681
12682   case 36:
12683
12684 /* Line 1464 of yacc.c  */
12685 #line 592 "grammar.y"
12686     { 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++;;}
12687     break;
12688
12689   case 37:
12690
12691 /* Line 1464 of yacc.c  */
12692 #line 594 "grammar.y"
12693     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
12694     break;
12695
12696   case 38:
12697
12698 /* Line 1464 of yacc.c  */
12699 #line 596 "grammar.y"
12700     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
12701     break;
12702
12703   case 39:
12704
12705 /* Line 1464 of yacc.c  */
12706 #line 600 "grammar.y"
12707     { (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;;}
12708     break;
12709
12710   case 40:
12711
12712 /* Line 1464 of yacc.c  */
12713 #line 601 "grammar.y"
12714     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
12715     break;
12716
12717   case 41:
12718
12719 /* Line 1464 of yacc.c  */
12720 #line 605 "grammar.y"
12721     { (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;;}
12722     break;
12723
12724   case 42:
12725
12726 /* Line 1464 of yacc.c  */
12727 #line 607 "grammar.y"
12728     { 
12729          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
12730          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; 
12731
12732          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start); 
12733          yyclearin;
12734          resetScannerPos(&(yylsp[(2) - (3)]).end);
12735          (yyloc).start = (yylsp[(1) - (3)]).start;
12736          (yyloc).end = (yylsp[(2) - (3)]).end;
12737       ;}
12738     break;
12739
12740   case 43:
12741
12742 /* Line 1464 of yacc.c  */
12743 #line 617 "grammar.y"
12744     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
12745     break;
12746
12747   case 44:
12748
12749 /* Line 1464 of yacc.c  */
12750 #line 621 "grammar.y"
12751     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
12752     break;
12753
12754   case 45:
12755
12756 /* Line 1464 of yacc.c  */
12757 #line 623 "grammar.y"
12758     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
12759     break;
12760
12761   case 46:
12762
12763 /* Line 1464 of yacc.c  */
12764 #line 625 "grammar.y"
12765     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
12766     break;
12767
12768   case 47:
12769
12770 /* Line 1464 of yacc.c  */
12771 #line 629 "grammar.y"
12772     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
12773     break;
12774
12775   case 48:
12776
12777 /* Line 1464 of yacc.c  */
12778 #line 631 "grammar.y"
12779     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
12780     break;
12781
12782   case 49:
12783
12784 /* Line 1464 of yacc.c  */
12785 #line 633 "grammar.y"
12786     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
12787     break;
12788
12789   case 50:
12790
12791 /* Line 1464 of yacc.c  */
12792 #line 636 "grammar.y"
12793     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
12794          { 
12795             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
12796             MemberInit memberInit = MkMemberInit(null, dummy); 
12797             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
12798             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
12799             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
12800           } 
12801        ;}
12802     break;
12803
12804   case 51:
12805
12806 /* Line 1464 of yacc.c  */
12807 #line 647 "grammar.y"
12808     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end; 
12809          { 
12810             Initializer dummy = MkInitializerAssignment(MkExpDummy()); 
12811             MemberInit memberInit = MkMemberInit(null, dummy); 
12812             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end; 
12813             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end; 
12814             ListAdd((yyvsp[(1) - (3)].list), memberInit); 
12815           } 
12816        ;}
12817     break;
12818
12819   case 52:
12820
12821 /* Line 1464 of yacc.c  */
12822 #line 657 "grammar.y"
12823     {
12824          Initializer dummy = MkInitializerAssignment(MkExpDummy());
12825          MemberInit memberInit = MkMemberInit(null, dummy); 
12826          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start; 
12827          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start; 
12828
12829          (yyval.list) = MkList();
12830          ListAdd((yyval.list), memberInit); 
12831
12832          dummy = MkInitializerAssignment(MkExpDummy()); 
12833          memberInit = MkMemberInit(null, dummy); 
12834          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end; 
12835          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end; 
12836          ListAdd((yyval.list), memberInit); 
12837       ;}
12838     break;
12839
12840   case 53:
12841
12842 /* Line 1464 of yacc.c  */
12843 #line 676 "grammar.y"
12844     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; ;}
12845     break;
12846
12847   case 54:
12848
12849 /* Line 1464 of yacc.c  */
12850 #line 678 "grammar.y"
12851     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; ;}
12852     break;
12853
12854   case 55:
12855
12856 /* Line 1464 of yacc.c  */
12857 #line 682 "grammar.y"
12858     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
12859     break;
12860
12861   case 56:
12862
12863 /* Line 1464 of yacc.c  */
12864 #line 683 "grammar.y"
12865     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
12866     break;
12867
12868   case 57:
12869
12870 /* Line 1464 of yacc.c  */
12871 #line 684 "grammar.y"
12872     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]);  ;}
12873     break;
12874
12875   case 58:
12876
12877 /* Line 1464 of yacc.c  */
12878 #line 685 "grammar.y"
12879     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12880     break;
12881
12882   case 59:
12883
12884 /* Line 1464 of yacc.c  */
12885 #line 686 "grammar.y"
12886     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]);  ;}
12887     break;
12888
12889   case 60:
12890
12891 /* Line 1464 of yacc.c  */
12892 #line 687 "grammar.y"
12893     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12894     break;
12895
12896   case 61:
12897
12898 /* Line 1464 of yacc.c  */
12899 #line 688 "grammar.y"
12900     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
12901     break;
12902
12903   case 63:
12904
12905 /* Line 1464 of yacc.c  */
12906 #line 690 "grammar.y"
12907     { MembersInit members = MkMembersInitList(MkList()); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]);  ;}
12908     break;
12909
12910   case 65:
12911
12912 /* Line 1464 of yacc.c  */
12913 #line 695 "grammar.y"
12914     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
12915     break;
12916
12917   case 66:
12918
12919 /* Line 1464 of yacc.c  */
12920 #line 696 "grammar.y"
12921     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12922     break;
12923
12924   case 67:
12925
12926 /* Line 1464 of yacc.c  */
12927 #line 697 "grammar.y"
12928     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12929     break;
12930
12931   case 68:
12932
12933 /* Line 1464 of yacc.c  */
12934 #line 701 "grammar.y"
12935     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
12936     break;
12937
12938   case 69:
12939
12940 /* Line 1464 of yacc.c  */
12941 #line 702 "grammar.y"
12942     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12943     break;
12944
12945   case 70:
12946
12947 /* Line 1464 of yacc.c  */
12948 #line 703 "grammar.y"
12949     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12950     break;
12951
12952   case 71:
12953
12954 /* Line 1464 of yacc.c  */
12955 #line 704 "grammar.y"
12956     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12957     break;
12958
12959   case 72:
12960
12961 /* Line 1464 of yacc.c  */
12962 #line 705 "grammar.y"
12963     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12964     break;
12965
12966   case 73:
12967
12968 /* Line 1464 of yacc.c  */
12969 #line 706 "grammar.y"
12970     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
12971     break;
12972
12973   case 74:
12974
12975 /* Line 1464 of yacc.c  */
12976 #line 707 "grammar.y"
12977     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
12978     break;
12979
12980   case 75:
12981
12982 /* Line 1464 of yacc.c  */
12983 #line 712 "grammar.y"
12984     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
12985     break;
12986
12987   case 76:
12988
12989 /* Line 1464 of yacc.c  */
12990 #line 714 "grammar.y"
12991     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
12992     break;
12993
12994   case 77:
12995
12996 /* Line 1464 of yacc.c  */
12997 #line 719 "grammar.y"
12998     { (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++; ;}
12999     break;
13000
13001   case 78:
13002
13003 /* Line 1464 of yacc.c  */
13004 #line 721 "grammar.y"
13005     { (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++; ;}
13006     break;
13007
13008   case 79:
13009
13010 /* Line 1464 of yacc.c  */
13011 #line 723 "grammar.y"
13012     { (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++; ;}
13013     break;
13014
13015   case 80:
13016
13017 /* Line 1464 of yacc.c  */
13018 #line 725 "grammar.y"
13019     { (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++; ;}
13020     break;
13021
13022   case 81:
13023
13024 /* Line 1464 of yacc.c  */
13025 #line 727 "grammar.y"
13026     { (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++; ;}
13027     break;
13028
13029   case 82:
13030
13031 /* Line 1464 of yacc.c  */
13032 #line 757 "grammar.y"
13033     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13034     break;
13035
13036   case 83:
13037
13038 /* Line 1464 of yacc.c  */
13039 #line 759 "grammar.y"
13040     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13041     break;
13042
13043   case 84:
13044
13045 /* Line 1464 of yacc.c  */
13046 #line 764 "grammar.y"
13047     { (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++; ;}
13048     break;
13049
13050   case 85:
13051
13052 /* Line 1464 of yacc.c  */
13053 #line 766 "grammar.y"
13054     { (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++; ;}
13055     break;
13056
13057   case 86:
13058
13059 /* Line 1464 of yacc.c  */
13060 #line 768 "grammar.y"
13061     { (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++; ;}
13062     break;
13063
13064   case 87:
13065
13066 /* Line 1464 of yacc.c  */
13067 #line 770 "grammar.y"
13068     { (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++; ;}
13069     break;
13070
13071   case 88:
13072
13073 /* Line 1464 of yacc.c  */
13074 #line 772 "grammar.y"
13075     { (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++; ;}
13076     break;
13077
13078   case 89:
13079
13080 /* Line 1464 of yacc.c  */
13081 #line 801 "grammar.y"
13082     { (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;;}
13083     break;
13084
13085   case 90:
13086
13087 /* Line 1464 of yacc.c  */
13088 #line 803 "grammar.y"
13089     { (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;;}
13090     break;
13091
13092   case 91:
13093
13094 /* Line 1464 of yacc.c  */
13095 #line 805 "grammar.y"
13096     { (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;;}
13097     break;
13098
13099   case 92:
13100
13101 /* Line 1464 of yacc.c  */
13102 #line 810 "grammar.y"
13103     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13104     break;
13105
13106   case 93:
13107
13108 /* Line 1464 of yacc.c  */
13109 #line 812 "grammar.y"
13110     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13111     break;
13112
13113   case 94:
13114
13115 /* Line 1464 of yacc.c  */
13116 #line 817 "grammar.y"
13117     { (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++; ;}
13118     break;
13119
13120   case 95:
13121
13122 /* Line 1464 of yacc.c  */
13123 #line 819 "grammar.y"
13124     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13125       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)); ;}
13126     break;
13127
13128   case 96:
13129
13130 /* Line 1464 of yacc.c  */
13131 #line 823 "grammar.y"
13132     { (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++; ;}
13133     break;
13134
13135   case 97:
13136
13137 /* Line 1464 of yacc.c  */
13138 #line 825 "grammar.y"
13139     { (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++; ;}
13140     break;
13141
13142   case 98:
13143
13144 /* Line 1464 of yacc.c  */
13145 #line 827 "grammar.y"
13146     { (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++; ;}
13147     break;
13148
13149   case 99:
13150
13151 /* Line 1464 of yacc.c  */
13152 #line 829 "grammar.y"
13153     { (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++;  ;}
13154     break;
13155
13156   case 100:
13157
13158 /* Line 1464 of yacc.c  */
13159 #line 834 "grammar.y"
13160     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13161       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)); ;}
13162     break;
13163
13164   case 101:
13165
13166 /* Line 1464 of yacc.c  */
13167 #line 837 "grammar.y"
13168     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]); 
13169       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)); ;}
13170     break;
13171
13172   case 102:
13173
13174 /* Line 1464 of yacc.c  */
13175 #line 840 "grammar.y"
13176     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]); 
13177       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)); ;}
13178     break;
13179
13180   case 103:
13181
13182 /* Line 1464 of yacc.c  */
13183 #line 843 "grammar.y"
13184     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]); 
13185       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)); ;}
13186     break;
13187
13188   case 104:
13189
13190 /* Line 1464 of yacc.c  */
13191 #line 908 "grammar.y"
13192     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13193     break;
13194
13195   case 105:
13196
13197 /* Line 1464 of yacc.c  */
13198 #line 910 "grammar.y"
13199     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13200     break;
13201
13202   case 106:
13203
13204 /* Line 1464 of yacc.c  */
13205 #line 915 "grammar.y"
13206     { (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++; ;}
13207     break;
13208
13209   case 107:
13210
13211 /* Line 1464 of yacc.c  */
13212 #line 917 "grammar.y"
13213     { (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++; ;}
13214     break;
13215
13216   case 108:
13217
13218 /* Line 1464 of yacc.c  */
13219 #line 919 "grammar.y"
13220     { (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++;  ;}
13221     break;
13222
13223   case 109:
13224
13225 /* Line 1464 of yacc.c  */
13226 #line 921 "grammar.y"
13227     { (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++; ;}
13228     break;
13229
13230   case 110:
13231
13232 /* Line 1464 of yacc.c  */
13233 #line 923 "grammar.y"
13234     { (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++; ;}
13235     break;
13236
13237   case 111:
13238
13239 /* Line 1464 of yacc.c  */
13240 #line 953 "grammar.y"
13241     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13242     break;
13243
13244   case 112:
13245
13246 /* Line 1464 of yacc.c  */
13247 #line 957 "grammar.y"
13248     { (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; ;}
13249     break;
13250
13251   case 113:
13252
13253 /* Line 1464 of yacc.c  */
13254 #line 958 "grammar.y"
13255     { (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; ;}
13256     break;
13257
13258   case 114:
13259
13260 /* Line 1464 of yacc.c  */
13261 #line 959 "grammar.y"
13262     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
13263     break;
13264
13265   case 115:
13266
13267 /* Line 1464 of yacc.c  */
13268 #line 963 "grammar.y"
13269     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13270     break;
13271
13272   case 116:
13273
13274 /* Line 1464 of yacc.c  */
13275 #line 964 "grammar.y"
13276     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
13277     break;
13278
13279   case 117:
13280
13281 /* Line 1464 of yacc.c  */
13282 #line 965 "grammar.y"
13283     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
13284     break;
13285
13286   case 118:
13287
13288 /* Line 1464 of yacc.c  */
13289 #line 969 "grammar.y"
13290     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
13291     break;
13292
13293   case 119:
13294
13295 /* Line 1464 of yacc.c  */
13296 #line 970 "grammar.y"
13297     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
13298     break;
13299
13300   case 120:
13301
13302 /* Line 1464 of yacc.c  */
13303 #line 971 "grammar.y"
13304     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); ;}
13305     break;
13306
13307   case 122:
13308
13309 /* Line 1464 of yacc.c  */
13310 #line 977 "grammar.y"
13311     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13312     break;
13313
13314   case 123:
13315
13316 /* Line 1464 of yacc.c  */
13317 #line 980 "grammar.y"
13318     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13319     break;
13320
13321   case 124:
13322
13323 /* Line 1464 of yacc.c  */
13324 #line 983 "grammar.y"
13325     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13326     break;
13327
13328   case 125:
13329
13330 /* Line 1464 of yacc.c  */
13331 #line 986 "grammar.y"
13332     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
13333     break;
13334
13335   case 126:
13336
13337 /* Line 1464 of yacc.c  */
13338 #line 989 "grammar.y"
13339     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13340     break;
13341
13342   case 128:
13343
13344 /* Line 1464 of yacc.c  */
13345 #line 995 "grammar.y"
13346     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
13347     break;
13348
13349   case 129:
13350
13351 /* Line 1464 of yacc.c  */
13352 #line 997 "grammar.y"
13353     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
13354     break;
13355
13356   case 130:
13357
13358 /* Line 1464 of yacc.c  */
13359 #line 999 "grammar.y"
13360     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
13361     break;
13362
13363   case 131:
13364
13365 /* Line 1464 of yacc.c  */
13366 #line 1001 "grammar.y"
13367     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
13368     break;
13369
13370   case 132:
13371
13372 /* Line 1464 of yacc.c  */
13373 #line 1003 "grammar.y"
13374     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].string); ;}
13375     break;
13376
13377   case 133:
13378
13379 /* Line 1464 of yacc.c  */
13380 #line 1007 "grammar.y"
13381     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
13382     break;
13383
13384   case 134:
13385
13386 /* Line 1464 of yacc.c  */
13387 #line 1012 "grammar.y"
13388     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13389     break;
13390
13391   case 135:
13392
13393 /* Line 1464 of yacc.c  */
13394 #line 1015 "grammar.y"
13395     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
13396     break;
13397
13398   case 136:
13399
13400 /* Line 1464 of yacc.c  */
13401 #line 1018 "grammar.y"
13402     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13403     break;
13404
13405   case 137:
13406
13407 /* Line 1464 of yacc.c  */
13408 #line 1021 "grammar.y"
13409     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
13410     break;
13411
13412   case 138:
13413
13414 /* Line 1464 of yacc.c  */
13415 #line 1024 "grammar.y"
13416     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
13417     break;
13418
13419   case 140:
13420
13421 /* Line 1464 of yacc.c  */
13422 #line 1030 "grammar.y"
13423     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
13424     break;
13425
13426   case 141:
13427
13428 /* Line 1464 of yacc.c  */
13429 #line 1032 "grammar.y"
13430     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
13431     break;
13432
13433   case 142:
13434
13435 /* Line 1464 of yacc.c  */
13436 #line 1036 "grammar.y"
13437     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
13438     break;
13439
13440   case 143:
13441
13442 /* Line 1464 of yacc.c  */
13443 #line 1041 "grammar.y"
13444     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
13445     break;
13446
13447   case 144:
13448
13449 /* Line 1464 of yacc.c  */
13450 #line 1043 "grammar.y"
13451     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
13452     break;
13453
13454   case 145:
13455
13456 /* Line 1464 of yacc.c  */
13457 #line 1048 "grammar.y"
13458     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
13459     break;
13460
13461   case 146:
13462
13463 /* Line 1464 of yacc.c  */
13464 #line 1050 "grammar.y"
13465     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
13466     break;
13467
13468   case 147:
13469
13470 /* Line 1464 of yacc.c  */
13471 #line 1055 "grammar.y"
13472     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
13473     break;
13474
13475   case 148:
13476
13477 /* Line 1464 of yacc.c  */
13478 #line 1057 "grammar.y"
13479     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
13480     break;
13481
13482   case 149:
13483
13484 /* Line 1464 of yacc.c  */
13485 #line 1062 "grammar.y"
13486     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
13487     break;
13488
13489   case 150:
13490
13491 /* Line 1464 of yacc.c  */
13492 #line 1067 "grammar.y"
13493     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
13494     break;
13495
13496   case 151:
13497
13498 /* Line 1464 of yacc.c  */
13499 #line 1069 "grammar.y"
13500     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
13501     break;
13502
13503   case 152:
13504
13505 /* Line 1464 of yacc.c  */
13506 #line 1074 "grammar.y"
13507     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
13508     break;
13509
13510   case 153:
13511
13512 /* Line 1464 of yacc.c  */
13513 #line 1076 "grammar.y"
13514     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
13515     break;
13516
13517   case 154:
13518
13519 /* Line 1464 of yacc.c  */
13520 #line 1078 "grammar.y"
13521     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
13522     break;
13523
13524   case 155:
13525
13526 /* Line 1464 of yacc.c  */
13527 #line 1080 "grammar.y"
13528     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
13529     break;
13530
13531   case 156:
13532
13533 /* Line 1464 of yacc.c  */
13534 #line 1085 "grammar.y"
13535     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
13536     break;
13537
13538   case 157:
13539
13540 /* Line 1464 of yacc.c  */
13541 #line 1087 "grammar.y"
13542     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
13543     break;
13544
13545   case 158:
13546
13547 /* Line 1464 of yacc.c  */
13548 #line 1089 "grammar.y"
13549     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
13550     break;
13551
13552   case 159:
13553
13554 /* Line 1464 of yacc.c  */
13555 #line 1091 "grammar.y"
13556     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
13557     break;
13558
13559   case 160:
13560
13561 /* Line 1464 of yacc.c  */
13562 #line 1095 "grammar.y"
13563     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13564     break;
13565
13566   case 161:
13567
13568 /* Line 1464 of yacc.c  */
13569 #line 1096 "grammar.y"
13570     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (2)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13571     break;
13572
13573   case 162:
13574
13575 /* Line 1464 of yacc.c  */
13576 #line 1097 "grammar.y"
13577     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13578     break;
13579
13580   case 163:
13581
13582 /* Line 1464 of yacc.c  */
13583 #line 1098 "grammar.y"
13584     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13585     break;
13586
13587   case 164:
13588
13589 /* Line 1464 of yacc.c  */
13590 #line 1099 "grammar.y"
13591     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13592     break;
13593
13594   case 165:
13595
13596 /* Line 1464 of yacc.c  */
13597 #line 1100 "grammar.y"
13598     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13599     break;
13600
13601   case 166:
13602
13603 /* Line 1464 of yacc.c  */
13604 #line 1102 "grammar.y"
13605     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (4)].declMode); ;}
13606     break;
13607
13608   case 167:
13609
13610 /* Line 1464 of yacc.c  */
13611 #line 1103 "grammar.y"
13612     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (3)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
13613     break;
13614
13615   case 168:
13616
13617 /* Line 1464 of yacc.c  */
13618 #line 1104 "grammar.y"
13619     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
13620     break;
13621
13622   case 169:
13623
13624 /* Line 1464 of yacc.c  */
13625 #line 1105 "grammar.y"
13626     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
13627     break;
13628
13629   case 170:
13630
13631 /* Line 1464 of yacc.c  */
13632 #line 1106 "grammar.y"
13633     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
13634     break;
13635
13636   case 171:
13637
13638 /* Line 1464 of yacc.c  */
13639 #line 1107 "grammar.y"
13640     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
13641     break;
13642
13643   case 172:
13644
13645 /* Line 1464 of yacc.c  */
13646 #line 1109 "grammar.y"
13647     { (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); ;}
13648     break;
13649
13650   case 173:
13651
13652 /* Line 1464 of yacc.c  */
13653 #line 1110 "grammar.y"
13654     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
13655     break;
13656
13657   case 174:
13658
13659 /* Line 1464 of yacc.c  */
13660 #line 1111 "grammar.y"
13661     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
13662     break;
13663
13664   case 175:
13665
13666 /* Line 1464 of yacc.c  */
13667 #line 1112 "grammar.y"
13668     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (2)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
13669     break;
13670
13671   case 176:
13672
13673 /* Line 1464 of yacc.c  */
13674 #line 1113 "grammar.y"
13675     { (yyval.classDef) = null; deleteWatchable = true; ;}
13676     break;
13677
13678   case 177:
13679
13680 /* Line 1464 of yacc.c  */
13681 #line 1114 "grammar.y"
13682     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (3)].id).string); FreeIdentifier((yyvsp[(2) - (3)].id)); ;}
13683     break;
13684
13685   case 178:
13686
13687 /* Line 1464 of yacc.c  */
13688 #line 1115 "grammar.y"
13689     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (3)].specifier).name); FreeSpecifier((yyvsp[(2) - (3)].specifier)); ;}
13690     break;
13691
13692   case 179:
13693
13694 /* Line 1464 of yacc.c  */
13695 #line 1116 "grammar.y"
13696     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
13697     break;
13698
13699   case 180:
13700
13701 /* Line 1464 of yacc.c  */
13702 #line 1117 "grammar.y"
13703     { (yyval.classDef) = MkClassDefFixed(); ;}
13704     break;
13705
13706   case 181:
13707
13708 /* Line 1464 of yacc.c  */
13709 #line 1118 "grammar.y"
13710     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (3)].id)); ;}
13711     break;
13712
13713   case 182:
13714
13715 /* Line 1464 of yacc.c  */
13716 #line 1119 "grammar.y"
13717     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
13718     break;
13719
13720   case 183:
13721
13722 /* Line 1464 of yacc.c  */
13723 #line 1121 "grammar.y"
13724     { (yyval.classDef) = null; ;}
13725     break;
13726
13727   case 184:
13728
13729 /* Line 1464 of yacc.c  */
13730 #line 1122 "grammar.y"
13731     { 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; ;}
13732     break;
13733
13734   case 185:
13735
13736 /* Line 1464 of yacc.c  */
13737 #line 1124 "grammar.y"
13738     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
13739     break;
13740
13741   case 186:
13742
13743 /* Line 1464 of yacc.c  */
13744 #line 1128 "grammar.y"
13745     { (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]; ;}
13746     break;
13747
13748   case 187:
13749
13750 /* Line 1464 of yacc.c  */
13751 #line 1129 "grammar.y"
13752     { (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]; ;}
13753     break;
13754
13755   case 188:
13756
13757 /* Line 1464 of yacc.c  */
13758 #line 1130 "grammar.y"
13759     { (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]; ;}
13760     break;
13761
13762   case 189:
13763
13764 /* Line 1464 of yacc.c  */
13765 #line 1131 "grammar.y"
13766     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (1)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13767     break;
13768
13769   case 190:
13770
13771 /* Line 1464 of yacc.c  */
13772 #line 1132 "grammar.y"
13773     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (1)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
13774     break;
13775
13776   case 191:
13777
13778 /* Line 1464 of yacc.c  */
13779 #line 1134 "grammar.y"
13780     { (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); ;}
13781     break;
13782
13783   case 192:
13784
13785 /* Line 1464 of yacc.c  */
13786 #line 1135 "grammar.y"
13787     { (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); ;}
13788     break;
13789
13790   case 193:
13791
13792 /* Line 1464 of yacc.c  */
13793 #line 1136 "grammar.y"
13794     { (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); ;}
13795     break;
13796
13797   case 194:
13798
13799 /* Line 1464 of yacc.c  */
13800 #line 1137 "grammar.y"
13801     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
13802     break;
13803
13804   case 195:
13805
13806 /* Line 1464 of yacc.c  */
13807 #line 1138 "grammar.y"
13808     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
13809     break;
13810
13811   case 196:
13812
13813 /* Line 1464 of yacc.c  */
13814 #line 1140 "grammar.y"
13815     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
13816     break;
13817
13818   case 197:
13819
13820 /* Line 1464 of yacc.c  */
13821 #line 1144 "grammar.y"
13822     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
13823     break;
13824
13825   case 198:
13826
13827 /* Line 1464 of yacc.c  */
13828 #line 1145 "grammar.y"
13829     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
13830     break;
13831
13832   case 199:
13833
13834 /* Line 1464 of yacc.c  */
13835 #line 1146 "grammar.y"
13836     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
13837     break;
13838
13839   case 200:
13840
13841 /* Line 1464 of yacc.c  */
13842 #line 1150 "grammar.y"
13843     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
13844     break;
13845
13846   case 203:
13847
13848 /* Line 1464 of yacc.c  */
13849 #line 1153 "grammar.y"
13850     { ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
13851     break;
13852
13853   case 204:
13854
13855 /* Line 1464 of yacc.c  */
13856 #line 1154 "grammar.y"
13857     { ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
13858     break;
13859
13860   case 205:
13861
13862 /* Line 1464 of yacc.c  */
13863 #line 1158 "grammar.y"
13864     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
13865     break;
13866
13867   case 206:
13868
13869 /* Line 1464 of yacc.c  */
13870 #line 1159 "grammar.y"
13871     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
13872     break;
13873
13874   case 207:
13875
13876 /* Line 1464 of yacc.c  */
13877 #line 1160 "grammar.y"
13878     { (yyval.templateDatatype) = MkTemplateDatatype(MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)), null); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
13879     break;
13880
13881   case 208:
13882
13883 /* Line 1464 of yacc.c  */
13884 #line 1164 "grammar.y"
13885     { (yyval.templateArgument) = MkTemplateTypeArgument((yyvsp[(1) - (1)].templateDatatype)); ;}
13886     break;
13887
13888   case 209:
13889
13890 /* Line 1464 of yacc.c  */
13891 #line 1168 "grammar.y"
13892     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
13893     break;
13894
13895   case 210:
13896
13897 /* Line 1464 of yacc.c  */
13898 #line 1169 "grammar.y"
13899     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
13900     break;
13901
13902   case 211:
13903
13904 /* Line 1464 of yacc.c  */
13905 #line 1170 "grammar.y"
13906     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
13907     break;
13908
13909   case 212:
13910
13911 /* Line 1464 of yacc.c  */
13912 #line 1171 "grammar.y"
13913     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
13914     break;
13915
13916   case 213:
13917
13918 /* Line 1464 of yacc.c  */
13919 #line 1172 "grammar.y"
13920     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
13921     break;
13922
13923   case 214:
13924
13925 /* Line 1464 of yacc.c  */
13926 #line 1173 "grammar.y"
13927     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
13928     break;
13929
13930   case 215:
13931
13932 /* Line 1464 of yacc.c  */
13933 #line 1174 "grammar.y"
13934     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
13935     break;
13936
13937   case 216:
13938
13939 /* Line 1464 of yacc.c  */
13940 #line 1175 "grammar.y"
13941     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
13942     break;
13943
13944   case 217:
13945
13946 /* Line 1464 of yacc.c  */
13947 #line 1179 "grammar.y"
13948     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
13949     break;
13950
13951   case 218:
13952
13953 /* Line 1464 of yacc.c  */
13954 #line 1183 "grammar.y"
13955     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
13956     break;
13957
13958   case 219:
13959
13960 /* Line 1464 of yacc.c  */
13961 #line 1184 "grammar.y"
13962     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
13963     break;
13964
13965   case 220:
13966
13967 /* Line 1464 of yacc.c  */
13968 #line 1188 "grammar.y"
13969     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
13970     break;
13971
13972   case 221:
13973
13974 /* Line 1464 of yacc.c  */
13975 #line 1192 "grammar.y"
13976     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (2)].id), (yyvsp[(1) - (2)].templateDatatype), null); ;}
13977     break;
13978
13979   case 222:
13980
13981 /* Line 1464 of yacc.c  */
13982 #line 1193 "grammar.y"
13983     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(1) - (4)].templateDatatype), (yyvsp[(4) - (4)].templateArgument)); ;}
13984     break;
13985
13986   case 226:
13987
13988 /* Line 1464 of yacc.c  */
13989 #line 1203 "grammar.y"
13990     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
13991     break;
13992
13993   case 227:
13994
13995 /* Line 1464 of yacc.c  */
13996 #line 1204 "grammar.y"
13997     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
13998     break;
13999
14000   case 231:
14001
14002 /* Line 1464 of yacc.c  */
14003 #line 1211 "grammar.y"
14004     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14005     break;
14006
14007   case 232:
14008
14009 /* Line 1464 of yacc.c  */
14010 #line 1212 "grammar.y"
14011     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14012     break;
14013
14014   case 233:
14015
14016 /* Line 1464 of yacc.c  */
14017 #line 1213 "grammar.y"
14018     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14019     break;
14020
14021   case 234:
14022
14023 /* Line 1464 of yacc.c  */
14024 #line 1215 "grammar.y"
14025     {
14026       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14027       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14028       {
14029          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14030          if(spec.type == nameSpecifier)
14031             (yyval.templateArgument).name = MkIdentifier(spec.name);
14032       }
14033       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14034       (yyval.templateArgument).loc = (yyloc);
14035    ;}
14036     break;
14037
14038   case 235:
14039
14040 /* Line 1464 of yacc.c  */
14041 #line 1227 "grammar.y"
14042     {
14043       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14044       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14045       {
14046          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14047          if(spec.type == nameSpecifier)
14048             (yyval.templateArgument).name = MkIdentifier(spec.name);
14049       }
14050       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14051       (yyval.templateArgument).loc = (yyloc);
14052    ;}
14053     break;
14054
14055   case 236:
14056
14057 /* Line 1464 of yacc.c  */
14058 #line 1239 "grammar.y"
14059     {
14060       (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); 
14061       if((yyvsp[(1) - (3)].templateDatatype).specifiers && (yyvsp[(1) - (3)].templateDatatype).specifiers->first)
14062       {
14063          Specifier spec = (yyvsp[(1) - (3)].templateDatatype).specifiers->first;
14064          if(spec.type == nameSpecifier)
14065             (yyval.templateArgument).name = MkIdentifier(spec.name);
14066       }
14067       FreeTemplateDataType((yyvsp[(1) - (3)].templateDatatype));
14068       (yyval.templateArgument).loc = (yyloc);
14069    ;}
14070     break;
14071
14072   case 237:
14073
14074 /* Line 1464 of yacc.c  */
14075 #line 1253 "grammar.y"
14076     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
14077     break;
14078
14079   case 238:
14080
14081 /* Line 1464 of yacc.c  */
14082 #line 1254 "grammar.y"
14083     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
14084     break;
14085
14086   case 239:
14087
14088 /* Line 1464 of yacc.c  */
14089 #line 1259 "grammar.y"
14090     {
14091       PushContext();
14092    ;}
14093     break;
14094
14095   case 240:
14096
14097 /* Line 1464 of yacc.c  */
14098 #line 1264 "grammar.y"
14099     { (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14100     break;
14101
14102   case 241:
14103
14104 /* Line 1464 of yacc.c  */
14105 #line 1266 "grammar.y"
14106     { 
14107       (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); 
14108       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); 
14109       FreeSpecifier((yyvsp[(2) - (2)].specifier)); 
14110       ++defaultMemberAccess;
14111       memberAccessStack[defaultMemberAccess] = privateAccess;
14112    ;}
14113     break;
14114
14115   case 242:
14116
14117 /* Line 1464 of yacc.c  */
14118 #line 1273 "grammar.y"
14119     { (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; ;}
14120     break;
14121
14122   case 243:
14123
14124 /* Line 1464 of yacc.c  */
14125 #line 1274 "grammar.y"
14126     { (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; ;}
14127     break;
14128
14129   case 244:
14130
14131 /* Line 1464 of yacc.c  */
14132 #line 1276 "grammar.y"
14133     { (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; ;}
14134     break;
14135
14136   case 245:
14137
14138 /* Line 1464 of yacc.c  */
14139 #line 1278 "grammar.y"
14140     { 
14141       (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
14142       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); 
14143       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); 
14144       FreeSpecifier((yyvsp[(2) - (5)].specifier)); 
14145       ++defaultMemberAccess;
14146       memberAccessStack[defaultMemberAccess] = privateAccess;
14147    ;}
14148     break;
14149
14150   case 246:
14151
14152 /* Line 1464 of yacc.c  */
14153 #line 1286 "grammar.y"
14154     { (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; ;}
14155     break;
14156
14157   case 247:
14158
14159 /* Line 1464 of yacc.c  */
14160 #line 1287 "grammar.y"
14161     { (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; ;}
14162     break;
14163
14164   case 248:
14165
14166 /* Line 1464 of yacc.c  */
14167 #line 1292 "grammar.y"
14168     {
14169          (yyval._class).loc = (yyloc);
14170       ;}
14171     break;
14172
14173   case 249:
14174
14175 /* Line 1464 of yacc.c  */
14176 #line 1298 "grammar.y"
14177     {
14178          (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++;
14179          POP_DEFAULT_ACCESS
14180          PopContext(curContext);
14181       ;}
14182     break;
14183
14184   case 250:
14185
14186 /* Line 1464 of yacc.c  */
14187 #line 1305 "grammar.y"
14188     {
14189          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
14190          POP_DEFAULT_ACCESS
14191          PopContext(curContext);
14192       ;}
14193     break;
14194
14195   case 251:
14196
14197 /* Line 1464 of yacc.c  */
14198 #line 1311 "grammar.y"
14199     {
14200          (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++;
14201          POP_DEFAULT_ACCESS
14202          PopContext(curContext);
14203       ;}
14204     break;
14205
14206   case 252:
14207
14208 /* Line 1464 of yacc.c  */
14209 #line 1318 "grammar.y"
14210     {
14211          (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
14212          POP_DEFAULT_ACCESS
14213          PopContext(curContext);
14214       ;}
14215     break;
14216
14217   case 253:
14218
14219 /* Line 1464 of yacc.c  */
14220 #line 1324 "grammar.y"
14221     {
14222          (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
14223          POP_DEFAULT_ACCESS
14224          PopContext(curContext);
14225       ;}
14226     break;
14227
14228   case 254:
14229
14230 /* Line 1464 of yacc.c  */
14231 #line 1333 "grammar.y"
14232     {
14233          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
14234       ;}
14235     break;
14236
14237   case 255:
14238
14239 /* Line 1464 of yacc.c  */
14240 #line 1340 "grammar.y"
14241     {
14242          (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++;
14243          POP_DEFAULT_ACCESS
14244          PopContext(curContext);
14245       ;}
14246     break;
14247
14248   case 256:
14249
14250 /* Line 1464 of yacc.c  */
14251 #line 1346 "grammar.y"
14252     {
14253          (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++;
14254          POP_DEFAULT_ACCESS
14255          PopContext(curContext);
14256       ;}
14257     break;
14258
14259   case 257:
14260
14261 /* Line 1464 of yacc.c  */
14262 #line 1352 "grammar.y"
14263     {
14264          (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++;
14265          POP_DEFAULT_ACCESS
14266          PopContext(curContext);
14267       ;}
14268     break;
14269
14270   case 258:
14271
14272 /* Line 1464 of yacc.c  */
14273 #line 1358 "grammar.y"
14274     {
14275          (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++;
14276          POP_DEFAULT_ACCESS
14277          PopContext(curContext);
14278       ;}
14279     break;
14280
14281   case 259:
14282
14283 /* Line 1464 of yacc.c  */
14284 #line 1364 "grammar.y"
14285     {
14286          (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++;
14287          POP_DEFAULT_ACCESS
14288          PopContext(curContext);
14289       ;}
14290     break;
14291
14292   case 260:
14293
14294 /* Line 1464 of yacc.c  */
14295 #line 1370 "grammar.y"
14296     {
14297          (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++;
14298          POP_DEFAULT_ACCESS
14299          PopContext(curContext);
14300       ;}
14301     break;
14302
14303   case 261:
14304
14305 /* Line 1464 of yacc.c  */
14306 #line 1381 "grammar.y"
14307     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
14308     break;
14309
14310   case 263:
14311
14312 /* Line 1464 of yacc.c  */
14313 #line 1387 "grammar.y"
14314     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
14315     break;
14316
14317   case 264:
14318
14319 /* Line 1464 of yacc.c  */
14320 #line 1391 "grammar.y"
14321     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
14322     break;
14323
14324   case 265:
14325
14326 /* Line 1464 of yacc.c  */
14327 #line 1392 "grammar.y"
14328     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
14329     break;
14330
14331   case 266:
14332
14333 /* Line 1464 of yacc.c  */
14334 #line 1393 "grammar.y"
14335     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
14336     break;
14337
14338   case 267:
14339
14340 /* Line 1464 of yacc.c  */
14341 #line 1394 "grammar.y"
14342     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14343     break;
14344
14345   case 268:
14346
14347 /* Line 1464 of yacc.c  */
14348 #line 1395 "grammar.y"
14349     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
14350     break;
14351
14352   case 269:
14353
14354 /* Line 1464 of yacc.c  */
14355 #line 1396 "grammar.y"
14356     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
14357     break;
14358
14359   case 270:
14360
14361 /* Line 1464 of yacc.c  */
14362 #line 1397 "grammar.y"
14363     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
14364     break;
14365
14366   case 271:
14367
14368 /* Line 1464 of yacc.c  */
14369 #line 1398 "grammar.y"
14370     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
14371     break;
14372
14373   case 272:
14374
14375 /* Line 1464 of yacc.c  */
14376 #line 1399 "grammar.y"
14377     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
14378     break;
14379
14380   case 273:
14381
14382 /* Line 1464 of yacc.c  */
14383 #line 1400 "grammar.y"
14384     { (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); ;}
14385     break;
14386
14387   case 274:
14388
14389 /* Line 1464 of yacc.c  */
14390 #line 1401 "grammar.y"
14391     { 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(); ;}
14392     break;
14393
14394   case 275:
14395
14396 /* Line 1464 of yacc.c  */
14397 #line 1402 "grammar.y"
14398     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14399     break;
14400
14401   case 276:
14402
14403 /* Line 1464 of yacc.c  */
14404 #line 1403 "grammar.y"
14405     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14406     break;
14407
14408   case 277:
14409
14410 /* Line 1464 of yacc.c  */
14411 #line 1404 "grammar.y"
14412     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14413     break;
14414
14415   case 278:
14416
14417 /* Line 1464 of yacc.c  */
14418 #line 1405 "grammar.y"
14419     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14420     break;
14421
14422   case 279:
14423
14424 /* Line 1464 of yacc.c  */
14425 #line 1406 "grammar.y"
14426     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14427     break;
14428
14429   case 280:
14430
14431 /* Line 1464 of yacc.c  */
14432 #line 1407 "grammar.y"
14433     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14434     break;
14435
14436   case 281:
14437
14438 /* Line 1464 of yacc.c  */
14439 #line 1408 "grammar.y"
14440     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14441     break;
14442
14443   case 282:
14444
14445 /* Line 1464 of yacc.c  */
14446 #line 1409 "grammar.y"
14447     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
14448     break;
14449
14450   case 283:
14451
14452 /* Line 1464 of yacc.c  */
14453 #line 1410 "grammar.y"
14454     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14455     break;
14456
14457   case 284:
14458
14459 /* Line 1464 of yacc.c  */
14460 #line 1411 "grammar.y"
14461     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14462     break;
14463
14464   case 285:
14465
14466 /* Line 1464 of yacc.c  */
14467 #line 1412 "grammar.y"
14468     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14469     break;
14470
14471   case 286:
14472
14473 /* Line 1464 of yacc.c  */
14474 #line 1413 "grammar.y"
14475     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14476     break;
14477
14478   case 287:
14479
14480 /* Line 1464 of yacc.c  */
14481 #line 1414 "grammar.y"
14482     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14483     break;
14484
14485   case 288:
14486
14487 /* Line 1464 of yacc.c  */
14488 #line 1415 "grammar.y"
14489     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
14490     break;
14491
14492   case 289:
14493
14494 /* Line 1464 of yacc.c  */
14495 #line 1416 "grammar.y"
14496     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14497     break;
14498
14499   case 290:
14500
14501 /* Line 1464 of yacc.c  */
14502 #line 1417 "grammar.y"
14503     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
14504     break;
14505
14506   case 291:
14507
14508 /* Line 1464 of yacc.c  */
14509 #line 1418 "grammar.y"
14510     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
14511     break;
14512
14513   case 292:
14514
14515 /* Line 1464 of yacc.c  */
14516 #line 1419 "grammar.y"
14517     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
14518     break;
14519
14520   case 293:
14521
14522 /* Line 1464 of yacc.c  */
14523 #line 1420 "grammar.y"
14524     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
14525     break;
14526
14527   case 294:
14528
14529 /* Line 1464 of yacc.c  */
14530 #line 1421 "grammar.y"
14531     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
14532     break;
14533
14534   case 295:
14535
14536 /* Line 1464 of yacc.c  */
14537 #line 1423 "grammar.y"
14538     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
14539     break;
14540
14541   case 300:
14542
14543 /* Line 1464 of yacc.c  */
14544 #line 1429 "grammar.y"
14545     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
14546     break;
14547
14548   case 301:
14549
14550 /* Line 1464 of yacc.c  */
14551 #line 1433 "grammar.y"
14552     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
14553     break;
14554
14555   case 302:
14556
14557 /* Line 1464 of yacc.c  */
14558 #line 1437 "grammar.y"
14559     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
14560     break;
14561
14562   case 303:
14563
14564 /* Line 1464 of yacc.c  */
14565 #line 1441 "grammar.y"
14566     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
14567     break;
14568
14569   case 304:
14570
14571 /* Line 1464 of yacc.c  */
14572 #line 1442 "grammar.y"
14573     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
14574     break;
14575
14576   case 306:
14577
14578 /* Line 1464 of yacc.c  */
14579 #line 1448 "grammar.y"
14580     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14581     break;
14582
14583   case 307:
14584
14585 /* Line 1464 of yacc.c  */
14586 #line 1449 "grammar.y"
14587     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14588     break;
14589
14590   case 308:
14591
14592 /* Line 1464 of yacc.c  */
14593 #line 1450 "grammar.y"
14594     { (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); ;}
14595     break;
14596
14597   case 309:
14598
14599 /* Line 1464 of yacc.c  */
14600 #line 1451 "grammar.y"
14601     { (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); ;}
14602     break;
14603
14604   case 310:
14605
14606 /* Line 1464 of yacc.c  */
14607 #line 1452 "grammar.y"
14608     { (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; ;}
14609     break;
14610
14611   case 311:
14612
14613 /* Line 1464 of yacc.c  */
14614 #line 1453 "grammar.y"
14615     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14616     break;
14617
14618   case 312:
14619
14620 /* Line 1464 of yacc.c  */
14621 #line 1454 "grammar.y"
14622     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14623     break;
14624
14625   case 313:
14626
14627 /* Line 1464 of yacc.c  */
14628 #line 1455 "grammar.y"
14629     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
14630     break;
14631
14632   case 314:
14633
14634 /* Line 1464 of yacc.c  */
14635 #line 1456 "grammar.y"
14636     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
14637     break;
14638
14639   case 315:
14640
14641 /* Line 1464 of yacc.c  */
14642 #line 1458 "grammar.y"
14643     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14644     break;
14645
14646   case 316:
14647
14648 /* Line 1464 of yacc.c  */
14649 #line 1459 "grammar.y"
14650     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14651     break;
14652
14653   case 317:
14654
14655 /* Line 1464 of yacc.c  */
14656 #line 1460 "grammar.y"
14657     { (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); ;}
14658     break;
14659
14660   case 318:
14661
14662 /* Line 1464 of yacc.c  */
14663 #line 1461 "grammar.y"
14664     { (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); ;}
14665     break;
14666
14667   case 319:
14668
14669 /* Line 1464 of yacc.c  */
14670 #line 1462 "grammar.y"
14671     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14672     break;
14673
14674   case 320:
14675
14676 /* Line 1464 of yacc.c  */
14677 #line 1463 "grammar.y"
14678     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14679     break;
14680
14681   case 321:
14682
14683 /* Line 1464 of yacc.c  */
14684 #line 1464 "grammar.y"
14685     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
14686     break;
14687
14688   case 322:
14689
14690 /* Line 1464 of yacc.c  */
14691 #line 1465 "grammar.y"
14692     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
14693     break;
14694
14695   case 324:
14696
14697 /* Line 1464 of yacc.c  */
14698 #line 1471 "grammar.y"
14699     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14700     break;
14701
14702   case 325:
14703
14704 /* Line 1464 of yacc.c  */
14705 #line 1472 "grammar.y"
14706     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14707     break;
14708
14709   case 326:
14710
14711 /* Line 1464 of yacc.c  */
14712 #line 1473 "grammar.y"
14713     { (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); ;}
14714     break;
14715
14716   case 327:
14717
14718 /* Line 1464 of yacc.c  */
14719 #line 1474 "grammar.y"
14720     { (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); ;}
14721     break;
14722
14723   case 328:
14724
14725 /* Line 1464 of yacc.c  */
14726 #line 1475 "grammar.y"
14727     { (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; ;}
14728     break;
14729
14730   case 329:
14731
14732 /* Line 1464 of yacc.c  */
14733 #line 1476 "grammar.y"
14734     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14735     break;
14736
14737   case 330:
14738
14739 /* Line 1464 of yacc.c  */
14740 #line 1477 "grammar.y"
14741     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14742     break;
14743
14744   case 331:
14745
14746 /* Line 1464 of yacc.c  */
14747 #line 1478 "grammar.y"
14748     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
14749     break;
14750
14751   case 332:
14752
14753 /* Line 1464 of yacc.c  */
14754 #line 1479 "grammar.y"
14755     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
14756     break;
14757
14758   case 333:
14759
14760 /* Line 1464 of yacc.c  */
14761 #line 1481 "grammar.y"
14762     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14763     break;
14764
14765   case 334:
14766
14767 /* Line 1464 of yacc.c  */
14768 #line 1482 "grammar.y"
14769     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
14770     break;
14771
14772   case 335:
14773
14774 /* Line 1464 of yacc.c  */
14775 #line 1483 "grammar.y"
14776     { (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); ;}
14777     break;
14778
14779   case 336:
14780
14781 /* Line 1464 of yacc.c  */
14782 #line 1484 "grammar.y"
14783     { (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); ;}
14784     break;
14785
14786   case 337:
14787
14788 /* Line 1464 of yacc.c  */
14789 #line 1485 "grammar.y"
14790     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14791     break;
14792
14793   case 338:
14794
14795 /* Line 1464 of yacc.c  */
14796 #line 1486 "grammar.y"
14797     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
14798     break;
14799
14800   case 339:
14801
14802 /* Line 1464 of yacc.c  */
14803 #line 1487 "grammar.y"
14804     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
14805     break;
14806
14807   case 340:
14808
14809 /* Line 1464 of yacc.c  */
14810 #line 1488 "grammar.y"
14811     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
14812     break;
14813
14814   case 341:
14815
14816 /* Line 1464 of yacc.c  */
14817 #line 1492 "grammar.y"
14818     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
14819     break;
14820
14821   case 342:
14822
14823 /* Line 1464 of yacc.c  */
14824 #line 1493 "grammar.y"
14825     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
14826     break;
14827
14828   case 343:
14829
14830 /* Line 1464 of yacc.c  */
14831 #line 1494 "grammar.y"
14832     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
14833     break;
14834
14835   case 344:
14836
14837 /* Line 1464 of yacc.c  */
14838 #line 1495 "grammar.y"
14839     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
14840     break;
14841
14842   case 345:
14843
14844 /* Line 1464 of yacc.c  */
14845 #line 1499 "grammar.y"
14846     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
14847     break;
14848
14849   case 346:
14850
14851 /* Line 1464 of yacc.c  */
14852 #line 1500 "grammar.y"
14853     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
14854     break;
14855
14856   case 347:
14857
14858 /* Line 1464 of yacc.c  */
14859 #line 1501 "grammar.y"
14860     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
14861     break;
14862
14863   case 348:
14864
14865 /* Line 1464 of yacc.c  */
14866 #line 1502 "grammar.y"
14867     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
14868     break;
14869
14870   case 349:
14871
14872 /* Line 1464 of yacc.c  */
14873 #line 1503 "grammar.y"
14874     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; ListAdd((yyvsp[(1) - (2)].list), exp); ;}
14875     break;
14876
14877   case 350:
14878
14879 /* Line 1464 of yacc.c  */
14880 #line 1507 "grammar.y"
14881     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
14882     break;
14883
14884   case 351:
14885
14886 /* Line 1464 of yacc.c  */
14887 #line 1508 "grammar.y"
14888     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
14889     break;
14890
14891   case 352:
14892
14893 /* Line 1464 of yacc.c  */
14894 #line 1509 "grammar.y"
14895     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
14896     break;
14897
14898   case 353:
14899
14900 /* Line 1464 of yacc.c  */
14901 #line 1510 "grammar.y"
14902     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
14903     break;
14904
14905   case 354:
14906
14907 /* Line 1464 of yacc.c  */
14908 #line 1511 "grammar.y"
14909     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
14910     break;
14911
14912   case 355:
14913
14914 /* Line 1464 of yacc.c  */
14915 #line 1512 "grammar.y"
14916     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
14917     break;
14918
14919   case 356:
14920
14921 /* Line 1464 of yacc.c  */
14922 #line 1513 "grammar.y"
14923     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
14924     break;
14925
14926   case 357:
14927
14928 /* Line 1464 of yacc.c  */
14929 #line 1514 "grammar.y"
14930     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
14931     break;
14932
14933   case 358:
14934
14935 /* Line 1464 of yacc.c  */
14936 #line 1515 "grammar.y"
14937     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
14938     break;
14939
14940   case 363:
14941
14942 /* Line 1464 of yacc.c  */
14943 #line 1529 "grammar.y"
14944     { (yyval.i) = '&'; ;}
14945     break;
14946
14947   case 364:
14948
14949 /* Line 1464 of yacc.c  */
14950 #line 1530 "grammar.y"
14951     { (yyval.i) = '*'; ;}
14952     break;
14953
14954   case 365:
14955
14956 /* Line 1464 of yacc.c  */
14957 #line 1531 "grammar.y"
14958     { (yyval.i) = '+'; ;}
14959     break;
14960
14961   case 366:
14962
14963 /* Line 1464 of yacc.c  */
14964 #line 1532 "grammar.y"
14965     { (yyval.i) = '-'; ;}
14966     break;
14967
14968   case 367:
14969
14970 /* Line 1464 of yacc.c  */
14971 #line 1533 "grammar.y"
14972     { (yyval.i) = '~'; ;}
14973     break;
14974
14975   case 368:
14976
14977 /* Line 1464 of yacc.c  */
14978 #line 1534 "grammar.y"
14979     { (yyval.i) = '!'; ;}
14980     break;
14981
14982   case 369:
14983
14984 /* Line 1464 of yacc.c  */
14985 #line 1535 "grammar.y"
14986     { (yyval.i) = DELETE; ;}
14987     break;
14988
14989   case 370:
14990
14991 /* Line 1464 of yacc.c  */
14992 #line 1536 "grammar.y"
14993     { (yyval.i) = _INCREF; ;}
14994     break;
14995
14996   case 372:
14997
14998 /* Line 1464 of yacc.c  */
14999 #line 1541 "grammar.y"
15000     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15001     break;
15002
15003   case 374:
15004
15005 /* Line 1464 of yacc.c  */
15006 #line 1546 "grammar.y"
15007     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15008     break;
15009
15010   case 375:
15011
15012 /* Line 1464 of yacc.c  */
15013 #line 1547 "grammar.y"
15014     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15015     break;
15016
15017   case 376:
15018
15019 /* Line 1464 of yacc.c  */
15020 #line 1548 "grammar.y"
15021     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15022     break;
15023
15024   case 377:
15025
15026 /* Line 1464 of yacc.c  */
15027 #line 1549 "grammar.y"
15028     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15029     break;
15030
15031   case 378:
15032
15033 /* Line 1464 of yacc.c  */
15034 #line 1550 "grammar.y"
15035     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15036     break;
15037
15038   case 379:
15039
15040 /* Line 1464 of yacc.c  */
15041 #line 1551 "grammar.y"
15042     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15043     break;
15044
15045   case 381:
15046
15047 /* Line 1464 of yacc.c  */
15048 #line 1556 "grammar.y"
15049     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15050     break;
15051
15052   case 382:
15053
15054 /* Line 1464 of yacc.c  */
15055 #line 1557 "grammar.y"
15056     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15057     break;
15058
15059   case 383:
15060
15061 /* Line 1464 of yacc.c  */
15062 #line 1558 "grammar.y"
15063     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15064     break;
15065
15066   case 384:
15067
15068 /* Line 1464 of yacc.c  */
15069 #line 1559 "grammar.y"
15070     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15071     break;
15072
15073   case 386:
15074
15075 /* Line 1464 of yacc.c  */
15076 #line 1564 "grammar.y"
15077     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15078     break;
15079
15080   case 387:
15081
15082 /* Line 1464 of yacc.c  */
15083 #line 1565 "grammar.y"
15084     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15085     break;
15086
15087   case 388:
15088
15089 /* Line 1464 of yacc.c  */
15090 #line 1566 "grammar.y"
15091     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15092     break;
15093
15094   case 389:
15095
15096 /* Line 1464 of yacc.c  */
15097 #line 1567 "grammar.y"
15098     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15099     break;
15100
15101   case 390:
15102
15103 /* Line 1464 of yacc.c  */
15104 #line 1572 "grammar.y"
15105     {
15106       (yyval.exp) = (yyvsp[(1) - (2)].exp);
15107       skipErrors = true;
15108    ;}
15109     break;
15110
15111   case 392:
15112
15113 /* Line 1464 of yacc.c  */
15114 #line 1580 "grammar.y"
15115     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
15116     break;
15117
15118   case 393:
15119
15120 /* Line 1464 of yacc.c  */
15121 #line 1581 "grammar.y"
15122     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15123     break;
15124
15125   case 394:
15126
15127 /* Line 1464 of yacc.c  */
15128 #line 1582 "grammar.y"
15129     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15130     break;
15131
15132   case 395:
15133
15134 /* Line 1464 of yacc.c  */
15135 #line 1583 "grammar.y"
15136     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15137     break;
15138
15139   case 396:
15140
15141 /* Line 1464 of yacc.c  */
15142 #line 1584 "grammar.y"
15143     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15144     break;
15145
15146   case 397:
15147
15148 /* Line 1464 of yacc.c  */
15149 #line 1585 "grammar.y"
15150     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15151     break;
15152
15153   case 398:
15154
15155 /* Line 1464 of yacc.c  */
15156 #line 1586 "grammar.y"
15157     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15158     break;
15159
15160   case 399:
15161
15162 /* Line 1464 of yacc.c  */
15163 #line 1587 "grammar.y"
15164     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15165     break;
15166
15167   case 401:
15168
15169 /* Line 1464 of yacc.c  */
15170 #line 1592 "grammar.y"
15171     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15172     break;
15173
15174   case 402:
15175
15176 /* Line 1464 of yacc.c  */
15177 #line 1593 "grammar.y"
15178     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15179     break;
15180
15181   case 403:
15182
15183 /* Line 1464 of yacc.c  */
15184 #line 1594 "grammar.y"
15185     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15186     break;
15187
15188   case 404:
15189
15190 /* Line 1464 of yacc.c  */
15191 #line 1595 "grammar.y"
15192     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15193     break;
15194
15195   case 405:
15196
15197 /* Line 1464 of yacc.c  */
15198 #line 1597 "grammar.y"
15199     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15200     break;
15201
15202   case 406:
15203
15204 /* Line 1464 of yacc.c  */
15205 #line 1598 "grammar.y"
15206     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15207     break;
15208
15209   case 407:
15210
15211 /* Line 1464 of yacc.c  */
15212 #line 1599 "grammar.y"
15213     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15214     break;
15215
15216   case 408:
15217
15218 /* Line 1464 of yacc.c  */
15219 #line 1600 "grammar.y"
15220     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15221     break;
15222
15223   case 410:
15224
15225 /* Line 1464 of yacc.c  */
15226 #line 1605 "grammar.y"
15227     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15228     break;
15229
15230   case 411:
15231
15232 /* Line 1464 of yacc.c  */
15233 #line 1606 "grammar.y"
15234     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15235     break;
15236
15237   case 412:
15238
15239 /* Line 1464 of yacc.c  */
15240 #line 1608 "grammar.y"
15241     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15242     break;
15243
15244   case 413:
15245
15246 /* Line 1464 of yacc.c  */
15247 #line 1609 "grammar.y"
15248     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15249     break;
15250
15251   case 415:
15252
15253 /* Line 1464 of yacc.c  */
15254 #line 1614 "grammar.y"
15255     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15256     break;
15257
15258   case 416:
15259
15260 /* Line 1464 of yacc.c  */
15261 #line 1615 "grammar.y"
15262     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15263     break;
15264
15265   case 417:
15266
15267 /* Line 1464 of yacc.c  */
15268 #line 1617 "grammar.y"
15269     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15270     break;
15271
15272   case 418:
15273
15274 /* Line 1464 of yacc.c  */
15275 #line 1618 "grammar.y"
15276     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15277     break;
15278
15279   case 420:
15280
15281 /* Line 1464 of yacc.c  */
15282 #line 1623 "grammar.y"
15283     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15284     break;
15285
15286   case 421:
15287
15288 /* Line 1464 of yacc.c  */
15289 #line 1624 "grammar.y"
15290     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15291     break;
15292
15293   case 422:
15294
15295 /* Line 1464 of yacc.c  */
15296 #line 1626 "grammar.y"
15297     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15298     break;
15299
15300   case 423:
15301
15302 /* Line 1464 of yacc.c  */
15303 #line 1627 "grammar.y"
15304     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15305     break;
15306
15307   case 425:
15308
15309 /* Line 1464 of yacc.c  */
15310 #line 1632 "grammar.y"
15311     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15312     break;
15313
15314   case 426:
15315
15316 /* Line 1464 of yacc.c  */
15317 #line 1633 "grammar.y"
15318     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15319     break;
15320
15321   case 428:
15322
15323 /* Line 1464 of yacc.c  */
15324 #line 1638 "grammar.y"
15325     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15326     break;
15327
15328   case 429:
15329
15330 /* Line 1464 of yacc.c  */
15331 #line 1639 "grammar.y"
15332     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15333     break;
15334
15335   case 431:
15336
15337 /* Line 1464 of yacc.c  */
15338 #line 1644 "grammar.y"
15339     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15340     break;
15341
15342   case 432:
15343
15344 /* Line 1464 of yacc.c  */
15345 #line 1645 "grammar.y"
15346     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15347     break;
15348
15349   case 433:
15350
15351 /* Line 1464 of yacc.c  */
15352 #line 1646 "grammar.y"
15353     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15354     break;
15355
15356   case 434:
15357
15358 /* Line 1464 of yacc.c  */
15359 #line 1647 "grammar.y"
15360     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15361     break;
15362
15363   case 435:
15364
15365 /* Line 1464 of yacc.c  */
15366 #line 1649 "grammar.y"
15367     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15368     break;
15369
15370   case 436:
15371
15372 /* Line 1464 of yacc.c  */
15373 #line 1650 "grammar.y"
15374     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15375     break;
15376
15377   case 437:
15378
15379 /* Line 1464 of yacc.c  */
15380 #line 1651 "grammar.y"
15381     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15382     break;
15383
15384   case 438:
15385
15386 /* Line 1464 of yacc.c  */
15387 #line 1652 "grammar.y"
15388     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15389     break;
15390
15391   case 439:
15392
15393 /* Line 1464 of yacc.c  */
15394 #line 1654 "grammar.y"
15395     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15396     break;
15397
15398   case 440:
15399
15400 /* Line 1464 of yacc.c  */
15401 #line 1655 "grammar.y"
15402     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15403     break;
15404
15405   case 441:
15406
15407 /* Line 1464 of yacc.c  */
15408 #line 1656 "grammar.y"
15409     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15410     break;
15411
15412   case 442:
15413
15414 /* Line 1464 of yacc.c  */
15415 #line 1657 "grammar.y"
15416     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15417     break;
15418
15419   case 443:
15420
15421 /* Line 1464 of yacc.c  */
15422 #line 1659 "grammar.y"
15423     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15424     break;
15425
15426   case 444:
15427
15428 /* Line 1464 of yacc.c  */
15429 #line 1660 "grammar.y"
15430     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15431     break;
15432
15433   case 445:
15434
15435 /* Line 1464 of yacc.c  */
15436 #line 1661 "grammar.y"
15437     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15438     break;
15439
15440   case 446:
15441
15442 /* Line 1464 of yacc.c  */
15443 #line 1662 "grammar.y"
15444     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15445     break;
15446
15447   case 448:
15448
15449 /* Line 1464 of yacc.c  */
15450 #line 1667 "grammar.y"
15451     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15452     break;
15453
15454   case 449:
15455
15456 /* Line 1464 of yacc.c  */
15457 #line 1668 "grammar.y"
15458     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15459     break;
15460
15461   case 450:
15462
15463 /* Line 1464 of yacc.c  */
15464 #line 1669 "grammar.y"
15465     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15466     break;
15467
15468   case 451:
15469
15470 /* Line 1464 of yacc.c  */
15471 #line 1670 "grammar.y"
15472     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15473     break;
15474
15475   case 452:
15476
15477 /* Line 1464 of yacc.c  */
15478 #line 1672 "grammar.y"
15479     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15480     break;
15481
15482   case 453:
15483
15484 /* Line 1464 of yacc.c  */
15485 #line 1673 "grammar.y"
15486     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15487     break;
15488
15489   case 454:
15490
15491 /* Line 1464 of yacc.c  */
15492 #line 1674 "grammar.y"
15493     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15494     break;
15495
15496   case 455:
15497
15498 /* Line 1464 of yacc.c  */
15499 #line 1675 "grammar.y"
15500     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15501     break;
15502
15503   case 456:
15504
15505 /* Line 1464 of yacc.c  */
15506 #line 1679 "grammar.y"
15507     { (yyval.i) = '='; ;}
15508     break;
15509
15510   case 457:
15511
15512 /* Line 1464 of yacc.c  */
15513 #line 1680 "grammar.y"
15514     { (yyval.i) = MUL_ASSIGN; ;}
15515     break;
15516
15517   case 458:
15518
15519 /* Line 1464 of yacc.c  */
15520 #line 1681 "grammar.y"
15521     { (yyval.i) = DIV_ASSIGN; ;}
15522     break;
15523
15524   case 459:
15525
15526 /* Line 1464 of yacc.c  */
15527 #line 1682 "grammar.y"
15528     { (yyval.i) = MOD_ASSIGN; ;}
15529     break;
15530
15531   case 460:
15532
15533 /* Line 1464 of yacc.c  */
15534 #line 1683 "grammar.y"
15535     { (yyval.i) = ADD_ASSIGN; ;}
15536     break;
15537
15538   case 461:
15539
15540 /* Line 1464 of yacc.c  */
15541 #line 1684 "grammar.y"
15542     { (yyval.i) = SUB_ASSIGN; ;}
15543     break;
15544
15545   case 462:
15546
15547 /* Line 1464 of yacc.c  */
15548 #line 1685 "grammar.y"
15549     { (yyval.i) = LEFT_ASSIGN; ;}
15550     break;
15551
15552   case 463:
15553
15554 /* Line 1464 of yacc.c  */
15555 #line 1686 "grammar.y"
15556     { (yyval.i) = RIGHT_ASSIGN; ;}
15557     break;
15558
15559   case 464:
15560
15561 /* Line 1464 of yacc.c  */
15562 #line 1687 "grammar.y"
15563     { (yyval.i) = AND_ASSIGN; ;}
15564     break;
15565
15566   case 465:
15567
15568 /* Line 1464 of yacc.c  */
15569 #line 1688 "grammar.y"
15570     { (yyval.i) = XOR_ASSIGN; ;}
15571     break;
15572
15573   case 466:
15574
15575 /* Line 1464 of yacc.c  */
15576 #line 1689 "grammar.y"
15577     { (yyval.i) = OR_ASSIGN; ;}
15578     break;
15579
15580   case 467:
15581
15582 /* Line 1464 of yacc.c  */
15583 #line 1693 "grammar.y"
15584     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15585     break;
15586
15587   case 468:
15588
15589 /* Line 1464 of yacc.c  */
15590 #line 1694 "grammar.y"
15591     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
15592     break;
15593
15594   case 469:
15595
15596 /* Line 1464 of yacc.c  */
15597 #line 1695 "grammar.y"
15598     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
15599     break;
15600
15601   case 471:
15602
15603 /* Line 1464 of yacc.c  */
15604 #line 1700 "grammar.y"
15605     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15606     break;
15607
15608   case 472:
15609
15610 /* Line 1464 of yacc.c  */
15611 #line 1701 "grammar.y"
15612     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
15613     break;
15614
15615   case 473:
15616
15617 /* Line 1464 of yacc.c  */
15618 #line 1702 "grammar.y"
15619     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
15620     break;
15621
15622   case 475:
15623
15624 /* Line 1464 of yacc.c  */
15625 #line 1707 "grammar.y"
15626     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
15627     break;
15628
15629   case 477:
15630
15631 /* Line 1464 of yacc.c  */
15632 #line 1709 "grammar.y"
15633     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15634     break;
15635
15636   case 478:
15637
15638 /* Line 1464 of yacc.c  */
15639 #line 1711 "grammar.y"
15640     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15641     break;
15642
15643   case 479:
15644
15645 /* Line 1464 of yacc.c  */
15646 #line 1712 "grammar.y"
15647     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15648     break;
15649
15650   case 480:
15651
15652 /* Line 1464 of yacc.c  */
15653 #line 1714 "grammar.y"
15654     { (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++;;}
15655     break;
15656
15657   case 481:
15658
15659 /* Line 1464 of yacc.c  */
15660 #line 1715 "grammar.y"
15661     { (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++;;}
15662     break;
15663
15664   case 482:
15665
15666 /* Line 1464 of yacc.c  */
15667 #line 1716 "grammar.y"
15668     { (yyval.exp) = MkExpCall((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (5)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (5)]).end;(yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
15669     break;
15670
15671   case 483:
15672
15673 /* Line 1464 of yacc.c  */
15674 #line 1717 "grammar.y"
15675     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList() ); (yyloc).end = yylloc.start; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = yylloc.start; /*@2.end; $$.call.argLoc.end.charPos++;*/ ;}
15676     break;
15677
15678   case 484:
15679
15680 /* Line 1464 of yacc.c  */
15681 #line 1718 "grammar.y"
15682     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15683     break;
15684
15685   case 485:
15686
15687 /* Line 1464 of yacc.c  */
15688 #line 1720 "grammar.y"
15689     { (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++;;}
15690     break;
15691
15692   case 486:
15693
15694 /* Line 1464 of yacc.c  */
15695 #line 1721 "grammar.y"
15696     { (yyval.exp) = MkExpCall((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (5)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (5)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
15697     break;
15698
15699   case 487:
15700
15701 /* Line 1464 of yacc.c  */
15702 #line 1722 "grammar.y"
15703     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList() ); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(2) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
15704     break;
15705
15706   case 488:
15707
15708 /* Line 1464 of yacc.c  */
15709 #line 1723 "grammar.y"
15710     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15711     break;
15712
15713   case 489:
15714
15715 /* Line 1464 of yacc.c  */
15716 #line 1727 "grammar.y"
15717     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); ;}
15718     break;
15719
15720   case 491:
15721
15722 /* Line 1464 of yacc.c  */
15723 #line 1729 "grammar.y"
15724     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15725     break;
15726
15727   case 492:
15728
15729 /* Line 1464 of yacc.c  */
15730 #line 1731 "grammar.y"
15731     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15732     break;
15733
15734   case 493:
15735
15736 /* Line 1464 of yacc.c  */
15737 #line 1732 "grammar.y"
15738     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15739     break;
15740
15741   case 494:
15742
15743 /* Line 1464 of yacc.c  */
15744 #line 1734 "grammar.y"
15745     { (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++;;}
15746     break;
15747
15748   case 495:
15749
15750 /* Line 1464 of yacc.c  */
15751 #line 1735 "grammar.y"
15752     { (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++;;}
15753     break;
15754
15755   case 496:
15756
15757 /* Line 1464 of yacc.c  */
15758 #line 1736 "grammar.y"
15759     { (yyval.exp) = MkExpCall((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (5)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (5)]).end;(yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
15760     break;
15761
15762   case 497:
15763
15764 /* Line 1464 of yacc.c  */
15765 #line 1737 "grammar.y"
15766     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList() ); (yyloc).end = yylloc.start; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = yylloc.start; /*@2.end; $$.call.argLoc.end.charPos++;*/ ;}
15767     break;
15768
15769   case 498:
15770
15771 /* Line 1464 of yacc.c  */
15772 #line 1738 "grammar.y"
15773     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15774     break;
15775
15776   case 499:
15777
15778 /* Line 1464 of yacc.c  */
15779 #line 1740 "grammar.y"
15780     { (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++;;}
15781     break;
15782
15783   case 500:
15784
15785 /* Line 1464 of yacc.c  */
15786 #line 1741 "grammar.y"
15787     { (yyval.exp) = MkExpCall((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (5)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (5)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
15788     break;
15789
15790   case 501:
15791
15792 /* Line 1464 of yacc.c  */
15793 #line 1742 "grammar.y"
15794     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList() ); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(2) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
15795     break;
15796
15797   case 502:
15798
15799 /* Line 1464 of yacc.c  */
15800 #line 1743 "grammar.y"
15801     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
15802     break;
15803
15804   case 503:
15805
15806 /* Line 1464 of yacc.c  */
15807 #line 1747 "grammar.y"
15808     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15809     break;
15810
15811   case 504:
15812
15813 /* Line 1464 of yacc.c  */
15814 #line 1748 "grammar.y"
15815     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15816     break;
15817
15818   case 505:
15819
15820 /* Line 1464 of yacc.c  */
15821 #line 1749 "grammar.y"
15822     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15823     break;
15824
15825   case 506:
15826
15827 /* Line 1464 of yacc.c  */
15828 #line 1750 "grammar.y"
15829     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15830     break;
15831
15832   case 507:
15833
15834 /* Line 1464 of yacc.c  */
15835 #line 1751 "grammar.y"
15836     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15837     break;
15838
15839   case 508:
15840
15841 /* Line 1464 of yacc.c  */
15842 #line 1752 "grammar.y"
15843     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15844     break;
15845
15846   case 509:
15847
15848 /* Line 1464 of yacc.c  */
15849 #line 1753 "grammar.y"
15850     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
15851     break;
15852
15853   case 510:
15854
15855 /* Line 1464 of yacc.c  */
15856 #line 1754 "grammar.y"
15857     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
15858     break;
15859
15860   case 511:
15861
15862 /* Line 1464 of yacc.c  */
15863 #line 1755 "grammar.y"
15864     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
15865     break;
15866
15867   case 517:
15868
15869 /* Line 1464 of yacc.c  */
15870 #line 1771 "grammar.y"
15871     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15872     break;
15873
15874   case 519:
15875
15876 /* Line 1464 of yacc.c  */
15877 #line 1776 "grammar.y"
15878     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15879     break;
15880
15881   case 520:
15882
15883 /* Line 1464 of yacc.c  */
15884 #line 1777 "grammar.y"
15885     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15886     break;
15887
15888   case 521:
15889
15890 /* Line 1464 of yacc.c  */
15891 #line 1778 "grammar.y"
15892     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15893     break;
15894
15895   case 522:
15896
15897 /* Line 1464 of yacc.c  */
15898 #line 1779 "grammar.y"
15899     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15900     break;
15901
15902   case 523:
15903
15904 /* Line 1464 of yacc.c  */
15905 #line 1780 "grammar.y"
15906     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15907     break;
15908
15909   case 524:
15910
15911 /* Line 1464 of yacc.c  */
15912 #line 1781 "grammar.y"
15913     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15914     break;
15915
15916   case 526:
15917
15918 /* Line 1464 of yacc.c  */
15919 #line 1786 "grammar.y"
15920     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15921     break;
15922
15923   case 527:
15924
15925 /* Line 1464 of yacc.c  */
15926 #line 1787 "grammar.y"
15927     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', null); (yyval.exp).loc = (yyloc); ;}
15928     break;
15929
15930   case 528:
15931
15932 /* Line 1464 of yacc.c  */
15933 #line 1788 "grammar.y"
15934     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15935     break;
15936
15937   case 529:
15938
15939 /* Line 1464 of yacc.c  */
15940 #line 1789 "grammar.y"
15941     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', null); (yyval.exp).loc = (yyloc); ;}
15942     break;
15943
15944   case 530:
15945
15946 /* Line 1464 of yacc.c  */
15947 #line 1790 "grammar.y"
15948     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15949     break;
15950
15951   case 531:
15952
15953 /* Line 1464 of yacc.c  */
15954 #line 1791 "grammar.y"
15955     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', null); (yyval.exp).loc = (yyloc); ;}
15956     break;
15957
15958   case 532:
15959
15960 /* Line 1464 of yacc.c  */
15961 #line 1792 "grammar.y"
15962     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15963     break;
15964
15965   case 533:
15966
15967 /* Line 1464 of yacc.c  */
15968 #line 1793 "grammar.y"
15969     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', null); (yyval.exp).loc = (yyloc); ;}
15970     break;
15971
15972   case 535:
15973
15974 /* Line 1464 of yacc.c  */
15975 #line 1798 "grammar.y"
15976     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15977     break;
15978
15979   case 536:
15980
15981 /* Line 1464 of yacc.c  */
15982 #line 1799 "grammar.y"
15983     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15984     break;
15985
15986   case 537:
15987
15988 /* Line 1464 of yacc.c  */
15989 #line 1800 "grammar.y"
15990     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15991     break;
15992
15993   case 538:
15994
15995 /* Line 1464 of yacc.c  */
15996 #line 1801 "grammar.y"
15997     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15998     break;
15999
16000   case 540:
16001
16002 /* Line 1464 of yacc.c  */
16003 #line 1807 "grammar.y"
16004     {
16005       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16006       {
16007          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16008          {
16009             char name[1024];
16010             strcpy(name, "::");
16011             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16012             _DeclClass(0, name);
16013          }
16014          else
16015             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
16016
16017          // printf("Declaring Class %s\n", $1.identifier.string);
16018          skipErrors = false;
16019
16020          FreeExpression((yyvsp[(1) - (2)].exp));
16021          
16022          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start); 
16023          resetScannerPos(&(yylsp[(1) - (2)]).start);
16024          yyclearin;
16025
16026          YYPOPSTACK(1);
16027          yystate = *yyssp;
16028          YY_STACK_PRINT (yyss, yyssp);
16029
16030          YYPOPSTACK(1);
16031          yystate = *yyssp;
16032          YY_STACK_PRINT (yyss, yyssp);
16033 /*         
16034          YYPOPSTACK(1);
16035          yystate = *yyssp;
16036          YY_STACK_PRINT (yyss, yyssp);
16037
16038          YYPOPSTACK(1);
16039          yystate = *yyssp;
16040          YY_STACK_PRINT (yyss, yyssp);
16041 */
16042          yyerrok;
16043
16044          goto yysetstate;
16045       }
16046       else
16047       {
16048          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16049          (yyval.exp).loc = (yyloc);
16050       } 
16051       skipErrors = false;
16052    ;}
16053     break;
16054
16055   case 541:
16056
16057 /* Line 1464 of yacc.c  */
16058 #line 1856 "grammar.y"
16059     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16060     break;
16061
16062   case 542:
16063
16064 /* Line 1464 of yacc.c  */
16065 #line 1857 "grammar.y"
16066     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16067     break;
16068
16069   case 543:
16070
16071 /* Line 1464 of yacc.c  */
16072 #line 1858 "grammar.y"
16073     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16074     break;
16075
16076   case 544:
16077
16078 /* Line 1464 of yacc.c  */
16079 #line 1859 "grammar.y"
16080     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16081     break;
16082
16083   case 545:
16084
16085 /* Line 1464 of yacc.c  */
16086 #line 1860 "grammar.y"
16087     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16088     break;
16089
16090   case 546:
16091
16092 /* Line 1464 of yacc.c  */
16093 #line 1861 "grammar.y"
16094     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16095     break;
16096
16097   case 547:
16098
16099 /* Line 1464 of yacc.c  */
16100 #line 1862 "grammar.y"
16101     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16102     break;
16103
16104   case 549:
16105
16106 /* Line 1464 of yacc.c  */
16107 #line 1867 "grammar.y"
16108     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16109     break;
16110
16111   case 550:
16112
16113 /* Line 1464 of yacc.c  */
16114 #line 1868 "grammar.y"
16115     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16116     break;
16117
16118   case 551:
16119
16120 /* Line 1464 of yacc.c  */
16121 #line 1869 "grammar.y"
16122     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16123     break;
16124
16125   case 552:
16126
16127 /* Line 1464 of yacc.c  */
16128 #line 1870 "grammar.y"
16129     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16130     break;
16131
16132   case 553:
16133
16134 /* Line 1464 of yacc.c  */
16135 #line 1872 "grammar.y"
16136     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, MkExpDummy()); (yyval.exp).loc = (yyloc); ;}
16137     break;
16138
16139   case 554:
16140
16141 /* Line 1464 of yacc.c  */
16142 #line 1873 "grammar.y"
16143     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, MkExpDummy()); (yyval.exp).loc = (yyloc); ;}
16144     break;
16145
16146   case 555:
16147
16148 /* Line 1464 of yacc.c  */
16149 #line 1874 "grammar.y"
16150     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, MkExpDummy()); (yyval.exp).loc = (yyloc); ;}
16151     break;
16152
16153   case 556:
16154
16155 /* Line 1464 of yacc.c  */
16156 #line 1875 "grammar.y"
16157     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, MkExpDummy()); (yyval.exp).loc = (yyloc); ;}
16158     break;
16159
16160   case 557:
16161
16162 /* Line 1464 of yacc.c  */
16163 #line 1877 "grammar.y"
16164     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16165     break;
16166
16167   case 558:
16168
16169 /* Line 1464 of yacc.c  */
16170 #line 1878 "grammar.y"
16171     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16172     break;
16173
16174   case 559:
16175
16176 /* Line 1464 of yacc.c  */
16177 #line 1879 "grammar.y"
16178     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16179     break;
16180
16181   case 560:
16182
16183 /* Line 1464 of yacc.c  */
16184 #line 1880 "grammar.y"
16185     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16186     break;
16187
16188   case 562:
16189
16190 /* Line 1464 of yacc.c  */
16191 #line 1885 "grammar.y"
16192     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16193     break;
16194
16195   case 563:
16196
16197 /* Line 1464 of yacc.c  */
16198 #line 1886 "grammar.y"
16199     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16200     break;
16201
16202   case 564:
16203
16204 /* Line 1464 of yacc.c  */
16205 #line 1888 "grammar.y"
16206     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16207     break;
16208
16209   case 565:
16210
16211 /* Line 1464 of yacc.c  */
16212 #line 1889 "grammar.y"
16213     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16214     break;
16215
16216   case 567:
16217
16218 /* Line 1464 of yacc.c  */
16219 #line 1894 "grammar.y"
16220     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16221     break;
16222
16223   case 568:
16224
16225 /* Line 1464 of yacc.c  */
16226 #line 1895 "grammar.y"
16227     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16228     break;
16229
16230   case 569:
16231
16232 /* Line 1464 of yacc.c  */
16233 #line 1897 "grammar.y"
16234     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16235     break;
16236
16237   case 570:
16238
16239 /* Line 1464 of yacc.c  */
16240 #line 1898 "grammar.y"
16241     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16242     break;
16243
16244   case 572:
16245
16246 /* Line 1464 of yacc.c  */
16247 #line 1903 "grammar.y"
16248     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16249     break;
16250
16251   case 573:
16252
16253 /* Line 1464 of yacc.c  */
16254 #line 1904 "grammar.y"
16255     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16256     break;
16257
16258   case 574:
16259
16260 /* Line 1464 of yacc.c  */
16261 #line 1906 "grammar.y"
16262     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16263     break;
16264
16265   case 575:
16266
16267 /* Line 1464 of yacc.c  */
16268 #line 1907 "grammar.y"
16269     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16270     break;
16271
16272   case 577:
16273
16274 /* Line 1464 of yacc.c  */
16275 #line 1912 "grammar.y"
16276     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16277     break;
16278
16279   case 578:
16280
16281 /* Line 1464 of yacc.c  */
16282 #line 1913 "grammar.y"
16283     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16284     break;
16285
16286   case 580:
16287
16288 /* Line 1464 of yacc.c  */
16289 #line 1918 "grammar.y"
16290     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16291     break;
16292
16293   case 581:
16294
16295 /* Line 1464 of yacc.c  */
16296 #line 1919 "grammar.y"
16297     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16298     break;
16299
16300   case 583:
16301
16302 /* Line 1464 of yacc.c  */
16303 #line 1924 "grammar.y"
16304     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16305     break;
16306
16307   case 584:
16308
16309 /* Line 1464 of yacc.c  */
16310 #line 1925 "grammar.y"
16311     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16312     break;
16313
16314   case 585:
16315
16316 /* Line 1464 of yacc.c  */
16317 #line 1926 "grammar.y"
16318     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16319     break;
16320
16321   case 586:
16322
16323 /* Line 1464 of yacc.c  */
16324 #line 1927 "grammar.y"
16325     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16326     break;
16327
16328   case 587:
16329
16330 /* Line 1464 of yacc.c  */
16331 #line 1928 "grammar.y"
16332     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16333     break;
16334
16335   case 588:
16336
16337 /* Line 1464 of yacc.c  */
16338 #line 1929 "grammar.y"
16339     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16340     break;
16341
16342   case 589:
16343
16344 /* Line 1464 of yacc.c  */
16345 #line 1930 "grammar.y"
16346     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16347     break;
16348
16349   case 590:
16350
16351 /* Line 1464 of yacc.c  */
16352 #line 1931 "grammar.y"
16353     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16354     break;
16355
16356   case 591:
16357
16358 /* Line 1464 of yacc.c  */
16359 #line 1933 "grammar.y"
16360     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16361     break;
16362
16363   case 592:
16364
16365 /* Line 1464 of yacc.c  */
16366 #line 1934 "grammar.y"
16367     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16368     break;
16369
16370   case 593:
16371
16372 /* Line 1464 of yacc.c  */
16373 #line 1935 "grammar.y"
16374     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16375     break;
16376
16377   case 594:
16378
16379 /* Line 1464 of yacc.c  */
16380 #line 1936 "grammar.y"
16381     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16382     break;
16383
16384   case 595:
16385
16386 /* Line 1464 of yacc.c  */
16387 #line 1937 "grammar.y"
16388     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16389     break;
16390
16391   case 596:
16392
16393 /* Line 1464 of yacc.c  */
16394 #line 1938 "grammar.y"
16395     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16396     break;
16397
16398   case 597:
16399
16400 /* Line 1464 of yacc.c  */
16401 #line 1939 "grammar.y"
16402     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16403     break;
16404
16405   case 598:
16406
16407 /* Line 1464 of yacc.c  */
16408 #line 1940 "grammar.y"
16409     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16410     break;
16411
16412   case 599:
16413
16414 /* Line 1464 of yacc.c  */
16415 #line 1942 "grammar.y"
16416     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16417     break;
16418
16419   case 600:
16420
16421 /* Line 1464 of yacc.c  */
16422 #line 1943 "grammar.y"
16423     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16424     break;
16425
16426   case 601:
16427
16428 /* Line 1464 of yacc.c  */
16429 #line 1944 "grammar.y"
16430     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16431     break;
16432
16433   case 602:
16434
16435 /* Line 1464 of yacc.c  */
16436 #line 1945 "grammar.y"
16437     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16438     break;
16439
16440   case 603:
16441
16442 /* Line 1464 of yacc.c  */
16443 #line 1947 "grammar.y"
16444     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16445     break;
16446
16447   case 604:
16448
16449 /* Line 1464 of yacc.c  */
16450 #line 1948 "grammar.y"
16451     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16452     break;
16453
16454   case 605:
16455
16456 /* Line 1464 of yacc.c  */
16457 #line 1949 "grammar.y"
16458     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16459     break;
16460
16461   case 606:
16462
16463 /* Line 1464 of yacc.c  */
16464 #line 1950 "grammar.y"
16465     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16466     break;
16467
16468   case 607:
16469
16470 /* Line 1464 of yacc.c  */
16471 #line 1953 "grammar.y"
16472     { 
16473          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); 
16474          (yyval.exp).loc = (yyloc); 
16475          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); 
16476          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]); 
16477       ;}
16478     break;
16479
16480   case 608:
16481
16482 /* Line 1464 of yacc.c  */
16483 #line 1960 "grammar.y"
16484     {
16485          (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)]);
16486       ;}
16487     break;
16488
16489   case 609:
16490
16491 /* Line 1464 of yacc.c  */
16492 #line 1964 "grammar.y"
16493     {
16494          (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)]);
16495       ;}
16496     break;
16497
16498   case 610:
16499
16500 /* Line 1464 of yacc.c  */
16501 #line 1968 "grammar.y"
16502     {
16503          (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)]);
16504       ;}
16505     break;
16506
16507   case 612:
16508
16509 /* Line 1464 of yacc.c  */
16510 #line 1975 "grammar.y"
16511     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16512     break;
16513
16514   case 613:
16515
16516 /* Line 1464 of yacc.c  */
16517 #line 1976 "grammar.y"
16518     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).op.exp2.loc = (yylsp[(2) - (3)]); ;}
16519     break;
16520
16521   case 614:
16522
16523 /* Line 1464 of yacc.c  */
16524 #line 1977 "grammar.y"
16525     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16526     break;
16527
16528   case 615:
16529
16530 /* Line 1464 of yacc.c  */
16531 #line 1978 "grammar.y"
16532     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).op.exp2.loc = (yylsp[(2) - (3)]); ;}
16533     break;
16534
16535   case 616:
16536
16537 /* Line 1464 of yacc.c  */
16538 #line 1980 "grammar.y"
16539     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16540     break;
16541
16542   case 617:
16543
16544 /* Line 1464 of yacc.c  */
16545 #line 1981 "grammar.y"
16546     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16547     break;
16548
16549   case 618:
16550
16551 /* Line 1464 of yacc.c  */
16552 #line 1985 "grammar.y"
16553     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16554     break;
16555
16556   case 619:
16557
16558 /* Line 1464 of yacc.c  */
16559 #line 1986 "grammar.y"
16560     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
16561     break;
16562
16563   case 620:
16564
16565 /* Line 1464 of yacc.c  */
16566 #line 1987 "grammar.y"
16567     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16568     break;
16569
16570   case 621:
16571
16572 /* Line 1464 of yacc.c  */
16573 #line 1988 "grammar.y"
16574     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16575     break;
16576
16577   case 625:
16578
16579 /* Line 1464 of yacc.c  */
16580 #line 1992 "grammar.y"
16581     { FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16582     break;
16583
16584   case 626:
16585
16586 /* Line 1464 of yacc.c  */
16587 #line 1993 "grammar.y"
16588     { FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16589     break;
16590
16591   case 627:
16592
16593 /* Line 1464 of yacc.c  */
16594 #line 1994 "grammar.y"
16595     { FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
16596     break;
16597
16598   case 628:
16599
16600 /* Line 1464 of yacc.c  */
16601 #line 1998 "grammar.y"
16602     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16603     break;
16604
16605   case 629:
16606
16607 /* Line 1464 of yacc.c  */
16608 #line 1999 "grammar.y"
16609     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
16610     break;
16611
16612   case 630:
16613
16614 /* Line 1464 of yacc.c  */
16615 #line 2000 "grammar.y"
16616     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16617     break;
16618
16619   case 631:
16620
16621 /* Line 1464 of yacc.c  */
16622 #line 2001 "grammar.y"
16623     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16624     break;
16625
16626   case 634:
16627
16628 /* Line 1464 of yacc.c  */
16629 #line 2011 "grammar.y"
16630     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
16631     break;
16632
16633   case 635:
16634
16635 /* Line 1464 of yacc.c  */
16636 #line 2012 "grammar.y"
16637     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
16638     break;
16639
16640   case 636:
16641
16642 /* Line 1464 of yacc.c  */
16643 #line 2013 "grammar.y"
16644     { (yyval.specifier) = MkSpecifier(STATIC); ;}
16645     break;
16646
16647   case 637:
16648
16649 /* Line 1464 of yacc.c  */
16650 #line 2014 "grammar.y"
16651     { (yyval.specifier) = MkSpecifier(AUTO); ;}
16652     break;
16653
16654   case 638:
16655
16656 /* Line 1464 of yacc.c  */
16657 #line 2015 "grammar.y"
16658     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
16659     break;
16660
16661   case 639:
16662
16663 /* Line 1464 of yacc.c  */
16664 #line 2019 "grammar.y"
16665     { (yyval.specifier) = MkSpecifier(TYPEDEF); declMode = defaultAccess; ;}
16666     break;
16667
16668   case 640:
16669
16670 /* Line 1464 of yacc.c  */
16671 #line 2020 "grammar.y"
16672     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
16673     break;
16674
16675   case 641:
16676
16677 /* Line 1464 of yacc.c  */
16678 #line 2021 "grammar.y"
16679     { (yyval.specifier) = MkSpecifier(STATIC); declMode = staticAccess; ;}
16680     break;
16681
16682   case 642:
16683
16684 /* Line 1464 of yacc.c  */
16685 #line 2022 "grammar.y"
16686     { (yyval.specifier) = MkSpecifier(AUTO); ;}
16687     break;
16688
16689   case 643:
16690
16691 /* Line 1464 of yacc.c  */
16692 #line 2023 "grammar.y"
16693     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
16694     break;
16695
16696   case 644:
16697
16698 /* Line 1464 of yacc.c  */
16699 #line 2027 "grammar.y"
16700     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
16701     break;
16702
16703   case 645:
16704
16705 /* Line 1464 of yacc.c  */
16706 #line 2028 "grammar.y"
16707     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
16708     break;
16709
16710   case 646:
16711
16712 /* Line 1464 of yacc.c  */
16713 #line 2029 "grammar.y"
16714     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
16715     break;
16716
16717   case 647:
16718
16719 /* Line 1464 of yacc.c  */
16720 #line 2033 "grammar.y"
16721     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
16722     break;
16723
16724   case 648:
16725
16726 /* Line 1464 of yacc.c  */
16727 #line 2034 "grammar.y"
16728     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
16729     break;
16730
16731   case 650:
16732
16733 /* Line 1464 of yacc.c  */
16734 #line 2039 "grammar.y"
16735     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
16736     break;
16737
16738   case 651:
16739
16740 /* Line 1464 of yacc.c  */
16741 #line 2043 "grammar.y"
16742     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
16743     break;
16744
16745   case 652:
16746
16747 /* Line 1464 of yacc.c  */
16748 #line 2044 "grammar.y"
16749     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
16750     break;
16751
16752   case 653:
16753
16754 /* Line 1464 of yacc.c  */
16755 #line 2048 "grammar.y"
16756     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16757     break;
16758
16759   case 654:
16760
16761 /* Line 1464 of yacc.c  */
16762 #line 2049 "grammar.y"
16763     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16764     break;
16765
16766   case 655:
16767
16768 /* Line 1464 of yacc.c  */
16769 #line 2050 "grammar.y"
16770     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16771     break;
16772
16773   case 656:
16774
16775 /* Line 1464 of yacc.c  */
16776 #line 2054 "grammar.y"
16777     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16778     break;
16779
16780   case 657:
16781
16782 /* Line 1464 of yacc.c  */
16783 #line 2055 "grammar.y"
16784     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16785     break;
16786
16787   case 658:
16788
16789 /* Line 1464 of yacc.c  */
16790 #line 2057 "grammar.y"
16791     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16792     break;
16793
16794   case 659:
16795
16796 /* Line 1464 of yacc.c  */
16797 #line 2058 "grammar.y"
16798     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16799     break;
16800
16801   case 660:
16802
16803 /* Line 1464 of yacc.c  */
16804 #line 2059 "grammar.y"
16805     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16806     break;
16807
16808   case 661:
16809
16810 /* Line 1464 of yacc.c  */
16811 #line 2060 "grammar.y"
16812     { (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 ;}
16813     break;
16814
16815   case 662:
16816
16817 /* Line 1464 of yacc.c  */
16818 #line 2061 "grammar.y"
16819     { (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 ;}
16820     break;
16821
16822   case 663:
16823
16824 /* Line 1464 of yacc.c  */
16825 #line 2063 "grammar.y"
16826     { (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 ;}
16827     break;
16828
16829   case 664:
16830
16831 /* Line 1464 of yacc.c  */
16832 #line 2064 "grammar.y"
16833     { (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 ;}
16834     break;
16835
16836   case 665:
16837
16838 /* Line 1464 of yacc.c  */
16839 #line 2065 "grammar.y"
16840     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
16841     break;
16842
16843   case 666:
16844
16845 /* Line 1464 of yacc.c  */
16846 #line 2066 "grammar.y"
16847     { (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 ;}
16848     break;
16849
16850   case 667:
16851
16852 /* Line 1464 of yacc.c  */
16853 #line 2067 "grammar.y"
16854     { (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 ;}
16855     break;
16856
16857   case 668:
16858
16859 /* Line 1464 of yacc.c  */
16860 #line 2071 "grammar.y"
16861     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
16862     break;
16863
16864   case 669:
16865
16866 /* Line 1464 of yacc.c  */
16867 #line 2072 "grammar.y"
16868     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
16869     break;
16870
16871   case 670:
16872
16873 /* Line 1464 of yacc.c  */
16874 #line 2076 "grammar.y"
16875     { (yyval.specifier).loc = (yyloc); ;}
16876     break;
16877
16878   case 671:
16879
16880 /* Line 1464 of yacc.c  */
16881 #line 2077 "grammar.y"
16882     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16883     break;
16884
16885   case 672:
16886
16887 /* Line 1464 of yacc.c  */
16888 #line 2078 "grammar.y"
16889     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
16890     break;
16891
16892   case 673:
16893
16894 /* Line 1464 of yacc.c  */
16895 #line 2082 "grammar.y"
16896     { (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 ;}
16897     break;
16898
16899   case 674:
16900
16901 /* Line 1464 of yacc.c  */
16902 #line 2083 "grammar.y"
16903     { (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 ;}
16904     break;
16905
16906   case 675:
16907
16908 /* Line 1464 of yacc.c  */
16909 #line 2084 "grammar.y"
16910     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16911     break;
16912
16913   case 676:
16914
16915 /* Line 1464 of yacc.c  */
16916 #line 2085 "grammar.y"
16917     { (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 ;}
16918     break;
16919
16920   case 677:
16921
16922 /* Line 1464 of yacc.c  */
16923 #line 2086 "grammar.y"
16924     { (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 ;}
16925     break;
16926
16927   case 678:
16928
16929 /* Line 1464 of yacc.c  */
16930 #line 2087 "grammar.y"
16931     { (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 ;}
16932     break;
16933
16934   case 679:
16935
16936 /* Line 1464 of yacc.c  */
16937 #line 2088 "grammar.y"
16938     { (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 ;}
16939     break;
16940
16941   case 680:
16942
16943 /* Line 1464 of yacc.c  */
16944 #line 2089 "grammar.y"
16945     { (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 ;}
16946     break;
16947
16948   case 681:
16949
16950 /* Line 1464 of yacc.c  */
16951 #line 2090 "grammar.y"
16952     { (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 ;}
16953     break;
16954
16955   case 682:
16956
16957 /* Line 1464 of yacc.c  */
16958 #line 2092 "grammar.y"
16959     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16960     break;
16961
16962   case 683:
16963
16964 /* Line 1464 of yacc.c  */
16965 #line 2093 "grammar.y"
16966     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16967     break;
16968
16969   case 684:
16970
16971 /* Line 1464 of yacc.c  */
16972 #line 2095 "grammar.y"
16973     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16974     break;
16975
16976   case 685:
16977
16978 /* Line 1464 of yacc.c  */
16979 #line 2096 "grammar.y"
16980     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16981     break;
16982
16983   case 686:
16984
16985 /* Line 1464 of yacc.c  */
16986 #line 2097 "grammar.y"
16987     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
16988     break;
16989
16990   case 687:
16991
16992 /* Line 1464 of yacc.c  */
16993 #line 2098 "grammar.y"
16994     { (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 ;}
16995     break;
16996
16997   case 688:
16998
16999 /* Line 1464 of yacc.c  */
17000 #line 2099 "grammar.y"
17001     { (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 ;}
17002     break;
17003
17004   case 693:
17005
17006 /* Line 1464 of yacc.c  */
17007 #line 2113 "grammar.y"
17008     { (yyval.specifier) = MkSpecifierExtended(yytext); ;}
17009     break;
17010
17011   case 694:
17012
17013 /* Line 1464 of yacc.c  */
17014 #line 2114 "grammar.y"
17015     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); ;}
17016     break;
17017
17018   case 695:
17019
17020 /* Line 1464 of yacc.c  */
17021 #line 2118 "grammar.y"
17022     { (yyval.specifier) = MkSpecifier(CONST); ;}
17023     break;
17024
17025   case 696:
17026
17027 /* Line 1464 of yacc.c  */
17028 #line 2119 "grammar.y"
17029     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17030     break;
17031
17032   case 697:
17033
17034 /* Line 1464 of yacc.c  */
17035 #line 2120 "grammar.y"
17036     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17037     break;
17038
17039   case 698:
17040
17041 /* Line 1464 of yacc.c  */
17042 #line 2125 "grammar.y"
17043     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17044     break;
17045
17046   case 699:
17047
17048 /* Line 1464 of yacc.c  */
17049 #line 2126 "grammar.y"
17050     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17051     break;
17052
17053   case 700:
17054
17055 /* Line 1464 of yacc.c  */
17056 #line 2130 "grammar.y"
17057     { (yyval.specifier) = MkSpecifier(VOID); ;}
17058     break;
17059
17060   case 701:
17061
17062 /* Line 1464 of yacc.c  */
17063 #line 2131 "grammar.y"
17064     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17065     break;
17066
17067   case 702:
17068
17069 /* Line 1464 of yacc.c  */
17070 #line 2132 "grammar.y"
17071     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17072     break;
17073
17074   case 703:
17075
17076 /* Line 1464 of yacc.c  */
17077 #line 2133 "grammar.y"
17078     { (yyval.specifier) = MkSpecifier(INT); ;}
17079     break;
17080
17081   case 704:
17082
17083 /* Line 1464 of yacc.c  */
17084 #line 2134 "grammar.y"
17085     { (yyval.specifier) = MkSpecifier(UINT); ;}
17086     break;
17087
17088   case 705:
17089
17090 /* Line 1464 of yacc.c  */
17091 #line 2135 "grammar.y"
17092     { (yyval.specifier) = MkSpecifier(INT64); ;}
17093     break;
17094
17095   case 706:
17096
17097 /* Line 1464 of yacc.c  */
17098 #line 2136 "grammar.y"
17099     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17100     break;
17101
17102   case 707:
17103
17104 /* Line 1464 of yacc.c  */
17105 #line 2137 "grammar.y"
17106     { (yyval.specifier) = MkSpecifier(LONG); ;}
17107     break;
17108
17109   case 708:
17110
17111 /* Line 1464 of yacc.c  */
17112 #line 2138 "grammar.y"
17113     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17114     break;
17115
17116   case 709:
17117
17118 /* Line 1464 of yacc.c  */
17119 #line 2139 "grammar.y"
17120     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17121     break;
17122
17123   case 710:
17124
17125 /* Line 1464 of yacc.c  */
17126 #line 2140 "grammar.y"
17127     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17128     break;
17129
17130   case 711:
17131
17132 /* Line 1464 of yacc.c  */
17133 #line 2141 "grammar.y"
17134     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17135     break;
17136
17137   case 712:
17138
17139 /* Line 1464 of yacc.c  */
17140 #line 2142 "grammar.y"
17141     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17142     break;
17143
17144   case 716:
17145
17146 /* Line 1464 of yacc.c  */
17147 #line 2146 "grammar.y"
17148     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17149     break;
17150
17151   case 717:
17152
17153 /* Line 1464 of yacc.c  */
17154 #line 2147 "grammar.y"
17155     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17156     break;
17157
17158   case 718:
17159
17160 /* Line 1464 of yacc.c  */
17161 #line 2148 "grammar.y"
17162     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17163     break;
17164
17165   case 719:
17166
17167 /* Line 1464 of yacc.c  */
17168 #line 2149 "grammar.y"
17169     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17170     break;
17171
17172   case 720:
17173
17174 /* Line 1464 of yacc.c  */
17175 #line 2150 "grammar.y"
17176     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
17177     break;
17178
17179   case 721:
17180
17181 /* Line 1464 of yacc.c  */
17182 #line 2151 "grammar.y"
17183     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
17184     break;
17185
17186   case 722:
17187
17188 /* Line 1464 of yacc.c  */
17189 #line 2155 "grammar.y"
17190     { (yyval.specifier) = MkSpecifier(VOID); ;}
17191     break;
17192
17193   case 723:
17194
17195 /* Line 1464 of yacc.c  */
17196 #line 2156 "grammar.y"
17197     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17198     break;
17199
17200   case 724:
17201
17202 /* Line 1464 of yacc.c  */
17203 #line 2157 "grammar.y"
17204     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17205     break;
17206
17207   case 725:
17208
17209 /* Line 1464 of yacc.c  */
17210 #line 2158 "grammar.y"
17211     { (yyval.specifier) = MkSpecifier(INT); ;}
17212     break;
17213
17214   case 726:
17215
17216 /* Line 1464 of yacc.c  */
17217 #line 2159 "grammar.y"
17218     { (yyval.specifier) = MkSpecifier(UINT); ;}
17219     break;
17220
17221   case 727:
17222
17223 /* Line 1464 of yacc.c  */
17224 #line 2160 "grammar.y"
17225     { (yyval.specifier) = MkSpecifier(INT64); ;}
17226     break;
17227
17228   case 728:
17229
17230 /* Line 1464 of yacc.c  */
17231 #line 2161 "grammar.y"
17232     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17233     break;
17234
17235   case 729:
17236
17237 /* Line 1464 of yacc.c  */
17238 #line 2162 "grammar.y"
17239     { (yyval.specifier) = MkSpecifier(LONG); ;}
17240     break;
17241
17242   case 730:
17243
17244 /* Line 1464 of yacc.c  */
17245 #line 2163 "grammar.y"
17246     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17247     break;
17248
17249   case 731:
17250
17251 /* Line 1464 of yacc.c  */
17252 #line 2164 "grammar.y"
17253     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17254     break;
17255
17256   case 732:
17257
17258 /* Line 1464 of yacc.c  */
17259 #line 2165 "grammar.y"
17260     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17261     break;
17262
17263   case 733:
17264
17265 /* Line 1464 of yacc.c  */
17266 #line 2166 "grammar.y"
17267     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17268     break;
17269
17270   case 734:
17271
17272 /* Line 1464 of yacc.c  */
17273 #line 2167 "grammar.y"
17274     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17275     break;
17276
17277   case 738:
17278
17279 /* Line 1464 of yacc.c  */
17280 #line 2171 "grammar.y"
17281     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17282     break;
17283
17284   case 739:
17285
17286 /* Line 1464 of yacc.c  */
17287 #line 2172 "grammar.y"
17288     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17289     break;
17290
17291   case 740:
17292
17293 /* Line 1464 of yacc.c  */
17294 #line 2173 "grammar.y"
17295     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17296     break;
17297
17298   case 741:
17299
17300 /* Line 1464 of yacc.c  */
17301 #line 2174 "grammar.y"
17302     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17303     break;
17304
17305   case 742:
17306
17307 /* Line 1464 of yacc.c  */
17308 #line 2181 "grammar.y"
17309     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
17310     break;
17311
17312   case 743:
17313
17314 /* Line 1464 of yacc.c  */
17315 #line 2183 "grammar.y"
17316     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].string); (yyval.declarator).loc = (yyloc); ;}
17317     break;
17318
17319   case 744:
17320
17321 /* Line 1464 of yacc.c  */
17322 #line 2185 "grammar.y"
17323     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17324     break;
17325
17326   case 745:
17327
17328 /* Line 1464 of yacc.c  */
17329 #line 2187 "grammar.y"
17330     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17331     break;
17332
17333   case 746:
17334
17335 /* Line 1464 of yacc.c  */
17336 #line 2189 "grammar.y"
17337     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17338     break;
17339
17340   case 747:
17341
17342 /* Line 1464 of yacc.c  */
17343 #line 2191 "grammar.y"
17344     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
17345     break;
17346
17347   case 748:
17348
17349 /* Line 1464 of yacc.c  */
17350 #line 2193 "grammar.y"
17351     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
17352     break;
17353
17354   case 749:
17355
17356 /* Line 1464 of yacc.c  */
17357 #line 2195 "grammar.y"
17358     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17359     break;
17360
17361   case 750:
17362
17363 /* Line 1464 of yacc.c  */
17364 #line 2197 "grammar.y"
17365     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17366     break;
17367
17368   case 751:
17369
17370 /* Line 1464 of yacc.c  */
17371 #line 2199 "grammar.y"
17372     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
17373     break;
17374
17375   case 752:
17376
17377 /* Line 1464 of yacc.c  */
17378 #line 2203 "grammar.y"
17379     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
17380     break;
17381
17382   case 753:
17383
17384 /* Line 1464 of yacc.c  */
17385 #line 2204 "grammar.y"
17386     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
17387     break;
17388
17389   case 754:
17390
17391 /* Line 1464 of yacc.c  */
17392 #line 2209 "grammar.y"
17393     {
17394          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
17395          (yyval.specifier).addNameSpace = true;
17396          (yyval.specifier).ctx = PushContext();
17397       ;}
17398     break;
17399
17400   case 755:
17401
17402 /* Line 1464 of yacc.c  */
17403 #line 2215 "grammar.y"
17404     {
17405          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
17406          (yyval.specifier).ctx = PushContext();
17407          FreeSpecifier((yyvsp[(2) - (2)].specifier));
17408       ;}
17409     break;
17410
17411   case 756:
17412
17413 /* Line 1464 of yacc.c  */
17414 #line 2223 "grammar.y"
17415     { (yyval.specifier).loc = (yyloc); ;}
17416     break;
17417
17418   case 757:
17419
17420 /* Line 1464 of yacc.c  */
17421 #line 2224 "grammar.y"
17422     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17423     break;
17424
17425   case 758:
17426
17427 /* Line 1464 of yacc.c  */
17428 #line 2225 "grammar.y"
17429     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17430     break;
17431
17432   case 759:
17433
17434 /* Line 1464 of yacc.c  */
17435 #line 2229 "grammar.y"
17436     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
17437     break;
17438
17439   case 760:
17440
17441 /* Line 1464 of yacc.c  */
17442 #line 2230 "grammar.y"
17443     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
17444     break;
17445
17446   case 761:
17447
17448 /* Line 1464 of yacc.c  */
17449 #line 2231 "grammar.y"
17450     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17451     break;
17452
17453   case 762:
17454
17455 /* Line 1464 of yacc.c  */
17456 #line 2233 "grammar.y"
17457     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
17458     break;
17459
17460   case 763:
17461
17462 /* Line 1464 of yacc.c  */
17463 #line 2234 "grammar.y"
17464     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
17465     break;
17466
17467   case 764:
17468
17469 /* Line 1464 of yacc.c  */
17470 #line 2235 "grammar.y"
17471     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
17472     break;
17473
17474   case 765:
17475
17476 /* Line 1464 of yacc.c  */
17477 #line 2239 "grammar.y"
17478     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17479     break;
17480
17481   case 766:
17482
17483 /* Line 1464 of yacc.c  */
17484 #line 2244 "grammar.y"
17485     {
17486         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
17487         if(declMode)
17488         {
17489            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
17490         }
17491      ;}
17492     break;
17493
17494   case 767:
17495
17496 /* Line 1464 of yacc.c  */
17497 #line 2252 "grammar.y"
17498     {
17499       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
17500       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
17501       symbol.templateParams = (yyvsp[(3) - (4)].list);
17502    ;}
17503     break;
17504
17505   case 768:
17506
17507 /* Line 1464 of yacc.c  */
17508 #line 2261 "grammar.y"
17509     {
17510       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
17511       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
17512       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
17513    ;}
17514     break;
17515
17516   case 769:
17517
17518 /* Line 1464 of yacc.c  */
17519 #line 2269 "grammar.y"
17520     { (yyval.specifier).loc = (yyloc); ;}
17521     break;
17522
17523   case 770:
17524
17525 /* Line 1464 of yacc.c  */
17526 #line 2271 "grammar.y"
17527     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
17528     break;
17529
17530   case 771:
17531
17532 /* Line 1464 of yacc.c  */
17533 #line 2272 "grammar.y"
17534     { POP_DEFAULT_ACCESS PopContext(curContext); ;}
17535     break;
17536
17537   case 772:
17538
17539 /* Line 1464 of yacc.c  */
17540 #line 2273 "grammar.y"
17541     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
17542     break;
17543
17544   case 773:
17545
17546 /* Line 1464 of yacc.c  */
17547 #line 2278 "grammar.y"
17548     {
17549       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
17550       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
17551       POP_DEFAULT_ACCESS
17552       PopContext(curContext);
17553    ;}
17554     break;
17555
17556   case 774:
17557
17558 /* Line 1464 of yacc.c  */
17559 #line 2285 "grammar.y"
17560     {
17561       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
17562       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
17563       POP_DEFAULT_ACCESS
17564       PopContext(curContext);
17565    ;}
17566     break;
17567
17568   case 775:
17569
17570 /* Line 1464 of yacc.c  */
17571 #line 2292 "grammar.y"
17572     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
17573     break;
17574
17575   case 776:
17576
17577 /* Line 1464 of yacc.c  */
17578 #line 2295 "grammar.y"
17579     {
17580         PopContext(curContext);
17581         if(!declMode)
17582         {
17583            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
17584            (yyvsp[(1) - (3)].specifier).id = null;
17585            FreeSpecifier((yyvsp[(1) - (3)].specifier));
17586         }
17587         else
17588            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
17589         POP_DEFAULT_ACCESS
17590      ;}
17591     break;
17592
17593   case 777:
17594
17595 /* Line 1464 of yacc.c  */
17596 #line 2308 "grammar.y"
17597     {
17598         PopContext(curContext);
17599
17600         if(!declMode)
17601         {
17602            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
17603            (yyvsp[(1) - (3)].specifier).id = null;
17604            FreeSpecifier((yyvsp[(1) - (3)].specifier));
17605         }
17606         else
17607            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
17608         POP_DEFAULT_ACCESS
17609      ;}
17610     break;
17611
17612   case 778:
17613
17614 /* Line 1464 of yacc.c  */
17615 #line 2322 "grammar.y"
17616     { POP_DEFAULT_ACCESS PopContext(curContext); ;}
17617     break;
17618
17619   case 779:
17620
17621 /* Line 1464 of yacc.c  */
17622 #line 2325 "grammar.y"
17623     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
17624     break;
17625
17626   case 780:
17627
17628 /* Line 1464 of yacc.c  */
17629 #line 2327 "grammar.y"
17630     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
17631     break;
17632
17633   case 781:
17634
17635 /* Line 1464 of yacc.c  */
17636 #line 2329 "grammar.y"
17637     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
17638     break;
17639
17640   case 782:
17641
17642 /* Line 1464 of yacc.c  */
17643 #line 2333 "grammar.y"
17644     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17645     break;
17646
17647   case 783:
17648
17649 /* Line 1464 of yacc.c  */
17650 #line 2334 "grammar.y"
17651     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17652     break;
17653
17654   case 784:
17655
17656 /* Line 1464 of yacc.c  */
17657 #line 2338 "grammar.y"
17658     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17659     break;
17660
17661   case 785:
17662
17663 /* Line 1464 of yacc.c  */
17664 #line 2339 "grammar.y"
17665     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17666     break;
17667
17668   case 786:
17669
17670 /* Line 1464 of yacc.c  */
17671 #line 2340 "grammar.y"
17672     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17673     break;
17674
17675   case 787:
17676
17677 /* Line 1464 of yacc.c  */
17678 #line 2341 "grammar.y"
17679     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17680     break;
17681
17682   case 788:
17683
17684 /* Line 1464 of yacc.c  */
17685 #line 2342 "grammar.y"
17686     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17687     break;
17688
17689   case 789:
17690
17691 /* Line 1464 of yacc.c  */
17692 #line 2343 "grammar.y"
17693     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17694     break;
17695
17696   case 790:
17697
17698 /* Line 1464 of yacc.c  */
17699 #line 2344 "grammar.y"
17700     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17701     break;
17702
17703   case 791:
17704
17705 /* Line 1464 of yacc.c  */
17706 #line 2345 "grammar.y"
17707     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17708     break;
17709
17710   case 792:
17711
17712 /* Line 1464 of yacc.c  */
17713 #line 2349 "grammar.y"
17714     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17715     break;
17716
17717   case 793:
17718
17719 /* Line 1464 of yacc.c  */
17720 #line 2350 "grammar.y"
17721     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17722     break;
17723
17724   case 794:
17725
17726 /* Line 1464 of yacc.c  */
17727 #line 2351 "grammar.y"
17728     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17729     break;
17730
17731   case 795:
17732
17733 /* Line 1464 of yacc.c  */
17734 #line 2352 "grammar.y"
17735     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17736     break;
17737
17738   case 796:
17739
17740 /* Line 1464 of yacc.c  */
17741 #line 2353 "grammar.y"
17742     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17743     break;
17744
17745   case 797:
17746
17747 /* Line 1464 of yacc.c  */
17748 #line 2354 "grammar.y"
17749     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17750     break;
17751
17752   case 798:
17753
17754 /* Line 1464 of yacc.c  */
17755 #line 2355 "grammar.y"
17756     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17757     break;
17758
17759   case 799:
17760
17761 /* Line 1464 of yacc.c  */
17762 #line 2356 "grammar.y"
17763     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17764     break;
17765
17766   case 800:
17767
17768 /* Line 1464 of yacc.c  */
17769 #line 2357 "grammar.y"
17770     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17771     break;
17772
17773   case 801:
17774
17775 /* Line 1464 of yacc.c  */
17776 #line 2358 "grammar.y"
17777     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17778     break;
17779
17780   case 802:
17781
17782 /* Line 1464 of yacc.c  */
17783 #line 2362 "grammar.y"
17784     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17785     break;
17786
17787   case 803:
17788
17789 /* Line 1464 of yacc.c  */
17790 #line 2363 "grammar.y"
17791     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17792     break;
17793
17794   case 804:
17795
17796 /* Line 1464 of yacc.c  */
17797 #line 2364 "grammar.y"
17798     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17799     break;
17800
17801   case 805:
17802
17803 /* Line 1464 of yacc.c  */
17804 #line 2365 "grammar.y"
17805     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17806     break;
17807
17808   case 806:
17809
17810 /* Line 1464 of yacc.c  */
17811 #line 2366 "grammar.y"
17812     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17813     break;
17814
17815   case 807:
17816
17817 /* Line 1464 of yacc.c  */
17818 #line 2367 "grammar.y"
17819     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17820     break;
17821
17822   case 808:
17823
17824 /* Line 1464 of yacc.c  */
17825 #line 2368 "grammar.y"
17826     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17827     break;
17828
17829   case 809:
17830
17831 /* Line 1464 of yacc.c  */
17832 #line 2369 "grammar.y"
17833     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17834     break;
17835
17836   case 810:
17837
17838 /* Line 1464 of yacc.c  */
17839 #line 2370 "grammar.y"
17840     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17841     break;
17842
17843   case 811:
17844
17845 /* Line 1464 of yacc.c  */
17846 #line 2371 "grammar.y"
17847     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17848     break;
17849
17850   case 812:
17851
17852 /* Line 1464 of yacc.c  */
17853 #line 2375 "grammar.y"
17854     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17855     break;
17856
17857   case 813:
17858
17859 /* Line 1464 of yacc.c  */
17860 #line 2376 "grammar.y"
17861     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17862     break;
17863
17864   case 814:
17865
17866 /* Line 1464 of yacc.c  */
17867 #line 2377 "grammar.y"
17868     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17869     break;
17870
17871   case 815:
17872
17873 /* Line 1464 of yacc.c  */
17874 #line 2378 "grammar.y"
17875     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17876     break;
17877
17878   case 816:
17879
17880 /* Line 1464 of yacc.c  */
17881 #line 2379 "grammar.y"
17882     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17883     break;
17884
17885   case 817:
17886
17887 /* Line 1464 of yacc.c  */
17888 #line 2380 "grammar.y"
17889     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17890     break;
17891
17892   case 818:
17893
17894 /* Line 1464 of yacc.c  */
17895 #line 2381 "grammar.y"
17896     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17897     break;
17898
17899   case 819:
17900
17901 /* Line 1464 of yacc.c  */
17902 #line 2382 "grammar.y"
17903     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17904     break;
17905
17906   case 820:
17907
17908 /* Line 1464 of yacc.c  */
17909 #line 2383 "grammar.y"
17910     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17911     break;
17912
17913   case 821:
17914
17915 /* Line 1464 of yacc.c  */
17916 #line 2384 "grammar.y"
17917     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17918     break;
17919
17920   case 822:
17921
17922 /* Line 1464 of yacc.c  */
17923 #line 2385 "grammar.y"
17924     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17925     break;
17926
17927   case 823:
17928
17929 /* Line 1464 of yacc.c  */
17930 #line 2386 "grammar.y"
17931     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17932     break;
17933
17934   case 824:
17935
17936 /* Line 1464 of yacc.c  */
17937 #line 2390 "grammar.y"
17938     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17939     break;
17940
17941   case 825:
17942
17943 /* Line 1464 of yacc.c  */
17944 #line 2391 "grammar.y"
17945     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17946     break;
17947
17948   case 826:
17949
17950 /* Line 1464 of yacc.c  */
17951 #line 2392 "grammar.y"
17952     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17953     break;
17954
17955   case 827:
17956
17957 /* Line 1464 of yacc.c  */
17958 #line 2393 "grammar.y"
17959     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17960     break;
17961
17962   case 828:
17963
17964 /* Line 1464 of yacc.c  */
17965 #line 2394 "grammar.y"
17966     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17967     break;
17968
17969   case 829:
17970
17971 /* Line 1464 of yacc.c  */
17972 #line 2395 "grammar.y"
17973     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17974     break;
17975
17976   case 830:
17977
17978 /* Line 1464 of yacc.c  */
17979 #line 2396 "grammar.y"
17980     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17981     break;
17982
17983   case 831:
17984
17985 /* Line 1464 of yacc.c  */
17986 #line 2397 "grammar.y"
17987     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
17988     break;
17989
17990   case 832:
17991
17992 /* Line 1464 of yacc.c  */
17993 #line 2398 "grammar.y"
17994     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17995     break;
17996
17997   case 833:
17998
17999 /* Line 1464 of yacc.c  */
18000 #line 2399 "grammar.y"
18001     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18002     break;
18003
18004   case 834:
18005
18006 /* Line 1464 of yacc.c  */
18007 #line 2403 "grammar.y"
18008     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18009     break;
18010
18011   case 835:
18012
18013 /* Line 1464 of yacc.c  */
18014 #line 2404 "grammar.y"
18015     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18016     break;
18017
18018   case 836:
18019
18020 /* Line 1464 of yacc.c  */
18021 #line 2408 "grammar.y"
18022     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
18023     break;
18024
18025   case 837:
18026
18027 /* Line 1464 of yacc.c  */
18028 #line 2409 "grammar.y"
18029     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
18030     break;
18031
18032   case 838:
18033
18034 /* Line 1464 of yacc.c  */
18035 #line 2410 "grammar.y"
18036     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18037     break;
18038
18039   case 839:
18040
18041 /* Line 1464 of yacc.c  */
18042 #line 2411 "grammar.y"
18043     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18044     break;
18045
18046   case 840:
18047
18048 /* Line 1464 of yacc.c  */
18049 #line 2412 "grammar.y"
18050     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18051     break;
18052
18053   case 841:
18054
18055 /* Line 1464 of yacc.c  */
18056 #line 2413 "grammar.y"
18057     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18058     break;
18059
18060   case 842:
18061
18062 /* Line 1464 of yacc.c  */
18063 #line 2414 "grammar.y"
18064     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18065     break;
18066
18067   case 843:
18068
18069 /* Line 1464 of yacc.c  */
18070 #line 2415 "grammar.y"
18071     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18072     break;
18073
18074   case 844:
18075
18076 /* Line 1464 of yacc.c  */
18077 #line 2417 "grammar.y"
18078     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
18079     break;
18080
18081   case 845:
18082
18083 /* Line 1464 of yacc.c  */
18084 #line 2418 "grammar.y"
18085     { _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
18086     break;
18087
18088   case 846:
18089
18090 /* Line 1464 of yacc.c  */
18091 #line 2421 "grammar.y"
18092     {
18093          // if($1._class && !$1._class.name)
18094          if((yyvsp[(1) - (4)].id)._class)
18095          {
18096             char name[1024];
18097             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18098             strcat(name, "::");
18099             strcat(name, (yyvsp[(1) - (4)].id).string);
18100             _DeclClass(0, name);
18101          }
18102          else
18103             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18104
18105          (yyval.list) = MkList();
18106          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18107          FreeIdentifier((yyvsp[(1) - (4)].id));
18108       ;}
18109     break;
18110
18111   case 847:
18112
18113 /* Line 1464 of yacc.c  */
18114 #line 2439 "grammar.y"
18115     {
18116          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18117          {
18118             char name[1024];
18119             strcpy(name, "::");
18120             strcat(name, (yyvsp[(2) - (5)].id).string);
18121             _DeclClass(0, name);
18122          }
18123          else
18124             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18125          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18126          FreeIdentifier((yyvsp[(2) - (5)].id));
18127       ;}
18128     break;
18129
18130   case 849:
18131
18132 /* Line 1464 of yacc.c  */
18133 #line 2456 "grammar.y"
18134     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
18135     break;
18136
18137   case 850:
18138
18139 /* Line 1464 of yacc.c  */
18140 #line 2460 "grammar.y"
18141     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18142     break;
18143
18144   case 851:
18145
18146 /* Line 1464 of yacc.c  */
18147 #line 2461 "grammar.y"
18148     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18149     break;
18150
18151   case 852:
18152
18153 /* Line 1464 of yacc.c  */
18154 #line 2462 "grammar.y"
18155     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18156     break;
18157
18158   case 853:
18159
18160 /* Line 1464 of yacc.c  */
18161 #line 2463 "grammar.y"
18162     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18163     break;
18164
18165   case 854:
18166
18167 /* Line 1464 of yacc.c  */
18168 #line 2464 "grammar.y"
18169     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18170     break;
18171
18172   case 855:
18173
18174 /* Line 1464 of yacc.c  */
18175 #line 2465 "grammar.y"
18176     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18177     break;
18178
18179   case 856:
18180
18181 /* Line 1464 of yacc.c  */
18182 #line 2466 "grammar.y"
18183     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18184     break;
18185
18186   case 857:
18187
18188 /* Line 1464 of yacc.c  */
18189 #line 2467 "grammar.y"
18190     { ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18191     break;
18192
18193   case 858:
18194
18195 /* Line 1464 of yacc.c  */
18196 #line 2469 "grammar.y"
18197     {
18198          // if($1._class && !$1._class.name)
18199          if((yyvsp[(1) - (4)].id)._class)
18200          {
18201             char name[1024];
18202             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18203             strcat(name, "::");
18204             strcat(name, (yyvsp[(1) - (4)].id).string);
18205             _DeclClass(0, name);
18206          }
18207          else
18208             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18209
18210          (yyval.list) = MkList();
18211          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18212          FreeIdentifier((yyvsp[(1) - (4)].id));
18213       ;}
18214     break;
18215
18216   case 859:
18217
18218 /* Line 1464 of yacc.c  */
18219 #line 2487 "grammar.y"
18220     {
18221          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18222          {
18223             char name[1024];
18224             strcpy(name, "::");
18225             strcat(name, (yyvsp[(2) - (5)].id).string);
18226             _DeclClass(0, name);
18227          }
18228          else
18229             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18230          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18231          FreeIdentifier((yyvsp[(2) - (5)].id));
18232       ;}
18233     break;
18234
18235   case 860:
18236
18237 /* Line 1464 of yacc.c  */
18238 #line 2503 "grammar.y"
18239     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18240     break;
18241
18242   case 861:
18243
18244 /* Line 1464 of yacc.c  */
18245 #line 2504 "grammar.y"
18246     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18247     break;
18248
18249   case 862:
18250
18251 /* Line 1464 of yacc.c  */
18252 #line 2505 "grammar.y"
18253     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18254     break;
18255
18256   case 863:
18257
18258 /* Line 1464 of yacc.c  */
18259 #line 2506 "grammar.y"
18260     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18261     break;
18262
18263   case 864:
18264
18265 /* Line 1464 of yacc.c  */
18266 #line 2507 "grammar.y"
18267     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18268     break;
18269
18270   case 865:
18271
18272 /* Line 1464 of yacc.c  */
18273 #line 2508 "grammar.y"
18274     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18275     break;
18276
18277   case 866:
18278
18279 /* Line 1464 of yacc.c  */
18280 #line 2509 "grammar.y"
18281     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18282     break;
18283
18284   case 867:
18285
18286 /* Line 1464 of yacc.c  */
18287 #line 2510 "grammar.y"
18288     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18289     break;
18290
18291   case 868:
18292
18293 /* Line 1464 of yacc.c  */
18294 #line 2511 "grammar.y"
18295     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18296     break;
18297
18298   case 869:
18299
18300 /* Line 1464 of yacc.c  */
18301 #line 2512 "grammar.y"
18302     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18303     break;
18304
18305   case 870:
18306
18307 /* Line 1464 of yacc.c  */
18308 #line 2513 "grammar.y"
18309     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18310     break;
18311
18312   case 871:
18313
18314 /* Line 1464 of yacc.c  */
18315 #line 2514 "grammar.y"
18316     { ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18317     break;
18318
18319   case 872:
18320
18321 /* Line 1464 of yacc.c  */
18322 #line 2516 "grammar.y"
18323     {
18324          // if($1._class && !$1._class.name)
18325          if((yyvsp[(1) - (4)].id)._class)
18326          {
18327             char name[1024];
18328             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18329             strcat(name, "::");
18330             strcat(name, (yyvsp[(1) - (4)].id).string);
18331             _DeclClass(0, name);
18332          }
18333          else
18334             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18335
18336          (yyval.list) = MkList();
18337          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18338          FreeIdentifier((yyvsp[(1) - (4)].id));
18339       ;}
18340     break;
18341
18342   case 873:
18343
18344 /* Line 1464 of yacc.c  */
18345 #line 2534 "grammar.y"
18346     {
18347          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18348          {
18349             char name[1024];
18350             strcpy(name, "::");
18351             strcat(name, (yyvsp[(2) - (5)].id).string);
18352             _DeclClass(0, name);
18353          }
18354          else
18355             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18356          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18357          FreeIdentifier((yyvsp[(2) - (5)].id));
18358       ;}
18359     break;
18360
18361   case 874:
18362
18363 /* Line 1464 of yacc.c  */
18364 #line 2550 "grammar.y"
18365     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18366     break;
18367
18368   case 875:
18369
18370 /* Line 1464 of yacc.c  */
18371 #line 2551 "grammar.y"
18372     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18373     break;
18374
18375   case 876:
18376
18377 /* Line 1464 of yacc.c  */
18378 #line 2552 "grammar.y"
18379     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18380     break;
18381
18382   case 877:
18383
18384 /* Line 1464 of yacc.c  */
18385 #line 2553 "grammar.y"
18386     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18387     break;
18388
18389   case 878:
18390
18391 /* Line 1464 of yacc.c  */
18392 #line 2554 "grammar.y"
18393     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18394     break;
18395
18396   case 879:
18397
18398 /* Line 1464 of yacc.c  */
18399 #line 2555 "grammar.y"
18400     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18401     break;
18402
18403   case 880:
18404
18405 /* Line 1464 of yacc.c  */
18406 #line 2556 "grammar.y"
18407     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18408     break;
18409
18410   case 881:
18411
18412 /* Line 1464 of yacc.c  */
18413 #line 2557 "grammar.y"
18414     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18415     break;
18416
18417   case 882:
18418
18419 /* Line 1464 of yacc.c  */
18420 #line 2558 "grammar.y"
18421     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18422     break;
18423
18424   case 883:
18425
18426 /* Line 1464 of yacc.c  */
18427 #line 2559 "grammar.y"
18428     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18429     break;
18430
18431   case 884:
18432
18433 /* Line 1464 of yacc.c  */
18434 #line 2560 "grammar.y"
18435     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18436     break;
18437
18438   case 885:
18439
18440 /* Line 1464 of yacc.c  */
18441 #line 2561 "grammar.y"
18442     { ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18443     break;
18444
18445   case 886:
18446
18447 /* Line 1464 of yacc.c  */
18448 #line 2563 "grammar.y"
18449     {
18450          // if($1._class && !$1._class.name)
18451          if((yyvsp[(1) - (4)].id)._class)
18452          {
18453             char name[1024];
18454             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18455             strcat(name, "::");
18456             strcat(name, (yyvsp[(1) - (4)].id).string);
18457             _DeclClass(0, name);
18458          }
18459          else
18460             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18461
18462          (yyval.list) = MkList();
18463          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18464          FreeIdentifier((yyvsp[(1) - (4)].id));
18465       ;}
18466     break;
18467
18468   case 887:
18469
18470 /* Line 1464 of yacc.c  */
18471 #line 2581 "grammar.y"
18472     {
18473          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18474          {
18475             char name[1024];
18476             strcpy(name, "::");
18477             strcat(name, (yyvsp[(2) - (5)].id).string);
18478             _DeclClass(0, name);
18479          }
18480          else
18481             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18482          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18483          FreeIdentifier((yyvsp[(2) - (5)].id));
18484       ;}
18485     break;
18486
18487   case 888:
18488
18489 /* Line 1464 of yacc.c  */
18490 #line 2597 "grammar.y"
18491     { ListAdd((yyvsp[(1) - (3)].list), null); ;}
18492     break;
18493
18494   case 889:
18495
18496 /* Line 1464 of yacc.c  */
18497 #line 2598 "grammar.y"
18498     { ListAdd((yyvsp[(1) - (3)].list), null); ;}
18499     break;
18500
18501   case 890:
18502
18503 /* Line 1464 of yacc.c  */
18504 #line 2602 "grammar.y"
18505     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
18506     break;
18507
18508   case 891:
18509
18510 /* Line 1464 of yacc.c  */
18511 #line 2603 "grammar.y"
18512     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18513     break;
18514
18515   case 892:
18516
18517 /* Line 1464 of yacc.c  */
18518 #line 2604 "grammar.y"
18519     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18520     break;
18521
18522   case 893:
18523
18524 /* Line 1464 of yacc.c  */
18525 #line 2605 "grammar.y"
18526     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18527     break;
18528
18529   case 894:
18530
18531 /* Line 1464 of yacc.c  */
18532 #line 2606 "grammar.y"
18533     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
18534     break;
18535
18536   case 895:
18537
18538 /* Line 1464 of yacc.c  */
18539 #line 2610 "grammar.y"
18540     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
18541     break;
18542
18543   case 896:
18544
18545 /* Line 1464 of yacc.c  */
18546 #line 2611 "grammar.y"
18547     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
18548     break;
18549
18550   case 897:
18551
18552 /* Line 1464 of yacc.c  */
18553 #line 2612 "grammar.y"
18554     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
18555     break;
18556
18557   case 898:
18558
18559 /* Line 1464 of yacc.c  */
18560 #line 2613 "grammar.y"
18561     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
18562     break;
18563
18564   case 899:
18565
18566 /* Line 1464 of yacc.c  */
18567 #line 2614 "grammar.y"
18568     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
18569     break;
18570
18571   case 900:
18572
18573 /* Line 1464 of yacc.c  */
18574 #line 2615 "grammar.y"
18575     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
18576     break;
18577
18578   case 902:
18579
18580 /* Line 1464 of yacc.c  */
18581 #line 2623 "grammar.y"
18582     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
18583     break;
18584
18585   case 903:
18586
18587 /* Line 1464 of yacc.c  */
18588 #line 2624 "grammar.y"
18589     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
18590     break;
18591
18592   case 904:
18593
18594 /* Line 1464 of yacc.c  */
18595 #line 2625 "grammar.y"
18596     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
18597     break;
18598
18599   case 905:
18600
18601 /* Line 1464 of yacc.c  */
18602 #line 2626 "grammar.y"
18603     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
18604     break;
18605
18606   case 906:
18607
18608 /* Line 1464 of yacc.c  */
18609 #line 2627 "grammar.y"
18610     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
18611     break;
18612
18613   case 907:
18614
18615 /* Line 1464 of yacc.c  */
18616 #line 2633 "grammar.y"
18617     { 
18618          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
18619          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
18620          yyclearin;
18621          resetScannerPos(&(yylsp[(1) - (2)]).end);
18622          (yyloc).start = (yylsp[(1) - (2)]).start;
18623          (yyloc).end = (yylsp[(1) - (2)]).end;
18624       ;}
18625     break;
18626
18627   case 908:
18628
18629 /* Line 1464 of yacc.c  */
18630 #line 2642 "grammar.y"
18631     { 
18632          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); 
18633          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start); 
18634          yyclearin;
18635          resetScannerPos(&(yylsp[(1) - (2)]).end);
18636          (yyloc).start = (yylsp[(1) - (2)]).start;
18637          (yyloc).end = (yylsp[(1) - (2)]).end;
18638       ;}
18639     break;
18640
18641   case 909:
18642
18643 /* Line 1464 of yacc.c  */
18644 #line 2651 "grammar.y"
18645     { 
18646          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); 
18647          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start); 
18648          yyclearin;
18649          resetScannerPos(&(yylsp[(1) - (3)]).end);
18650          (yyloc).start = (yylsp[(1) - (3)]).start;
18651          (yyloc).end = (yylsp[(1) - (3)]).end;
18652       ;}
18653     break;
18654
18655   case 910:
18656
18657 /* Line 1464 of yacc.c  */
18658 #line 2660 "grammar.y"
18659     { 
18660          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null); 
18661          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start); 
18662          yyclearin;
18663          resetScannerPos(&(yylsp[(1) - (4)]).end);
18664          (yyloc).start = (yylsp[(1) - (4)]).start;
18665          (yyloc).end = (yylsp[(1) - (4)]).end;
18666          FreeIdentifier((yyvsp[(3) - (4)].id));
18667       ;}
18668     break;
18669
18670   case 913:
18671
18672 /* Line 1464 of yacc.c  */
18673 #line 2675 "grammar.y"
18674     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
18675     break;
18676
18677   case 914:
18678
18679 /* Line 1464 of yacc.c  */
18680 #line 2677 "grammar.y"
18681     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
18682     break;
18683
18684   case 915:
18685
18686 /* Line 1464 of yacc.c  */
18687 #line 2721 "grammar.y"
18688     { (yyval.string) = CopyString(yytext); ;}
18689     break;
18690
18691   case 917:
18692
18693 /* Line 1464 of yacc.c  */
18694 #line 2724 "grammar.y"
18695     {
18696          char temp[1024];
18697          strcpy(temp, "__asm__(");
18698          strcat(temp, (yyvsp[(3) - (4)].string));
18699          strcat(temp, ")");
18700          (yyval.string) = CopyString(temp);
18701          delete (yyvsp[(3) - (4)].string);
18702       ;}
18703     break;
18704
18705   case 918:
18706
18707 /* Line 1464 of yacc.c  */
18708 #line 2735 "grammar.y"
18709     { (yyval.string) = CopyString(yytext); ;}
18710     break;
18711
18712   case 919:
18713
18714 /* Line 1464 of yacc.c  */
18715 #line 2741 "grammar.y"
18716     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
18717     break;
18718
18719   case 920:
18720
18721 /* Line 1464 of yacc.c  */
18722 #line 2743 "grammar.y"
18723     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
18724     break;
18725
18726   case 921:
18727
18728 /* Line 1464 of yacc.c  */
18729 #line 2745 "grammar.y"
18730     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
18731     break;
18732
18733   case 922:
18734
18735 /* Line 1464 of yacc.c  */
18736 #line 2747 "grammar.y"
18737     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
18738     break;
18739
18740   case 923:
18741
18742 /* Line 1464 of yacc.c  */
18743 #line 2749 "grammar.y"
18744     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
18745     break;
18746
18747   case 924:
18748
18749 /* Line 1464 of yacc.c  */
18750 #line 2751 "grammar.y"
18751     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
18752     break;
18753
18754   case 925:
18755
18756 /* Line 1464 of yacc.c  */
18757 #line 2753 "grammar.y"
18758     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
18759     break;
18760
18761   case 926:
18762
18763 /* Line 1464 of yacc.c  */
18764 #line 2755 "grammar.y"
18765     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
18766     break;
18767
18768   case 927:
18769
18770 /* Line 1464 of yacc.c  */
18771 #line 2757 "grammar.y"
18772     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
18773     break;
18774
18775   case 928:
18776
18777 /* Line 1464 of yacc.c  */
18778 #line 2759 "grammar.y"
18779     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
18780     break;
18781
18782   case 929:
18783
18784 /* Line 1464 of yacc.c  */
18785 #line 2761 "grammar.y"
18786     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
18787     break;
18788
18789   case 930:
18790
18791 /* Line 1464 of yacc.c  */
18792 #line 2763 "grammar.y"
18793     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
18794     break;
18795
18796   case 931:
18797
18798 /* Line 1464 of yacc.c  */
18799 #line 2765 "grammar.y"
18800     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
18801     break;
18802
18803   case 932:
18804
18805 /* Line 1464 of yacc.c  */
18806 #line 2767 "grammar.y"
18807     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
18808     break;
18809
18810   case 933:
18811
18812 /* Line 1464 of yacc.c  */
18813 #line 2769 "grammar.y"
18814     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
18815     break;
18816
18817   case 934:
18818
18819 /* Line 1464 of yacc.c  */
18820 #line 2774 "grammar.y"
18821     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
18822     break;
18823
18824   case 935:
18825
18826 /* Line 1464 of yacc.c  */
18827 #line 2776 "grammar.y"
18828     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
18829     break;
18830
18831   case 936:
18832
18833 /* Line 1464 of yacc.c  */
18834 #line 2778 "grammar.y"
18835     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
18836     break;
18837
18838   case 937:
18839
18840 /* Line 1464 of yacc.c  */
18841 #line 2780 "grammar.y"
18842     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
18843     break;
18844
18845   case 938:
18846
18847 /* Line 1464 of yacc.c  */
18848 #line 2782 "grammar.y"
18849     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
18850     break;
18851
18852   case 939:
18853
18854 /* Line 1464 of yacc.c  */
18855 #line 2784 "grammar.y"
18856     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
18857     break;
18858
18859   case 940:
18860
18861 /* Line 1464 of yacc.c  */
18862 #line 2786 "grammar.y"
18863     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
18864     break;
18865
18866   case 941:
18867
18868 /* Line 1464 of yacc.c  */
18869 #line 2790 "grammar.y"
18870     { (yyval.pointer) = MkPointer(null, null); ;}
18871     break;
18872
18873   case 942:
18874
18875 /* Line 1464 of yacc.c  */
18876 #line 2791 "grammar.y"
18877     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
18878     break;
18879
18880   case 943:
18881
18882 /* Line 1464 of yacc.c  */
18883 #line 2792 "grammar.y"
18884     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
18885     break;
18886
18887   case 944:
18888
18889 /* Line 1464 of yacc.c  */
18890 #line 2793 "grammar.y"
18891     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
18892     break;
18893
18894   case 945:
18895
18896 /* Line 1464 of yacc.c  */
18897 #line 2797 "grammar.y"
18898     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
18899     break;
18900
18901   case 947:
18902
18903 /* Line 1464 of yacc.c  */
18904 #line 2799 "grammar.y"
18905     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
18906     break;
18907
18908   case 948:
18909
18910 /* Line 1464 of yacc.c  */
18911 #line 2800 "grammar.y"
18912     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
18913     break;
18914
18915   case 949:
18916
18917 /* Line 1464 of yacc.c  */
18918 #line 2801 "grammar.y"
18919     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
18920     break;
18921
18922   case 950:
18923
18924 /* Line 1464 of yacc.c  */
18925 #line 2802 "grammar.y"
18926     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
18927     break;
18928
18929   case 951:
18930
18931 /* Line 1464 of yacc.c  */
18932 #line 2806 "grammar.y"
18933     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
18934     break;
18935
18936   case 953:
18937
18938 /* Line 1464 of yacc.c  */
18939 #line 2808 "grammar.y"
18940     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
18941     break;
18942
18943   case 954:
18944
18945 /* Line 1464 of yacc.c  */
18946 #line 2809 "grammar.y"
18947     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
18948     break;
18949
18950   case 955:
18951
18952 /* Line 1464 of yacc.c  */
18953 #line 2810 "grammar.y"
18954     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
18955     break;
18956
18957   case 956:
18958
18959 /* Line 1464 of yacc.c  */
18960 #line 2811 "grammar.y"
18961     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
18962     break;
18963
18964   case 958:
18965
18966 /* Line 1464 of yacc.c  */
18967 #line 2817 "grammar.y"
18968     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
18969     break;
18970
18971   case 959:
18972
18973 /* Line 1464 of yacc.c  */
18974 #line 2819 "grammar.y"
18975     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
18976     break;
18977
18978   case 960:
18979
18980 /* Line 1464 of yacc.c  */
18981 #line 2821 "grammar.y"
18982     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].string), (yyvsp[(1) - (2)].declarator)); ;}
18983     break;
18984
18985   case 962:
18986
18987 /* Line 1464 of yacc.c  */
18988 #line 2826 "grammar.y"
18989     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
18990     break;
18991
18992   case 963:
18993
18994 /* Line 1464 of yacc.c  */
18995 #line 2827 "grammar.y"
18996     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
18997     break;
18998
18999   case 964:
19000
19001 /* Line 1464 of yacc.c  */
19002 #line 2828 "grammar.y"
19003     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19004     break;
19005
19006   case 965:
19007
19008 /* Line 1464 of yacc.c  */
19009 #line 2829 "grammar.y"
19010     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].string), (yyvsp[(3) - (3)].declarator))); ;}
19011     break;
19012
19013   case 967:
19014
19015 /* Line 1464 of yacc.c  */
19016 #line 2834 "grammar.y"
19017     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19018     break;
19019
19020   case 968:
19021
19022 /* Line 1464 of yacc.c  */
19023 #line 2835 "grammar.y"
19024     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
19025     break;
19026
19027   case 969:
19028
19029 /* Line 1464 of yacc.c  */
19030 #line 2836 "grammar.y"
19031     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19032     break;
19033
19034   case 970:
19035
19036 /* Line 1464 of yacc.c  */
19037 #line 2837 "grammar.y"
19038     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].string), (yyvsp[(3) - (3)].declarator))); ;}
19039     break;
19040
19041   case 972:
19042
19043 /* Line 1464 of yacc.c  */
19044 #line 2842 "grammar.y"
19045     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
19046     break;
19047
19048   case 973:
19049
19050 /* Line 1464 of yacc.c  */
19051 #line 2843 "grammar.y"
19052     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].declarator)); ;}
19053     break;
19054
19055   case 974:
19056
19057 /* Line 1464 of yacc.c  */
19058 #line 2844 "grammar.y"
19059     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].string), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
19060     break;
19061
19062   case 975:
19063
19064 /* Line 1464 of yacc.c  */
19065 #line 2845 "grammar.y"
19066     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].string), (yyvsp[(3) - (3)].declarator))); ;}
19067     break;
19068
19069   case 976:
19070
19071 /* Line 1464 of yacc.c  */
19072 #line 2849 "grammar.y"
19073     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19074     break;
19075
19076   case 977:
19077
19078 /* Line 1464 of yacc.c  */
19079 #line 2850 "grammar.y"
19080     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
19081     break;
19082
19083   case 978:
19084
19085 /* Line 1464 of yacc.c  */
19086 #line 2852 "grammar.y"
19087     { 
19088          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); 
19089          (yyval.initializer).loc = (yyloc); 
19090
19091          {
19092             Expression exp = MkExpDummy();
19093             Initializer init = MkInitializerAssignment(exp);
19094             init.loc = (yylsp[(3) - (4)]);
19095             exp.loc = (yylsp[(3) - (4)]);
19096             ListAdd((yyvsp[(2) - (4)].list), init); 
19097          }
19098       ;}
19099     break;
19100
19101   case 979:
19102
19103 /* Line 1464 of yacc.c  */
19104 #line 2867 "grammar.y"
19105     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19106     break;
19107
19108   case 980:
19109
19110 /* Line 1464 of yacc.c  */
19111 #line 2868 "grammar.y"
19112     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
19113     break;
19114
19115   case 981:
19116
19117 /* Line 1464 of yacc.c  */
19118 #line 2869 "grammar.y"
19119     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
19120     break;
19121
19122   case 982:
19123
19124 /* Line 1464 of yacc.c  */
19125 #line 2871 "grammar.y"
19126     { 
19127          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list)); 
19128          (yyval.initializer).loc = (yyloc);
19129
19130          {
19131             Expression exp = MkExpDummy();
19132             Initializer init = MkInitializerAssignment(exp);
19133             init.loc = (yylsp[(3) - (5)]);
19134             exp.loc = (yylsp[(3) - (5)]);
19135             ListAdd((yyvsp[(2) - (5)].list), init); 
19136          }
19137       ;}
19138     break;
19139
19140   case 983:
19141
19142 /* Line 1464 of yacc.c  */
19143 #line 2884 "grammar.y"
19144     { 
19145          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); 
19146          (yyval.initializer).loc = (yyloc);
19147
19148          {
19149             Expression exp = MkExpDummy();
19150             Initializer init = MkInitializerAssignment(exp);
19151             init.loc = (yylsp[(3) - (3)]);
19152             exp.loc = (yylsp[(3) - (3)]);
19153             ListAdd((yyvsp[(2) - (3)].list), init); 
19154          }
19155       ;}
19156     break;
19157
19158   case 984:
19159
19160 /* Line 1464 of yacc.c  */
19161 #line 2899 "grammar.y"
19162     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19163     break;
19164
19165   case 985:
19166
19167 /* Line 1464 of yacc.c  */
19168 #line 2901 "grammar.y"
19169     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19170     break;
19171
19172   case 986:
19173
19174 /* Line 1464 of yacc.c  */
19175 #line 2905 "grammar.y"
19176     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19177     break;
19178
19179   case 987:
19180
19181 /* Line 1464 of yacc.c  */
19182 #line 2906 "grammar.y"
19183     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
19184     break;
19185
19186   case 988:
19187
19188 /* Line 1464 of yacc.c  */
19189 #line 2910 "grammar.y"
19190     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
19191     break;
19192
19193   case 989:
19194
19195 /* Line 1464 of yacc.c  */
19196 #line 2911 "grammar.y"
19197     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
19198     break;
19199
19200   case 990:
19201
19202 /* Line 1464 of yacc.c  */
19203 #line 2912 "grammar.y"
19204     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
19205     break;
19206
19207   case 991:
19208
19209 /* Line 1464 of yacc.c  */
19210 #line 2913 "grammar.y"
19211     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
19212     break;
19213
19214   case 992:
19215
19216 /* Line 1464 of yacc.c  */
19217 #line 2916 "grammar.y"
19218     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
19219     break;
19220
19221   case 993:
19222
19223 /* Line 1464 of yacc.c  */
19224 #line 2917 "grammar.y"
19225     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
19226     break;
19227
19228   case 994:
19229
19230 /* Line 1464 of yacc.c  */
19231 #line 2921 "grammar.y"
19232     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
19233     break;
19234
19235   case 995:
19236
19237 /* Line 1464 of yacc.c  */
19238 #line 2922 "grammar.y"
19239     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
19240     break;
19241
19242   case 996:
19243
19244 /* Line 1464 of yacc.c  */
19245 #line 2926 "grammar.y"
19246     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
19247     break;
19248
19249   case 997:
19250
19251 /* Line 1464 of yacc.c  */
19252 #line 2927 "grammar.y"
19253     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), MkInitializerAssignment(MkExpDummy())); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc = (yylsp[(2) - (3)]); (yyval.initDeclarator).initializer.exp.loc = (yylsp[(2) - (3)]); ;}
19254     break;
19255
19256   case 998:
19257
19258 /* Line 1464 of yacc.c  */
19259 #line 2928 "grammar.y"
19260     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
19261     break;
19262
19263   case 999:
19264
19265 /* Line 1464 of yacc.c  */
19266 #line 2932 "grammar.y"
19267     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
19268     break;
19269
19270   case 1000:
19271
19272 /* Line 1464 of yacc.c  */
19273 #line 2933 "grammar.y"
19274     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
19275     break;
19276
19277   case 1001:
19278
19279 /* Line 1464 of yacc.c  */
19280 #line 2934 "grammar.y"
19281     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
19282     break;
19283
19284   case 1002:
19285
19286 /* Line 1464 of yacc.c  */
19287 #line 2938 "grammar.y"
19288     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
19289     break;
19290
19291   case 1003:
19292
19293 /* Line 1464 of yacc.c  */
19294 #line 2939 "grammar.y"
19295     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
19296     break;
19297
19298   case 1004:
19299
19300 /* Line 1464 of yacc.c  */
19301 #line 2940 "grammar.y"
19302     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
19303     break;
19304
19305   case 1005:
19306
19307 /* Line 1464 of yacc.c  */
19308 #line 2941 "grammar.y"
19309     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
19310     break;
19311
19312   case 1006:
19313
19314 /* Line 1464 of yacc.c  */
19315 #line 2945 "grammar.y"
19316     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
19317     break;
19318
19319   case 1007:
19320
19321 /* Line 1464 of yacc.c  */
19322 #line 2946 "grammar.y"
19323     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
19324     break;
19325
19326   case 1008:
19327
19328 /* Line 1464 of yacc.c  */
19329 #line 2950 "grammar.y"
19330     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
19331     break;
19332
19333   case 1009:
19334
19335 /* Line 1464 of yacc.c  */
19336 #line 2951 "grammar.y"
19337     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
19338     break;
19339
19340   case 1010:
19341
19342 /* Line 1464 of yacc.c  */
19343 #line 2956 "grammar.y"
19344     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
19345     break;
19346
19347   case 1011:
19348
19349 /* Line 1464 of yacc.c  */
19350 #line 2957 "grammar.y"
19351     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
19352     break;
19353
19354   case 1012:
19355
19356 /* Line 1464 of yacc.c  */
19357 #line 2958 "grammar.y"
19358     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
19359     break;
19360
19361   case 1013:
19362
19363 /* Line 1464 of yacc.c  */
19364 #line 2959 "grammar.y"
19365     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
19366     break;
19367
19368   case 1014:
19369
19370 /* Line 1464 of yacc.c  */
19371 #line 2960 "grammar.y"
19372     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
19373     break;
19374
19375   case 1015:
19376
19377 /* Line 1464 of yacc.c  */
19378 #line 2962 "grammar.y"
19379     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
19380     break;
19381
19382   case 1016:
19383
19384 /* Line 1464 of yacc.c  */
19385 #line 2980 "grammar.y"
19386     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
19387     break;
19388
19389   case 1017:
19390
19391 /* Line 1464 of yacc.c  */
19392 #line 2981 "grammar.y"
19393     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
19394     break;
19395
19396   case 1018:
19397
19398 /* Line 1464 of yacc.c  */
19399 #line 2985 "grammar.y"
19400     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
19401     break;
19402
19403   case 1019:
19404
19405 /* Line 1464 of yacc.c  */
19406 #line 2986 "grammar.y"
19407     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19408     break;
19409
19410   case 1020:
19411
19412 /* Line 1464 of yacc.c  */
19413 #line 2987 "grammar.y"
19414     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19415     break;
19416
19417   case 1021:
19418
19419 /* Line 1464 of yacc.c  */
19420 #line 2988 "grammar.y"
19421     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19422     break;
19423
19424   case 1022:
19425
19426 /* Line 1464 of yacc.c  */
19427 #line 2989 "grammar.y"
19428     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19429     break;
19430
19431   case 1023:
19432
19433 /* Line 1464 of yacc.c  */
19434 #line 2990 "grammar.y"
19435     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
19436     break;
19437
19438   case 1024:
19439
19440 /* Line 1464 of yacc.c  */
19441 #line 2992 "grammar.y"
19442     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19443     break;
19444
19445   case 1025:
19446
19447 /* Line 1464 of yacc.c  */
19448 #line 2993 "grammar.y"
19449     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19450     break;
19451
19452   case 1026:
19453
19454 /* Line 1464 of yacc.c  */
19455 #line 2994 "grammar.y"
19456     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19457     break;
19458
19459   case 1027:
19460
19461 /* Line 1464 of yacc.c  */
19462 #line 2995 "grammar.y"
19463     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19464     break;
19465
19466   case 1028:
19467
19468 /* Line 1464 of yacc.c  */
19469 #line 2999 "grammar.y"
19470     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
19471     break;
19472
19473   case 1029:
19474
19475 /* Line 1464 of yacc.c  */
19476 #line 3000 "grammar.y"
19477     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19478     break;
19479
19480   case 1030:
19481
19482 /* Line 1464 of yacc.c  */
19483 #line 3001 "grammar.y"
19484     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19485     break;
19486
19487   case 1031:
19488
19489 /* Line 1464 of yacc.c  */
19490 #line 3002 "grammar.y"
19491     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19492     break;
19493
19494   case 1032:
19495
19496 /* Line 1464 of yacc.c  */
19497 #line 3003 "grammar.y"
19498     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
19499     break;
19500
19501   case 1033:
19502
19503 /* Line 1464 of yacc.c  */
19504 #line 3005 "grammar.y"
19505     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19506     break;
19507
19508   case 1034:
19509
19510 /* Line 1464 of yacc.c  */
19511 #line 3006 "grammar.y"
19512     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
19513     break;
19514
19515   case 1035:
19516
19517 /* Line 1464 of yacc.c  */
19518 #line 3007 "grammar.y"
19519     { ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
19520     break;
19521
19522   case 1037:
19523
19524 /* Line 1464 of yacc.c  */
19525 #line 3012 "grammar.y"
19526     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
19527     break;
19528
19529   case 1038:
19530
19531 /* Line 1464 of yacc.c  */
19532 #line 3013 "grammar.y"
19533     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
19534     break;
19535
19536   case 1039:
19537
19538 /* Line 1464 of yacc.c  */
19539 #line 3014 "grammar.y"
19540     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
19541     break;
19542
19543   case 1040:
19544
19545 /* Line 1464 of yacc.c  */
19546 #line 3015 "grammar.y"
19547     { ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
19548     break;
19549
19550   case 1041:
19551
19552 /* Line 1464 of yacc.c  */
19553 #line 3016 "grammar.y"
19554     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
19555     break;
19556
19557   case 1043:
19558
19559 /* Line 1464 of yacc.c  */
19560 #line 3021 "grammar.y"
19561     { ListAdd((yyvsp[(1) - (3)].list), null); ;}
19562     break;
19563
19564   case 1046:
19565
19566 /* Line 1464 of yacc.c  */
19567 #line 3028 "grammar.y"
19568     { (yyval.stmt) = MkExpressionStmt(null); ;}
19569     break;
19570
19571   case 1048:
19572
19573 /* Line 1464 of yacc.c  */
19574 #line 3030 "grammar.y"
19575     { (yyval.stmt) = MkExpressionStmt(null); ;}
19576     break;
19577
19578   case 1049:
19579
19580 /* Line 1464 of yacc.c  */
19581 #line 3031 "grammar.y"
19582     { (yyval.stmt) = MkExpressionStmt(null); ;}
19583     break;
19584
19585   case 1050:
19586
19587 /* Line 1464 of yacc.c  */
19588 #line 3032 "grammar.y"
19589     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
19590     break;
19591
19592   case 1054:
19593
19594 /* Line 1464 of yacc.c  */
19595 #line 3036 "grammar.y"
19596     {;}
19597     break;
19598
19599   case 1058:
19600
19601 /* Line 1464 of yacc.c  */
19602 #line 3044 "grammar.y"
19603     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error("syntax error\n"); ;}
19604     break;
19605
19606   case 1059:
19607
19608 /* Line 1464 of yacc.c  */
19609 #line 3045 "grammar.y"
19610     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error("syntax error\n"); ;}
19611     break;
19612
19613   case 1060:
19614
19615 /* Line 1464 of yacc.c  */
19616 #line 3046 "grammar.y"
19617     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error("syntax error\n"); ;}
19618     break;
19619
19620   case 1061:
19621
19622 /* Line 1464 of yacc.c  */
19623 #line 3047 "grammar.y"
19624     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error("syntax error\n"); ;}
19625     break;
19626
19627   case 1062:
19628
19629 /* Line 1464 of yacc.c  */
19630 #line 3048 "grammar.y"
19631     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error("syntax error\n"); ;}
19632     break;
19633
19634   case 1063:
19635
19636 /* Line 1464 of yacc.c  */
19637 #line 3049 "grammar.y"
19638     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error("syntax error\n"); ;}
19639     break;
19640
19641   case 1064:
19642
19643 /* Line 1464 of yacc.c  */
19644 #line 3050 "grammar.y"
19645     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error("syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
19646     break;
19647
19648   case 1065:
19649
19650 /* Line 1464 of yacc.c  */
19651 #line 3054 "grammar.y"
19652     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
19653     break;
19654
19655   case 1066:
19656
19657 /* Line 1464 of yacc.c  */
19658 #line 3055 "grammar.y"
19659     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp)); (yyval.asmField).loc = (yyloc); ;}
19660     break;
19661
19662   case 1067:
19663
19664 /* Line 1464 of yacc.c  */
19665 #line 3059 "grammar.y"
19666     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
19667     break;
19668
19669   case 1068:
19670
19671 /* Line 1464 of yacc.c  */
19672 #line 3060 "grammar.y"
19673     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
19674     break;
19675
19676   case 1069:
19677
19678 /* Line 1464 of yacc.c  */
19679 #line 3061 "grammar.y"
19680     { (yyval.list) = null; ;}
19681     break;
19682
19683   case 1070:
19684
19685 /* Line 1464 of yacc.c  */
19686 #line 3065 "grammar.y"
19687     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
19688     break;
19689
19690   case 1071:
19691
19692 /* Line 1464 of yacc.c  */
19693 #line 3066 "grammar.y"
19694     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
19695     break;
19696
19697   case 1072:
19698
19699 /* Line 1464 of yacc.c  */
19700 #line 3067 "grammar.y"
19701     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
19702     break;
19703
19704   case 1073:
19705
19706 /* Line 1464 of yacc.c  */
19707 #line 3068 "grammar.y"
19708     { (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); ;}
19709     break;
19710
19711   case 1074:
19712
19713 /* Line 1464 of yacc.c  */
19714 #line 3070 "grammar.y"
19715     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
19716     break;
19717
19718   case 1075:
19719
19720 /* Line 1464 of yacc.c  */
19721 #line 3071 "grammar.y"
19722     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
19723     break;
19724
19725   case 1076:
19726
19727 /* Line 1464 of yacc.c  */
19728 #line 3072 "grammar.y"
19729     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
19730     break;
19731
19732   case 1077:
19733
19734 /* Line 1464 of yacc.c  */
19735 #line 3074 "grammar.y"
19736     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
19737     break;
19738
19739   case 1078:
19740
19741 /* Line 1464 of yacc.c  */
19742 #line 3075 "grammar.y"
19743     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
19744     break;
19745
19746   case 1079:
19747
19748 /* Line 1464 of yacc.c  */
19749 #line 3076 "grammar.y"
19750     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
19751     break;
19752
19753   case 1080:
19754
19755 /* Line 1464 of yacc.c  */
19756 #line 3077 "grammar.y"
19757     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
19758     break;
19759
19760   case 1081:
19761
19762 /* Line 1464 of yacc.c  */
19763 #line 3079 "grammar.y"
19764     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
19765     break;
19766
19767   case 1082:
19768
19769 /* Line 1464 of yacc.c  */
19770 #line 3080 "grammar.y"
19771     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
19772     break;
19773
19774   case 1083:
19775
19776 /* Line 1464 of yacc.c  */
19777 #line 3081 "grammar.y"
19778     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
19779     break;
19780
19781   case 1084:
19782
19783 /* Line 1464 of yacc.c  */
19784 #line 3085 "grammar.y"
19785     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
19786     break;
19787
19788   case 1085:
19789
19790 /* Line 1464 of yacc.c  */
19791 #line 3086 "grammar.y"
19792     { (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; ;}
19793     break;
19794
19795   case 1086:
19796
19797 /* Line 1464 of yacc.c  */
19798 #line 3087 "grammar.y"
19799     { (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; ;}
19800     break;
19801
19802   case 1087:
19803
19804 /* Line 1464 of yacc.c  */
19805 #line 3088 "grammar.y"
19806     { (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; ;}
19807     break;
19808
19809   case 1088:
19810
19811 /* Line 1464 of yacc.c  */
19812 #line 3089 "grammar.y"
19813     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
19814     break;
19815
19816   case 1089:
19817
19818 /* Line 1464 of yacc.c  */
19819 #line 3093 "grammar.y"
19820     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
19821     break;
19822
19823   case 1090:
19824
19825 /* Line 1464 of yacc.c  */
19826 #line 3094 "grammar.y"
19827     { (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; ;}
19828     break;
19829
19830   case 1091:
19831
19832 /* Line 1464 of yacc.c  */
19833 #line 3095 "grammar.y"
19834     { (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; ;}
19835     break;
19836
19837   case 1092:
19838
19839 /* Line 1464 of yacc.c  */
19840 #line 3096 "grammar.y"
19841     { (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; ;}
19842     break;
19843
19844   case 1093:
19845
19846 /* Line 1464 of yacc.c  */
19847 #line 3097 "grammar.y"
19848     { (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; ;}
19849     break;
19850
19851   case 1094:
19852
19853 /* Line 1464 of yacc.c  */
19854 #line 3098 "grammar.y"
19855     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
19856     break;
19857
19858   case 1095:
19859
19860 /* Line 1464 of yacc.c  */
19861 #line 3099 "grammar.y"
19862     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
19863     break;
19864
19865   case 1096:
19866
19867 /* Line 1464 of yacc.c  */
19868 #line 3103 "grammar.y"
19869     { (yyval.declMode) = declMode = publicAccess; ;}
19870     break;
19871
19872   case 1097:
19873
19874 /* Line 1464 of yacc.c  */
19875 #line 3104 "grammar.y"
19876     { (yyval.declMode) = declMode = privateAccess; ;}
19877     break;
19878
19879   case 1098:
19880
19881 /* Line 1464 of yacc.c  */
19882 #line 3105 "grammar.y"
19883     { (yyval.declMode) = declMode = defaultAccess; ;}
19884     break;
19885
19886   case 1099:
19887
19888 /* Line 1464 of yacc.c  */
19889 #line 3109 "grammar.y"
19890     { (yyval.declMode) = publicAccess; ;}
19891     break;
19892
19893   case 1100:
19894
19895 /* Line 1464 of yacc.c  */
19896 #line 3110 "grammar.y"
19897     { (yyval.declMode) = privateAccess; ;}
19898     break;
19899
19900   case 1101:
19901
19902 /* Line 1464 of yacc.c  */
19903 #line 3114 "grammar.y"
19904     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
19905     break;
19906
19907   case 1102:
19908
19909 /* Line 1464 of yacc.c  */
19910 #line 3115 "grammar.y"
19911     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
19912     break;
19913
19914   case 1103:
19915
19916 /* Line 1464 of yacc.c  */
19917 #line 3116 "grammar.y"
19918     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
19919     break;
19920
19921   case 1104:
19922
19923 /* Line 1464 of yacc.c  */
19924 #line 3117 "grammar.y"
19925     {;}
19926     break;
19927
19928   case 1105:
19929
19930 /* Line 1464 of yacc.c  */
19931 #line 3121 "grammar.y"
19932     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
19933     break;
19934
19935   case 1106:
19936
19937 /* Line 1464 of yacc.c  */
19938 #line 3122 "grammar.y"
19939     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
19940     break;
19941
19942   case 1107:
19943
19944 /* Line 1464 of yacc.c  */
19945 #line 3123 "grammar.y"
19946     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
19947     break;
19948
19949   case 1108:
19950
19951 /* Line 1464 of yacc.c  */
19952 #line 3125 "grammar.y"
19953     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
19954     break;
19955
19956   case 1109:
19957
19958 /* Line 1464 of yacc.c  */
19959 #line 3126 "grammar.y"
19960     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
19961     break;
19962
19963   case 1110:
19964
19965 /* Line 1464 of yacc.c  */
19966 #line 3127 "grammar.y"
19967     { declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
19968     break;
19969
19970   case 1111:
19971
19972 /* Line 1464 of yacc.c  */
19973 #line 3131 "grammar.y"
19974     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
19975     break;
19976
19977   case 1112:
19978
19979 /* Line 1464 of yacc.c  */
19980 #line 3135 "grammar.y"
19981     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
19982     break;
19983
19984   case 1113:
19985
19986 /* Line 1464 of yacc.c  */
19987 #line 3136 "grammar.y"
19988     {;}
19989     break;
19990
19991   case 1114:
19992
19993 /* Line 1464 of yacc.c  */
19994 #line 3138 "grammar.y"
19995     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
19996     break;
19997
19998   case 1115:
19999
20000 /* Line 1464 of yacc.c  */
20001 #line 3139 "grammar.y"
20002     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
20003     break;
20004
20005   case 1116:
20006
20007 /* Line 1464 of yacc.c  */
20008 #line 3140 "grammar.y"
20009     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); ;}
20010     break;
20011
20012   case 1117:
20013
20014 /* Line 1464 of yacc.c  */
20015 #line 3144 "grammar.y"
20016     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
20017     break;
20018
20019   case 1118:
20020
20021 /* Line 1464 of yacc.c  */
20022 #line 3145 "grammar.y"
20023     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
20024     break;
20025
20026   case 1119:
20027
20028 /* Line 1464 of yacc.c  */
20029 #line 3146 "grammar.y"
20030     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
20031     break;
20032
20033   case 1120:
20034
20035 /* Line 1464 of yacc.c  */
20036 #line 3147 "grammar.y"
20037     { ;}
20038     break;
20039
20040   case 1121:
20041
20042 /* Line 1464 of yacc.c  */
20043 #line 3151 "grammar.y"
20044     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
20045     break;
20046
20047   case 1122:
20048
20049 /* Line 1464 of yacc.c  */
20050 #line 3152 "grammar.y"
20051     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
20052     break;
20053
20054   case 1123:
20055
20056 /* Line 1464 of yacc.c  */
20057 #line 3156 "grammar.y"
20058     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
20059     break;
20060
20061   case 1124:
20062
20063 /* Line 1464 of yacc.c  */
20064 #line 3157 "grammar.y"
20065     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20066     break;
20067
20068   case 1125:
20069
20070 /* Line 1464 of yacc.c  */
20071 #line 3158 "grammar.y"
20072     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20073     break;
20074
20075   case 1126:
20076
20077 /* Line 1464 of yacc.c  */
20078 #line 3162 "grammar.y"
20079     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
20080     break;
20081
20082   case 1127:
20083
20084 /* Line 1464 of yacc.c  */
20085 #line 3163 "grammar.y"
20086     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20087     break;
20088
20089   case 1128:
20090
20091 /* Line 1464 of yacc.c  */
20092 #line 3164 "grammar.y"
20093     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
20094     break;
20095
20096   case 1129:
20097
20098 /* Line 1464 of yacc.c  */
20099 #line 3165 "grammar.y"
20100     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); yyerror(); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
20101     break;
20102
20103   case 1130:
20104
20105 /* Line 1464 of yacc.c  */
20106 #line 3166 "grammar.y"
20107     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); yyerror(); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
20108     break;
20109
20110   case 1131:
20111
20112 /* Line 1464 of yacc.c  */
20113 #line 3167 "grammar.y"
20114     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); yyerror(); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
20115     break;
20116
20117   case 1132:
20118
20119 /* Line 1464 of yacc.c  */
20120 #line 3168 "grammar.y"
20121     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); yyerror(); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
20122     break;
20123
20124   case 1133:
20125
20126 /* Line 1464 of yacc.c  */
20127 #line 3172 "grammar.y"
20128     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
20129     break;
20130
20131   case 1134:
20132
20133 /* Line 1464 of yacc.c  */
20134 #line 3173 "grammar.y"
20135     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
20136     break;
20137
20138   case 1135:
20139
20140 /* Line 1464 of yacc.c  */
20141 #line 3174 "grammar.y"
20142     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20143     break;
20144
20145   case 1136:
20146
20147 /* Line 1464 of yacc.c  */
20148 #line 3175 "grammar.y"
20149     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20150     break;
20151
20152   case 1137:
20153
20154 /* Line 1464 of yacc.c  */
20155 #line 3179 "grammar.y"
20156     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
20157     break;
20158
20159   case 1138:
20160
20161 /* Line 1464 of yacc.c  */
20162 #line 3180 "grammar.y"
20163     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
20164     break;
20165
20166   case 1139:
20167
20168 /* Line 1464 of yacc.c  */
20169 #line 3181 "grammar.y"
20170     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20171     break;
20172
20173   case 1140:
20174
20175 /* Line 1464 of yacc.c  */
20176 #line 3182 "grammar.y"
20177     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
20178     break;
20179
20180   case 1141:
20181
20182 /* Line 1464 of yacc.c  */
20183 #line 3186 "grammar.y"
20184     { (yyval.context) = PushContext(); ;}
20185     break;
20186
20187   case 1142:
20188
20189 /* Line 1464 of yacc.c  */
20190 #line 3190 "grammar.y"
20191     { (yyval.stmt).loc = (yyloc); ;}
20192     break;
20193
20194   case 1143:
20195
20196 /* Line 1464 of yacc.c  */
20197 #line 3195 "grammar.y"
20198     { (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++; ;}
20199     break;
20200
20201   case 1144:
20202
20203 /* Line 1464 of yacc.c  */
20204 #line 3197 "grammar.y"
20205     { (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++; ;}
20206     break;
20207
20208   case 1145:
20209
20210 /* Line 1464 of yacc.c  */
20211 #line 3200 "grammar.y"
20212     { (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++; ;}
20213     break;
20214
20215   case 1146:
20216
20217 /* Line 1464 of yacc.c  */
20218 #line 3205 "grammar.y"
20219     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
20220     break;
20221
20222   case 1147:
20223
20224 /* Line 1464 of yacc.c  */
20225 #line 3206 "grammar.y"
20226     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20227     break;
20228
20229   case 1148:
20230
20231 /* Line 1464 of yacc.c  */
20232 #line 3207 "grammar.y"
20233     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20234     break;
20235
20236   case 1149:
20237
20238 /* Line 1464 of yacc.c  */
20239 #line 3211 "grammar.y"
20240     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
20241     break;
20242
20243   case 1150:
20244
20245 /* Line 1464 of yacc.c  */
20246 #line 3212 "grammar.y"
20247     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
20248     break;
20249
20250   case 1151:
20251
20252 /* Line 1464 of yacc.c  */
20253 #line 3213 "grammar.y"
20254     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20255     break;
20256
20257   case 1152:
20258
20259 /* Line 1464 of yacc.c  */
20260 #line 3214 "grammar.y"
20261     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20262     break;
20263
20264   case 1153:
20265
20266 /* Line 1464 of yacc.c  */
20267 #line 3215 "grammar.y"
20268     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20269     break;
20270
20271   case 1154:
20272
20273 /* Line 1464 of yacc.c  */
20274 #line 3216 "grammar.y"
20275     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20276     break;
20277
20278   case 1155:
20279
20280 /* Line 1464 of yacc.c  */
20281 #line 3220 "grammar.y"
20282     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20283     break;
20284
20285   case 1157:
20286
20287 /* Line 1464 of yacc.c  */
20288 #line 3225 "grammar.y"
20289     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20290     break;
20291
20292   case 1158:
20293
20294 /* Line 1464 of yacc.c  */
20295 #line 3226 "grammar.y"
20296     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20297     break;
20298
20299   case 1159:
20300
20301 /* Line 1464 of yacc.c  */
20302 #line 3227 "grammar.y"
20303     { (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20304     break;
20305
20306   case 1160:
20307
20308 /* Line 1464 of yacc.c  */
20309 #line 3229 "grammar.y"
20310     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
20311     break;
20312
20313   case 1161:
20314
20315 /* Line 1464 of yacc.c  */
20316 #line 3230 "grammar.y"
20317     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
20318     break;
20319
20320   case 1162:
20321
20322 /* Line 1464 of yacc.c  */
20323 #line 3232 "grammar.y"
20324     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20325     break;
20326
20327   case 1163:
20328
20329 /* Line 1464 of yacc.c  */
20330 #line 3233 "grammar.y"
20331     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20332     break;
20333
20334   case 1164:
20335
20336 /* Line 1464 of yacc.c  */
20337 #line 3234 "grammar.y"
20338     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20339     break;
20340
20341   case 1165:
20342
20343 /* Line 1464 of yacc.c  */
20344 #line 3235 "grammar.y"
20345     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
20346     break;
20347
20348   case 1166:
20349
20350 /* Line 1464 of yacc.c  */
20351 #line 3236 "grammar.y"
20352     { (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20353     break;
20354
20355   case 1167:
20356
20357 /* Line 1464 of yacc.c  */
20358 #line 3238 "grammar.y"
20359     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20360     break;
20361
20362   case 1168:
20363
20364 /* Line 1464 of yacc.c  */
20365 #line 3239 "grammar.y"
20366     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20367     break;
20368
20369   case 1169:
20370
20371 /* Line 1464 of yacc.c  */
20372 #line 3243 "grammar.y"
20373     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
20374     break;
20375
20376   case 1170:
20377
20378 /* Line 1464 of yacc.c  */
20379 #line 3244 "grammar.y"
20380     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
20381     break;
20382
20383   case 1171:
20384
20385 /* Line 1464 of yacc.c  */
20386 #line 3245 "grammar.y"
20387     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20388     break;
20389
20390   case 1172:
20391
20392 /* Line 1464 of yacc.c  */
20393 #line 3246 "grammar.y"
20394     { (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)]); ;}
20395     break;
20396
20397   case 1173:
20398
20399 /* Line 1464 of yacc.c  */
20400 #line 3247 "grammar.y"
20401     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), null, null); (yyval.stmt).loc = (yyloc); ;}
20402     break;
20403
20404   case 1174:
20405
20406 /* Line 1464 of yacc.c  */
20407 #line 3248 "grammar.y"
20408     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
20409     break;
20410
20411   case 1175:
20412
20413 /* Line 1464 of yacc.c  */
20414 #line 3249 "grammar.y"
20415     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20416     break;
20417
20418   case 1176:
20419
20420 /* Line 1464 of yacc.c  */
20421 #line 3250 "grammar.y"
20422     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20423     break;
20424
20425   case 1177:
20426
20427 /* Line 1464 of yacc.c  */
20428 #line 3251 "grammar.y"
20429     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
20430     break;
20431
20432   case 1178:
20433
20434 /* Line 1464 of yacc.c  */
20435 #line 3253 "grammar.y"
20436     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
20437     break;
20438
20439   case 1179:
20440
20441 /* Line 1464 of yacc.c  */
20442 #line 3254 "grammar.y"
20443     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
20444     break;
20445
20446   case 1180:
20447
20448 /* Line 1464 of yacc.c  */
20449 #line 3255 "grammar.y"
20450     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
20451     break;
20452
20453   case 1181:
20454
20455 /* Line 1464 of yacc.c  */
20456 #line 3256 "grammar.y"
20457     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
20458     break;
20459
20460   case 1182:
20461
20462 /* Line 1464 of yacc.c  */
20463 #line 3257 "grammar.y"
20464     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
20465     break;
20466
20467   case 1183:
20468
20469 /* Line 1464 of yacc.c  */
20470 #line 3258 "grammar.y"
20471     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
20472     break;
20473
20474   case 1184:
20475
20476 /* Line 1464 of yacc.c  */
20477 #line 3259 "grammar.y"
20478     { (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20479     break;
20480
20481   case 1185:
20482
20483 /* Line 1464 of yacc.c  */
20484 #line 3262 "grammar.y"
20485     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20486     break;
20487
20488   case 1186:
20489
20490 /* Line 1464 of yacc.c  */
20491 #line 3263 "grammar.y"
20492     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20493     break;
20494
20495   case 1187:
20496
20497 /* Line 1464 of yacc.c  */
20498 #line 3264 "grammar.y"
20499     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
20500     break;
20501
20502   case 1188:
20503
20504 /* Line 1464 of yacc.c  */
20505 #line 3265 "grammar.y"
20506     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
20507     break;
20508
20509   case 1189:
20510
20511 /* Line 1464 of yacc.c  */
20512 #line 3266 "grammar.y"
20513     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), null); (yyval.stmt).loc = (yyloc); ;}
20514     break;
20515
20516   case 1190:
20517
20518 /* Line 1464 of yacc.c  */
20519 #line 3267 "grammar.y"
20520     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20521     break;
20522
20523   case 1191:
20524
20525 /* Line 1464 of yacc.c  */
20526 #line 3268 "grammar.y"
20527     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
20528     break;
20529
20530   case 1192:
20531
20532 /* Line 1464 of yacc.c  */
20533 #line 3272 "grammar.y"
20534     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
20535     break;
20536
20537   case 1193:
20538
20539 /* Line 1464 of yacc.c  */
20540 #line 3273 "grammar.y"
20541     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
20542     break;
20543
20544   case 1194:
20545
20546 /* Line 1464 of yacc.c  */
20547 #line 3274 "grammar.y"
20548     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
20549     break;
20550
20551   case 1195:
20552
20553 /* Line 1464 of yacc.c  */
20554 #line 3275 "grammar.y"
20555     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
20556     break;
20557
20558   case 1196:
20559
20560 /* Line 1464 of yacc.c  */
20561 #line 3276 "grammar.y"
20562     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
20563     break;
20564
20565   case 1197:
20566
20567 /* Line 1464 of yacc.c  */
20568 #line 3277 "grammar.y"
20569     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
20570     break;
20571
20572   case 1198:
20573
20574 /* Line 1464 of yacc.c  */
20575 #line 3278 "grammar.y"
20576     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
20577     break;
20578
20579   case 1199:
20580
20581 /* Line 1464 of yacc.c  */
20582 #line 3279 "grammar.y"
20583     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
20584     break;
20585
20586   case 1200:
20587
20588 /* Line 1464 of yacc.c  */
20589 #line 3283 "grammar.y"
20590     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20591     break;
20592
20593   case 1201:
20594
20595 /* Line 1464 of yacc.c  */
20596 #line 3284 "grammar.y"
20597     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
20598     break;
20599
20600   case 1202:
20601
20602 /* Line 1464 of yacc.c  */
20603 #line 3285 "grammar.y"
20604     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
20605     break;
20606
20607   case 1203:
20608
20609 /* Line 1464 of yacc.c  */
20610 #line 3286 "grammar.y"
20611     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
20612     break;
20613
20614   case 1204:
20615
20616 /* Line 1464 of yacc.c  */
20617 #line 3292 "grammar.y"
20618     { (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); ;}
20619     break;
20620
20621   case 1205:
20622
20623 /* Line 1464 of yacc.c  */
20624 #line 3294 "grammar.y"
20625     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
20626     break;
20627
20628   case 1206:
20629
20630 /* Line 1464 of yacc.c  */
20631 #line 3296 "grammar.y"
20632     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
20633     break;
20634
20635   case 1207:
20636
20637 /* Line 1464 of yacc.c  */
20638 #line 3297 "grammar.y"
20639     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
20640     break;
20641
20642   case 1208:
20643
20644 /* Line 1464 of yacc.c  */
20645 #line 3300 "grammar.y"
20646     { (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; ;}
20647     break;
20648
20649   case 1209:
20650
20651 /* Line 1464 of yacc.c  */
20652 #line 3301 "grammar.y"
20653     { (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; ;}
20654     break;
20655
20656   case 1210:
20657
20658 /* Line 1464 of yacc.c  */
20659 #line 3302 "grammar.y"
20660     { (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; ;}
20661     break;
20662
20663   case 1211:
20664
20665 /* Line 1464 of yacc.c  */
20666 #line 3303 "grammar.y"
20667     { (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; ;}
20668     break;
20669
20670   case 1212:
20671
20672 /* Line 1464 of yacc.c  */
20673 #line 3307 "grammar.y"
20674     { (yyval.string) = CopyString(yytext); ;}
20675     break;
20676
20677   case 1213:
20678
20679 /* Line 1464 of yacc.c  */
20680 #line 3309 "grammar.y"
20681     { 
20682       int len1 = strlen((yyvsp[(1) - (2)].string));
20683       int len2 = strlen(yytext);
20684       (yyval.string) = new byte[len1-1 + len2-1 + 1];
20685       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
20686       memcpy((yyval.string) + len1-1, yytext+1, len2);
20687       delete (yyvsp[(1) - (2)].string);
20688    ;}
20689     break;
20690
20691   case 1214:
20692
20693 /* Line 1464 of yacc.c  */
20694 #line 3320 "grammar.y"
20695     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
20696     break;
20697
20698   case 1215:
20699
20700 /* Line 1464 of yacc.c  */
20701 #line 3322 "grammar.y"
20702     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20703     break;
20704
20705   case 1216:
20706
20707 /* Line 1464 of yacc.c  */
20708 #line 3325 "grammar.y"
20709     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
20710     break;
20711
20712   case 1217:
20713
20714 /* Line 1464 of yacc.c  */
20715 #line 3328 "grammar.y"
20716     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
20717     break;
20718
20719   case 1218:
20720
20721 /* Line 1464 of yacc.c  */
20722 #line 3329 "grammar.y"
20723     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
20724     break;
20725
20726   case 1219:
20727
20728 /* Line 1464 of yacc.c  */
20729 #line 3330 "grammar.y"
20730     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
20731     break;
20732
20733   case 1220:
20734
20735 /* Line 1464 of yacc.c  */
20736 #line 3331 "grammar.y"
20737     { if(!strcmp((yyvsp[(2) - (3)].id).string, "remote")) { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), remoteImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); } else yyerror(); FreeIdentifier((yyvsp[(2) - (3)].id)); ;}
20738     break;
20739
20740   case 1221:
20741
20742 /* Line 1464 of yacc.c  */
20743 #line 3333 "grammar.y"
20744     { (yyval.external) = null; ;}
20745     break;
20746
20747   case 1222:
20748
20749 /* Line 1464 of yacc.c  */
20750 #line 3335 "grammar.y"
20751     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
20752     break;
20753
20754   case 1223:
20755
20756 /* Line 1464 of yacc.c  */
20757 #line 3337 "grammar.y"
20758     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
20759     break;
20760
20761   case 1224:
20762
20763 /* Line 1464 of yacc.c  */
20764 #line 3338 "grammar.y"
20765     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
20766     break;
20767
20768   case 1225:
20769
20770 /* Line 1464 of yacc.c  */
20771 #line 3339 "grammar.y"
20772     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
20773     break;
20774
20775   case 1226:
20776
20777 /* Line 1464 of yacc.c  */
20778 #line 3340 "grammar.y"
20779     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); declMode = defaultDeclMode; ;}
20780     break;
20781
20782   case 1227:
20783
20784 /* Line 1464 of yacc.c  */
20785 #line 3341 "grammar.y"
20786     { if(!strcmp((yyvsp[(3) - (4)].id).string, "remote")) { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), remoteImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); FreeIdentifier((yyvsp[(3) - (4)].id)); } else yyerror();  declMode = defaultDeclMode; ;}
20787     break;
20788
20789   case 1228:
20790
20791 /* Line 1464 of yacc.c  */
20792 #line 3342 "grammar.y"
20793     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
20794     break;
20795
20796   case 1229:
20797
20798 /* Line 1464 of yacc.c  */
20799 #line 3343 "grammar.y"
20800     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
20801     break;
20802
20803   case 1230:
20804
20805 /* Line 1464 of yacc.c  */
20806 #line 3344 "grammar.y"
20807     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
20808     break;
20809
20810   case 1231:
20811
20812 /* Line 1464 of yacc.c  */
20813 #line 3345 "grammar.y"
20814     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
20815     break;
20816
20817   case 1232:
20818
20819 /* Line 1464 of yacc.c  */
20820 #line 3346 "grammar.y"
20821     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20822     break;
20823
20824   case 1233:
20825
20826 /* Line 1464 of yacc.c  */
20827 #line 3347 "grammar.y"
20828     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20829     break;
20830
20831   case 1234:
20832
20833 /* Line 1464 of yacc.c  */
20834 #line 3351 "grammar.y"
20835     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20836     break;
20837
20838   case 1235:
20839
20840 /* Line 1464 of yacc.c  */
20841 #line 3352 "grammar.y"
20842     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20843     break;
20844
20845   case 1236:
20846
20847 /* Line 1464 of yacc.c  */
20848 #line 3353 "grammar.y"
20849     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; declMode = defaultDeclMode; ;}
20850     break;
20851
20852   case 1237:
20853
20854 /* Line 1464 of yacc.c  */
20855 #line 3355 "grammar.y"
20856     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
20857     break;
20858
20859   case 1238:
20860
20861 /* Line 1464 of yacc.c  */
20862 #line 3356 "grammar.y"
20863     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
20864     break;
20865
20866   case 1239:
20867
20868 /* Line 1464 of yacc.c  */
20869 #line 3359 "grammar.y"
20870     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; declMode = defaultDeclMode; ;}
20871     break;
20872
20873   case 1240:
20874
20875 /* Line 1464 of yacc.c  */
20876 #line 3360 "grammar.y"
20877     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); declMode = defaultDeclMode; ;}
20878     break;
20879
20880   case 1241:
20881
20882 /* Line 1464 of yacc.c  */
20883 #line 3364 "grammar.y"
20884     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
20885     break;
20886
20887   case 1242:
20888
20889 /* Line 1464 of yacc.c  */
20890 #line 3365 "grammar.y"
20891     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
20892     break;
20893
20894   case 1243:
20895
20896 /* Line 1464 of yacc.c  */
20897 #line 3366 "grammar.y"
20898     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
20899     break;
20900
20901   case 1246:
20902
20903 /* Line 1464 of yacc.c  */
20904 #line 3372 "grammar.y"
20905     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
20906     break;
20907
20908   case 1247:
20909
20910 /* Line 1464 of yacc.c  */
20911 #line 3373 "grammar.y"
20912     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
20913     break;
20914
20915   case 1248:
20916
20917 /* Line 1464 of yacc.c  */
20918 #line 3375 "grammar.y"
20919     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; declMode = defaultDeclMode; ;}
20920     break;
20921
20922   case 1249:
20923
20924 /* Line 1464 of yacc.c  */
20925 #line 3377 "grammar.y"
20926     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; declMode = defaultDeclMode; ;}
20927     break;
20928
20929   case 1252:
20930
20931 /* Line 1464 of yacc.c  */
20932 #line 3383 "grammar.y"
20933     { ast = MkList(); ;}
20934     break;
20935
20936   case 1253:
20937
20938 /* Line 1464 of yacc.c  */
20939 #line 3387 "grammar.y"
20940     { 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)); ;}
20941     break;
20942
20943   case 1254:
20944
20945 /* Line 1464 of yacc.c  */
20946 #line 3388 "grammar.y"
20947     { 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)); ;}
20948     break;
20949
20950   case 1255:
20951
20952 /* Line 1464 of yacc.c  */
20953 #line 3389 "grammar.y"
20954     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
20955     break;
20956
20957   case 1256:
20958
20959 /* Line 1464 of yacc.c  */
20960 #line 3393 "grammar.y"
20961     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
20962     break;
20963
20964   case 1257:
20965
20966 /* Line 1464 of yacc.c  */
20967 #line 3397 "grammar.y"
20968     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
20969     break;
20970
20971   case 1258:
20972
20973 /* Line 1464 of yacc.c  */
20974 #line 3398 "grammar.y"
20975     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
20976     break;
20977
20978   case 1259:
20979
20980 /* Line 1464 of yacc.c  */
20981 #line 3399 "grammar.y"
20982     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
20983     break;
20984
20985   case 1260:
20986
20987 /* Line 1464 of yacc.c  */
20988 #line 3403 "grammar.y"
20989     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
20990     break;
20991
20992   case 1261:
20993
20994 /* Line 1464 of yacc.c  */
20995 #line 3404 "grammar.y"
20996     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
20997     break;
20998
20999   case 1262:
21000
21001 /* Line 1464 of yacc.c  */
21002 #line 3408 "grammar.y"
21003     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
21004     break;
21005
21006   case 1263:
21007
21008 /* Line 1464 of yacc.c  */
21009 #line 3409 "grammar.y"
21010     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
21011     break;
21012
21013   case 1264:
21014
21015 /* Line 1464 of yacc.c  */
21016 #line 3413 "grammar.y"
21017     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
21018     break;
21019
21020   case 1265:
21021
21022 /* Line 1464 of yacc.c  */
21023 #line 3414 "grammar.y"
21024     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
21025     break;
21026
21027   case 1266:
21028
21029 /* Line 1464 of yacc.c  */
21030 #line 3415 "grammar.y"
21031     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
21032     break;
21033
21034   case 1267:
21035
21036 /* Line 1464 of yacc.c  */
21037 #line 3416 "grammar.y"
21038     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
21039     break;
21040
21041   case 1268:
21042
21043 /* Line 1464 of yacc.c  */
21044 #line 3420 "grammar.y"
21045     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
21046     break;
21047
21048   case 1269:
21049
21050 /* Line 1464 of yacc.c  */
21051 #line 3424 "grammar.y"
21052     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
21053     break;
21054
21055   case 1270:
21056
21057 /* Line 1464 of yacc.c  */
21058 #line 3428 "grammar.y"
21059     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
21060     break;
21061
21062   case 1271:
21063
21064 /* Line 1464 of yacc.c  */
21065 #line 3432 "grammar.y"
21066     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
21067     break;
21068
21069
21070
21071 /* Line 1464 of yacc.c  */
21072 #line 21073 "grammar.ec"
21073       default: break;
21074     }
21075   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
21076
21077   YYPOPSTACK (yylen);
21078   yylen = 0;
21079   YY_STACK_PRINT (yyss, yyssp);
21080
21081   *++yyvsp = yyval;
21082   *++yylsp = yyloc;
21083
21084   /* Now `shift' the result of the reduction.  Determine what state
21085      that goes to, based on the state we popped back to and the rule
21086      number reduced by.  */
21087
21088   yyn = yyr1[yyn];
21089
21090   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
21091   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
21092     yystate = yytable[yystate];
21093   else
21094     yystate = yydefgoto[yyn - YYNTOKENS];
21095
21096   goto yynewstate;
21097
21098
21099 /*------------------------------------.
21100 | yyerrlab -- here on detecting error |
21101 `------------------------------------*/
21102 yyerrlab:
21103   /* If not already recovering from an error, report this error.  */
21104   if (!yyerrstatus)
21105     {
21106       ++yynerrs;
21107 #if ! YYERROR_VERBOSE
21108       yyerror (YY_("syntax error"));
21109 #else
21110       {
21111         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
21112         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
21113           {
21114             YYSIZE_T yyalloc = 2 * yysize;
21115             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
21116               yyalloc = YYSTACK_ALLOC_MAXIMUM;
21117             if (yymsg != yymsgbuf)
21118               YYSTACK_FREE (yymsg);
21119             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
21120             if (yymsg)
21121               yymsg_alloc = yyalloc;
21122             else
21123               {
21124                 yymsg = yymsgbuf;
21125                 yymsg_alloc = sizeof yymsgbuf;
21126               }
21127           }
21128
21129         if (0 < yysize && yysize <= yymsg_alloc)
21130           {
21131             (void) yysyntax_error (yymsg, yystate, yychar);
21132             yyerror (yymsg);
21133           }
21134         else
21135           {
21136             yyerror (YY_("syntax error"));
21137             if (yysize != 0)
21138               goto yyexhaustedlab;
21139           }
21140       }
21141 #endif
21142     }
21143
21144   yyerror_range[0] = yylloc;
21145
21146   if (yyerrstatus == 3)
21147     {
21148       /* If just tried and failed to reuse lookahead token after an
21149          error, discard it.  */
21150
21151       if (yychar <= YYEOF)
21152         {
21153           /* Return failure if at end of input.  */
21154           if (yychar == YYEOF)
21155             YYABORT;
21156         }
21157       else
21158         {
21159           yydestruct ("Error: discarding",
21160                       yytoken, &yylval, &yylloc);
21161           yychar = YYEMPTY;
21162         }
21163     }
21164
21165   /* Else will try to reuse lookahead token after shifting the error
21166      token.  */
21167   goto yyerrlab1;
21168
21169
21170 /*---------------------------------------------------.
21171 | yyerrorlab -- error raised explicitly by YYERROR.  |
21172 `---------------------------------------------------*/
21173 yyerrorlab:
21174
21175   /* Pacify compilers like GCC when the user code never invokes
21176      YYERROR and the label yyerrorlab therefore never appears in user
21177      code.  */
21178   if (/*CONSTCOND*/ 0)
21179      goto yyerrorlab;
21180
21181   yyerror_range[0] = yylsp[1-yylen];
21182   /* Do not reclaim the symbols of the rule which action triggered
21183      this YYERROR.  */
21184   YYPOPSTACK (yylen);
21185   yylen = 0;
21186   YY_STACK_PRINT (yyss, yyssp);
21187   yystate = *yyssp;
21188   goto yyerrlab1;
21189
21190
21191 /*-------------------------------------------------------------.
21192 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
21193 `-------------------------------------------------------------*/
21194 yyerrlab1:
21195   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
21196
21197   for (;;)
21198     {
21199       yyn = yypact[yystate];
21200       if (yyn != YYPACT_NINF)
21201         {
21202           yyn += YYTERROR;
21203           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
21204             {
21205               yyn = yytable[yyn];
21206               if (0 < yyn)
21207                 break;
21208             }
21209         }
21210
21211       /* Pop the current state because it cannot handle the error token.  */
21212       if (yyssp == yyss)
21213         YYABORT;
21214
21215       yyerror_range[0] = *yylsp;
21216       yydestruct ("Error: popping",
21217                   yystos[yystate], yyvsp, yylsp);
21218       YYPOPSTACK (1);
21219       yystate = *yyssp;
21220       YY_STACK_PRINT (yyss, yyssp);
21221     }
21222
21223   *++yyvsp = yylval;
21224
21225   yyerror_range[1] = yylloc;
21226   /* Using YYLLOC is tempting, but would change the location of
21227      the lookahead.  YYLOC is available though.  */
21228   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
21229   *++yylsp = yyloc;
21230
21231   /* Shift the error token.  */
21232   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
21233
21234   yystate = yyn;
21235   goto yynewstate;
21236
21237
21238 /*-------------------------------------.
21239 | yyacceptlab -- YYACCEPT comes here.  |
21240 `-------------------------------------*/
21241 yyacceptlab:
21242   yyresult = 0;
21243   goto yyreturn;
21244
21245 /*-----------------------------------.
21246 | yyabortlab -- YYABORT comes here.  |
21247 `-----------------------------------*/
21248 yyabortlab:
21249   yyresult = 1;
21250   goto yyreturn;
21251
21252 #if !defined(yyoverflow) || YYERROR_VERBOSE
21253 /*-------------------------------------------------.
21254 | yyexhaustedlab -- memory exhaustion comes here.  |
21255 `-------------------------------------------------*/
21256 yyexhaustedlab:
21257   yyerror (YY_("memory exhausted"));
21258   yyresult = 2;
21259   /* Fall through.  */
21260 #endif
21261
21262 yyreturn:
21263   if (yychar != YYEMPTY)
21264      yydestruct ("Cleanup: discarding lookahead",
21265                  yytoken, &yylval, &yylloc);
21266   /* Do not reclaim the symbols of the rule which action triggered
21267      this YYABORT or YYACCEPT.  */
21268   YYPOPSTACK (yylen);
21269   YY_STACK_PRINT (yyss, yyssp);
21270   while (yyssp != yyss)
21271     {
21272       yydestruct ("Cleanup: popping",
21273                   yystos[*yyssp], yyvsp, yylsp);
21274       YYPOPSTACK (1);
21275     }
21276 #ifndef yyoverflow
21277   if (yyss != yyssa)
21278     YYSTACK_FREE (yyss);
21279 #endif
21280 #if YYERROR_VERBOSE
21281   if (yymsg != yymsgbuf)
21282     YYSTACK_FREE (yymsg);
21283 #endif
21284   /* Make sure YYID is used.  */
21285   return YYID (yyresult);
21286 }
21287
21288
21289
21290 /* Line 1684 of yacc.c  */
21291 #line 3435 "grammar.y"
21292
21293