Changeset ab57786


Ignore:
Timestamp:
Aug 22, 2016, 2:28:47 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
2acf5fc
Parents:
80722d0
Message:

more refactoring of parser code

Location:
src/Parser
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ExpressionNode.cc

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Aug 16 00:09:20 2016
    13 // Update Count     : 495
     12// Last Modified On : Sun Aug 21 09:43:31 2016
     13// Update Count     : 501
    1414//
    1515
     
    120120        } // if
    121121
    122         return new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[Unsigned][size] ), str ) );
     122        Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[Unsigned][size] ), str ) );
     123        delete &str;                                                                            // created by lex
     124        return ret;
    123125} // build_constantInteger
    124126
     
    150152        } // if
    151153
    152         return new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[complx][size] ), str ) );
     154        Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[complx][size] ), str ) );
     155        delete &str;                                                                            // created by lex
     156        return ret;
    153157} // build_constantFloat
    154158
    155159Expression *build_constantChar( const std::string & str ) {
    156         return new ConstantExpr( Constant( new BasicType( emptyQualifiers, BasicType::Char ), str ) );
     160        Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, BasicType::Char ), str ) );
     161        delete &str;                                                                            // created by lex
     162        return ret;
    157163} // build_constantChar
    158164
     
    163169                                                                                        toString( str.size()+1-2 ) ) ),  // +1 for '\0' and -2 for '"'
    164170                                                                   false, false );
    165         return new ConstantExpr( Constant( at, str ) );
     171        ConstantExpr * ret = new ConstantExpr( Constant( at, str ) );
     172        delete &str;                                                                            // created by lex
     173        return ret;
    166174} // build_constantStr
    167175
  • src/Parser/LinkageSpec.cc

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 13:22:09 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 18 23:47:14 2016
    13 // Update Count     : 12
     12// Last Modified On : Sun Aug 21 12:32:53 2016
     13// Update Count     : 17
    1414//
    1515
     
    2020#include "Common/SemanticError.h"
    2121
    22 LinkageSpec::Spec LinkageSpec::fromString( const std::string &stringSpec ) {
    23         if ( stringSpec == "\"Cforall\"" ) {
     22LinkageSpec::Spec LinkageSpec::fromString( const std::string &spec ) {
     23        if ( spec == "\"Cforall\"" ) {
    2424                return Cforall;
    25         } else if ( stringSpec == "\"C\"" ) {
     25        } else if ( spec == "\"C\"" ) {
    2626                return C;
    2727        } else {
    28                 throw SemanticError( "Invalid linkage specifier " + stringSpec );
    29         }
     28                throw SemanticError( "Invalid linkage specifier " + spec );
     29        } // if
     30        delete &spec;                                                                           // allocated by lexer
    3031}
    3132
     
    3738}
    3839
    39 bool LinkageSpec::isDecoratable( Spec t ) {
     40bool LinkageSpec::isDecoratable( Spec spec ) {
    4041        static bool decoratable[LinkageSpec::NoOfSpecs] = {
    4142                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    4243                        true,           true,           false,  true,           false,
    4344        };
    44         return decoratable[t];
     45        return decoratable[spec];
    4546}
    4647
    47 bool LinkageSpec::isGeneratable( Spec t ) {
     48bool LinkageSpec::isGeneratable( Spec spec ) {
    4849        static bool generatable[LinkageSpec::NoOfSpecs] = {
    4950                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    5051                        true,           true,           true,   true,           false,
    5152        };
    52         return generatable[t];
     53        return generatable[spec];
    5354}
    5455
    55 bool LinkageSpec::isOverloadable( Spec t ) {
    56         return isDecoratable( t );
    57 }
    58 
    59 
    60 bool LinkageSpec::isOverridable( Spec t ) {
     56bool LinkageSpec::isOverridable( Spec spec ) {
    6157        static bool overridable[LinkageSpec::NoOfSpecs] = {
    6258                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    6359                        true,           false,          false,  true,           false,
    6460        };
    65         return overridable[t];
     61        return overridable[spec];
    6662}
    6763
    68 bool LinkageSpec::isBuiltin( Spec t ) {
     64bool LinkageSpec::isBuiltin( Spec spec ) {
    6965        static bool builtin[LinkageSpec::NoOfSpecs] = {
    7066                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
    7167                        true,           false,          false,  false,          true,
    7268        };
    73         return builtin[t];
     69        return builtin[spec];
    7470}
    7571
  • src/Parser/LinkageSpec.h

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 13:24:28 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 18 23:47:16 2016
    13 // Update Count     : 7
     12// Last Modified On : Sat Aug 20 19:22:23 2016
     13// Update Count     : 8
    1414//
    1515
     
    3434        static bool isDecoratable( Spec );
    3535        static bool isGeneratable( Spec );
    36         static bool isOverloadable( Spec );
    3736        static bool isOverridable( Spec );
    3837        static bool isBuiltin( Spec );
  • src/Parser/ParseNode.h

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug 18 23:48:37 2016
    13 // Update Count     : 542
     12// Last Modified On : Sun Aug 21 11:53:59 2016
     13// Update Count     : 546
    1414//
    1515
     
    352352Statement *build_while( ExpressionNode *ctl, StatementNode *stmt, bool kind = false );
    353353Statement *build_for( ForCtl *forctl, StatementNode *stmt );
    354 Statement *build_branch( std::string identifier, BranchStmt::Type kind );
     354Statement *build_branch( BranchStmt::Type kind );
     355Statement *build_branch( std::string *identifier, BranchStmt::Type kind );
    355356Statement *build_computedgoto( ExpressionNode *ctl );
    356357Statement *build_return( ExpressionNode *ctl );
  • src/Parser/StatementNode.cc

    r80722d0 rab57786  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Aug 15 20:47:11 2016
    13 // Update Count     : 322
     12// Last Modified On : Sun Aug 21 11:59:37 2016
     13// Update Count     : 325
    1414//
    1515
     
    138138}
    139139
    140 Statement *build_branch( std::string identifier, BranchStmt::Type kind ) {
    141         return new BranchStmt( noLabels, identifier, kind );
     140Statement *build_branch( BranchStmt::Type kind ) {
     141        Statement * ret = new BranchStmt( noLabels, "", kind );
     142        return ret;
     143}
     144Statement *build_branch( std::string *identifier, BranchStmt::Type kind ) {
     145        Statement * ret = new BranchStmt( noLabels, *identifier, kind );
     146        delete identifier;                                                                      // allocated by lexer
     147        return ret;
    142148}
    143149Statement *build_computedgoto( ExpressionNode *ctl ) {
  • src/Parser/lex.h

    r80722d0 rab57786  
    1010// Created On       : Sat Sep 22 08:58:10 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Mar 21 18:18:06 2016
    13 // Update Count     : 346
     12// Last Modified On : Sun Aug 21 11:28:47 2016
     13// Update Count     : 347
    1414//
    1515
     
    3333    char *file;
    3434    int line;
    35 };
     35}; // Location
    3636
    37 class Token {
    38   public:
     37struct Token {
    3938    std::string *str;                                                                   // must be pointer as used in union
    4039    Location loc;
    4140
    4241    operator std::string *() { return str; }
    43 };
     42}; // Token
    4443
    4544#endif // PARSER_LEX_H
  • src/Parser/parser.cc

    r80722d0 rab57786  
    1 /* A Bison parser, made by GNU Bison 3.0.2.  */
     1/* A Bison parser, made by GNU Bison 2.5.  */
    22
    33/* Bison implementation for Yacc-like parsers in C
    4 
    5    Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
    6 
     4   
     5      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
     6   
    77   This program is free software: you can redistribute it and/or modify
    88   it under the terms of the GNU General Public License as published by
    99   the Free Software Foundation, either version 3 of the License, or
    1010   (at your option) any later version.
    11 
     11   
    1212   This program is distributed in the hope that it will be useful,
    1313   but WITHOUT ANY WARRANTY; without even the implied warranty of
    1414   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1515   GNU General Public License for more details.
    16 
     16   
    1717   You should have received a copy of the GNU General Public License
    1818   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     
    2727   Bison output files to be licensed under the GNU General Public
    2828   License without this special exception.
    29 
     29   
    3030   This special exception was added by the Free Software Foundation in
    3131   version 2.2 of Bison.  */
     
    4545
    4646/* Bison version.  */
    47 #define YYBISON_VERSION "3.0.2"
     47#define YYBISON_VERSION "2.5"
    4848
    4949/* Skeleton name.  */
     
    5959#define YYPULL 1
    6060
     61/* Using locations.  */
     62#define YYLSP_NEEDED 0
    6163
    6264
    6365
    6466/* Copy the first part of user declarations.  */
    65 #line 42 "parser.yy" /* yacc.c:339  */
     67
     68/* Line 268 of yacc.c  */
     69#line 42 "parser.yy"
    6670
    6771#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
     
    7983#include "LinkageSpec.h"
    8084
     85union DeclQualifiers {
     86        unsigned int value;                                                                     // assume 32-bits
     87        struct {
     88                bool Extern : 1;
     89                bool Static : 1;
     90                bool Auto : 1;
     91                bool Register : 1;
     92                bool Inline : 1;
     93                bool Fortran : 1;
     94                bool Noreturn : 1;
     95                bool Threadlocal : 1;
     96                bool Extension : 1;
     97                bool Lvalue : 1;
     98                bool Const : 1;
     99                bool Volatile : 1;
     100                bool Restrict : 1;
     101                bool Atomic : 1;
     102        } qual;
     103}; // DeclQualifiers
     104DeclQualifiers declQualifiers = { 0 };
     105
     106union DeclType {
     107        unsigned int value;                                                                     // assume 32-bits
     108        struct {
     109                bool Char : 1;
     110                bool Bool : 1;
     111                bool Short : 1;
     112                bool Int : 1;
     113                bool Float : 1;
     114                bool Double : 1;
     115                bool Long : 1;
     116                bool Signed : 1;
     117                bool Unsigned : 1;
     118                bool Void : 1;
     119                bool Complex : 1;
     120                bool Imaginary : 1;
     121                bool Valist : 1;
     122        } type;
     123}; // DeclType
     124DeclType declTypes = { 0 };
     125
    81126extern DeclarationNode * parseTree;
    82127extern LinkageSpec::Spec linkage;
     
    85130std::stack< LinkageSpec::Spec > linkageStack;
    86131
    87 void appendStr( std::string &to, std::string *from ) {
     132void appendStr( std::string *to, std::string *from ) {
    88133        // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string.
    89         to.insert( to.length() - 1, from->substr( 1, from->length() - 2 ) );
     134        to->insert( to->length() - 1, from->substr( 1, from->length() - 2 ) );
    90135} // appendStr
    91136
    92 #line 93 "Parser/parser.cc" /* yacc.c:339  */
    93 
    94 # ifndef YY_NULLPTR
    95 #  if defined __cplusplus && 201103L <= __cplusplus
    96 #   define YY_NULLPTR nullptr
    97 #  else
    98 #   define YY_NULLPTR 0
    99 #  endif
    100 # endif
     137
     138/* Line 268 of yacc.c  */
     139#line 140 "Parser/parser.cc"
     140
     141/* Enabling traces.  */
     142#ifndef YYDEBUG
     143# define YYDEBUG 1
     144#endif
    101145
    102146/* Enabling verbose error messages.  */
     
    108152#endif
    109153
    110 /* In a future release of Bison, this section will be replaced
    111    by #include "y.tab.h".  */
    112 #ifndef YY_YY_Y_TAB_H_INCLUDED
    113 # define YY_YY_Y_TAB_H_INCLUDED
    114 /* Debug traces.  */
    115 #ifndef YYDEBUG
    116 # define YYDEBUG 1
     154/* Enabling the token table.  */
     155#ifndef YYTOKEN_TABLE
     156# define YYTOKEN_TABLE 0
    117157#endif
    118 #if YYDEBUG
    119 extern int yydebug;
    120 #endif
    121 
    122 /* Token type.  */
     158
     159
     160/* Tokens.  */
    123161#ifndef YYTOKENTYPE
    124162# define YYTOKENTYPE
    125   enum yytokentype
    126   {
    127     TYPEDEF = 258,
    128     AUTO = 259,
    129     EXTERN = 260,
    130     REGISTER = 261,
    131     STATIC = 262,
    132     INLINE = 263,
    133     FORTRAN = 264,
    134     CONST = 265,
    135     VOLATILE = 266,
    136     RESTRICT = 267,
    137     FORALL = 268,
    138     LVALUE = 269,
    139     VOID = 270,
    140     CHAR = 271,
    141     SHORT = 272,
    142     INT = 273,
    143     LONG = 274,
    144     FLOAT = 275,
    145     DOUBLE = 276,
    146     SIGNED = 277,
    147     UNSIGNED = 278,
    148     VALIST = 279,
    149     BOOL = 280,
    150     COMPLEX = 281,
    151     IMAGINARY = 282,
    152     TYPEOF = 283,
    153     LABEL = 284,
    154     ENUM = 285,
    155     STRUCT = 286,
    156     UNION = 287,
    157     OTYPE = 288,
    158     FTYPE = 289,
    159     DTYPE = 290,
    160     TRAIT = 291,
    161     SIZEOF = 292,
    162     OFFSETOF = 293,
    163     ATTRIBUTE = 294,
    164     EXTENSION = 295,
    165     IF = 296,
    166     ELSE = 297,
    167     SWITCH = 298,
    168     CASE = 299,
    169     DEFAULT = 300,
    170     DO = 301,
    171     WHILE = 302,
    172     FOR = 303,
    173     BREAK = 304,
    174     CONTINUE = 305,
    175     GOTO = 306,
    176     RETURN = 307,
    177     CHOOSE = 308,
    178     DISABLE = 309,
    179     ENABLE = 310,
    180     FALLTHRU = 311,
    181     TRY = 312,
    182     CATCH = 313,
    183     CATCHRESUME = 314,
    184     FINALLY = 315,
    185     THROW = 316,
    186     THROWRESUME = 317,
    187     AT = 318,
    188     ASM = 319,
    189     ALIGNAS = 320,
    190     ALIGNOF = 321,
    191     ATOMIC = 322,
    192     GENERIC = 323,
    193     NORETURN = 324,
    194     STATICASSERT = 325,
    195     THREADLOCAL = 326,
    196     IDENTIFIER = 327,
    197     QUOTED_IDENTIFIER = 328,
    198     TYPEDEFname = 329,
    199     TYPEGENname = 330,
    200     ATTR_IDENTIFIER = 331,
    201     ATTR_TYPEDEFname = 332,
    202     ATTR_TYPEGENname = 333,
    203     INTEGERconstant = 334,
    204     FLOATINGconstant = 335,
    205     CHARACTERconstant = 336,
    206     STRINGliteral = 337,
    207     ZERO = 338,
    208     ONE = 339,
    209     ARROW = 340,
    210     ICR = 341,
    211     DECR = 342,
    212     LS = 343,
    213     RS = 344,
    214     LE = 345,
    215     GE = 346,
    216     EQ = 347,
    217     NE = 348,
    218     ANDAND = 349,
    219     OROR = 350,
    220     ELLIPSIS = 351,
    221     MULTassign = 352,
    222     DIVassign = 353,
    223     MODassign = 354,
    224     PLUSassign = 355,
    225     MINUSassign = 356,
    226     LSassign = 357,
    227     RSassign = 358,
    228     ANDassign = 359,
    229     ERassign = 360,
    230     ORassign = 361,
    231     ATassign = 362,
    232     THEN = 363
    233   };
     163   /* Put the tokens into the symbol table, so that GDB and other debuggers
     164      know about them.  */
     165   enum yytokentype {
     166     TYPEDEF = 258,
     167     AUTO = 259,
     168     EXTERN = 260,
     169     REGISTER = 261,
     170     STATIC = 262,
     171     INLINE = 263,
     172     FORTRAN = 264,
     173     CONST = 265,
     174     VOLATILE = 266,
     175     RESTRICT = 267,
     176     FORALL = 268,
     177     LVALUE = 269,
     178     VOID = 270,
     179     CHAR = 271,
     180     SHORT = 272,
     181     INT = 273,
     182     LONG = 274,
     183     FLOAT = 275,
     184     DOUBLE = 276,
     185     SIGNED = 277,
     186     UNSIGNED = 278,
     187     VALIST = 279,
     188     BOOL = 280,
     189     COMPLEX = 281,
     190     IMAGINARY = 282,
     191     TYPEOF = 283,
     192     LABEL = 284,
     193     ENUM = 285,
     194     STRUCT = 286,
     195     UNION = 287,
     196     OTYPE = 288,
     197     FTYPE = 289,
     198     DTYPE = 290,
     199     TRAIT = 291,
     200     SIZEOF = 292,
     201     OFFSETOF = 293,
     202     ATTRIBUTE = 294,
     203     EXTENSION = 295,
     204     IF = 296,
     205     ELSE = 297,
     206     SWITCH = 298,
     207     CASE = 299,
     208     DEFAULT = 300,
     209     DO = 301,
     210     WHILE = 302,
     211     FOR = 303,
     212     BREAK = 304,
     213     CONTINUE = 305,
     214     GOTO = 306,
     215     RETURN = 307,
     216     CHOOSE = 308,
     217     DISABLE = 309,
     218     ENABLE = 310,
     219     FALLTHRU = 311,
     220     TRY = 312,
     221     CATCH = 313,
     222     CATCHRESUME = 314,
     223     FINALLY = 315,
     224     THROW = 316,
     225     THROWRESUME = 317,
     226     AT = 318,
     227     ASM = 319,
     228     ALIGNAS = 320,
     229     ALIGNOF = 321,
     230     ATOMIC = 322,
     231     GENERIC = 323,
     232     NORETURN = 324,
     233     STATICASSERT = 325,
     234     THREADLOCAL = 326,
     235     IDENTIFIER = 327,
     236     QUOTED_IDENTIFIER = 328,
     237     TYPEDEFname = 329,
     238     TYPEGENname = 330,
     239     ATTR_IDENTIFIER = 331,
     240     ATTR_TYPEDEFname = 332,
     241     ATTR_TYPEGENname = 333,
     242     INTEGERconstant = 334,
     243     FLOATINGconstant = 335,
     244     CHARACTERconstant = 336,
     245     STRINGliteral = 337,
     246     ZERO = 338,
     247     ONE = 339,
     248     ARROW = 340,
     249     ICR = 341,
     250     DECR = 342,
     251     LS = 343,
     252     RS = 344,
     253     LE = 345,
     254     GE = 346,
     255     EQ = 347,
     256     NE = 348,
     257     ANDAND = 349,
     258     OROR = 350,
     259     ELLIPSIS = 351,
     260     MULTassign = 352,
     261     DIVassign = 353,
     262     MODassign = 354,
     263     PLUSassign = 355,
     264     MINUSassign = 356,
     265     LSassign = 357,
     266     RSassign = 358,
     267     ANDassign = 359,
     268     ERassign = 360,
     269     ORassign = 361,
     270     ATassign = 362,
     271     THEN = 363
     272   };
    234273#endif
    235274/* Tokens.  */
     
    341380#define THEN 363
    342381
    343 /* Value type.  */
     382
     383
     384
    344385#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    345 typedef union YYSTYPE YYSTYPE;
    346 union YYSTYPE
     386typedef union YYSTYPE
    347387{
    348 #line 115 "parser.yy" /* yacc.c:355  */
     388
     389/* Line 293 of yacc.c  */
     390#line 156 "parser.yy"
    349391
    350392        Token tok;
     
    360402        InitializerNode *in;
    361403        OperKinds op;
     404        std::string *str;
    362405        bool flag;
    363406
    364 #line 365 "Parser/parser.cc" /* yacc.c:355  */
    365 };
     407
     408
     409/* Line 293 of yacc.c  */
     410#line 411 "Parser/parser.cc"
     411} YYSTYPE;
    366412# define YYSTYPE_IS_TRIVIAL 1
     413# define yystype YYSTYPE /* obsolescent; will be withdrawn */
    367414# define YYSTYPE_IS_DECLARED 1
    368415#endif
    369416
    370417
    371 extern YYSTYPE yylval;
    372 
    373 int yyparse (void);
    374 
    375 #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
    376 
    377418/* Copy the second part of user declarations.  */
    378419
    379 #line 380 "Parser/parser.cc" /* yacc.c:358  */
     420
     421/* Line 343 of yacc.c  */
     422#line 423 "Parser/parser.cc"
    380423
    381424#ifdef short
     
    391434#ifdef YYTYPE_INT8
    392435typedef YYTYPE_INT8 yytype_int8;
     436#elif (defined __STDC__ || defined __C99__FUNC__ \
     437     || defined __cplusplus || defined _MSC_VER)
     438typedef signed char yytype_int8;
    393439#else
    394 typedef signed char yytype_int8;
     440typedef short int yytype_int8;
    395441#endif
    396442
     
    412458# elif defined size_t
    413459#  define YYSIZE_T size_t
    414 # elif ! defined YYSIZE_T
     460# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     461     || defined __cplusplus || defined _MSC_VER)
    415462#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    416463#  define YYSIZE_T size_t
     
    426473#  if ENABLE_NLS
    427474#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    428 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
     475#   define YY_(msgid) dgettext ("bison-runtime", msgid)
    429476#  endif
    430477# endif
    431478# ifndef YY_
    432 #  define YY_(Msgid) Msgid
     479#  define YY_(msgid) msgid
    433480# endif
    434481#endif
    435482
    436 #ifndef YY_ATTRIBUTE
    437 # if (defined __GNUC__                                               \
    438       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
    439      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
    440 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
    441 # else
    442 #  define YY_ATTRIBUTE(Spec) /* empty */
    443 # endif
    444 #endif
    445 
    446 #ifndef YY_ATTRIBUTE_PURE
    447 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
    448 #endif
    449 
    450 #ifndef YY_ATTRIBUTE_UNUSED
    451 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
    452 #endif
    453 
    454 #if !defined _Noreturn \
    455      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
    456 # if defined _MSC_VER && 1200 <= _MSC_VER
    457 #  define _Noreturn __declspec (noreturn)
    458 # else
    459 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
    460 # endif
    461 #endif
    462 
    463483/* Suppress unused-variable warnings by "using" E.  */
    464484#if ! defined lint || defined __GNUC__
    465 # define YYUSE(E) ((void) (E))
     485# define YYUSE(e) ((void) (e))
    466486#else
    467 # define YYUSE(E) /* empty */
     487# define YYUSE(e) /* empty */
    468488#endif
    469489
    470 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
    471 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
    472 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
    473     _Pragma ("GCC diagnostic push") \
    474     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
    475     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
    476 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
    477     _Pragma ("GCC diagnostic pop")
     490/* Identity function, used to suppress warnings about constant conditions.  */
     491#ifndef lint
     492# define YYID(n) (n)
    478493#else
    479 # define YY_INITIAL_VALUE(Value) Value
     494#if (defined __STDC__ || defined __C99__FUNC__ \
     495     || defined __cplusplus || defined _MSC_VER)
     496static int
     497YYID (int yyi)
     498#else
     499static int
     500YYID (yyi)
     501    int yyi;
    480502#endif
    481 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    482 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    483 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
     503{
     504  return yyi;
     505}
    484506#endif
    485 #ifndef YY_INITIAL_VALUE
    486 # define YY_INITIAL_VALUE(Value) /* Nothing. */
    487 #endif
    488 
    489507
    490508#if ! defined yyoverflow || YYERROR_VERBOSE
     
    505523#   else
    506524#    define YYSTACK_ALLOC alloca
    507 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
     525#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     526     || defined __cplusplus || defined _MSC_VER)
    508527#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    509       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
    510528#     ifndef EXIT_SUCCESS
    511529#      define EXIT_SUCCESS 0
     
    517535
    518536# ifdef YYSTACK_ALLOC
    519    /* Pacify GCC's 'empty if-body' warning.  */
    520 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
     537   /* Pacify GCC's `empty if-body' warning.  */
     538#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
    521539#  ifndef YYSTACK_ALLOC_MAXIMUM
    522540    /* The OS might guarantee only one guard page at the bottom of the stack,
     
    534552#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
    535553       && ! ((defined YYMALLOC || defined malloc) \
    536              && (defined YYFREE || defined free)))
     554             && (defined YYFREE || defined free)))
    537555#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    538556#   ifndef EXIT_SUCCESS
     
    542560#  ifndef YYMALLOC
    543561#   define YYMALLOC malloc
    544 #   if ! defined malloc && ! defined EXIT_SUCCESS
     562#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     563     || defined __cplusplus || defined _MSC_VER)
    545564void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    546565#   endif
     
    548567#  ifndef YYFREE
    549568#   define YYFREE free
    550 #   if ! defined free && ! defined EXIT_SUCCESS
     569#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
     570     || defined __cplusplus || defined _MSC_VER)
    551571void free (void *); /* INFRINGES ON USER NAME SPACE */
    552572#   endif
     
    558578#if (! defined yyoverflow \
    559579     && (! defined __cplusplus \
    560         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
     580        || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    561581
    562582/* A type that is properly aligned for any stack member.  */
     
    583603   stack.  Advance YYPTR to a properly aligned location for the next
    584604   stack.  */
    585 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    586     do                                                                  \
    587       {                                                                 \
    588         YYSIZE_T yynewbytes;                                            \
    589         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
    590         Stack = &yyptr->Stack_alloc;                                    \
    591         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    592         yyptr += yynewbytes / sizeof (*yyptr);                          \
    593       }                                                                 \
    594     while (0)
     605# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
     606    do                                                                  \
     607      {                                                                 \
     608        YYSIZE_T yynewbytes;                                            \
     609        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
     610        Stack = &yyptr->Stack_alloc;                                    \
     611        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
     612        yyptr += yynewbytes / sizeof (*yyptr);                          \
     613      }                                                                 \
     614    while (YYID (0))
    595615
    596616#endif
    597617
    598618#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
    599 /* Copy COUNT objects from SRC to DST.  The source and destination do
     619/* Copy COUNT objects from FROM to TO.  The source and destination do
    600620   not overlap.  */
    601621# ifndef YYCOPY
    602622#  if defined __GNUC__ && 1 < __GNUC__
    603 #   define YYCOPY(Dst, Src, Count) \
    604       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
     623#   define YYCOPY(To, From, Count) \
     624      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    605625#  else
    606 #   define YYCOPY(Dst, Src, Count)              \
    607       do                                        \
    608         {                                       \
    609           YYSIZE_T yyi;                         \
    610           for (yyi = 0; yyi < (Count); yyi++)   \
    611             (Dst)[yyi] = (Src)[yyi];            \
    612         }                                       \
    613       while (0)
     626#   define YYCOPY(To, From, Count)              \
     627      do                                        \
     628        {                                       \
     629          YYSIZE_T yyi;                         \
     630          for (yyi = 0; yyi < (Count); yyi++)   \
     631            (To)[yyi] = (From)[yyi];            \
     632        }                                       \
     633      while (YYID (0))
    614634#  endif
    615635# endif
     
    619639#define YYFINAL  250
    620640/* YYLAST -- Last index in YYTABLE.  */
    621 #define YYLAST   10977
     641#define YYLAST   10841
    622642
    623643/* YYNTOKENS -- Number of terminals.  */
    624644#define YYNTOKENS  133
    625645/* YYNNTS -- Number of nonterminals.  */
    626 #define YYNNTS  240
     646#define YYNNTS  241
    627647/* YYNRULES -- Number of rules.  */
    628 #define YYNRULES  749
    629 /* YYNSTATES -- Number of states.  */
    630 #define YYNSTATES  1553
    631 
    632 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    633    by yylex, with out-of-bounds checking.  */
     648#define YYNRULES  750
     649/* YYNRULES -- Number of states.  */
     650#define YYNSTATES  1554
     651
     652/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    634653#define YYUNDEFTOK  2
    635654#define YYMAXUTOK   363
    636655
    637 #define YYTRANSLATE(YYX)                                                \
     656#define YYTRANSLATE(YYX)                                                \
    638657  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    639658
    640 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
    641    as returned by yylex, without out-of-bounds checking.  */
     659/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
    642660static const yytype_uint8 yytranslate[] =
    643661{
     
    682700
    683701#if YYDEBUG
    684   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
     702/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
     703   YYRHS.  */
     704static const yytype_uint16 yyprhs[] =
     705{
     706       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
     707      17,    19,    21,    23,    25,    27,    29,    31,    33,    36,
     708      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
     709      86,    89,    92,   100,   105,   107,   111,   112,   114,   116,
     710     120,   122,   126,   134,   138,   146,   148,   150,   152,   155,
     711     158,   161,   164,   167,   170,   175,   178,   183,   190,   192,
     712     197,   202,   204,   206,   208,   210,   212,   214,   216,   221,
     713     226,   228,   232,   236,   240,   242,   246,   250,   252,   256,
     714     260,   262,   266,   270,   274,   278,   280,   284,   288,   290,
     715     294,   296,   300,   302,   306,   308,   312,   314,   318,   320,
     716     326,   331,   337,   339,   341,   345,   348,   349,   351,   353,
     717     355,   357,   359,   361,   363,   365,   367,   369,   371,   373,
     718     376,   382,   389,   397,   399,   403,   405,   409,   410,   412,
     719     414,   416,   418,   420,   422,   424,   426,   428,   435,   440,
     720     443,   451,   453,   457,   459,   462,   464,   467,   469,   472,
     721     475,   481,   489,   495,   505,   511,   521,   523,   527,   529,
     722     531,   535,   539,   542,   544,   547,   550,   551,   553,   556,
     723     560,   561,   563,   566,   570,   574,   579,   580,   582,   584,
     724     587,   593,   601,   608,   615,   620,   624,   629,   632,   636,
     725     639,   643,   647,   651,   655,   661,   665,   669,   674,   676,
     726     682,   689,   695,   702,   712,   723,   733,   744,   747,   749,
     727     752,   755,   758,   760,   767,   776,   787,   800,   815,   816,
     728     818,   819,   821,   823,   827,   832,   840,   841,   843,   847,
     729     849,   853,   855,   857,   859,   863,   865,   867,   869,   873,
     730     874,   876,   880,   885,   887,   891,   893,   895,   899,   903,
     731     907,   911,   915,   918,   922,   929,   933,   937,   942,   944,
     732     947,   950,   954,   960,   969,   977,   985,   991,  1001,  1004,
     733    1007,  1013,  1017,  1023,  1028,  1032,  1037,  1042,  1050,  1054,
     734    1058,  1062,  1066,  1071,  1078,  1080,  1082,  1084,  1086,  1088,
     735    1090,  1092,  1094,  1095,  1097,  1099,  1102,  1104,  1106,  1108,
     736    1110,  1112,  1114,  1116,  1117,  1123,  1125,  1128,  1132,  1134,
     737    1137,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
     738    1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
     739    1177,  1179,  1181,  1184,  1187,  1191,  1195,  1197,  1201,  1203,
     740    1206,  1209,  1212,  1217,  1222,  1227,  1232,  1234,  1237,  1240,
     741    1244,  1246,  1249,  1252,  1254,  1257,  1260,  1264,  1266,  1269,
     742    1272,  1274,  1276,  1281,  1284,  1285,  1292,  1300,  1303,  1306,
     743    1309,  1310,  1313,  1316,  1320,  1323,  1327,  1329,  1332,  1336,
     744    1339,  1342,  1347,  1348,  1350,  1353,  1356,  1358,  1359,  1361,
     745    1364,  1367,  1373,  1376,  1377,  1385,  1388,  1393,  1394,  1397,
     746    1398,  1400,  1402,  1404,  1410,  1416,  1422,  1424,  1430,  1436,
     747    1446,  1448,  1454,  1455,  1457,  1459,  1465,  1467,  1469,  1475,
     748    1481,  1483,  1487,  1491,  1496,  1498,  1500,  1502,  1504,  1507,
     749    1509,  1513,  1517,  1519,  1522,  1524,  1528,  1530,  1532,  1534,
     750    1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1553,  1555,
     751    1557,  1559,  1562,  1563,  1566,  1569,  1571,  1576,  1577,  1579,
     752    1582,  1586,  1591,  1594,  1597,  1599,  1602,  1605,  1611,  1617,
     753    1625,  1632,  1634,  1637,  1640,  1644,  1646,  1649,  1652,  1657,
     754    1660,  1665,  1666,  1671,  1674,  1676,  1678,  1680,  1681,  1684,
     755    1690,  1696,  1710,  1712,  1714,  1718,  1722,  1725,  1729,  1733,
     756    1736,  1741,  1743,  1750,  1760,  1761,  1773,  1775,  1779,  1783,
     757    1787,  1789,  1791,  1797,  1800,  1806,  1807,  1809,  1811,  1815,
     758    1816,  1818,  1820,  1822,  1824,  1825,  1832,  1835,  1837,  1840,
     759    1845,  1848,  1852,  1856,  1860,  1865,  1871,  1877,  1883,  1890,
     760    1892,  1894,  1896,  1900,  1901,  1907,  1908,  1910,  1912,  1915,
     761    1922,  1924,  1928,  1929,  1931,  1936,  1938,  1940,  1942,  1944,
     762    1947,  1949,  1952,  1955,  1957,  1961,  1964,  1968,  1972,  1975,
     763    1980,  1985,  1989,  1998,  2002,  2005,  2007,  2010,  2017,  2026,
     764    2030,  2033,  2037,  2041,  2046,  2051,  2055,  2057,  2059,  2061,
     765    2066,  2073,  2077,  2080,  2084,  2088,  2093,  2098,  2102,  2105,
     766    2107,  2110,  2113,  2115,  2119,  2122,  2126,  2130,  2133,  2138,
     767    2143,  2147,  2154,  2163,  2167,  2170,  2172,  2175,  2178,  2181,
     768    2185,  2189,  2192,  2197,  2202,  2206,  2213,  2222,  2226,  2229,
     769    2231,  2234,  2237,  2239,  2241,  2244,  2248,  2252,  2255,  2260,
     770    2267,  2276,  2278,  2281,  2284,  2286,  2289,  2292,  2296,  2300,
     771    2302,  2307,  2312,  2316,  2322,  2331,  2335,  2338,  2342,  2344,
     772    2350,  2356,  2363,  2370,  2372,  2375,  2378,  2380,  2383,  2386,
     773    2390,  2394,  2396,  2401,  2406,  2410,  2416,  2425,  2429,  2431,
     774    2434,  2436,  2439,  2446,  2452,  2459,  2467,  2475,  2477,  2480,
     775    2483,  2485,  2488,  2491,  2495,  2499,  2501,  2506,  2511,  2515,
     776    2524,  2528,  2530,  2532,  2535,  2537,  2539,  2542,  2546,  2549,
     777    2553,  2556,  2560,  2564,  2567,  2572,  2576,  2579,  2583,  2586,
     778    2591,  2595,  2598,  2605,  2612,  2619,  2627,  2629,  2632,  2634,
     779    2636,  2638,  2641,  2645,  2648,  2652,  2655,  2659,  2663,  2668,
     780    2671,  2675,  2680,  2683,  2689,  2695,  2702,  2709,  2710,  2712,
     781    2713
     782};
     783
     784/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
     785static const yytype_int16 yyrhs[] =
     786{
     787     302,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     788      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
     789      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,   142,
     790      -1,    82,    -1,   142,    82,    -1,    72,    -1,   140,    -1,
     791     109,   170,   110,    -1,   109,   174,   110,    -1,   143,    -1,
     792     144,   111,   134,   165,   135,   112,    -1,   144,   109,   145,
     793     110,    -1,   144,   113,   139,    -1,   144,   113,   111,   134,
     794     147,   135,   112,    -1,   144,    85,   139,    -1,   144,    85,
     795     111,   134,   147,   135,   112,    -1,   144,    86,    -1,   144,
     796      87,    -1,   109,   275,   110,   114,   279,   372,   115,    -1,
     797     144,   114,   145,   115,    -1,   146,    -1,   145,   116,   146,
     798      -1,    -1,   165,    -1,   148,    -1,   147,   116,   148,    -1,
     799     139,    -1,   139,   113,   148,    -1,   139,   113,   111,   134,
     800     147,   135,   112,    -1,   139,    85,   148,    -1,   139,    85,
     801     111,   134,   147,   135,   112,    -1,   144,    -1,   136,    -1,
     802     141,    -1,    40,   152,    -1,   150,   152,    -1,   151,   152,
     803      -1,    86,   149,    -1,    87,   149,    -1,    37,   149,    -1,
     804      37,   109,   275,   110,    -1,    66,   149,    -1,    66,   109,
     805     275,   110,    -1,    38,   109,   275,   116,   139,   110,    -1,
     806      76,    -1,    76,   109,   146,   110,    -1,    76,   109,   276,
     807     110,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
     808     121,    -1,   122,    -1,   149,    -1,   109,   275,   110,   152,
     809      -1,   109,   275,   110,   168,    -1,   152,    -1,   153,   117,
     810     152,    -1,   153,   123,   152,    -1,   153,   124,   152,    -1,
     811     153,    -1,   154,   119,   153,    -1,   154,   120,   153,    -1,
     812     154,    -1,   155,    88,   154,    -1,   155,    89,   154,    -1,
     813     155,    -1,   156,   125,   155,    -1,   156,   126,   155,    -1,
     814     156,    90,   155,    -1,   156,    91,   155,    -1,   156,    -1,
     815     157,    92,   156,    -1,   157,    93,   156,    -1,   157,    -1,
     816     158,   118,   157,    -1,   158,    -1,   159,   127,   158,    -1,
     817     159,    -1,   160,   128,   159,    -1,   160,    -1,   161,    94,
     818     160,    -1,   161,    -1,   162,    95,   161,    -1,   162,    -1,
     819     162,   129,   170,   130,   163,    -1,   162,   129,   130,   163,
     820      -1,   162,   129,   170,   130,   168,    -1,   163,    -1,   163,
     821      -1,   149,   167,   165,    -1,   168,   373,    -1,    -1,   165,
     822      -1,   131,    -1,    97,    -1,    98,    -1,    99,    -1,   100,
     823      -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,
     824      -1,   106,    -1,   111,   112,    -1,   111,   134,   165,   135,
     825     112,    -1,   111,   134,   116,   169,   135,   112,    -1,   111,
     826     134,   165,   116,   169,   135,   112,    -1,   166,    -1,   169,
     827     116,   166,    -1,   165,    -1,   170,   116,   165,    -1,    -1,
     828     170,    -1,   173,    -1,   174,    -1,   178,    -1,   179,    -1,
     829     191,    -1,   193,    -1,   194,    -1,   199,    -1,   127,   144,
     830     114,   145,   115,   132,    -1,    72,   130,   312,   172,    -1,
     831     114,   115,    -1,   114,   134,   134,   210,   175,   135,   115,
     832      -1,   176,    -1,   175,   134,   176,    -1,   213,    -1,    40,
     833     213,    -1,   308,    -1,   172,   135,    -1,   172,    -1,   177,
     834     172,    -1,   171,   132,    -1,    41,   109,   170,   110,   172,
     835      -1,    41,   109,   170,   110,   172,    42,   172,    -1,    43,
     836     109,   170,   110,   184,    -1,    43,   109,   170,   110,   114,
     837     134,   206,   185,   115,    -1,    53,   109,   170,   110,   184,
     838      -1,    53,   109,   170,   110,   114,   134,   206,   187,   115,
     839      -1,   164,    -1,   164,    96,   164,    -1,   310,    -1,   180,
     840      -1,   181,   116,   180,    -1,    44,   181,   130,    -1,    45,
     841     130,    -1,   182,    -1,   183,   182,    -1,   183,   172,    -1,
     842      -1,   186,    -1,   183,   177,    -1,   186,   183,   177,    -1,
     843      -1,   188,    -1,   183,   190,    -1,   183,   177,   189,    -1,
     844     188,   183,   190,    -1,   188,   183,   177,   189,    -1,    -1,
     845     190,    -1,    56,    -1,    56,   132,    -1,    47,   109,   170,
     846     110,   172,    -1,    46,   172,    47,   109,   170,   110,   132,
     847      -1,    48,   109,   134,   192,   110,   172,    -1,   171,   135,
     848     132,   171,   132,   171,    -1,   213,   171,   132,   171,    -1,
     849      51,    72,   132,    -1,    51,   117,   170,   132,    -1,    50,
     850     132,    -1,    50,    72,   132,    -1,    49,   132,    -1,    49,
     851      72,   132,    -1,    52,   171,   132,    -1,    61,   166,   132,
     852      -1,    62,   166,   132,    -1,    62,   166,    63,   165,   132,
     853      -1,    57,   174,   195,    -1,    57,   174,   197,    -1,    57,
     854     174,   195,   197,    -1,   196,    -1,    58,   109,    96,   110,
     855     174,    -1,   196,    58,   109,    96,   110,   174,    -1,    59,
     856     109,    96,   110,   174,    -1,   196,    59,   109,    96,   110,
     857     174,    -1,    58,   109,   134,   134,   198,   135,   110,   174,
     858     135,    -1,   196,    58,   109,   134,   134,   198,   135,   110,
     859     174,   135,    -1,    59,   109,   134,   134,   198,   135,   110,
     860     174,   135,    -1,   196,    59,   109,   134,   134,   198,   135,
     861     110,   174,   135,    -1,    60,   174,    -1,   226,    -1,   226,
     862     309,    -1,   226,   357,    -1,   366,   139,    -1,   366,    -1,
     863      64,   200,   109,   141,   110,   132,    -1,    64,   200,   109,
     864     141,   130,   201,   110,   132,    -1,    64,   200,   109,   141,
     865     130,   201,   130,   201,   110,   132,    -1,    64,   200,   109,
     866     141,   130,   201,   130,   201,   130,   204,   110,   132,    -1,
     867      64,   200,    51,   109,   141,   130,   130,   201,   130,   204,
     868     130,   205,   110,   132,    -1,    -1,    11,    -1,    -1,   202,
     869      -1,   203,    -1,   202,   116,   203,    -1,   141,   109,   164,
     870     110,    -1,   111,   164,   112,   141,   109,   164,   110,    -1,
     871      -1,   141,    -1,   204,   116,   141,    -1,   139,    -1,   205,
     872     116,   139,    -1,   135,    -1,   207,    -1,   213,    -1,   207,
     873     134,   213,    -1,   135,    -1,   209,    -1,   223,    -1,   209,
     874     134,   223,    -1,    -1,   211,    -1,    29,   212,   132,    -1,
     875     211,    29,   212,   132,    -1,   274,    -1,   212,   116,   274,
     876      -1,   214,    -1,   223,    -1,   215,   135,   132,    -1,   220,
     877     135,   132,    -1,   217,   135,   132,    -1,   293,   135,   132,
     878      -1,   296,   135,   132,    -1,   216,   277,    -1,   232,   216,
     879     277,    -1,   215,   135,   116,   134,   272,   277,    -1,   367,
     880     272,   311,    -1,   370,   272,   311,    -1,   228,   370,   272,
     881     311,    -1,   218,    -1,   228,   218,    -1,   232,   218,    -1,
     882     232,   228,   218,    -1,   217,   135,   116,   134,   272,    -1,
     883     111,   112,   272,   109,   134,   260,   135,   110,    -1,   370,
     884     272,   109,   134,   260,   135,   110,    -1,   219,   272,   109,
     885     134,   260,   135,   110,    -1,   111,   134,   262,   135,   112,
     886      -1,   111,   134,   262,   135,   116,   134,   263,   135,   112,
     887      -1,     3,   216,    -1,     3,   218,    -1,   220,   135,   116,
     888     134,   139,    -1,     3,   226,   309,    -1,   221,   135,   116,
     889     134,   309,    -1,   228,     3,   226,   309,    -1,   226,     3,
     890     309,    -1,   226,     3,   228,   309,    -1,     3,   139,   131,
     891     165,    -1,   222,   135,   116,   134,   139,   131,   165,    -1,
     892     224,   135,   132,    -1,   221,   135,   132,    -1,   222,   135,
     893     132,    -1,   240,   135,   132,    -1,   225,   309,   311,   277,
     894      -1,   224,   116,   312,   309,   311,   277,    -1,   236,    -1,
     895     240,    -1,   242,    -1,   283,    -1,   237,    -1,   241,    -1,
     896     243,    -1,   284,    -1,    -1,   228,    -1,   229,    -1,   228,
     897     229,    -1,   230,    -1,   314,    -1,    10,    -1,    12,    -1,
     898      11,    -1,    14,    -1,    67,    -1,    -1,    13,   109,   231,
     899     286,   110,    -1,   233,    -1,   228,   233,    -1,   232,   228,
     900     233,    -1,   234,    -1,   233,   234,    -1,     5,    -1,     7,
     901      -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,    69,
     902      -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,    18,
     903      -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,    15,
     904      -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,   237,
     905      -1,   232,   237,    -1,   236,   234,    -1,   236,   234,   228,
     906      -1,   236,   234,   237,    -1,   238,    -1,   227,   239,   227,
     907      -1,   235,    -1,   228,   235,    -1,   238,   229,    -1,   238,
     908     235,    -1,    28,   109,   276,   110,    -1,    28,   109,   170,
     909     110,    -1,    78,   109,   276,   110,    -1,    78,   109,   170,
     910     110,    -1,   241,    -1,   232,   241,    -1,   240,   234,    -1,
     911     240,   234,   228,    -1,   244,    -1,   228,   244,    -1,   241,
     912     229,    -1,   243,    -1,   232,   243,    -1,   242,   234,    -1,
     913     242,   234,   228,    -1,    74,    -1,   228,    74,    -1,   243,
     914     229,    -1,   245,    -1,   256,    -1,   247,   114,   248,   115,
     915      -1,   247,   274,    -1,    -1,   247,   274,   246,   114,   248,
     916     115,    -1,   247,   109,   292,   110,   114,   248,   115,    -1,
     917     247,   285,    -1,    31,   312,    -1,    32,   312,    -1,    -1,
     918     248,   249,    -1,   250,   132,    -1,    40,   250,   132,    -1,
     919     251,   132,    -1,    40,   251,   132,    -1,   366,    -1,   366,
     920     274,    -1,   250,   116,   274,    -1,   250,   116,    -1,   226,
     921     252,    -1,   251,   116,   312,   252,    -1,    -1,   254,    -1,
     922     318,   253,    -1,   331,   253,    -1,   357,    -1,    -1,   254,
     923      -1,   130,   164,    -1,    30,   312,    -1,   255,   114,   258,
     924     372,   115,    -1,   255,   274,    -1,    -1,   255,   274,   257,
     925     114,   258,   372,   115,    -1,   274,   259,    -1,   258,   116,
     926     274,   259,    -1,    -1,   131,   164,    -1,    -1,   261,    -1,
     927     263,    -1,   262,    -1,   262,   135,   116,   134,   263,    -1,
     928     263,   135,   116,   134,    96,    -1,   262,   135,   116,   134,
     929      96,    -1,   267,    -1,   263,   135,   116,   134,   267,    -1,
     930     262,   135,   116,   134,   267,    -1,   262,   135,   116,   134,
     931     263,   135,   116,   134,   267,    -1,   268,    -1,   263,   135,
     932     116,   134,   268,    -1,    -1,   265,    -1,   266,    -1,   266,
     933     135,   116,   134,    96,    -1,   270,    -1,   269,    -1,   266,
     934     135,   116,   134,   270,    -1,   266,   135,   116,   134,   269,
     935      -1,   269,    -1,   362,   272,   373,    -1,   370,   272,   373,
     936      -1,   228,   370,   272,   373,    -1,   218,    -1,   270,    -1,
     937     362,    -1,   370,    -1,   228,   370,    -1,   371,    -1,   225,
     938     336,   373,    -1,   225,   340,   373,    -1,   225,    -1,   225,
     939     351,    -1,   139,    -1,   271,   116,   139,    -1,   137,    -1,
     940      74,    -1,    75,    -1,   138,    -1,    74,    -1,    75,    -1,
     941     139,    -1,    74,    -1,    75,    -1,   366,    -1,   226,    -1,
     942     226,   357,    -1,   366,    -1,   371,    -1,   226,    -1,   226,
     943     345,    -1,    -1,   131,   278,    -1,   107,   278,    -1,   165,
     944      -1,   114,   279,   372,   115,    -1,    -1,   278,    -1,   280,
     945     278,    -1,   279,   116,   278,    -1,   279,   116,   280,   278,
     946      -1,   281,   130,    -1,   274,   130,    -1,   282,    -1,   281,
     947     282,    -1,   113,   274,    -1,   111,   134,   165,   135,   112,
     948      -1,   111,   134,   310,   135,   112,    -1,   111,   134,   164,
     949      96,   164,   135,   112,    -1,   113,   111,   134,   147,   135,
     950     112,    -1,   284,    -1,   232,   284,    -1,   283,   234,    -1,
     951     283,   234,   228,    -1,   285,    -1,   228,   285,    -1,   284,
     952     229,    -1,    75,   109,   292,   110,    -1,   287,   373,    -1,
     953     286,   116,   287,   373,    -1,    -1,   289,   274,   288,   290,
     954      -1,   226,   336,    -1,    33,    -1,    35,    -1,    34,    -1,
     955      -1,   290,   291,    -1,   128,   274,   109,   292,   110,    -1,
     956     128,   114,   134,   298,   115,    -1,   128,   109,   134,   286,
     957     135,   110,   114,   134,   298,   115,   109,   292,   110,    -1,
     958     276,    -1,   165,    -1,   292,   116,   276,    -1,   292,   116,
     959     165,    -1,    33,   294,    -1,   233,    33,   294,    -1,   293,
     960     116,   294,    -1,   295,   290,    -1,   295,   290,   131,   276,
     961      -1,   274,    -1,   273,   109,   134,   286,   135,   110,    -1,
     962      36,   274,   109,   134,   286,   135,   110,   114,   115,    -1,
     963      -1,    36,   274,   109,   134,   286,   135,   110,   114,   297,
     964     298,   115,    -1,   299,    -1,   298,   134,   299,    -1,   300,
     965     135,   132,    -1,   301,   135,   132,    -1,   216,    -1,   218,
     966      -1,   300,   135,   116,   134,   272,    -1,   226,   309,    -1,
     967     301,   135,   116,   134,   309,    -1,    -1,   303,    -1,   305,
     968      -1,   303,   134,   305,    -1,    -1,   303,    -1,   213,    -1,
     969     307,    -1,   199,    -1,    -1,     5,    82,   306,   114,   304,
     970     115,    -1,    40,   305,    -1,   308,    -1,   323,   174,    -1,
     971     327,   134,   208,   174,    -1,   217,   174,    -1,   225,   323,
     972     174,    -1,   228,   323,   174,    -1,   232,   323,   174,    -1,
     973     232,   228,   323,   174,    -1,   225,   327,   134,   208,   174,
     974      -1,   228,   327,   134,   208,   174,    -1,   232,   327,   134,
     975     208,   174,    -1,   232,   228,   327,   134,   208,   174,    -1,
     976     318,    -1,   331,    -1,   323,    -1,   164,   122,   164,    -1,
     977      -1,    64,   109,   141,   110,   312,    -1,    -1,   313,    -1,
     978     314,    -1,   313,   314,    -1,    39,   109,   109,   315,   110,
     979     110,    -1,   316,    -1,   315,   116,   316,    -1,    -1,   317,
     980      -1,   317,   109,   171,   110,    -1,   272,    -1,   234,    -1,
     981     235,    -1,   229,    -1,   319,   312,    -1,   320,    -1,   321,
     982     312,    -1,   322,   312,    -1,   137,    -1,   109,   319,   110,
     983      -1,   150,   318,    -1,   150,   228,   318,    -1,   109,   320,
     984     110,    -1,   319,   349,    -1,   109,   320,   110,   349,    -1,
     985     109,   321,   110,   350,    -1,   109,   321,   110,    -1,   109,
     986     320,   110,   109,   134,   264,   135,   110,    -1,   109,   322,
     987     110,    -1,   324,   312,    -1,   325,    -1,   326,   312,    -1,
     988     319,   109,   134,   264,   135,   110,    -1,   109,   325,   110,
     989     109,   134,   264,   135,   110,    -1,   109,   324,   110,    -1,
     990     150,   323,    -1,   150,   228,   323,    -1,   109,   325,   110,
     991      -1,   109,   325,   110,   349,    -1,   109,   326,   110,   350,
     992      -1,   109,   326,   110,    -1,   328,    -1,   329,    -1,   330,
     993      -1,   319,   109,   271,   110,    -1,   109,   329,   110,   109,
     994     271,   110,    -1,   109,   328,   110,    -1,   150,   327,    -1,
     995     150,   228,   327,    -1,   109,   329,   110,    -1,   109,   329,
     996     110,   349,    -1,   109,   330,   110,   350,    -1,   109,   330,
     997     110,    -1,   332,   312,    -1,   333,    -1,   334,   312,    -1,
     998     335,   312,    -1,   341,    -1,   109,   332,   110,    -1,   150,
     999     331,    -1,   150,   228,   331,    -1,   109,   333,   110,    -1,
     1000     332,   349,    -1,   109,   333,   110,   349,    -1,   109,   334,
     1001     110,   350,    -1,   109,   334,   110,    -1,   332,   109,   134,
     1002     264,   135,   110,    -1,   109,   333,   110,   109,   134,   264,
     1003     135,   110,    -1,   109,   335,   110,    -1,   319,   312,    -1,
     1004     337,    -1,   338,   312,    -1,   339,   312,    -1,   150,   336,
     1005      -1,   150,   228,   336,    -1,   109,   337,   110,    -1,   319,
     1006     355,    -1,   109,   337,   110,   349,    -1,   109,   338,   110,
     1007     350,    -1,   109,   338,   110,    -1,   319,   109,   134,   264,
     1008     135,   110,    -1,   109,   337,   110,   109,   134,   264,   135,
     1009     110,    -1,   109,   339,   110,    -1,   341,   312,    -1,   342,
     1010      -1,   343,   312,    -1,   344,   312,    -1,    74,    -1,    75,
     1011      -1,   150,   340,    -1,   150,   228,   340,    -1,   109,   342,
     1012     110,    -1,   341,   355,    -1,   109,   342,   110,   355,    -1,
     1013     341,   109,   134,   264,   135,   110,    -1,   109,   342,   110,
     1014     109,   134,   264,   135,   110,    -1,   346,    -1,   347,   312,
     1015      -1,   348,   312,    -1,   150,    -1,   150,   228,    -1,   150,
     1016     345,    -1,   150,   228,   345,    -1,   109,   346,   110,    -1,
     1017     349,    -1,   109,   346,   110,   349,    -1,   109,   347,   110,
     1018     350,    -1,   109,   347,   110,    -1,   109,   134,   264,   135,
     1019     110,    -1,   109,   346,   110,   109,   134,   264,   135,   110,
     1020      -1,   109,   348,   110,    -1,   111,   112,    -1,   111,   112,
     1021     350,    -1,   350,    -1,   111,   134,   165,   135,   112,    -1,
     1022     111,   134,   117,   135,   112,    -1,   350,   111,   134,   165,
     1023     135,   112,    -1,   350,   111,   134,   117,   135,   112,    -1,
     1024     352,    -1,   353,   312,    -1,   354,   312,    -1,   150,    -1,
     1025     150,   228,    -1,   150,   351,    -1,   150,   228,   351,    -1,
     1026     109,   352,   110,    -1,   355,    -1,   109,   352,   110,   355,
     1027      -1,   109,   353,   110,   350,    -1,   109,   353,   110,    -1,
     1028     109,   134,   264,   135,   110,    -1,   109,   352,   110,   109,
     1029     134,   264,   135,   110,    -1,   109,   354,   110,    -1,   356,
     1030      -1,   356,   350,    -1,   350,    -1,   111,   112,    -1,   111,
     1031     134,   228,   117,   135,   112,    -1,   111,   134,   228,   135,
     1032     112,    -1,   111,   134,   228,   165,   135,   112,    -1,   111,
     1033     134,     7,   227,   165,   135,   112,    -1,   111,   134,   228,
     1034       7,   165,   135,   112,    -1,   358,    -1,   359,   312,    -1,
     1035     360,   312,    -1,   150,    -1,   150,   228,    -1,   150,   357,
     1036      -1,   150,   228,   357,    -1,   109,   358,   110,    -1,   349,
     1037      -1,   109,   358,   110,   349,    -1,   109,   359,   110,   350,
     1038      -1,   109,   359,   110,    -1,   109,   358,   110,   109,   134,
     1039     264,   135,   110,    -1,   109,   360,   110,    -1,   362,    -1,
     1040     370,    -1,   228,   370,    -1,   363,    -1,   364,    -1,   150,
     1041     226,    -1,   228,   150,   226,    -1,   150,   371,    -1,   228,
     1042     150,   371,    -1,   150,   361,    -1,   228,   150,   361,    -1,
     1043     111,   112,   226,    -1,   365,   226,    -1,   111,   112,   350,
     1044     226,    -1,   365,   350,   226,    -1,   350,   226,    -1,   111,
     1045     112,   363,    -1,   365,   363,    -1,   111,   112,   350,   363,
     1046      -1,   365,   350,   363,    -1,   350,   363,    -1,   111,   134,
     1047     228,   117,   135,   112,    -1,   111,   134,   228,   165,   135,
     1048     112,    -1,   111,   134,   232,   165,   135,   112,    -1,   111,
     1049     134,   232,   228,   165,   135,   112,    -1,   370,    -1,   228,
     1050     370,    -1,   367,    -1,   368,    -1,   369,    -1,   150,   226,
     1051      -1,   228,   150,   226,    -1,   150,   371,    -1,   228,   150,
     1052     371,    -1,   150,   366,    -1,   228,   150,   366,    -1,   111,
     1053     112,   226,    -1,   111,   112,   350,   226,    -1,   350,   226,
     1054      -1,   111,   112,   368,    -1,   111,   112,   350,   368,    -1,
     1055     350,   368,    -1,   111,   134,   263,   135,   112,    -1,   111,
     1056     112,   109,   260,   110,    -1,   370,   109,   134,   260,   135,
     1057     110,    -1,   219,   109,   134,   260,   135,   110,    -1,    -1,
     1058     116,    -1,    -1,   131,   165,    -1
     1059};
     1060
     1061/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
    6851062static const yytype_uint16 yyrline[] =
    6861063{
    687        0,   298,   298,   304,   313,   314,   315,   319,   320,   321,
    688      325,   326,   330,   331,   335,   336,   340,   341,   352,   354,
    689      356,   358,   363,   364,   370,   374,   376,   377,   379,   380,
    690      382,   384,   386,   395,   396,   402,   403,   407,   408,   412,
    691      416,   418,   420,   422,   427,   430,   432,   434,   439,   452,
    692      454,   456,   458,   460,   462,   464,   466,   468,   470,   472,
    693      479,   480,   486,   487,   488,   489,   493,   494,   496,   501,
    694      502,   504,   506,   511,   512,   514,   519,   520,   522,   527,
    695      528,   530,   532,   534,   539,   540,   542,   547,   548,   553,
    696      554,   559,   560,   565,   566,   571,   572,   577,   578,   581,
    697      583,   588,   593,   594,   596,   602,   603,   607,   608,   609,
    698      610,   611,   612,   613,   614,   615,   616,   617,   623,   625,
    699      627,   629,   634,   635,   640,   641,   647,   648,   654,   655,
    700      656,   657,   658,   659,   660,   661,   662,   672,   679,   681,
    701      691,   692,   697,   699,   705,   707,   711,   712,   717,   722,
    702      725,   727,   729,   739,   741,   752,   753,   755,   759,   761,
    703      765,   766,   771,   772,   776,   781,   782,   786,   788,   794,
    704      795,   799,   801,   803,   805,   811,   812,   816,   818,   823,
    705      825,   827,   832,   834,   839,   841,   845,   848,   852,   855,
    706      859,   861,   863,   865,   870,   872,   874,   879,   881,   883,
    707      885,   887,   892,   894,   896,   898,   903,   915,   916,   921,
    708      923,   928,   932,   934,   936,   938,   940,   946,   947,   953,
    709      954,   958,   959,   964,   966,   972,   973,   975,   980,   982,
    710      989,   991,   995,   996,  1001,  1003,  1007,  1008,  1012,  1014,
    711     1018,  1019,  1023,  1024,  1028,  1029,  1044,  1045,  1046,  1047,
    712     1048,  1052,  1057,  1064,  1074,  1079,  1084,  1092,  1097,  1102,
    713     1107,  1112,  1120,  1142,  1147,  1154,  1156,  1163,  1168,  1173,
    714     1184,  1189,  1194,  1199,  1204,  1213,  1218,  1226,  1227,  1228,
    715     1229,  1235,  1240,  1248,  1249,  1250,  1251,  1255,  1256,  1257,
    716     1258,  1263,  1264,  1273,  1274,  1279,  1280,  1285,  1287,  1289,
    717     1291,  1293,  1296,  1295,  1307,  1308,  1310,  1320,  1321,  1326,
    718     1328,  1330,  1332,  1334,  1336,  1338,  1340,  1345,  1347,  1349,
    719     1351,  1353,  1355,  1357,  1359,  1361,  1363,  1365,  1367,  1369,
    720     1375,  1376,  1378,  1380,  1382,  1387,  1388,  1394,  1395,  1397,
    721     1399,  1404,  1406,  1408,  1410,  1415,  1416,  1418,  1420,  1425,
    722     1426,  1428,  1433,  1434,  1436,  1438,  1443,  1445,  1447,  1452,
    723     1453,  1457,  1459,  1465,  1464,  1468,  1470,  1475,  1477,  1483,
    724     1484,  1489,  1490,  1492,  1493,  1502,  1503,  1505,  1507,  1512,
    725     1514,  1520,  1521,  1523,  1526,  1529,  1534,  1535,  1540,  1545,
    726     1549,  1551,  1557,  1556,  1563,  1565,  1571,  1572,  1580,  1581,
    727     1585,  1586,  1587,  1589,  1591,  1598,  1599,  1601,  1603,  1608,
    728     1609,  1615,  1616,  1620,  1621,  1626,  1627,  1628,  1630,  1638,
    729     1639,  1641,  1644,  1646,  1650,  1651,  1652,  1654,  1656,  1660,
    730     1665,  1673,  1674,  1683,  1685,  1690,  1691,  1692,  1696,  1697,
    731     1698,  1702,  1703,  1704,  1708,  1709,  1710,  1715,  1716,  1717,
    732     1718,  1724,  1725,  1727,  1732,  1733,  1738,  1739,  1740,  1741,
    733     1742,  1757,  1758,  1763,  1764,  1770,  1772,  1775,  1777,  1779,
    734     1802,  1803,  1805,  1807,  1812,  1813,  1815,  1820,  1825,  1826,
    735     1832,  1831,  1835,  1839,  1841,  1843,  1849,  1850,  1855,  1860,
    736     1862,  1867,  1869,  1870,  1872,  1877,  1879,  1881,  1886,  1888,
    737     1893,  1898,  1906,  1912,  1911,  1925,  1926,  1931,  1932,  1936,
    738     1941,  1946,  1954,  1959,  1970,  1971,  1976,  1977,  1983,  1984,
    739     1988,  1989,  1990,  1993,  1992,  2003,  2012,  2018,  2024,  2033,
    740     2039,  2045,  2051,  2057,  2065,  2071,  2079,  2085,  2094,  2095,
    741     2096,  2100,  2104,  2106,  2111,  2112,  2116,  2117,  2122,  2128,
    742     2129,  2132,  2134,  2135,  2139,  2140,  2141,  2142,  2176,  2178,
    743     2179,  2181,  2186,  2191,  2196,  2198,  2200,  2205,  2207,  2209,
    744     2211,  2216,  2218,  2227,  2229,  2230,  2235,  2237,  2239,  2244,
    745     2246,  2248,  2253,  2255,  2257,  2266,  2267,  2268,  2272,  2274,
    746     2276,  2281,  2283,  2285,  2290,  2292,  2294,  2309,  2311,  2312,
    747     2314,  2319,  2320,  2325,  2327,  2329,  2334,  2336,  2338,  2340,
    748     2345,  2347,  2349,  2359,  2361,  2362,  2364,  2369,  2371,  2373,
    749     2378,  2380,  2382,  2384,  2389,  2391,  2393,  2424,  2426,  2427,
    750     2429,  2434,  2439,  2447,  2449,  2451,  2456,  2458,  2463,  2465,
    751     2479,  2480,  2482,  2487,  2489,  2491,  2493,  2495,  2500,  2501,
    752     2503,  2505,  2510,  2512,  2514,  2520,  2522,  2524,  2528,  2530,
    753     2532,  2534,  2548,  2549,  2551,  2556,  2558,  2560,  2562,  2564,
    754     2569,  2570,  2572,  2574,  2579,  2581,  2583,  2589,  2590,  2592,
    755     2601,  2604,  2606,  2609,  2611,  2613,  2626,  2627,  2629,  2634,
    756     2636,  2638,  2640,  2642,  2647,  2648,  2650,  2652,  2657,  2659,
    757     2667,  2668,  2669,  2674,  2675,  2679,  2681,  2683,  2685,  2687,
    758     2689,  2696,  2698,  2700,  2702,  2704,  2706,  2708,  2710,  2712,
    759     2714,  2719,  2721,  2723,  2728,  2754,  2755,  2757,  2761,  2762,
    760     2766,  2768,  2770,  2772,  2774,  2776,  2783,  2785,  2787,  2789,
    761     2791,  2793,  2798,  2803,  2805,  2807,  2825,  2827,  2832,  2833
     1064       0,   341,   341,   345,   352,   353,   354,   358,   359,   360,
     1065     364,   365,   369,   370,   374,   375,   379,   383,   384,   395,
     1066     397,   399,   401,   406,   407,   413,   417,   419,   420,   422,
     1067     423,   425,   427,   429,   438,   439,   445,   446,   450,   451,
     1068     455,   459,   461,   463,   465,   470,   473,   475,   477,   482,
     1069     495,   497,   499,   501,   503,   505,   507,   509,   511,   513,
     1070     515,   522,   523,   529,   530,   531,   532,   536,   537,   539,
     1071     544,   545,   547,   549,   554,   555,   557,   562,   563,   565,
     1072     570,   571,   573,   575,   577,   582,   583,   585,   590,   591,
     1073     596,   597,   602,   603,   608,   609,   614,   615,   620,   621,
     1074     624,   626,   631,   636,   637,   639,   645,   646,   650,   651,
     1075     652,   653,   654,   655,   656,   657,   658,   659,   660,   666,
     1076     668,   670,   672,   677,   678,   683,   684,   690,   691,   697,
     1077     698,   699,   700,   701,   702,   703,   704,   705,   715,   722,
     1078     724,   734,   735,   740,   742,   748,   750,   754,   755,   760,
     1079     765,   768,   770,   772,   782,   784,   795,   796,   798,   802,
     1080     804,   808,   809,   814,   815,   819,   824,   825,   829,   831,
     1081     837,   838,   842,   844,   846,   848,   854,   855,   859,   861,
     1082     866,   868,   870,   875,   877,   882,   884,   888,   891,   895,
     1083     898,   902,   904,   906,   908,   913,   915,   917,   922,   924,
     1084     926,   928,   930,   935,   937,   939,   941,   946,   958,   959,
     1085     964,   966,   971,   975,   977,   979,   981,   983,   989,   990,
     1086     996,   997,  1001,  1002,  1007,  1009,  1015,  1016,  1018,  1023,
     1087    1028,  1038,  1040,  1044,  1045,  1050,  1052,  1056,  1057,  1061,
     1088    1063,  1067,  1068,  1072,  1073,  1077,  1078,  1093,  1094,  1095,
     1089    1096,  1097,  1101,  1106,  1113,  1123,  1128,  1133,  1141,  1146,
     1090    1151,  1156,  1161,  1169,  1191,  1196,  1203,  1205,  1212,  1217,
     1091    1222,  1233,  1238,  1243,  1248,  1253,  1262,  1267,  1275,  1276,
     1092    1277,  1278,  1284,  1289,  1297,  1298,  1299,  1300,  1304,  1305,
     1093    1306,  1307,  1312,  1313,  1322,  1323,  1328,  1329,  1334,  1336,
     1094    1338,  1340,  1342,  1345,  1344,  1356,  1357,  1359,  1369,  1370,
     1095    1375,  1377,  1379,  1381,  1383,  1385,  1387,  1389,  1394,  1396,
     1096    1398,  1400,  1402,  1404,  1406,  1408,  1410,  1412,  1414,  1416,
     1097    1418,  1424,  1425,  1427,  1429,  1431,  1436,  1437,  1443,  1444,
     1098    1446,  1448,  1453,  1455,  1457,  1459,  1464,  1465,  1467,  1469,
     1099    1474,  1475,  1477,  1482,  1483,  1485,  1487,  1492,  1494,  1496,
     1100    1501,  1502,  1506,  1508,  1514,  1513,  1517,  1519,  1524,  1526,
     1101    1532,  1533,  1538,  1539,  1541,  1542,  1551,  1552,  1554,  1556,
     1102    1561,  1563,  1569,  1570,  1572,  1575,  1578,  1583,  1584,  1589,
     1103    1594,  1598,  1600,  1606,  1605,  1612,  1614,  1620,  1621,  1629,
     1104    1630,  1634,  1635,  1636,  1638,  1640,  1647,  1648,  1650,  1652,
     1105    1657,  1658,  1664,  1665,  1669,  1670,  1675,  1676,  1677,  1679,
     1106    1687,  1688,  1690,  1693,  1695,  1699,  1700,  1701,  1703,  1705,
     1107    1709,  1714,  1722,  1723,  1732,  1734,  1739,  1740,  1741,  1745,
     1108    1746,  1747,  1751,  1752,  1753,  1757,  1758,  1759,  1764,  1765,
     1109    1766,  1767,  1773,  1774,  1776,  1781,  1782,  1787,  1788,  1789,
     1110    1790,  1791,  1806,  1807,  1812,  1813,  1819,  1821,  1824,  1826,
     1111    1828,  1851,  1852,  1854,  1856,  1861,  1862,  1864,  1869,  1874,
     1112    1875,  1881,  1880,  1884,  1888,  1890,  1892,  1898,  1899,  1904,
     1113    1909,  1911,  1916,  1918,  1919,  1921,  1926,  1928,  1930,  1935,
     1114    1937,  1942,  1947,  1955,  1961,  1960,  1974,  1975,  1980,  1981,
     1115    1985,  1990,  1995,  2003,  2008,  2019,  2020,  2025,  2026,  2032,
     1116    2033,  2037,  2038,  2039,  2042,  2041,  2052,  2061,  2067,  2073,
     1117    2082,  2088,  2094,  2100,  2106,  2114,  2120,  2128,  2134,  2143,
     1118    2144,  2145,  2149,  2153,  2155,  2160,  2161,  2165,  2166,  2171,
     1119    2177,  2178,  2181,  2183,  2184,  2188,  2189,  2190,  2191,  2225,
     1120    2227,  2228,  2230,  2235,  2240,  2245,  2247,  2249,  2254,  2256,
     1121    2258,  2260,  2265,  2267,  2276,  2278,  2279,  2284,  2286,  2288,
     1122    2293,  2295,  2297,  2302,  2304,  2306,  2315,  2316,  2317,  2321,
     1123    2323,  2325,  2330,  2332,  2334,  2339,  2341,  2343,  2358,  2360,
     1124    2361,  2363,  2368,  2369,  2374,  2376,  2378,  2383,  2385,  2387,
     1125    2389,  2394,  2396,  2398,  2408,  2410,  2411,  2413,  2418,  2420,
     1126    2422,  2427,  2429,  2431,  2433,  2438,  2440,  2442,  2473,  2475,
     1127    2476,  2478,  2483,  2488,  2496,  2498,  2500,  2505,  2507,  2512,
     1128    2514,  2528,  2529,  2531,  2536,  2538,  2540,  2542,  2544,  2549,
     1129    2550,  2552,  2554,  2559,  2561,  2563,  2569,  2571,  2573,  2577,
     1130    2579,  2581,  2583,  2597,  2598,  2600,  2605,  2607,  2609,  2611,
     1131    2613,  2618,  2619,  2621,  2623,  2628,  2630,  2632,  2638,  2639,
     1132    2641,  2650,  2653,  2655,  2658,  2660,  2662,  2675,  2676,  2678,
     1133    2683,  2685,  2687,  2689,  2691,  2696,  2697,  2699,  2701,  2706,
     1134    2708,  2716,  2717,  2718,  2723,  2724,  2728,  2730,  2732,  2734,
     1135    2736,  2738,  2745,  2747,  2749,  2751,  2753,  2755,  2757,  2759,
     1136    2761,  2763,  2768,  2770,  2772,  2777,  2803,  2804,  2806,  2810,
     1137    2811,  2815,  2817,  2819,  2821,  2823,  2825,  2832,  2834,  2836,
     1138    2838,  2840,  2842,  2847,  2852,  2854,  2856,  2874,  2876,  2881,
     1139    2882
    7621140};
    7631141#endif
    7641142
    765 #if YYDEBUG || YYERROR_VERBOSE || 0
     1143#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
    7661144/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    7671145   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
     
    7891167  "'?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant",
    7901168  "identifier", "no_01_identifier", "no_attr_identifier", "zero_one",
    791   "string_literal_list", "primary_expression", "postfix_expression",
    792   "argument_expression_list", "argument_expression", "field_list", "field",
    793   "unary_expression", "ptrref_operator", "unary_operator",
    794   "cast_expression", "multiplicative_expression", "additive_expression",
    795   "shift_expression", "relational_expression", "equality_expression",
    796   "AND_expression", "exclusive_OR_expression", "inclusive_OR_expression",
    797   "logical_AND_expression", "logical_OR_expression",
    798   "conditional_expression", "constant_expression", "assignment_expression",
    799   "assignment_expression_opt", "assignment_operator", "tuple",
    800   "tuple_expression_list", "comma_expression", "comma_expression_opt",
    801   "statement", "labeled_statement", "compound_statement",
    802   "block_item_list", "block_item", "statement_list",
    803   "expression_statement", "selection_statement", "case_value",
    804   "case_value_list", "case_label", "case_label_list", "case_clause",
    805   "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt",
    806   "choose_clause_list", "fall_through_opt", "fall_through",
    807   "iteration_statement", "for_control_expression", "jump_statement",
    808   "exception_statement", "handler_list", "handler_clause",
    809   "finally_clause", "exception_declaration", "asm_statement",
    810   "asm_volatile_opt", "asm_operands_opt", "asm_operands_list",
    811   "asm_operand", "asm_clobbers_list_opt", "label_list",
    812   "declaration_list_opt", "declaration_list", "old_declaration_list_opt",
    813   "old_declaration_list", "local_label_declaration_opt",
    814   "local_label_declaration_list", "local_label_list", "declaration",
    815   "new_declaration", "new_variable_declaration", "new_variable_specifier",
     1169  "string_literal", "string_literal_list", "primary_expression",
     1170  "postfix_expression", "argument_expression_list", "argument_expression",
     1171  "field_list", "field", "unary_expression", "ptrref_operator",
     1172  "unary_operator", "cast_expression", "multiplicative_expression",
     1173  "additive_expression", "shift_expression", "relational_expression",
     1174  "equality_expression", "AND_expression", "exclusive_OR_expression",
     1175  "inclusive_OR_expression", "logical_AND_expression",
     1176  "logical_OR_expression", "conditional_expression", "constant_expression",
     1177  "assignment_expression", "assignment_expression_opt",
     1178  "assignment_operator", "tuple", "tuple_expression_list",
     1179  "comma_expression", "comma_expression_opt", "statement",
     1180  "labeled_statement", "compound_statement", "block_item_list",
     1181  "block_item", "statement_list", "expression_statement",
     1182  "selection_statement", "case_value", "case_value_list", "case_label",
     1183  "case_label_list", "case_clause", "switch_clause_list_opt",
     1184  "switch_clause_list", "choose_clause_list_opt", "choose_clause_list",
     1185  "fall_through_opt", "fall_through", "iteration_statement",
     1186  "for_control_expression", "jump_statement", "exception_statement",
     1187  "handler_list", "handler_clause", "finally_clause",
     1188  "exception_declaration", "asm_statement", "asm_volatile_opt",
     1189  "asm_operands_opt", "asm_operands_list", "asm_operand",
     1190  "asm_clobbers_list_opt", "label_list", "declaration_list_opt",
     1191  "declaration_list", "old_declaration_list_opt", "old_declaration_list",
     1192  "local_label_declaration_opt", "local_label_declaration_list",
     1193  "local_label_list", "declaration", "new_declaration",
     1194  "new_variable_declaration", "new_variable_specifier",
    8161195  "new_function_declaration", "new_function_specifier",
    8171196  "new_function_return", "new_typedef_declaration", "typedef_declaration",
     
    8711250  "new_abstract_declarator_no_tuple", "new_abstract_ptr",
    8721251  "new_abstract_array", "new_abstract_tuple", "new_abstract_function",
    873   "comma_opt", "assignment_opt", YY_NULLPTR
     1252  "comma_opt", "assignment_opt", 0
    8741253};
    8751254#endif
    8761255
    8771256# ifdef YYPRINT
    878 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
    879    (internal) symbol number NUM (which must be that of a token).  */
     1257/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
     1258   token YYLEX-NUM.  */
    8801259static const yytype_uint16 yytoknum[] =
    8811260{
     
    8971276# endif
    8981277
    899 #define YYPACT_NINF -1317
    900 
    901 #define yypact_value_is_default(Yystate) \
    902   (!!((Yystate) == (-1317)))
    903 
    904 #define YYTABLE_NINF -520
    905 
    906 #define yytable_value_is_error(Yytable_value) \
    907   0
    908 
    909   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    910      STATE-NUM.  */
     1278/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
     1279static const yytype_uint16 yyr1[] =
     1280{
     1281       0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
     1282     138,   138,   139,   139,   140,   140,   141,   142,   142,   143,
     1283     143,   143,   143,   144,   144,   144,   144,   144,   144,   144,
     1284     144,   144,   144,   144,   145,   145,   146,   146,   147,   147,
     1285     148,   148,   148,   148,   148,   149,   149,   149,   149,   149,
     1286     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
     1287     149,   150,   150,   151,   151,   151,   151,   152,   152,   152,
     1288     153,   153,   153,   153,   154,   154,   154,   155,   155,   155,
     1289     156,   156,   156,   156,   156,   157,   157,   157,   158,   158,
     1290     159,   159,   160,   160,   161,   161,   162,   162,   163,   163,
     1291     163,   163,   164,   165,   165,   165,   166,   166,   167,   167,
     1292     167,   167,   167,   167,   167,   167,   167,   167,   167,   168,
     1293     168,   168,   168,   169,   169,   170,   170,   171,   171,   172,
     1294     172,   172,   172,   172,   172,   172,   172,   172,   173,   174,
     1295     174,   175,   175,   176,   176,   176,   176,   177,   177,   178,
     1296     179,   179,   179,   179,   179,   179,   180,   180,   180,   181,
     1297     181,   182,   182,   183,   183,   184,   185,   185,   186,   186,
     1298     187,   187,   188,   188,   188,   188,   189,   189,   190,   190,
     1299     191,   191,   191,   192,   192,   193,   193,   193,   193,   193,
     1300     193,   193,   193,   193,   193,   194,   194,   194,   195,   195,
     1301     195,   195,   195,   196,   196,   196,   196,   197,   198,   198,
     1302     198,   198,   198,   199,   199,   199,   199,   199,   200,   200,
     1303     201,   201,   202,   202,   203,   203,   204,   204,   204,   205,
     1304     205,   206,   206,   207,   207,   208,   208,   209,   209,   210,
     1305     210,   211,   211,   212,   212,   213,   213,   214,   214,   214,
     1306     214,   214,   215,   215,   215,   216,   216,   216,   217,   217,
     1307     217,   217,   217,   218,   218,   218,   219,   219,   220,   220,
     1308     220,   221,   221,   221,   221,   221,   222,   222,   223,   223,
     1309     223,   223,   224,   224,   225,   225,   225,   225,   226,   226,
     1310     226,   226,   227,   227,   228,   228,   229,   229,   230,   230,
     1311     230,   230,   230,   231,   230,   232,   232,   232,   233,   233,
     1312     234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
     1313     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
     1314     235,   236,   236,   236,   236,   236,   237,   237,   238,   238,
     1315     238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
     1316     241,   241,   241,   242,   242,   242,   242,   243,   243,   243,
     1317     244,   244,   245,   245,   246,   245,   245,   245,   247,   247,
     1318     248,   248,   249,   249,   249,   249,   250,   250,   250,   250,
     1319     251,   251,   252,   252,   252,   252,   252,   253,   253,   254,
     1320     255,   256,   256,   257,   256,   258,   258,   259,   259,   260,
     1321     260,   261,   261,   261,   261,   261,   262,   262,   262,   262,
     1322     263,   263,   264,   264,   265,   265,   266,   266,   266,   266,
     1323     267,   267,   267,   267,   267,   268,   268,   268,   268,   268,
     1324     269,   269,   270,   270,   271,   271,   272,   272,   272,   273,
     1325     273,   273,   274,   274,   274,   275,   275,   275,   276,   276,
     1326     276,   276,   277,   277,   277,   278,   278,   279,   279,   279,
     1327     279,   279,   280,   280,   281,   281,   282,   282,   282,   282,
     1328     282,   283,   283,   283,   283,   284,   284,   284,   285,   286,
     1329     286,   288,   287,   287,   289,   289,   289,   290,   290,   291,
     1330     291,   291,   292,   292,   292,   292,   293,   293,   293,   294,
     1331     294,   295,   295,   296,   297,   296,   298,   298,   299,   299,
     1332     300,   300,   300,   301,   301,   302,   302,   303,   303,   304,
     1333     304,   305,   305,   305,   306,   305,   305,   307,   307,   307,
     1334     308,   308,   308,   308,   308,   308,   308,   308,   308,   309,
     1335     309,   309,   310,   311,   311,   312,   312,   313,   313,   314,
     1336     315,   315,   316,   316,   316,   317,   317,   317,   317,   318,
     1337     318,   318,   318,   319,   319,   320,   320,   320,   321,   321,
     1338     321,   321,   322,   322,   323,   323,   323,   324,   324,   324,
     1339     325,   325,   325,   326,   326,   326,   327,   327,   327,   328,
     1340     328,   328,   329,   329,   329,   330,   330,   330,   331,   331,
     1341     331,   331,   332,   332,   333,   333,   333,   334,   334,   334,
     1342     334,   335,   335,   335,   336,   336,   336,   336,   337,   337,
     1343     337,   338,   338,   338,   338,   339,   339,   339,   340,   340,
     1344     340,   340,   341,   341,   342,   342,   342,   343,   343,   344,
     1345     344,   345,   345,   345,   346,   346,   346,   346,   346,   347,
     1346     347,   347,   347,   348,   348,   348,   349,   349,   349,   350,
     1347     350,   350,   350,   351,   351,   351,   352,   352,   352,   352,
     1348     352,   353,   353,   353,   353,   354,   354,   354,   355,   355,
     1349     355,   356,   356,   356,   356,   356,   356,   357,   357,   357,
     1350     358,   358,   358,   358,   358,   359,   359,   359,   359,   360,
     1351     360,   361,   361,   361,   362,   362,   363,   363,   363,   363,
     1352     363,   363,   364,   364,   364,   364,   364,   364,   364,   364,
     1353     364,   364,   365,   365,   365,   365,   366,   366,   366,   367,
     1354     367,   368,   368,   368,   368,   368,   368,   369,   369,   369,
     1355     369,   369,   369,   370,   371,   371,   371,   372,   372,   373,
     1356     373
     1357};
     1358
     1359/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
     1360static const yytype_uint8 yyr2[] =
     1361{
     1362       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
     1363       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
     1364       1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
     1365       2,     2,     7,     4,     1,     3,     0,     1,     1,     3,
     1366       1,     3,     7,     3,     7,     1,     1,     1,     2,     2,
     1367       2,     2,     2,     2,     4,     2,     4,     6,     1,     4,
     1368       4,     1,     1,     1,     1,     1,     1,     1,     4,     4,
     1369       1,     3,     3,     3,     1,     3,     3,     1,     3,     3,
     1370       1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
     1371       1,     3,     1,     3,     1,     3,     1,     3,     1,     5,
     1372       4,     5,     1,     1,     3,     2,     0,     1,     1,     1,
     1373       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
     1374       5,     6,     7,     1,     3,     1,     3,     0,     1,     1,
     1375       1,     1,     1,     1,     1,     1,     1,     6,     4,     2,
     1376       7,     1,     3,     1,     2,     1,     2,     1,     2,     2,
     1377       5,     7,     5,     9,     5,     9,     1,     3,     1,     1,
     1378       3,     3,     2,     1,     2,     2,     0,     1,     2,     3,
     1379       0,     1,     2,     3,     3,     4,     0,     1,     1,     2,
     1380       5,     7,     6,     6,     4,     3,     4,     2,     3,     2,
     1381       3,     3,     3,     3,     5,     3,     3,     4,     1,     5,
     1382       6,     5,     6,     9,    10,     9,    10,     2,     1,     2,
     1383       2,     2,     1,     6,     8,    10,    12,    14,     0,     1,
     1384       0,     1,     1,     3,     4,     7,     0,     1,     3,     1,
     1385       3,     1,     1,     1,     3,     1,     1,     1,     3,     0,
     1386       1,     3,     4,     1,     3,     1,     1,     3,     3,     3,
     1387       3,     3,     2,     3,     6,     3,     3,     4,     1,     2,
     1388       2,     3,     5,     8,     7,     7,     5,     9,     2,     2,
     1389       5,     3,     5,     4,     3,     4,     4,     7,     3,     3,
     1390       3,     3,     4,     6,     1,     1,     1,     1,     1,     1,
     1391       1,     1,     0,     1,     1,     2,     1,     1,     1,     1,
     1392       1,     1,     1,     0,     5,     1,     2,     3,     1,     2,
     1393       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1394       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1395       1,     1,     2,     2,     3,     3,     1,     3,     1,     2,
     1396       2,     2,     4,     4,     4,     4,     1,     2,     2,     3,
     1397       1,     2,     2,     1,     2,     2,     3,     1,     2,     2,
     1398       1,     1,     4,     2,     0,     6,     7,     2,     2,     2,
     1399       0,     2,     2,     3,     2,     3,     1,     2,     3,     2,
     1400       2,     4,     0,     1,     2,     2,     1,     0,     1,     2,
     1401       2,     5,     2,     0,     7,     2,     4,     0,     2,     0,
     1402       1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
     1403       1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
     1404       1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
     1405       3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
     1406       1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
     1407       1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
     1408       3,     4,     2,     2,     1,     2,     2,     5,     5,     7,
     1409       6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
     1410       4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
     1411       5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
     1412       4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
     1413       1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
     1414       1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
     1415       2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
     1416       1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
     1417       1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
     1418       1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
     1419       4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
     1420       2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
     1421       6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
     1422       2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
     1423       3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
     1424       3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
     1425       2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
     1426       8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
     1427       4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
     1428       5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
     1429       3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
     1430       1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
     1431       1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
     1432       3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
     1433       2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
     1434       3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
     1435       1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
     1436       3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
     1437       2
     1438};
     1439
     1440/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
     1441   Performed when YYTABLE doesn't specify something else to do.  Zero
     1442   means the default is an error.  */
     1443static const yytype_uint16 yydefact[] =
     1444{
     1445     292,   292,   312,   310,   313,   311,   314,   315,   298,   300,
     1446     299,     0,   301,   326,   318,   323,   321,   322,   320,   319,
     1447     324,   325,   330,   327,   328,   329,   545,   545,   545,     0,
     1448       0,     0,   292,   218,   302,   316,   317,     7,   357,     0,
     1449       8,    14,    15,     0,     2,    61,    62,   563,     9,   292,
     1450     523,   521,   245,     3,   452,     3,   258,     0,     3,     3,
     1451       3,   246,     3,     0,     0,     0,   293,   294,   296,   292,
     1452     305,   308,   338,   284,   331,   336,   285,   346,   286,   353,
     1453     350,   360,     0,     0,   361,   287,   471,   475,     3,     3,
     1454       0,     2,   517,   522,   527,   297,     0,     0,   545,   575,
     1455     545,     2,   586,   587,   588,   292,     0,   729,   730,     0,
     1456      12,     0,    13,   292,   268,   269,     0,   293,   288,   289,
     1457     290,   291,   524,   303,   390,   546,   547,   368,   369,    12,
     1458     443,   444,    11,   439,   442,     0,   501,   496,   487,   443,
     1459     444,     0,     0,   526,   219,     0,   292,     0,     0,     0,
     1460       0,     0,     0,     0,     0,   292,   292,     2,     0,   731,
     1461     293,   580,   592,   735,   728,   726,   733,     0,     0,     0,
     1462     252,     2,     0,   530,   437,   438,   436,     0,     0,     0,
     1463       0,   545,     0,   632,   633,     0,     0,   543,   539,   545,
     1464     560,   545,   545,   541,     2,   540,   545,   599,   545,   545,
     1465     602,     0,     0,     0,   292,   292,   310,   358,     2,   292,
     1466     259,   295,   306,   339,   351,   476,     0,     2,     0,   452,
     1467     260,   293,   332,   347,   354,   472,     0,     2,     0,   309,
     1468     333,   340,   341,     0,   348,   352,   355,   359,   444,   292,
     1469     370,   363,   367,     0,   392,   473,   477,     0,     0,     0,
     1470       1,   292,     2,   528,   574,   576,   292,     2,   739,   293,
     1471     742,   543,   543,     0,   293,     0,     0,   271,   545,   541,
     1472       2,   292,     0,     0,   292,   548,     2,   499,     2,   552,
     1473       0,     0,     0,     0,     0,     0,    19,    58,     4,     5,
     1474       6,    17,     0,     0,   292,     2,    63,    64,    65,    66,
     1475      46,    20,    47,    16,    23,    45,    67,   292,     0,    70,
     1476      74,    77,    80,    85,    88,    90,    92,    94,    96,    98,
     1477     103,   493,   749,   450,   492,     0,   448,   449,     0,   564,
     1478     579,   582,   585,   591,   594,   597,   357,     0,     2,   737,
     1479       0,   292,   740,     2,    61,   292,     3,   424,     0,   432,
     1480     293,   292,   305,   331,   285,   346,   353,     3,     3,   406,
     1481     410,   420,   425,   471,   292,   426,   704,   705,   292,   427,
     1482     429,   292,     2,   581,   593,   727,     2,     2,   247,     2,
     1483     457,     0,   455,   454,   453,   139,     2,     2,   249,     2,
     1484       2,   248,     2,   279,     2,   280,     0,   278,     0,     0,
     1485       0,     0,     0,     0,     0,     0,     0,   565,   604,     0,
     1486     452,     2,   559,   568,   658,   561,   562,   531,   292,     2,
     1487     598,   607,   600,   601,     0,   274,   292,   292,   337,   293,
     1488       0,   293,     0,   292,   732,   736,   734,   532,   292,   543,
     1489     253,   261,   307,     0,     2,   533,   292,   497,   334,   335,
     1490     281,   349,   356,     0,   292,     0,   747,   397,     0,   474,
     1491     498,   250,   251,   518,   292,   434,     0,   292,   235,     0,
     1492       2,   237,     0,   293,     0,   255,     2,   256,   276,     0,
     1493       0,     2,   292,   543,   292,   484,   486,   485,     0,     0,
     1494     749,     0,   292,     0,   292,   488,   292,   558,   556,   557,
     1495     555,     0,   550,   553,     0,     0,   292,    53,   292,    67,
     1496      48,   292,    55,   292,   292,    51,    52,     2,   125,     0,
     1497       0,   446,     0,   445,   726,   119,   292,    18,     0,    30,
     1498      31,    36,     2,     0,    36,   109,   110,   111,   112,   113,
     1499     114,   115,   116,   117,   118,   108,     0,    49,    50,     0,
     1500       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1501       0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
     1502       2,   644,   451,   641,   545,   545,   649,   478,   292,     2,
     1503     583,   584,     0,   595,   596,     0,     2,   738,   741,   119,
     1504     292,     0,     2,   706,   293,   710,   701,   702,   708,     0,
     1505       2,     2,   666,   545,   749,   615,   545,   545,   749,   545,
     1506     629,   545,   545,   680,   433,   663,   545,   545,   671,   678,
     1507     292,   428,   293,     0,     0,   292,   716,   293,   721,   749,
     1508     713,   292,   718,   749,   292,   292,   292,     0,   119,     0,
     1509      19,     2,     0,    20,     0,   458,   747,     0,     0,   464,
     1510     239,     0,   292,     0,     0,     0,   543,   567,   571,   573,
     1511     603,   606,   610,   613,   566,   605,     0,   282,   656,     0,
     1512     292,   275,     0,     0,     0,     0,   273,     2,     0,   257,
     1513     534,   292,     0,     0,   292,     2,   362,   382,   371,     0,
     1514       0,   376,   370,   748,     0,     0,   395,     0,   293,     3,
     1515     413,     3,   417,   416,   589,     0,   529,   292,    61,     3,
     1516     292,   432,   293,     3,   426,   427,     2,     0,     0,     0,
     1517     483,   304,   292,   479,   481,     3,     2,     2,     0,   500,
     1518       3,     0,   552,   127,     0,     0,   220,     0,     0,     0,
     1519       0,    37,     0,     0,   119,   292,    21,     0,    22,     0,
     1520     690,   695,   447,   687,   545,   545,     0,   106,     3,     2,
     1521      28,     0,    34,     0,     2,    26,     0,   104,    71,    72,
     1522      73,    75,    76,    78,    79,    83,    84,    81,    82,    86,
     1523      87,    89,    91,    93,    95,    97,     0,     0,   750,   292,
     1524       0,     0,     0,   645,   646,   642,   643,   495,   494,   292,
     1525       0,   292,   712,   292,   717,   293,   292,   660,   292,   292,
     1526     703,   659,     2,   292,     0,     0,     0,     0,     0,     0,
     1527       0,     0,   681,     0,   667,   618,   634,   668,     2,   614,
     1528     621,   430,   616,   617,   431,     2,   628,   637,   630,   631,
     1529     664,   665,   679,   707,   711,   709,   749,   266,     2,   743,
     1530       2,   421,   715,   720,   422,     0,   400,     3,     3,     3,
     1531       3,   452,     3,     0,     2,   466,   463,   748,     0,   459,
     1532       2,   462,   465,     0,   292,   240,   262,     3,   270,   272,
     1533       0,   452,     2,   569,   570,     2,   608,   609,     0,   657,
     1534     535,     3,   343,   342,   345,   344,   292,   536,     0,   537,
     1535     370,     0,     0,   292,   292,     0,     0,   690,   380,   383,
     1536     387,   545,   387,   386,   379,   372,   545,   374,   377,   292,
     1537     397,   391,   102,   398,   747,     0,     0,   435,   238,     0,
     1538       0,     3,     2,   666,   428,     0,   525,     0,   749,   487,
     1539       0,   292,   292,   292,     0,   549,   551,   128,     0,     0,
     1540     213,     0,     0,     0,   221,   222,    54,     0,    56,    59,
     1541      60,     0,     2,   126,     0,     0,     0,   691,   692,   688,
     1542     689,   457,    68,    69,   107,   123,     3,   106,     0,     0,
     1543      25,    36,     3,     0,    33,   100,     0,     3,   648,   652,
     1544     655,   647,     3,   590,     3,   714,   719,     2,    61,   292,
     1545       3,     3,   293,     0,     3,   620,   624,   627,   636,   670,
     1546     674,   677,   292,     3,   619,   635,   669,   292,   292,   423,
     1547     292,   292,   744,     0,     0,     0,     0,   254,     0,   102,
     1548       0,     3,     3,     0,   460,     0,   456,     0,     0,   243,
     1549     292,     0,     0,   127,     0,     0,     0,     0,     0,   127,
     1550       0,     0,   106,   106,    19,     2,     0,     0,     3,   129,
     1551     130,     2,   141,   131,   132,   133,   134,   135,   136,   143,
     1552     145,     0,     0,     0,   283,   292,   292,   545,     0,   538,
     1553     292,   373,   375,     0,   389,   691,   384,   388,   385,   378,
     1554     382,   365,   396,     0,   577,     2,   662,   661,     0,   667,
     1555       2,   480,   482,   502,     3,   510,   511,     0,     2,   506,
     1556       3,     3,     0,     0,   554,   220,     0,     0,     0,   220,
     1557       0,     0,   119,   694,   698,   700,   693,   747,   106,     0,
     1558       3,   659,    40,     3,    38,    35,     0,     3,    99,   101,
     1559       0,     2,   650,   651,     0,     0,   292,     0,     0,     0,
     1560       3,   636,     0,     2,   622,   623,     2,   638,     2,   672,
     1561     673,     0,     0,    61,     0,     3,     3,     3,     3,   408,
     1562     407,   411,     2,     2,   746,   745,   120,     0,     0,     0,
     1563       0,     3,   461,     3,     0,   241,   144,     3,   293,   292,
     1564       0,     0,     0,     0,     2,     0,   189,     0,   187,     0,
     1565       0,     0,     0,     0,     0,     0,   545,   119,     0,   149,
     1566     146,   292,     0,     0,   265,   277,     3,     3,   544,   611,
     1567     366,   381,   394,   292,   264,   292,     0,   513,   490,   292,
     1568       0,     0,   489,   504,     0,     0,     0,   214,     0,   223,
     1569      57,     2,   696,   697,     0,   124,   121,     0,     0,     0,
     1570       0,     0,    24,     0,   653,   292,   578,   263,   722,   723,
     1571     724,     0,   675,   292,   292,   292,     3,     3,     0,   683,
     1572       0,     0,     0,     0,   292,   292,     3,   542,   120,   468,
     1573       0,     0,   244,   293,     0,     0,     0,     0,   292,   190,
     1574     188,   185,     0,   191,     0,     0,     0,     0,   195,   198,
     1575     196,   192,     0,   193,   127,    36,   142,   140,   242,     0,
     1576       0,   415,   419,   418,     0,   507,     2,   508,     2,   509,
     1577     503,   292,   226,     0,   224,     0,   226,   292,    32,   122,
     1578       2,    43,     2,    41,    39,    29,    27,     3,   725,     3,
     1579       3,     3,     0,     0,   682,   684,   625,   639,   267,     2,
     1580     405,     3,   404,     0,   470,   467,   127,     0,     0,   127,
     1581       3,     0,   127,   186,     0,     2,     2,   207,   197,     0,
     1582       0,     0,   138,     0,   572,   612,     2,     0,     0,     2,
     1583     227,     0,     0,   215,     0,     3,     0,     0,     0,     0,
     1584       0,     0,   685,   686,   292,     0,   469,   150,     0,     0,
     1585       2,   163,   127,   152,     0,   180,     0,   127,     0,     2,
     1586     154,     0,     2,     0,     2,     2,     2,   194,    33,   292,
     1587     512,   514,   505,     0,     0,     0,     0,     0,     3,     3,
     1588     654,   626,   640,   676,   409,   127,   156,   159,     0,   158,
     1589     162,     3,   165,   164,     0,   127,   182,   127,     3,     0,
     1590     292,     0,   292,     0,     2,     0,     2,   137,     2,   228,
     1591     229,     0,   225,   216,   699,     0,     0,   151,     0,     0,
     1592     161,   231,   166,     2,   233,   181,     0,   184,   170,   199,
     1593       3,   208,   212,   201,     3,     0,   292,     0,   292,     0,
     1594       0,     0,    44,    42,   157,   160,   127,     0,   167,   292,
     1595     127,   127,     0,   171,     0,     0,   690,   209,   210,   211,
     1596       0,   200,     3,   202,     3,   292,   217,   230,   147,   168,
     1597     153,   127,   234,   183,   178,   176,   172,   155,   127,     0,
     1598     691,     0,     0,     0,     0,   148,   169,   179,   173,   177,
     1599     176,   174,     3,     3,     0,     0,   491,   175,   203,   205,
     1600       3,     3,   204,   206
     1601};
     1602
     1603/* YYDEFGOTO[NTERM-NUM].  */
     1604static const yytype_int16 yydefgoto[] =
     1605{
     1606      -1,   813,   468,   300,    47,   133,   134,   301,   302,   303,
     1607     304,   305,   761,   762,  1133,  1134,   306,   381,   308,   309,
     1608     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
     1609     320,  1030,   518,   975,   546,   322,   976,   947,  1057,  1518,
     1610    1059,  1060,  1061,  1062,  1519,  1063,  1064,  1437,  1438,  1401,
     1611    1402,  1403,  1497,  1498,  1502,  1503,  1538,  1539,  1065,  1361,
     1612    1066,  1067,  1298,  1299,  1300,  1480,  1068,   145,   953,   954,
     1613     955,  1381,  1461,  1472,  1473,   469,   470,   874,   875,  1038,
     1614      51,    52,    53,    54,    55,   347,   158,    58,    59,    60,
     1615      61,    62,   349,    64,    65,   264,    67,    68,   274,   351,
     1616     352,    71,    72,    73,   118,    75,   204,   354,   119,    78,
     1617     120,    80,    81,   455,    82,   454,   688,   689,   690,   908,
     1618    1086,   909,    83,    84,   458,   456,   696,   855,   856,   857,
     1619     858,   699,   700,   701,   359,   360,   361,   362,   466,   340,
     1620     135,   136,   522,   324,   170,   645,   646,   647,   648,   649,
     1621      85,   121,    87,   489,   490,   939,   491,   277,   495,   325,
     1622      88,   137,   138,    89,  1321,  1108,  1109,  1110,  1111,    90,
     1623      91,   717,    92,   273,    93,    94,   187,  1032,   679,   412,
     1624     125,    95,   501,   502,   503,   188,   268,   190,   191,   192,
     1625     269,    98,    99,   100,   101,   102,   103,   104,   195,   196,
     1626     197,   198,   199,   825,   605,   606,   607,   608,   200,   610,
     1627     611,   612,   572,   573,   574,   575,   751,   105,   614,   615,
     1628     616,   617,   618,   619,   968,   753,   754,   755,   595,   365,
     1629     366,   367,   368,   326,   164,   107,   108,   109,   370,   694,
     1630     569
     1631};
     1632
     1633/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
     1634   STATE-NUM.  */
     1635#define YYPACT_NINF -1390
    9111636static const yytype_int16 yypact[] =
    9121637{
    913     7252,  8635, -1317,    -3, -1317, -1317, -1317, -1317, -1317, -1317,
    914    -1317,    23, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    915    -1317, -1317, -1317, -1317, -1317, -1317,    81,    81,    81,  1277,
    916      970,   104,  7368,   277, -1317, -1317, -1317, -1317, -1317,   201,
    917    -1317, -1317, -1317,  1047,   187, -1317, -1317, -1317, -1317,  5370,
    918    -1317, -1317, -1317, -1317,    35,    48, -1317,  1328, -1317, -1317,
    919    -1317, -1317,   235,  1663,   343,    98,  7484, -1317, -1317,  6174,
    920     1066, -1317, -1317,   536,   376,  5540,   978,  1631,   536,  1775,
    921    -1317, -1317,   477,   683, -1317,   536,  1892, -1317,   295, -1317,
    922      422,   489, -1317, -1317, -1317, -1317,   346,    48,    81, -1317,
    923       81, -1317, -1317, -1317, -1317,  9392,  1328, -1317, -1317,  1328,
    924    -1317,   321, -1317,  9431, -1317, -1317,  2250,  9501, -1317,   668,
    925      668,   668, -1317, -1317, -1317,    81, -1317, -1317, -1317,   373,
    926      399,   410, -1317, -1317, -1317,   420, -1317, -1317, -1317, -1317,
    927    -1317,   428,   450, -1317, -1317,    59,  8604,  2904,   144,   440,
    928      493,   498,   531,   544,   560,  8522,  6772,   510,   580, -1317,
    929     9114, -1317, -1317, -1317, -1317,   584, -1317,   153,  4280,  4280,
    930    -1317,   570,   283, -1317, -1317, -1317, -1317,   596,   288,   303,
    931      332,    81,   583, -1317, -1317,  1663,  2232,   648, -1317,    73,
    932    -1317,    81,    81,    48, -1317, -1317,    80, -1317,    81,    81,
    933    -1317,  3694,   599,   613,   668,  6565, -1317, -1317,   661,  5370,
    934    -1317, -1317,   536, -1317, -1317, -1317,    48, -1317,  1328,    35,
    935    -1317,  7675, -1317,   668,   668,   668,    48, -1317,  1277, -1317,
    936     5446, -1317, -1317,   620,   668, -1317,   668, -1317,   201,  8604,
    937    -1317,   673, -1317,   970,   692,   668, -1317,  1277,   697,   707,
    938    -1317,  7368,   576, -1317, -1317, -1317,  4822, -1317, -1317,  9720,
    939    -1317,   648,   165, 10347,  9501,  2250,  3694, -1317,   109, -1317,
    940    -1317,  9431,  1328,   743,  7515, -1317, -1317,   306, -1317, 10675,
    941      770,   800,  2676,   801, 10480, 10499, -1317,   813, -1317, -1317,
    942    -1317, -1317, 10556, 10556,  8378,   795, -1317, -1317, -1317, -1317,
    943    -1317, -1317,   842, -1317,   685,  1919,  8717, 10480, -1317,   652,
    944      325,   507,   317,   581,   826,   820,   823,   861,   111, -1317,
    945    -1317,   827,   703, -1317,   452, -1317, -1317,  2904, -1317, -1317,
    946      278,   856, -1317,   636,   856,   866,   201, -1317, -1317,   872,
    947     9392, -1317,   876,   887,  8830, -1317, -1317,  1020,  2049,  8093,
    948     6565,   536, -1317,   536,   668,   668, -1317, -1317, -1317, -1317,
    949    -1317, -1317,   668,  9392,  1328, -1317, -1317,  9540,  1233, -1317,
    950     7824, -1317, -1317, -1317, -1317, -1317, -1317, -1317,   891,  4627,
    951    10480, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    952    -1317, -1317, -1317, -1317, -1317,  2250, -1317,   552,   901,   904,
    953      912,   862,   920,   922,   924,  2232, -1317, -1317,   932,    35,
    954      936, -1317, -1317,   939, -1317, -1317, -1317,  4822, -1317, -1317,
    955    -1317, -1317, -1317,  3694, -1317,  8604,  8604, -1317,   668,  2250,
    956     6684,  1328,  8166, -1317, -1317, -1317, -1317,  4822,   165, -1317,
    957    -1317,   536,    48, -1317, -1317,  4822, -1317,  6449, -1317, -1317,
    958      668,   668,   484,  8011,   938,   941,   931,   952,   668, -1317,
    959    -1317, -1317, -1317,  9797, -1317,   578,  6327, -1317,    48,   955,
    960    -1317,  2250, 10757, 10404, -1317, -1317, -1317, -1317,   881,  3694,
    961    -1317,  8239,   648,  3545, -1317, -1317, -1317,  1641,   586,   827,
    962      970,  7515,   592,  9431, -1317,  7515, -1317, -1317, -1317, -1317,
    963      603, -1317,   967,   800,   215,  8378, -1317,  9570, -1317, -1317,
    964     8378, -1317,  8491,  8378, -1317, -1317,   966, -1317,   617,   973,
    965      839,   983, -1317, -1317,  9253,  6415, -1317,   247, -1317, -1317,
    966    10347, -1317,   330, 10347, -1317, -1317, -1317, -1317, -1317, -1317,
    967    -1317, -1317, -1317, -1317, -1317, 10347, -1317, -1317, 10480, 10480,
    968    10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480,
    969    10480, 10480, 10480, 10480, 10480, 10480,  4526, 10347, -1317,   703,
    970      751, -1317, -1317,    81,    81, -1317, -1317,  8604, -1317, -1317,
    971      939,   576, -1317,   939, 10423, -1317, -1317, -1317,  8975,  6415,
    972      968,   976, -1317,  9501, -1317, -1317,   584, -1317,   990,   769,
    973      999,  3014,   124,   827, -1317,    81,    81,   827,   125, -1317,
    974       81,    81,   939, -1317, -1317,    81,    81, -1317,   856,  9652,
    975     1328, 10902,   151,   358,  9652, -1317,  9720, -1317,   827, -1317,
    976     9392, -1317,   147,  7790,  7790,  7790,  1328, -1317,  5708,   982,
    977      891,  1167,   995,   996, -1317,  1011,  4280,   230, -1317,  1103,
    978     1328,  7790,   576,  2250,   576,   648,   671,   856, -1317, -1317,
    979      694,   856, -1317, -1317, -1317,   800, -1317,   856,    48,  9797,
    980    -1317,   621,  1024,   640,  1026, -1317,  1030,    48, -1317, -1317,
    981     4822,    48,  1032,  9570,  1037, -1317,  1585, -1317,   335,   390,
    982      970, -1317,   970,  1023, 10480, -1317,   970, 10902, -1317, -1317,
    983     1034, -1317, -1317, -1317,   576, -1317, 10830,   887, -1317,  7790,
    984      859,  8093, -1317, -1317,   584,  1025,  1036,  1641,  3247, -1317,
    985    -1317,  7515, -1317, -1317,  1039, -1317, -1317,  1043, -1317,  1039,
    986     1048, 10675, 10347,    67,  1027,   133,  1053,  1061,  1068,  1069,
    987    -1317,  1072,  1074,  9362,  6534, -1317, 10347, -1317,   839,  2140,
    988    -1317, -1317, -1317,    81,    81, 10290, 10347,  1070, -1317, -1317,
    989      675, -1317, 10347, -1317, -1317,   644, -1317, -1317, -1317, -1317,
    990      652,   652,   325,   325,   507,   507,   507,   507,   317,   317,
    991      581,   826,   820,   823,   861, 10480,   333, -1317,  9797,  1079,
    992     1080,  1081,   751, -1317, -1317, -1317, -1317, -1317,  9797,   700,
    993     7790, -1317,  9392, -1317,  6891,  8943, -1317,  7824,  6772, -1317,
    994    -1317,   769,  9797,   917,  1082,  1083,  1084,  1087,  1088,  1089,
    995     1091, -1317,  4955,  3014, -1317, -1317, -1317, -1317, -1317, -1317,
    996    -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    997    -1317,   939, -1317, -1317, -1317,   827, -1317, -1317, -1317, -1317,
    998    -1317, -1317, -1317, -1317,  1098, -1317,  1099,  1101, -1317, -1317,
    999       35,  1070,  5708, -1317, -1317, -1317,  4627,  1102, -1317, -1317,
    1000    -1317, -1317,   970,  5944,  1191, -1317, -1317, -1317, -1317,  1094,
    1001       35, -1317, -1317,   939, -1317, -1317,   939,    24,   939, -1317,
    1002    -1317, -1317, -1317, -1317, -1317,  9223, -1317,    48, -1317, -1317,
    1003      432,   441,  9540,  7010,  2348, 10480,  3377, -1317, -1317,  1092,
    1004       94,  1092, -1317,   970, -1317,    81, -1317, -1317,  8748,   931,
    1005    -1317, -1317, -1317,   941,  1116,  1111, -1317, -1317,  1118,  1119,
    1006    -1317,   859,  2430, -1317,   455, -1317,  3247,   827, -1317,  1122,
    1007     7515,  9682,  8604,  1125, -1317, -1317,  1130,  1135,  1124, -1317,
    1008    10480,   166,   222,  1132, -1317,  1138,   576,  1138, -1317, -1317,
    1009     1138,  1137, -1317,  1145,  1147,  1148,  2140, -1317, -1317, -1317,
    1010     4627, -1317, -1317, -1317, -1317,  1143, 10347,  1149,   576, -1317,
    1011    10347, -1317,   576, -1317, -1317, 10347, -1317,   721,   856, -1317,
    1012    -1317, -1317, -1317, -1317, -1317, -1317,   891,   887,  8830, -1317,
    1013    -1317,  7129,  1152, -1317,   731,   856, -1317,   745,   763,   856,
    1014    -1317,   668,  5561, -1317, -1317, -1317,  9797,  9797, -1317,  8166,
    1015     8166, -1317,  1154,  1156,  1153,  1155, -1317,  1168,   460,   196,
    1016     1070, -1317,   576, -1317,  4280, -1317, 10347,   474, -1317,  6296,
    1017     1159,  1170, 10233,  1172,  1175,   -14,     3,    11, 10347,  1179,
    1018       48, 10347, 10347,  1160,  1177,   282,  1161, -1317, -1317, -1317,
    1019     1180, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    1020      970,  1184, 10347, -1317,  9797,  9797,    81,  1188, -1317,  8861,
    1021    -1317, -1317,   809, -1317,  3377, -1317, -1317, -1317, -1317,  1585,
    1022    -1317, -1317,  1185, -1317, -1317, -1317, -1317,  1193,  2430, -1317,
    1023    -1317,  1176, -1317,  1039, -1317, -1317,  2250,  1196, -1317, -1317,
    1024    -1317,   709,  1198, -1317,   133,  1202, 10480,  1186,   133,   133,
    1025     1211,  9253,   789,   856, -1317, -1317,  1011, 10347,  1214,  1143,
    1026      505,   224,  1217, -1317, -1317,  1218,  1217, -1317, -1317,  1226,
    1027    -1317, -1317,   939,  1228,  1230,  6653,  1231,  1232,  1243, -1317,
    1028    -1317,  1246, -1317, -1317,   939, -1317, -1317, -1317, -1317,   939,
    1029    10347, 10347,   887,  1245, -1317, -1317, -1317, -1317, -1317, -1317,
    1030    -1317, -1317, -1317, -1317, -1317, -1317, 10480, 10480,  1247,  1251,
    1031     1217, -1317, -1317,   970, -1317, -1317, -1317,  4468,  9682, 10347,
    1032    10347,  1311, 10347, -1317,  1234, -1317,  1237, -1317,  1239, 10347,
    1033     1241, 10347,  1049,  1244,    26,    81,  9084,   750, -1317, -1317,
    1034     5944,  1267,   481, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    1035    -1317, -1317, 10053, -1317,  8239,  1274, -1317, -1317,  9682,   482,
    1036      512, -1317,  1272,  1259,   800,  1280, -1317,   245, -1317, -1317,
    1037    -1317, -1317,   939,  1279, -1317, -1317,  1287,   385,   444,   576,
    1038     1293, -1317,  1294, -1317,  9797, -1317, -1317, -1317, -1317, -1317,
    1039     1295, -1317,  9797,  9797,  9797, -1317, -1317,  1297, -1317,  1298,
    1040     1282,  1305,   511,  7863,  7978, -1317, -1317,   348, -1317,  1304,
    1041     1310, -1317,  8312,   712,   734,  1308,   739,  6143, -1317, -1317,
    1042    -1317,   515, -1317,   765,  1318,  1320,    48,  1371,   879, -1317,
    1043    -1317, 10347, -1317, 10233, 10347, -1317, -1317, -1317,  1322,  1329,
    1044    -1317, -1317, -1317,  1324, -1317, -1317, -1317, -1317, -1317, -1317,
    1045     9682,   800,   265, -1317,  1309,   800,  9797, -1317, -1317, -1317,
    1046    -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    1047    -1317,  1330,  1331, -1317, -1317, -1317, -1317, -1317, -1317, -1317,
    1048     1334, -1317,  1333, -1317, -1317, 10233,   143, 10347, 10233, -1317,
    1049     1338, 10347, -1317,   259,  1354,  1356, -1317, -1317,  1346,  1347,
    1050     1326, -1317,   880, -1317, -1317, -1317,  1328,  2250,  1345,   842,
    1051      364, 10480, -1317,   774, -1317,   576,   576,  1352,  1355,  1357,
    1052     1360, -1317, -1317,  8166,  1358, -1317,  1436, 10480,  1349, -1317,
    1053    -1317, 10145, -1317,   783, -1317,  1350, 10233,  1359, -1317, -1317,
    1054     1378, -1317,  1379, -1317,  1394,  1396, -1317,  1361,  9682, -1317,
    1055    -1317, -1317,   800,   576,  1386,  1367,  1392,  1217,  1217, -1317,
    1056    -1317, -1317, -1317, -1317, 10233,   275, -1317,   384, -1317, -1317,
    1057     7600, -1317, -1317,  1375, 10347, -1317, 10347,  7600,    48,  9570,
    1058       48,  9570,  1393, -1317,  1398, -1317, -1317,  1395,   842, -1317,
    1059      798, -1317, -1317, -1317,  1399,  1401, -1317, 10480, 10480, -1317,
    1060    -1317,   964,   167, -1317, -1317,  1388, -1317,   964, -1317, -1317,
    1061     2461,   576, -1317, -1317,    48,  9570,    48,  9570,  1409,  1390,
    1062      576, -1317, -1317, -1317, -1317, 10145,  1410,   964,  5861, 10347,
    1063    10057,  1412,   964,  1414,  2461,  3613, -1317, -1317, -1317,  1420,
    1064    -1317, -1317, -1317, -1317,  8604, -1317, -1317, -1317,  9924, -1317,
    1065    10145, -1317, -1317,  1402,  9836, -1317, -1317, 10057,    48,  3613,
    1066       48,  1421,  1429,   817, -1317,  9924, -1317, -1317, -1317,  9836,
    1067    -1317, -1317, -1317,    48,    48, -1317, -1317, -1317, -1317, -1317,
    1068    -1317, -1317, -1317
     1638    7429,  6461, -1390,    -8, -1390, -1390, -1390, -1390, -1390, -1390,
     1639   -1390,   -23, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390,
     1640   -1390, -1390, -1390, -1390, -1390, -1390,    91,    91,    91,  1566,
     1641     744,    60,  7661,   126, -1390, -1390, -1390, -1390, -1390,   146,
     1642   -1390, -1390, -1390,   775,   200, -1390, -1390, -1390, -1390,  5932,
     1643   -1390, -1390, -1390, -1390,   110,   203, -1390,  1684, -1390, -1390,
     1644   -1390, -1390,   214,  2010,   360,   114,  7777, -1390, -1390,  9536,
     1645    1247, -1390, -1390,  1362,   444,  2238,   717,   552,  1362,  1870,
     1646   -1390, -1390,   837,   759, -1390,  1362,  1917, -1390,   226, -1390,
     1647     415,   453, -1390, -1390, -1390, -1390,   349,   203,    91, -1390,
     1648      91, -1390, -1390, -1390, -1390,  2963,  1684, -1390, -1390,  1684,
     1649   -1390,   342, -1390,  8264, -1390, -1390,  2329,  9075, -1390,  1671,
     1650    1671,  1671, -1390, -1390, -1390,    91, -1390, -1390, -1390,   422,
     1651     442,   463, -1390, -1390, -1390,   475, -1390, -1390, -1390, -1390,
     1652   -1390,   487,   492, -1390, -1390,    41,  9044,  2498,   571,   409,
     1653     496,   499,   523,   533,   543,  5546,  6949,   548,   579, -1390,
     1654    9574, -1390, -1390, -1390, -1390,   586, -1390,   116,  4885,  4885,
     1655   -1390,   602,   204, -1390, -1390, -1390, -1390,   626,   243,   344,
     1656     351,    91,   531, -1390, -1390,  2010,  3286,   695, -1390,    42,
     1657   -1390,    91,    91,   203, -1390, -1390,    65, -1390,    91,    91,
     1658   -1390,  3459,   673,   690,  1671,  6742, -1390, -1390,   702,  5932,
     1659   -1390, -1390,  1362, -1390, -1390, -1390,   203, -1390,  1684,   110,
     1660   -1390,  8115, -1390,  1671,  1671,  1671,   203, -1390,  1566, -1390,
     1661    4853, -1390, -1390,   703,  1671, -1390,  1671, -1390,   146,  9044,
     1662   -1390,   726, -1390,   744,   749,  1671, -1390,  1566,   724,   743,
     1663   -1390,  7661,   590, -1390, -1390, -1390,  9503, -1390, -1390,  5769,
     1664   -1390,   695,   158, 10287,  9075,  2329,  3459, -1390,    80, -1390,
     1665   -1390,  8264,  1684,   765,  7808, -1390, -1390,   362, -1390, 10539,
     1666     797,   846,  3526,   825,  3896,  4720, -1390,   843, -1390, -1390,
     1667   -1390, -1390, 10420, 10420,  8818,   845, -1390, -1390, -1390, -1390,
     1668   -1390, -1390, -1390,   883, -1390,  1119,  1947,  9157,  3896, -1390,
     1669     619,   651,   614,   309,   714,   823,   850,   853,   891,   100,
     1670   -1390, -1390,   866,   558, -1390,   120, -1390, -1390,  2498, -1390,
     1671   -1390,   443,   892, -1390,   450,   892,   895,   146, -1390, -1390,
     1672     900,  2963, -1390,   898,   901,  9270, -1390, -1390,  1091,  1646,
     1673    8533,  6742,  1362, -1390,  1362,  1671,  1671, -1390, -1390, -1390,
     1674   -1390, -1390, -1390,  1671,  2963,  1684, -1390, -1390,  9188,  1515,
     1675   -1390,  4463, -1390, -1390, -1390, -1390, -1390, -1390, -1390,   903,
     1676    6164,  3896, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390,
     1677   -1390, -1390, -1390, -1390, -1390, -1390,  2329, -1390,   814,   908,
     1678     913,   916,   859,   918,   921,   922,  3286, -1390, -1390,   927,
     1679     110,   905, -1390, -1390,   926, -1390, -1390, -1390,  9503, -1390,
     1680   -1390, -1390, -1390, -1390,  3459, -1390,  9044,  9044, -1390,  1671,
     1681    2329,  6861,  1684,  8606, -1390, -1390, -1390, -1390,  9503,   158,
     1682   -1390, -1390,  1362,   203, -1390, -1390,  9503, -1390,  5584, -1390,
     1683   -1390,  1671,  1671,   300,  4617,   934,   933,   925,   950,  1671,
     1684   -1390, -1390, -1390, -1390,  9803, -1390,   408,  6623, -1390,   203,
     1685     965, -1390,  2329, 10621, 10344, -1390, -1390, -1390, -1390,   932,
     1686    3459, -1390,  8679,   695,  7545, -1390, -1390, -1390,   907,   412,
     1687     866,   744,  7808,   994,  8264, -1390,  7808, -1390, -1390, -1390,
     1688   -1390,   554, -1390,   953,   846,   236,  8818, -1390,  9301, -1390,
     1689   -1390,  8818, -1390,  8931,  8818, -1390, -1390,   969, -1390,   637,
     1690     972,   583,   973, -1390, -1390,  9650,  6592, -1390,   268, -1390,
     1691   -1390, 10287, -1390,   318, 10287, -1390, -1390, -1390, -1390, -1390,
     1692   -1390, -1390, -1390, -1390, -1390, -1390, 10287, -1390, -1390,  3896,
     1693    3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,  3896,
     1694    3896,  3896,  3896,  3896,  3896,  3896,  3896,  5176, 10287, -1390,
     1695     558,  1665, -1390, -1390,    91,    91, -1390, -1390,  9044, -1390,
     1696   -1390,   926,   590, -1390,   926, 10363, -1390, -1390, -1390,  5001,
     1697    6592,   974,   975, -1390,  9075, -1390, -1390,   586, -1390,   976,
     1698     286,   979,  1959,    99,   866, -1390,    91,    91,   866,   122,
     1699   -1390,    91,    91,   926, -1390, -1390,    91,    91, -1390,   892,
     1700    9421,  1684, 10766,   260,   339,  9421, -1390,  5769, -1390,   866,
     1701   -1390,  2963, -1390,   183,  8230,  8230,  8230,  1684, -1390, 10173,
     1702     963,   903,   538,   964,   967, -1390,   985,  4885,   427, -1390,
     1703    1073,  1684,  8230,   590,  2329,   590,   695,   727,   892, -1390,
     1704   -1390,   771,   892, -1390, -1390, -1390,   846, -1390,   892,   203,
     1705    9803, -1390,   647,   995,   650,   996, -1390,   997,   203, -1390,
     1706   -1390,  9503,   203,   998,  9301,   999, -1390,  1616, -1390,   384,
     1707     407,   744, -1390,   744,  1002,  3896, -1390,   744, 10766, -1390,
     1708   -1390,  1000, -1390, -1390, -1390,   590, -1390, 10694,   901, -1390,
     1709    8230,   596,  8533, -1390, -1390,   586,  1003,  1004,   907,  2842,
     1710   -1390, -1390,  7808, -1390, -1390,  1007, -1390, -1390,  1018, -1390,
     1711    1007,  1019, 10539, 10287,   983,  1009,    88,  1022,  1012,  1023,
     1712    1025, -1390,  1026,  1032,  9688,  6711, -1390, 10287, -1390,   583,
     1713    1835, -1390, -1390, -1390,    91,    91, 10230, 10287,  1027, -1390,
     1714   -1390,   657, -1390, 10287, -1390, -1390,   706, -1390, -1390, -1390,
     1715   -1390,   619,   619,   651,   651,   614,   614,   614,   614,   309,
     1716     309,   714,   823,   850,   853,   891,  3896,   237, -1390,  9803,
     1717    1035,  1038,  1041,  1665, -1390, -1390, -1390, -1390, -1390,  9803,
     1718     664,  8230, -1390,  2963, -1390,  7068,  9383, -1390,  4463,  6949,
     1719   -1390, -1390,   286,  9803,   944,  1045,  1046,  1048,  1049,  1050,
     1720    1052,  1054, -1390,  3725,  1959, -1390, -1390, -1390, -1390, -1390,
     1721   -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390,
     1722   -1390, -1390,   926, -1390, -1390, -1390,   866, -1390, -1390, -1390,
     1723   -1390, -1390, -1390, -1390, -1390,  1060, -1390,  1061,  1068, -1390,
     1724   -1390,   110,  1027, 10173, -1390, -1390, -1390,  6164,  1064, -1390,
     1725   -1390, -1390, -1390,   744,  6295,  1153, -1390, -1390, -1390, -1390,
     1726    1053,   110, -1390, -1390,   926, -1390, -1390,   926,  1076,   926,
     1727   -1390, -1390, -1390, -1390, -1390, -1390,  9612, -1390,   203, -1390,
     1728   -1390,   437,   460,  9188,  7187,  1990,  3896,  3131, -1390, -1390,
     1729    1063,    87,  1063, -1390,   744, -1390,    91, -1390, -1390,  8451,
     1730     925, -1390, -1390, -1390,   933,  1080,  1067, -1390, -1390,  1084,
     1731    1097, -1390,   596,  1850, -1390,   502, -1390,  2842,   866, -1390,
     1732    1088,  7808,  9721,  9044,  1100, -1390, -1390,  1096,  1104,  1085,
     1733   -1390,  3896,  1107,   250,  1102, -1390,  1105,   590,  1105, -1390,
     1734   -1390,  1105,  1108, -1390,  1111,  1112,  1114,  1835, -1390, -1390,
     1735   -1390,  6164, -1390, -1390, -1390, -1390,  1122, 10287,  1115,   590,
     1736   -1390, 10287, -1390,   590, -1390, -1390, 10287, -1390,   776,   892,
     1737   -1390, -1390, -1390, -1390, -1390, -1390, -1390,   903,   901,  9270,
     1738   -1390, -1390,  7306,  1125, -1390,   791,   892, -1390,   804,   829,
     1739     892, -1390,  1671,  4154, -1390, -1390, -1390,  9803,  9803, -1390,
     1740    8606,  8606, -1390,  1126,  1127,  1135,  1137, -1390,  1146,   615,
     1741     233,  1027, -1390,   590, -1390,  4885, -1390, 10287,   491, -1390,
     1742    6430,  1140,  1150, 10116,  1152,  1157,    46,    55,   198, 10287,
     1743    1158,   203, 10287, 10287,  1132,  1156,   335,  1138, -1390, -1390,
     1744   -1390,  1161, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390,
     1745   -1390,   744,  1172, 10287, -1390,  9803,  9803,    91,  1174, -1390,
     1746    8962, -1390, -1390,   742, -1390,  3131, -1390, -1390, -1390, -1390,
     1747    1616, -1390, -1390,  1175, -1390, -1390, -1390, -1390,  1177,  1850,
     1748   -1390, -1390,  1143, -1390,  1007, -1390, -1390,  2329,  1176, -1390,
     1749   -1390, -1390,   669,  1183, -1390,    88,  1180,  3896,  1168,    88,
     1750      88,  1192,  9650,   836,   892, -1390, -1390,   985, 10287,  1193,
     1751    1122,   467,   193,  1188, -1390, -1390,  1200,  1188, -1390, -1390,
     1752    1207, -1390, -1390,   926,  1209,  1213,  6830,  1212,  1215,  1218,
     1753   -1390, -1390,  1221, -1390, -1390,   926, -1390, -1390, -1390, -1390,
     1754     926, 10287, 10287,   901,  1225, -1390, -1390, -1390, -1390, -1390,
     1755   -1390, -1390, -1390, -1390, -1390, -1390, -1390,  3896,  3896,  1234,
     1756    1237,  1188, -1390, -1390,   744, -1390, -1390, -1390,  8042,  9721,
     1757   10287, 10287,  1305, 10287, -1390,  1226, -1390,  1231, -1390,  1240,
     1758   10287,  1241, 10287,  1001,  1242,    20,    91,  5155,  1894, -1390,
     1759   -1390,  6295,  1260,   500, -1390, -1390, -1390, -1390, -1390, -1390,
     1760   -1390, -1390, -1390,  9936, -1390,  8679,  1269, -1390, -1390,  9721,
     1761     512,   513, -1390,  1272,  1227,   846,  1278, -1390,   312, -1390,
     1762   -1390, -1390, -1390,   926,  1274, -1390, -1390,  1279,   337,   462,
     1763     590,  1280, -1390,  1281, -1390,  9803, -1390, -1390, -1390, -1390,
     1764   -1390,  1283, -1390,  9803,  9803,  9803, -1390, -1390,  1285, -1390,
     1765    1286,  1290,  1292,   640,  8303,  8418, -1390, -1390,   474, -1390,
     1766    1291,  1295, -1390,  8752,   682,   684,  1299,   686,  6096, -1390,
     1767   -1390, -1390,   534, -1390,   707,  1302,  1306,   203,  1344,   831,
     1768   -1390, -1390, 10287, -1390, 10116, 10287, -1390, -1390, -1390,  1304,
     1769    1315, -1390, -1390, -1390,  1312, -1390, -1390, -1390, -1390, -1390,
     1770   -1390,  9721,   846,  1319, -1390,  1297,   846,  9803, -1390, -1390,
     1771   -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390,
     1772   -1390, -1390,  1318,  1322, -1390, -1390, -1390, -1390, -1390, -1390,
     1773   -1390,  1334, -1390,  1333, -1390, -1390, 10116,   104, 10287, 10116,
     1774   -1390,  1336, 10287, -1390,   264,  1351,  1360, -1390, -1390,  1349,
     1775    1350,  1328, -1390,   779, -1390, -1390, -1390,  1684,  2329,  1346,
     1776   -1390,   298,  3896, -1390,   716, -1390,   590,   590,  1353,  1358,
     1777    1364,  1366, -1390, -1390,  8606,  1363, -1390,  1438,  3896,  1352,
     1778   -1390, -1390, 10028, -1390,   729, -1390,  1355, 10116,  1359, -1390,
     1779   -1390,  1373, -1390,  1374, -1390,  1389,  1394, -1390,  1365,  9721,
     1780   -1390, -1390, -1390,   846,   590,  1384,  1369,  1386,  1188,  1188,
     1781   -1390, -1390, -1390, -1390, -1390, 10116,   235, -1390,   348, -1390,
     1782   -1390,  7893, -1390, -1390,  1370, 10287, -1390, 10287,  7893,   203,
     1783    9301,   203,  9301,  1388, -1390,  1393, -1390, -1390,  1395, -1390,
     1784   -1390,   756, -1390, -1390, -1390,  1392,  1397, -1390,  3896,  3896,
     1785   -1390, -1390,   873,   135, -1390, -1390,  1382, -1390,   873, -1390,
     1786   -1390,  2111,   590, -1390, -1390,   203,  9301,   203,  9301,  1410,
     1787    1391,   590, -1390, -1390, -1390, -1390, 10028,  1405,   873,  7969,
     1788   10287,  9940,  1406,   873,  1415,  2111,  3145, -1390, -1390, -1390,
     1789    1416, -1390, -1390, -1390, -1390,  9044, -1390, -1390, -1390,  9807,
     1790   -1390, 10028, -1390, -1390,  1400,  5404, -1390, -1390,  9940,   203,
     1791    3145,   203,  1417,  1425,   760, -1390,  9807, -1390, -1390, -1390,
     1792    5404, -1390, -1390, -1390,   203,   203, -1390, -1390, -1390, -1390,
     1793   -1390, -1390, -1390, -1390
    10691794};
    10701795
    1071   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
    1072      Performed when YYTABLE does not specify something else to do.  Zero
    1073      means the default is an error.  */
    1074 static const yytype_uint16 yydefact[] =
    1075 {
    1076      291,   291,   311,   309,   312,   310,   313,   314,   297,   299,
    1077      298,     0,   300,   325,   317,   322,   320,   321,   319,   318,
    1078      323,   324,   329,   326,   327,   328,   544,   544,   544,     0,
    1079        0,     0,   291,   217,   301,   315,   316,     7,   356,     0,
    1080        8,    14,    15,     0,     2,    60,    61,   562,     9,   291,
    1081      522,   520,   244,     3,   451,     3,   257,     0,     3,     3,
    1082        3,   245,     3,     0,     0,     0,   292,   293,   295,   291,
    1083      304,   307,   337,   283,   330,   335,   284,   345,   285,   352,
    1084      349,   359,     0,     0,   360,   286,   470,   474,     3,     3,
    1085        0,     2,   516,   521,   526,   296,     0,     0,   544,   574,
    1086      544,     2,   585,   586,   587,   291,     0,   728,   729,     0,
    1087       12,     0,    13,   291,   267,   268,     0,   292,   287,   288,
    1088      289,   290,   523,   302,   389,   545,   546,   367,   368,    12,
    1089      442,   443,    11,   438,   441,     0,   500,   495,   486,   442,
    1090      443,     0,     0,   525,   218,     0,   291,     0,     0,     0,
    1091        0,     0,     0,     0,     0,   291,   291,     2,     0,   730,
    1092      292,   579,   591,   734,   727,   725,   732,     0,     0,     0,
    1093      251,     2,     0,   529,   436,   437,   435,     0,     0,     0,
    1094        0,   544,     0,   631,   632,     0,     0,   542,   538,   544,
    1095      559,   544,   544,   540,     2,   539,   544,   598,   544,   544,
    1096      601,     0,     0,     0,   291,   291,   309,   357,     2,   291,
    1097      258,   294,   305,   338,   350,   475,     0,     2,     0,   451,
    1098      259,   292,   331,   346,   353,   471,     0,     2,     0,   308,
    1099      332,   339,   340,     0,   347,   351,   354,   358,   443,   291,
    1100      369,   362,   366,     0,   391,   472,   476,     0,     0,     0,
    1101        1,   291,     2,   527,   573,   575,   291,     2,   738,   292,
    1102      741,   542,   542,     0,   292,     0,     0,   270,   544,   540,
    1103        2,   291,     0,     0,   291,   547,     2,   498,     2,   551,
    1104        0,     0,     0,     0,     0,     0,    18,    57,     4,     5,
    1105        6,    16,     0,     0,   291,     2,    62,    63,    64,    65,
    1106       45,    19,    46,    22,    44,    66,   291,     0,    69,    73,
    1107       76,    79,    84,    87,    89,    91,    93,    95,    97,   102,
    1108      492,   748,   449,   491,     0,   447,   448,     0,   563,   578,
    1109      581,   584,   590,   593,   596,   356,     0,     2,   736,     0,
    1110      291,   739,     2,    60,   291,     3,   423,     0,   431,   292,
    1111      291,   304,   330,   284,   345,   352,     3,     3,   405,   409,
    1112      419,   424,   470,   291,   425,   703,   704,   291,   426,   428,
    1113      291,     2,   580,   592,   726,     2,     2,   246,     2,   456,
    1114        0,   454,   453,   452,   138,     2,     2,   248,     2,     2,
    1115      247,     2,   278,     2,   279,     0,   277,     0,     0,     0,
    1116        0,     0,     0,     0,     0,     0,   564,   603,     0,   451,
    1117        2,   558,   567,   657,   560,   561,   530,   291,     2,   597,
    1118      606,   599,   600,     0,   273,   291,   291,   336,   292,     0,
    1119      292,     0,   291,   731,   735,   733,   531,   291,   542,   252,
    1120      260,   306,     0,     2,   532,   291,   496,   333,   334,   280,
    1121      348,   355,     0,   291,     0,   746,   396,     0,   473,   497,
    1122      249,   250,   517,   291,   433,     0,   291,   234,     0,     2,
    1123      236,     0,   292,     0,   254,     2,   255,   275,     0,     0,
    1124        2,   291,   542,   291,   483,   485,   484,     0,     0,   748,
    1125        0,   291,     0,   291,   487,   291,   557,   555,   556,   554,
    1126        0,   549,   552,     0,     0,   291,    52,   291,    66,    47,
    1127      291,    54,   291,   291,    50,    51,     2,   124,     0,     0,
    1128      445,     0,   444,   725,   118,   291,    17,     0,    29,    30,
    1129       35,     2,     0,    35,   108,   109,   110,   111,   112,   113,
    1130      114,   115,   116,   117,   107,     0,    48,    49,     0,     0,
    1131        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1132        0,     0,     0,     0,     0,     0,     0,     0,   104,     2,
    1133      643,   450,   640,   544,   544,   648,   477,   291,     2,   582,
    1134      583,     0,   594,   595,     0,     2,   737,   740,   118,   291,
    1135        0,     2,   705,   292,   709,   700,   701,   707,     0,     2,
    1136        2,   665,   544,   748,   614,   544,   544,   748,   544,   628,
    1137      544,   544,   679,   432,   662,   544,   544,   670,   677,   291,
    1138      427,   292,     0,     0,   291,   715,   292,   720,   748,   712,
    1139      291,   717,   748,   291,   291,   291,     0,   118,     0,    18,
    1140        2,     0,    19,     0,   457,   746,     0,     0,   463,   238,
    1141        0,   291,     0,     0,     0,   542,   566,   570,   572,   602,
    1142      605,   609,   612,   565,   604,     0,   281,   655,     0,   291,
    1143      274,     0,     0,     0,     0,   272,     2,     0,   256,   533,
    1144      291,     0,     0,   291,     2,   361,   381,   370,     0,     0,
    1145      375,   369,   747,     0,     0,   394,     0,   292,     3,   412,
    1146        3,   416,   415,   588,     0,   528,   291,    60,     3,   291,
    1147      431,   292,     3,   425,   426,     2,     0,     0,     0,   482,
    1148      303,   291,   478,   480,     3,     2,     2,     0,   499,     3,
    1149        0,   551,   126,     0,     0,   219,     0,     0,     0,     0,
    1150       36,     0,     0,   118,   291,    20,     0,    21,     0,   689,
    1151      694,   446,   686,   544,   544,     0,   105,     3,     2,    27,
    1152        0,    33,     0,     2,    25,     0,   103,    70,    71,    72,
    1153       74,    75,    77,    78,    82,    83,    80,    81,    85,    86,
    1154       88,    90,    92,    94,    96,     0,     0,   749,   291,     0,
    1155        0,     0,   644,   645,   641,   642,   494,   493,   291,     0,
    1156      291,   711,   291,   716,   292,   291,   659,   291,   291,   702,
    1157      658,     2,   291,     0,     0,     0,     0,     0,     0,     0,
    1158        0,   680,     0,   666,   617,   633,   667,     2,   613,   620,
    1159      429,   615,   616,   430,     2,   627,   636,   629,   630,   663,
    1160      664,   678,   706,   710,   708,   748,   265,     2,   742,     2,
    1161      420,   714,   719,   421,     0,   399,     3,     3,     3,     3,
    1162      451,     3,     0,     2,   465,   462,   747,     0,   458,     2,
    1163      461,   464,     0,   291,   239,   261,     3,   269,   271,     0,
    1164      451,     2,   568,   569,     2,   607,   608,     0,   656,   534,
    1165        3,   342,   341,   344,   343,   291,   535,     0,   536,   369,
    1166        0,     0,   291,   291,     0,     0,   689,   379,   382,   386,
    1167      544,   386,   385,   378,   371,   544,   373,   376,   291,   396,
    1168      390,   101,   397,   746,     0,     0,   434,   237,     0,     0,
    1169        3,     2,   665,   427,     0,   524,     0,   748,   486,     0,
    1170      291,   291,   291,     0,   548,   550,   127,     0,     0,   212,
    1171        0,     0,     0,   220,   221,    53,     0,    55,    58,    59,
    1172        0,     2,   125,     0,     0,     0,   690,   691,   687,   688,
    1173      456,    67,    68,   106,   122,     3,   105,     0,     0,    24,
    1174       35,     3,     0,    32,    99,     0,     3,   647,   651,   654,
    1175      646,     3,   589,     3,   713,   718,     2,    60,   291,     3,
    1176        3,   292,     0,     3,   619,   623,   626,   635,   669,   673,
    1177      676,   291,     3,   618,   634,   668,   291,   291,   422,   291,
    1178      291,   743,     0,     0,     0,     0,   253,     0,   101,     0,
    1179        3,     3,     0,   459,     0,   455,     0,     0,   242,   291,
    1180        0,     0,   126,     0,     0,     0,     0,     0,   126,     0,
    1181        0,   105,   105,    18,     2,     0,     0,     3,   128,   129,
    1182        2,   140,   130,   131,   132,   133,   134,   135,   142,   144,
    1183        0,     0,     0,   282,   291,   291,   544,     0,   537,   291,
    1184      372,   374,     0,   388,   690,   383,   387,   384,   377,   381,
    1185      364,   395,     0,   576,     2,   661,   660,     0,   666,     2,
    1186      479,   481,   501,     3,   509,   510,     0,     2,   505,     3,
    1187        3,     0,     0,   553,   219,     0,     0,     0,   219,     0,
    1188        0,   118,   693,   697,   699,   692,   746,   105,     0,     3,
    1189      658,    39,     3,    37,    34,     0,     3,    98,   100,     0,
    1190        2,   649,   650,     0,     0,   291,     0,     0,     0,     3,
    1191      635,     0,     2,   621,   622,     2,   637,     2,   671,   672,
    1192        0,     0,    60,     0,     3,     3,     3,     3,   407,   406,
    1193      410,     2,     2,   745,   744,   119,     0,     0,     0,     0,
    1194        3,   460,     3,     0,   240,   143,     3,   292,   291,     0,
    1195        0,     0,     0,     2,     0,   188,     0,   186,     0,     0,
    1196        0,     0,     0,     0,     0,   544,   118,     0,   148,   145,
    1197      291,     0,     0,   264,   276,     3,     3,   543,   610,   365,
    1198      380,   393,   291,   263,   291,     0,   512,   489,   291,     0,
    1199        0,   488,   503,     0,     0,     0,   213,     0,   222,    56,
    1200        2,   695,   696,     0,   123,   120,     0,     0,     0,     0,
    1201        0,    23,     0,   652,   291,   577,   262,   721,   722,   723,
    1202        0,   674,   291,   291,   291,     3,     3,     0,   682,     0,
    1203        0,     0,     0,   291,   291,     3,   541,   119,   467,     0,
    1204        0,   243,   292,     0,     0,     0,     0,   291,   189,   187,
    1205      184,     0,   190,     0,     0,     0,     0,   194,   197,   195,
    1206      191,     0,   192,   126,    35,   141,   139,   241,     0,     0,
    1207      414,   418,   417,     0,   506,     2,   507,     2,   508,   502,
    1208      291,   225,     0,   223,     0,   225,   291,    31,   121,     2,
    1209       42,     2,    40,    38,    28,    26,     3,   724,     3,     3,
    1210        3,     0,     0,   681,   683,   624,   638,   266,     2,   404,
    1211        3,   403,     0,   469,   466,   126,     0,     0,   126,     3,
    1212        0,   126,   185,     0,     2,     2,   206,   196,     0,     0,
    1213        0,   137,     0,   571,   611,     2,     0,     0,     2,   226,
    1214        0,     0,   214,     0,     3,     0,     0,     0,     0,     0,
    1215        0,   684,   685,   291,     0,   468,   149,     0,     0,     2,
    1216      162,   126,   151,     0,   179,     0,   126,     0,     2,   153,
    1217        0,     2,     0,     2,     2,     2,   193,    32,   291,   511,
    1218      513,   504,     0,     0,     0,     0,     0,     3,     3,   653,
    1219      625,   639,   675,   408,   126,   155,   158,     0,   157,   161,
    1220        3,   164,   163,     0,   126,   181,   126,     3,     0,   291,
    1221        0,   291,     0,     2,     0,     2,   136,     2,   227,   228,
    1222        0,   224,   215,   698,     0,     0,   150,     0,     0,   160,
    1223      230,   165,     2,   232,   180,     0,   183,   169,   198,     3,
    1224      207,   211,   200,     3,     0,   291,     0,   291,     0,     0,
    1225        0,    43,    41,   156,   159,   126,     0,   166,   291,   126,
    1226      126,     0,   170,     0,     0,   689,   208,   209,   210,     0,
    1227      199,     3,   201,     3,   291,   216,   229,   146,   167,   152,
    1228      126,   233,   182,   177,   175,   171,   154,   126,     0,   690,
    1229        0,     0,     0,     0,   147,   168,   178,   172,   176,   175,
    1230      173,     3,     3,     0,     0,   490,   174,   202,   204,     3,
    1231        3,   203,   205
    1232 };
    1233 
    1234   /* YYPGOTO[NTERM-NUM].  */
     1796/* YYPGOTO[NTERM-NUM].  */
    12351797static const yytype_int16 yypgoto[] =
    12361798{
    1237    -1317,  4344,  3244, -1317,   633, -1317,   172,   896,  -203, -1317,
    1238      487,  -518,  -482,  -910,  -211,  1511,     0, -1317,  1129,   534,
    1239      537,   615,   556,   984,   981,   988,   980,   989, -1317,     4,
    1240     -451,  4784,  -913, -1317,  -702,   571,    13,  -706,   419, -1317,
    1241      190, -1317,   345,  -964, -1317, -1317,    85, -1317, -1099, -1138,
    1242      197, -1317, -1317, -1317, -1317,    20, -1281, -1317, -1317, -1317,
    1243    -1317, -1317, -1317,   266, -1095,    50, -1317,  -472, -1317,   443,
    1244      239, -1317,   118, -1317,  -294, -1317, -1317, -1317,   496,  -829,
    1245    -1317, -1317,     8,  -952,    28,  2894, -1317, -1317, -1317,  -214,
    1246    -1317,   121,  1028,  -198,  1848,  3592, -1317, -1317,   127,   296,
    1247     1545,  1505, -1317,  1929, -1317, -1317,   137,  2139, -1317,  2574,
    1248      804, -1317, -1317, -1317,  -637, -1317,   886,   889,   490,   670,
    1249       52, -1317, -1317, -1317,   893,   666,  -510, -1317,  -116,    40,
    1250     1073, -1317, -1317,  -889,  -983,   933,  1377,  1006,   -11, -1317,
    1251     1351,   508,  -322,  -183,  -145,   623,   724, -1317,   944, -1317,
    1252     2701,   574,  -443,   875, -1317, -1317,   659, -1317,  -228, -1317,
    1253      -45, -1317, -1317, -1317, -1253,   370, -1317, -1317, -1317,  1120,
    1254    -1317,    33, -1317, -1317,  -828,  -100, -1316,  -170,  2264, -1317,
    1255     1914, -1317,   868, -1317,  -155,   129,  -181,  -180,  -175,     7,
    1256      -41,   -40,   -35,  1507,    37,    53,    57,   -29,  -172,  -163,
    1257     -158,  -150,  -293,  -500,  -490,  -485,  -542,  -284,  -525, -1317,
    1258    -1317,  -499,  1035,  1038,  1040,  1486,  4616,  -563,  -531,  -513,
    1259     -491,  -561, -1317,  -506,  -730,  -727,  -723,  -562,  -311,  -227,
    1260    -1317, -1317,   378,    19,   -93, -1317,  3633,   159,  -611,  -428
     1799   -1390,  4519,  3402, -1390,   393, -1390,   353,   929,  -255, -1390,
     1800   -1390,   477,  -524,  -492,  -901,  -176,  4763,     0, -1390,   832,
     1801     410,   433,   417,   440,   977,   978,   980,   971,   981, -1390,
     1802    -348,  -520,  3026,  -946, -1390,  -709,   563,   620,  -590,   -87,
     1803   -1390,   172, -1390,   332, -1116, -1390, -1390,    79, -1390, -1281,
     1804   -1176,   189, -1390, -1390, -1390, -1390,     9, -1389, -1390, -1390,
     1805   -1390, -1390, -1390, -1390,   256, -1199,    33, -1390,  -324, -1390,
     1806     435,   230, -1390,   109, -1390,  -343, -1390, -1390, -1390,   490,
     1807    -651, -1390, -1390,     8, -1002,    97,  1423, -1390, -1390, -1390,
     1808    -125, -1390,    23,  1201,  -202,  1925,  4332, -1390, -1390,    52,
     1809     224,   459,  1086, -1390,  1865, -1390, -1390,    25,  2362, -1390,
     1810    2640,  1529, -1390, -1390, -1390,  -612, -1390,   878,   879,   478,
     1811     658,    43, -1390, -1390, -1390,   876,   655,  -464, -1390,   -94,
     1812     -89,   948, -1390, -1390,  -942,  -971,   -24,    78,  1010,   368,
     1813   -1390,  1732,   171,  -317,  -213,  -127,   605,   710, -1390,   930,
     1814   -1390,  3077,  1178,  -438,   863, -1390, -1390,   654, -1390,  -234,
     1815   -1390,   -47, -1390, -1390, -1390, -1275,   357, -1390, -1390, -1390,
     1816    1110, -1390,    32, -1390, -1390,  -837,  -105, -1257,  -126,  2286,
     1817   -1390,  2146, -1390,   865, -1390,  -146,    59,  -177,  -171,  -166,
     1818       7,   -40,   -28,   -27,  1230,    28,    29,    57,   -63,  -154,
     1819    -151,  -150,  -141,  -329,  -513,  -511,  -507,  -589,  -320,  -515,
     1820   -1390, -1390,  -518,  1034,  1036,  1037,  1371,  5065,  -572,  -555,
     1821    -549,  -540,  -441, -1390,  -497,  -722,  -721,  -701,  -608,  -309,
     1822    -346, -1390, -1390,   185,   133,   -15, -1390,  3702,   -45,  -629,
     1823      22
    12611824};
    12621825
    1263   /* YYDEFGOTO[NTERM-NUM].  */
    1264 static const yytype_int16 yydefgoto[] =
    1265 {
    1266       -1,   812,   467,   300,    47,   133,   134,   301,   302,   303,
    1267      304,   760,   761,  1132,  1133,   305,   380,   307,   308,   309,
    1268      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
    1269     1029,   517,   974,   545,   321,   975,   946,  1056,  1517,  1058,
    1270     1059,  1060,  1061,  1518,  1062,  1063,  1436,  1437,  1400,  1401,
    1271     1402,  1496,  1497,  1501,  1502,  1537,  1538,  1064,  1360,  1065,
    1272     1066,  1297,  1298,  1299,  1479,  1067,   145,   952,   953,   954,
    1273     1380,  1460,  1471,  1472,   468,   469,   873,   874,  1037,    51,
    1274       52,    53,    54,    55,   346,   158,    58,    59,    60,    61,
    1275       62,   348,    64,    65,   264,    67,    68,   274,   350,   351,
    1276       71,    72,    73,   118,    75,   204,   353,   119,    78,   120,
    1277       80,    81,   454,    82,   453,   687,   688,   689,   907,  1085,
    1278      908,    83,    84,   457,   455,   695,   854,   855,   856,   857,
    1279      698,   699,   700,   358,   359,   360,   361,   465,   339,   135,
    1280      136,   521,   323,   170,   644,   645,   646,   647,   648,    85,
    1281      121,    87,   488,   489,   938,   490,   277,   494,   324,    88,
    1282      137,   138,    89,  1320,  1107,  1108,  1109,  1110,    90,    91,
    1283      716,    92,   273,    93,    94,   187,  1031,   678,   411,   125,
    1284       95,   500,   501,   502,   188,   268,   190,   191,   192,   269,
    1285       98,    99,   100,   101,   102,   103,   104,   195,   196,   197,
    1286      198,   199,   824,   604,   605,   606,   607,   200,   609,   610,
    1287      611,   571,   572,   573,   574,   750,   105,   613,   614,   615,
    1288      616,   617,   618,   967,   752,   753,   754,   594,   364,   365,
    1289      366,   367,   325,   164,   107,   108,   109,   369,   693,   568
    1290 };
    1291 
    1292   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
    1293      positive, shift that token.  If negative, reduce the rule whose
    1294      number is the opposite.  If YYTABLE_NINF, syntax error.  */
     1826/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
     1827   positive, shift that token.  If negative, reduce the rule which
     1828   number is the opposite.  If YYTABLE_NINF, syntax error.  */
     1829#define YYTABLE_NINF -521
    12951830static const yytype_int16 yytable[] =
    12961831{
    1297       49,   113,   149,   150,   398,   399,   427,    97,   151,   114,
    1298      400,   452,   260,   401,   751,   765,   267,   409,   963,   106,
    1299      106,   964,   402,   382,   383,   965,   947,   403,    56,   115,
    1300      739,   406,    49,   595,   867,   404,   439,  1170,   826,    97,
    1301      356,   829,   470,   147,  1068,  1069,   177,   836,   724,    49,
    1302       50,   106,   729,   972,   918,   603,   161,   843,  1194,   825,
    1303       56,   722,   341,   186,   608,   143,   209,  1378,   818,    49,
    1304      193,   793,  1136,   216,   817,  1196,   226,   219,   504,   122,
    1305      152,  1438,    50,  1198,   398,   399,   819,  1186,   106,  1301,
    1306      400,   474,   476,   401,   210,   261,   153,   220,   262,   814,
    1307      154,   424,   402,   672,   674,   113,   526,   403,   820,   815,
    1308      280,   406,    31,   113,   816,   404,   266,   271,  1195,    31,
    1309       31,    63,  1180,   668,   858,   859,   202,    69,  1199,    96,
    1310     1168,  1169,   123,    31,  1076,  1197,   627,    76,  1203,  1204,
    1311      631,   876,   168,   677,   149,   150,   306,   147,    31,   526,
    1312      151,   681,  1438,    63,   161,   113,   344,   407,  1302,    69,
    1313      209,    96,   171,    31,    31,  1457,   169,   372,   281,    76,
    1314      713,   728,   148,   111,   963,   830,   203,   964,    96,   833,
    1315      912,   965,   252,   446,   410,   186,   186,  1397,  1398,   418,
    1316      741,   410,   189,   161,   719,    96,   357,   948,    96,   930,
    1317      850,   266,   459,   470,   853,   410,   565,   438,   166,    49,
    1318     1185,  -231,  -231,   142,  1244,   291,   161,   814,   480,  1525,
    1319      410,   209,   152,   470,   149,   150,   666,   815,   442,   408,
    1320      151,   470,   816,   827,   834,   600,   600,   407,   153,   306,
    1321      566,  1170,   154,   922,   950,   173,  1540,   587,   526,   440,
    1322      663,    49,   829,   252,   328,   797,   475,  1399,    97,   271,
    1323     1015,   482,  1079,   846,   271,   266,   266,   847,   499,   376,
    1324      106,   113,   166,   161,   475,  1116,    96,   341,   567,    56,
    1325      818,  1014,  -231,  1138,   462,   377,  1002,   253,   144,    96,
    1326      993,  1170,  1176,   990,   306,   655,    70,   526,   819,   155,
    1327      733,    50,  1442,  1397,  1398,   326,   306,   518,   595,  1247,
    1328      146,   814,  1092,   595,   397,   189,   356,   608,  1177,   110,
    1329      820,   815,   570,   670,   663,   734,   816,   147,    70,   675,
    1330       41,    42,  1117,  1495,   372,  1186,   177,  1248,    96,  1500,
    1331      113,   869,  1200,   641,   344,   735,   201,   526,   601,   619,
    1332       96,   181,  1118,   628,   286,  1324,  1483,   632,   758,  1520,
    1333      870,   803,   212,   624,  1527,    41,    42,   624,   435,   826,
    1334      113,  1467,    63,  1408,  1381,  1325,   664,   471,    69,  -287,
    1335       96,  1068,  1069,   416,  1168,  1169,   897,   578,    76,   410,
    1336     1511,   513,  1513,    76,   478,   266,  1442,  1177,   326,   386,
    1337      818,  1442,   110,   852,   389,   186,   436,   555,   556,   356,
    1338     1170,   247,   372,    41,    42,   387,   444,  1018,   819,   391,
    1339      390,  1442,   250,   266,   464,   306,   306,   163,  1442,   266,
    1340      435,   341,   624,   713,   492,   392,   843,   493,   671,   673,
    1341      820,   763,   557,   558,   551,   552,  1156,  1158,   393,   746,
    1342      664,   913,   263,   113,  1083,   252,    96,   110,  1361,  -466,
    1343     1125,  -466,   887,   985,   394,   166,   470,   914,    41,    42,
    1344      848,   266,   357,   356,   849,  1427,  1428,   602,  -466,   266,
    1345     1422,   624,   -10,    49,   519,   880,   372,   718,  1186,  -515,
    1346       97,   163,   927,   113,  1423,  1186,  1329,  1103,  1134,  1115,
    1347     1468,   868,   106,   597,  1433,   306,   915,   113,  -439,  1100,
    1348      306,    56,   306,   306,  1469,  1243,   110,   441,   518,  -440,
    1349      749,   712,   916,   518,   113,   344,   518,    41,    42,   276,
    1350     1013,   909,   951,    50,   189,  1015,  1524,   278,   471,   608,
    1351        2,   206,     4,     5,     6,     7,  1186,    70,   913,   110,
    1352      329,   139,   238,   878,    76,  1331,  1535,   915,   471,   279,
    1353       41,    42,   576,  1539,  1080,   357,   471,   848,   577,   570,
    1354      570,  1099,  -102,  1081,    76,   995,  -102,   306,  1125,   786,
    1355      803,  1359,    76,   912,   326,   326,   239,   434,   624,   344,
    1356     1183,   240,   713,   619,   682,   553,   554,  1183,  1315,   601,
    1357      577,   601,   710,   330,    63,    35,  1184,    36,   331,   845,
    1358       69,  1473,    96,  1307,  1316,  -119,   602,  -119,  1473,   624,
    1359       76,  -119,   370,  1347,   624,   860,   619,  1348,  1317,   357,
    1360      624,   746,   679,   624,   624,   624,  -119,  -119,   111,   875,
    1361      215,   332,  1233,  1013,  1318,   212,  1237,  1362,   110,   434,
    1362      341,   624,   326,   266,   333,  1407,   242,   911,   705,    41,
    1363       42,   252,   328,   410,   110,  1235,   139,   140,   803,  1521,
    1364      334,   326,   522,   559,   560,    41,    42,  1026,     8,     9,
    1365       10,    11,    12,   113,   163,   384,   906,   595,   703,   371,
    1366      176,   215,   356,   375,   704,   519,   720,  1073,   921,   759,
    1367      519,   725,   721,   519,   764,   388,   726,    31,   425,   624,
    1368      932,   619,   408,   730,  1111,   396,   805,   718,   718,   731,
    1369      499,  1033,   426,   398,   399,  1275,  1276,   745,   813,   400,
    1370      602,   891,   401,   746,   215,    34,   326,   746,  1475,   176,
    1371     1476,   402,   176,   113,   344,   581,   403,   410,   749,   749,
    1372      893,   406,   449,   464,   404,   110,   746,   139,   140,   983,
    1373      980,     8,     9,    10,    11,    12,    41,    42,   212,   548,
    1374      527,   528,   529,   431,   963,   549,   550,   964,   844,    70,
    1375      881,   965,   410,   597,   712,   979,  1372,  -363,   176,   984,
    1376       31,   980,   570,  1522,   530,   215,   531,   243,   532,   533,
    1377      624,   471,   624,   884,   998,   410,  -392,   624,   344,   341,
    1378      992,   601,   569,  1160,   410,   910,   704,    76,    34,  1231,
    1379       45,    46,  1355,   601,   877,   577,   879,   471,   746,   460,
    1380     1140,   690,   410,   215,   713,   527,   528,   529,   215,   461,
    1381     1152,    37,   410,    76,  1356,    40,   813,   602,   357,  1358,
    1382      746,   176,    41,    42,  1155,   746,   600,   483,   889,   530,
    1383      569,   531,   410,   532,  1304,   710,  1028,   896,    45,    46,
    1384      214,   898,  1157,   306,   600,  1363,   926,   407,   811,   503,
    1385      600,   746,   291,   522,  1425,   522,    45,    46,   522,  1181,
    1386     1422,   522,   106,  1443,   803,   624,    48,   112,  1240,   746,
    1387      410,    56,   113,   344,   906,   176,   906,   524,  1489,   921,
    1388      507,   951,   176,   713,  1490,   951,   951,   441,   113,   328,
    1389      410,   214,   512,   215,   526,   112,   112,  1545,    48,   663,
    1390     1424,   932,   932,   577,   909,   805,   718,  1368,  1369,    48,
    1391      813,   113,   306,   712,   561,    48,  1435,   562,   748,  1104,
    1392      410,   563,   602,    48,   921,   564,    45,    46,   567,    48,
    1393      106,  1086,    48,  1086,   214,    48,   749,   337,   931,  1105,
    1394      600,   418,   659,   410,  1507,  -436,    45,    46,   112,   112,
    1395      176,   585,     2,   206,     4,     5,     6,     7,   588,  1137,
    1396      480,   328,   410,   212,    63,  1417,   980,   176,   344,    -3,
    1397       69,   176,    48,   637,   215,    48,  1226,   212,  1397,  1398,
    1398       76,   656,    48,   736,   657,   737,  1493,  1435,   738,   624,
    1399      624,   742,   658,  1125,   710,   214,   827,   328,   600,   116,
    1400      660,  1322,   661,  1082,   662,   910,  1330,  1332,  1333,   306,
    1401     1028,   665,   110,    48,   139,   140,   215,    35,   667,    36,
    1402      257,    48,   691,    41,    42,   664,    48,   692,   106,  1167,
    1403      911,   690,   694,   214,   176,   602,   696,    56,   214,  -235,
    1404        2,   206,     4,     5,     6,     7,   732,   159,   743,   113,
    1405      806,    48,    48,   747,   906,   770,   771,  1078,   807,   906,
    1406      772,   773,    37,   755,   174,   175,    40,    48,   932,   228,
    1407      212,   326,   810,    41,    42,    48,   266,  1294,  1295,  1296,
    1408       -3,   821,   -12,   341,    48,   778,   779,    48,  1379,    37,
    1409      921,   624,  1379,    40,   112,   -13,   865,   866,  1120,   371,
    1410       41,    42,   872,   258,   892,    35,   894,    36,   920,   112,
    1411     -519,   159,   895,   112,  -413,   344,   899,    48,   112,   902,
    1412     1131,   935,   942,   214,  1131,   721,    43,   844,   944,   949,
    1413      471,    48,    48,   955,    45,    46,  1188,   215,    48,    70,
    1414      774,   775,   776,   777,   322,    48,    76,   956,   957,   958,
    1415      921,   921,   959,   338,   960,   712,   976,   271,   113,   987,
    1416      988,   989,  1004,  1005,  1006,   215,   219,  1007,  1008,  1009,
    1417      215,  1010,  1283,  1284,  1131,  1286,   113,   106,  1021,  -401,
    1418      306,  -400,  1291,   910,  1293,   210,   220,  1035,   910,  1458,
    1419     1070,   176,   905,    48,   624,  1072,  1093,  1094,   113,   106,
    1420     1095,  1096,  1102,   429,   214,  1112,  1104,   433,    56,   110,
    1421     1202,   139,   140,    48,    48,  1113,   746,   106,  1119,  1121,
    1422       41,    42,   970,   176,  1114,  1122,  1105,  1123,  1124,  1127,
    1423       48,  1130,  1150,  1173,    48,  1174,   710,   322,  1189,   176,
    1424     1171,   215,  1172,   624,   624,   642,   214,  1420,   863,  1190,
    1425     1175,  1192,   271,   176,  1193,   215,  1533,   306,  1201,  1206,
    1426     1205,    48,  1057,  1208,  1213,    -3,   690,   441,  1218,   433,
    1427     1221,    48,   487,  1223,   492,    37,   106,   174,   175,    40,
    1428      440,  1227,  1232,  1350,  1234,    56,    41,    42,  1236,    48,
    1429      113,  1239,   520,   398,   399,    48,  1245,    48,  1104,   400,
    1430     1251,    63,   401,  1249,   159,    70,  1253,    69,  1255,   106,
    1431     1256,   402,   375,  1257,  1258,   710,   403,    76,  1105,   129,
    1432      406,   130,   131,   132,   404,  1259,  1261,  1268,  1285,  1277,
    1433       41,    42,   112,  1278,   176,  1419,  1288,    48,   586,  1289,
    1434     1403,  1290,   592,  1292,   663,    48,  1300,   266,   215,    48,
    1435     1506,   141,  1306,    48,  1313,   921,   112,  1319,   112,  1321,
    1436     1323,   625,  1345,   624,  1327,   629,   701,   214,   338,  1328,
    1437       37,   921,   174,   175,    40,  1334,  1335,  1337,   471,  1343,
    1438     1344,    41,    42,   509,  1188,  1346,  1353,  1357,   113,  1131,
    1439     1131,  1131,  1354,   112,    76,   214,  1104,  1364,   112,  1365,
    1440      214,  1296,  1373,   241,   244,   546,   547,   106,  1375,  1374,
    1441      113,  1382,  1391,  1392,  -402,  1395,  1105,   113,  1406,   113,
    1442     1410,   113,  1412,   322,   322,  1414,  1415,   690,  1416,   106,
    1443     1421,  1191,  1429,   149,   150,  1430,   106,  1431,    56,   151,
    1444     1432,   921,   921,   546,  1348,    56,   407,   112,  1434,  1439,
    1445     1505,   686,  1444,   212,    48,   113,  1366,   113,  1448,  1450,
    1446     1452,  1446,  1454,  1456,   116,    48,  1461,    48,   113,  1462,
    1447      664,   214,  1463,  1484,  1505,  1505,    70,  1474,  1486,   546,
    1448     1488,  1491,   161,  1492,   306,   214,    48,   106,  1514,   487,
    1449     1499,   322,  1515,   487,  1528,  1519,    56,  1526,   176,  1505,
    1450     1530,  1543,    48,   520,  1536,   520,   372,   112,   520,  1544,
    1451      322,   520,  1207,   781,   783,   780,    48,  1129,   112,    48,
    1452      112,   782,   338,  1494,   784,  1305,   162,  1131,  1131,  1546,
    1453     1409,   471,  1238,  1367,  1383,  1477,  1212,  1188,   471,   900,
    1454      194,   213,   901,   217,  1188,   215,   227,    76,   441,  1220,
    1455      232,  1087,    48,    70,    76,  1091,   112,   799,   112,   923,
    1456     1034,   871,   112,  1126,   456,  1459,   937,  1101,  1314,   945,
    1457      112,     0,   701,   715,   789,   322,     0,   790,   214,   791,
    1458        0,     0,     0,    48,    48,   229,   801,     0,   230,   471,
    1459        0,   234,   213,   236,     0,  1188,     0,    48,     0,  1057,
    1460      245,     0,     0,   478,  -288,    76,     0,     0,  1478,     0,
    1461     1482,     8,     9,    10,    11,    12,     0,   842,     0,     0,
    1462        0,     0,   592,  1508,   162,     0,     0,    37,   851,   183,
    1463      184,    40,  1516,     0,     0,   213,     0,   373,    41,    42,
    1464       31,     0,     0,   326,  1510,   412,  1512,   767,   768,   769,
    1465        0,     0,   420,     0,     0,     0,     0,     0,     0,     0,
    1466        0,     0,     0,   162,   904,     0,   410,     0,    34,     0,
    1467        0,     0,    45,    46,     0,     0,     0,    48,     0,     0,
    1468        0,   686,     0,    37,     0,   905,   162,    40,  1541,    48,
    1469     1542,   701,  1371,     0,    41,    42,   213,     0,   443,     0,
    1470      643,   701,     0,  1549,  1550,    37,    70,   183,   184,    40,
    1471        0,     0,   890,    70,     0,   701,    41,    42,     0,   487,
    1472      717,     0,     0,     0,   412,     0,     0,   229,    45,    46,
    1473        0,   215,   642,     0,   213,     0,     0,     0,   112,   213,
    1474        0,   338,   185,     0,  1396,     0,     0,  1404,  -289,     0,
    1475       45,    46,     0,     0,   498,     8,     9,    10,    11,    12,
    1476        0,    48,     0,   506,    70,   508,   511,     0,     0,     0,
    1477       48,     0,    48,   514,   515,   214,     0,     0,   575,   112,
    1478        0,     0,     0,     0,    31,     0,   579,   508,   508,   582,
    1479     1441,     0,     0,     0,   497,  1445,     0,  1481,     0,  1481,
    1480      994,     0,    48,     0,   373,   801,     0,     0,     0,   176,
    1481      702,   723,    34,   727,     0,     0,     0,     0,    66,   117,
    1482        0,     0,   112,  1466,   213,   508,   215,     0,     0,     0,
    1483        0,   986,     0,  1481,     0,  1481,   642,     0,     0,     0,
    1484        0,   991,     0,     0,   112,     0,     0,     0,   112,     0,
    1485       66,     0,     0,   412,   971,  1003,     0,   420,     0,     0,
    1486        0,   508,     0,     0,     0,  -290,   229,   160,   234,     0,
    1487        0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
    1488        0,     0,   373,     0,     0,     0,     0,   221,     0,     0,
    1489        0,     0,     0,   801,     0,     0,     0,     0,   112,    74,
    1490      338,    31,     0,     0,     0,   213,     0,  1534,     0,     0,
    1491      126,   126,   126,  1534,     0,     0,   686,     0,     0,   701,
    1492      701,     0,   213,   259,  1534,     0,     0,     0,  1534,    34,
    1493        0,    74,     0,     0,   412,     0,   112,     0,   487,  1106,
    1494      322,     0,     0,     0,     0,     0,     0,   213,     0,     0,
    1495       48,     0,     0,     0,     0,    48,   229,     0,     0,     0,
    1496        0,   214,   864,     0,     0,   327,     0,     0,   222,     0,
    1497        0,     0,    48,   259,   349,     0,     0,   701,   701,   176,
    1498        0,     0,   126,     0,   126,     0,   534,   535,   536,   537,
    1499      538,   539,   540,   541,   542,   543,   842,     0,     0,     0,
    1500        0,     0,     0,     0,   405,     0,     0,     0,     0,   275,
    1501        0,   917,     0,   919,     0,     0,   702,   456,     0,   423,
    1502      544,     0,   428,   430,     0,   575,   575,   160,     0,   508,
    1503      508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
    1504      508,   508,   508,   508,   508,   508,   508,     0,   447,   112,
    1505        0,     0,   450,     0,   451,   352,   214,     0,     0,  1165,
    1506     1166,     0,     0,   458,     0,   126,     0,     0,   213,    66,
    1507        0,     0,    48,   126,   472,   126,   126,   686,     0,     0,
    1508      126,     0,   126,   126,   479,     0,     0,     0,     0,     0,
    1509        0,    37,   430,   183,   184,    40,   213,   546,     0,     0,
    1510        0,   213,    41,    42,     0,     0,     0,     0,     0,    77,
    1511        0,     0,   882,   112,   112,   112,   885,  1215,  1216,   801,
    1512        8,     9,    10,    11,    12,  1311,     0,     0,   599,   448,
    1513      600,     0,     0,     0,     0,   702,    45,    46,   509,     0,
    1514        0,    77,     0,     0,     0,   702,     0,     0,     0,    31,
    1515       74,     0,   126,     0,     0,    74,     0,   701,   259,   702,
    1516        0,     0,   593,     0,     0,   701,   701,   701,   621,     0,
    1517        0,     0,   213,     0,     0,   508,     0,    34,   223,     0,
    1518        0,   626,     0,     0,     0,   626,   213,   643,   259,     0,
    1519        0,     0,     0,  1038,     0,     0,     0,     0,     0,     0,
    1520        0,     0,     0,     0,   338,     0,   498,     0,     0,     0,
    1521        0,     0,     8,     9,    10,    11,    12,     0,     0,   748,
    1522        0,   410,     0,     0,     0,     0,  1106,    45,    46,   701,
    1523        0,     0,     0,     0,  1088,   472,   508,     0,     0,     0,
    1524        0,    31,    48,    48,     0,     0,   497,     0,   575,   222,
    1525      349,   112,   112,     0,     0,   472,     0,     0,     0,     0,
    1526      124,   127,   128,   472,     0,   354,   508,     0,     0,    34,
    1527        0,     0,     0,     0,    37,     0,   183,   184,    40,   213,
    1528        0,   697,     0,     0,   430,    41,    42,     0,     0,   112,
    1529        0,   643,    37,     0,   183,   184,    40,  1336,     0,   711,
    1530        0,    66,     0,    41,    42,  1338,  1339,  1340,     0,   430,
    1531        0,   185,     0,   430,     0,     0,    74,     0,  1106,    45,
    1532       46,     0,     0,     0,     0,     0,     0,     0,     0,   265,
    1533        0,   352,   254,     0,   255,     0,    74,    45,    46,     0,
    1534        0,     0,   259,   349,    74,     0,    48,   112,     0,     0,
    1535        0,     0,     0,     0,     0,     0,   112,     0,     0,     0,
    1536       77,     0,   352,   702,   702,    77,   412,     0,     0,  1384,
    1537       48,    48,     0,     0,     0,     0,     0,     0,     0,     0,
    1538      352,     0,    74,     0,     0,     0,   508,     0,   792,     0,
    1539       37,  1038,   183,   184,    40,    48,     0,     0,     0,     0,
    1540        0,    41,    42,     0,     0,     0,   626,   804,     0,     0,
    1541        8,     9,    10,    11,    12,   395,  1106,     0,     0,   823,
    1542        0,   702,   702,     0,   352,   414,   415,   904,     0,   410,
    1543      419,   508,   421,   422,     0,    45,    46,   593,     0,    31,
    1544        0,     0,   593,  1141,     0,     0,     0,  1480,   626,  1480,
    1545        0,   349,   349,   349,     0,     0,     0,   126,   126,   223,
    1546     1153,     0,     0,     0,     0,     0,   508,    34,     0,   349,
    1547        0,     0,     0,     0,     0,     0,   213,     0,     0,   508,
    1548        0,     0,     0,  1480,     0,  1480,   126,   697,   352,   126,
    1549      126,     0,   126,     0,   126,   126,     0,     0,   472,   126,
    1550      126,     0,     0,    37,  1281,   183,   184,    40,     0,   931,
    1551        0,   600,   322,     0,    41,    42,     0,    45,    46,     0,
    1552      508,     0,     0,     0,   472,     0,    77,   349,     0,     0,
    1553        0,     0,   352,   352,   352,     0,   936,     0,   412,   430,
    1554     1504,   354,   410,     0,    79,     0,    77,     0,    45,    46,
    1555      352,     0,     0,     0,    77,     0,     0,     0,     0,     0,
    1556        0,   259,   711,     0,     0,     0,     0,   966,   352,  1312,
    1557        0,     0,   354,     0,     0,     0,    79,     0,  1241,    74,
     1832      49,   113,   428,   149,   166,   453,   440,    97,   399,   114,
     1833     766,   267,   844,   826,   400,   150,   151,   868,   628,   401,
     1834     604,   740,   632,    63,   752,    76,   505,   964,   965,   609,
     1835     827,   402,    49,    50,   403,   404,   596,  1070,  1187,    97,
     1836     407,   383,   384,   147,   405,   819,  1379,   973,   966,    49,
     1837    1171,   820,    69,   794,   725,    63,   161,    76,   730,    96,
     1838     821,   410,   357,   186,   143,    50,   209,   358,   166,    49,
     1839     193,   152,   153,   216,   122,   669,   226,   219,  1169,  1170,
     1840     919,    31,  1137,  1302,    69,   818,   123,   815,   399,   816,
     1841     260,    96,   280,   817,   400,   678,   425,    56,   115,   401,
     1842     154,   327,   148,   682,    31,   113,  1204,  1205,    96,   673,
     1843     675,   402,  1526,   113,   403,   404,   266,   271,  1195,    31,
     1844     407,  1443,   189,   408,   405,    96,    31,  1197,    96,    56,
     1845      31,   471,  1181,   106,   106,   475,   477,   144,    31,  1541,
     1846     342,  1439,   202,   948,  1458,   149,   307,   147,  1398,  1399,
     1847     281,   252,  1303,   411,   161,   113,   345,   150,   151,   720,
     1848     209,    31,   830,   210,   436,   106,   220,   373,   837,   142,
     1849     291,   859,   860,   714,   419,   923,   411,   729,  1196,  -232,
     1850    -232,   447,  1245,   964,   965,   186,   186,  1198,   877,   481,
     1851     913,   411,   203,   161,   327,   566,   742,   667,   411,   951,
     1852     460,   266,   106,   408,   966,   815,    96,   816,   828,    49,
     1853     601,   817,  1439,   152,   153,  1443,   161,   168,  1400,    96,
     1854    1443,   209,   409,  1069,    70,   149,   436,   173,   443,   567,
     1855     577,   835,   377,   601,   163,  1015,   578,   150,   151,   307,
     1856    1443,   169,   154,   804,   398,   189,   931,  1443,   378,   734,
     1857    -232,    49,  1016,  1484,  1171,   146,    70,   819,    97,   271,
     1858     664,   798,   166,   820,   271,   266,   266,   476,    96,   253,
     1859    1199,   113,   821,   161,    63,   991,    76,  1139,  1248,   472,
     1860      96,    76,   609,   463,    50,   853,  1187,  1512,  1080,  1514,
     1861     212,   656,   476,   471,   307,  1093,  1496,  1003,   163,   815,
     1862     598,   816,  1501,    69,  1171,   817,  1249,   307,  1398,  1399,
     1863      96,   596,   155,   471,   568,  1200,   596,   171,   441,   671,
     1864     387,   471,  1521,   571,   479,   676,   588,  1528,   147,  1177,
     1865     181,  1468,  1169,  1170,   664,   373,   388,   994,   898,   357,
     1866     110,   113,   247,   665,   358,   345,   735,   922,    56,   602,
     1867     620,    41,    42,   747,   111,  1178,   342,  1178,    37,   390,
     1868    1118,   827,    40,   201,   625,   417,   736,   986,   625,    41,
     1869      42,   113,   847,   830,  1070,   391,   848,   819,  1409,   759,
     1870    1119,   327,   327,   820,   106,  1525,  1084,    96,   437,  1186,
     1871     110,   844,   821,   713,   435,   812,   266,   601,   445,   556,
     1872     557,    41,    42,    45,    46,  1536,   186,   286,   603,   110,
     1873     683,   888,  1540,   373,  1423,   250,   578,   665,    41,    42,
     1874      41,    42,  1325,  1171,   266,   177,   307,   307,  1424,   764,
     1875     266,  1116,   357,   625,   558,   559,   714,   358,   985,  1187,
     1876     702,   472,  1326,    76,   514,   442,  1187,  -288,  1330,   327,
     1877     176,   849,  1434,  -516,   113,   850,   435,   996,   252,  1201,
     1878     392,   472,   804,    76,  1469,   189,   520,   394,   327,   472,
     1879    1126,    76,   266,   263,   261,    70,   393,   262,  1470,   523,
     1880     266,   952,   625,   395,    49,  1428,  1429,   373,   719,  1135,
     1881     493,    97,   163,   494,   113,  1014,   357,  1187,  1244,   176,
     1882     914,   358,   176,  1104,   609,   711,   307,    63,   113,    76,
     1883     342,   307,   723,   307,   307,  1029,   915,    50,   704,   330,
     1884     869,   750,   721,   916,   705,   113,   345,  1016,   722,   229,
     1885     881,   -10,   230,   327,   110,   234,    69,   236,   870,   917,
     1886     642,   910,   703,    96,   245,    41,    42,   603,   176,   879,
     1887     804,  -440,   579,   914,   411,  -289,   471,   871,   922,   582,
     1888    1069,   411,     8,     9,    10,    11,    12,  1157,  1159,  1081,
     1889     571,   571,  -441,  1332,   212,   845,   916,  -120,   307,  -120,
     1890     598,    56,   928,  -120,   276,  -467,   439,  -467,  1126,   625,
     1891     345,    31,  1082,   913,   620,   714,   278,  1236,  -120,  -120,
     1892     602,   279,   602,   922,  -467,   465,   331,  1184,  1014,   332,
     1893     110,   176,   139,   140,   849,   680,  1184,   106,  1100,    34,
     1894     625,    41,    42,  1185,   912,   625,   831,   620,  1316,  1318,
     1895     834,   625,  1308,   333,   625,   625,   625,  1362,  1138,   691,
     1896     483,   706,   806,   334,  1317,  1319,   702,   500,  1027,   864,
     1897     747,   851,   625,   335,   266,   854,   713,  1276,  1277,   814,
     1898     371,   603,   110,   397,   731,   176,  1363,   570,  1074,   411,
     1899     732,   229,   176,    41,    42,    45,    46,   737,   520,   738,
     1900     252,   329,   739,   520,   113,   743,   520,   907,   372,  1029,
     1901     596,   523,   749,   523,   411,   376,   523,   212,  1360,   523,
     1902      45,    46,   554,   555,   472,   932,    76,   601,    70,  1112,
     1903     625,   933,   620,    45,    46,   357,   177,   385,   719,   719,
     1904     358,     2,   206,     4,     5,     6,     7,  -103,   399,   342,
     1905     472,  -103,    76,   629,   400,   389,   549,   633,   498,   401,
     1906    1034,   176,   550,   551,   113,   345,   911,   746,   703,   750,
     1907     750,   402,  1348,   747,   403,   404,  1349,   892,   176,   409,
     1908     894,   407,   176,   747,   405,   702,   747,   980,   711,   922,
     1909     552,   553,  1408,   981,   993,   702,   804,   814,   603,  1232,
     1910     705,  1373,   426,   964,   965,   578,    35,  1058,    36,   702,
     1911    1474,  1234,  1356,   571,  1357,  1238,  1359,  1474,   747,   427,
     1912     747,   625,   747,   625,   966,   999,   560,   561,   625,   345,
     1913    1161,   229,   602,   234,   432,   713,   110,  1364,   139,   140,
     1914     111,   984,   981,   747,   602,   176,  1426,    41,    42,   922,
     1915     922,   110,  1423,   139,   140,   450,   882,   714,   411,  1444,
     1916    -364,   890,    41,    42,   408,   747,   442,    37,  1522,    -3,
     1917     897,    40,   329,   411,   899,  1476,   461,  1477,    41,    42,
     1918     952,   806,  1425,  -393,   952,   952,  1490,   703,  1019,   691,
     1919    1546,   814,  1491,   243,   307,   462,   578,   703,  1436,   484,
     1920     885,   760,   411,   603,    43,  1141,   765,   411,   342,  1369,
     1921    1370,   703,    45,    46,  1418,   981,   625,    63,   327,    76,
     1922    1153,   229,   411,   113,   345,   907,   504,   907,  1182,   110,
     1923    1523,   139,   238,  1156,   519,   601,   714,  1398,  1399,   113,
     1924      41,    42,   212,   252,   329,   411,    69,   711,   291,    48,
     1925     112,  1168,   933,   933,   508,   465,   212,   719,  1158,   664,
     1926     601,   562,   113,   307,   910,  1241,   239,   411,  1494,  1436,
     1927    1105,   240,   513,  1087,   845,  1087,  1192,   525,   112,   112,
     1928    1101,    48,   771,   772,  1083,   527,   911,   750,   419,   660,
     1929     411,    56,    48,   775,   776,   777,   778,   563,    48,    37,
     1930    1323,   564,   176,    40,  1508,   565,    48,   773,   774,   846,
     1931      41,    42,    48,   702,   702,    48,   603,   568,    48,   345,
     1932     779,   780,  1227,   338,  -437,   861,   878,   106,   880,   586,
     1933     589,   112,   112,    -3,   176,   638,   718,   668,   657,   876,
     1934     625,   625,   665,   658,    45,    46,   659,   912,   661,   212,
     1935     176,   662,   663,  1126,   922,    48,   666,   257,    48,  1106,
     1936     307,   481,   329,   411,   176,    48,   672,   674,   692,   693,
     1937     922,   702,   702,   828,   329,   601,   695,   713,   927,  1295,
     1938    1296,  1297,   733,   472,   697,    76,   110,  1380,   139,   140,
     1939    1079,  1380,  1331,  1333,  1334,   106,    48,    41,    42,  -236,
     1940     113,   744,   748,   756,    48,   907,   807,   808,   811,    48,
     1941     907,   822,  1189,   -12,   -13,   703,   703,   866,    70,   933,
     1942     500,   867,   873,   726,   691,   893,   895,   266,   727,   896,
     1943    -414,   903,   900,   949,    48,    48,   510,   921,  -520,   936,
     1944     922,   922,   625,   722,  1058,   176,   519,   943,   957,   945,
     1945      48,   519,   956,   958,   519,   959,   960,    56,    48,   547,
     1946     548,   950,   961,   977,   911,   988,   345,    48,   989,   911,
     1947      48,   990,   213,   703,   703,  1005,  1006,   112,  1007,  1008,
     1948    1009,   232,  1010,    37,  1011,   174,   175,    40,  1459,   711,
     1949    1022,  -402,   112,   106,    41,    42,   112,   547,  -401,  1036,
     1950      48,   112,  1071,  1095,  1073,  1351,  1077,   787,   271,   113,
     1951    1094,   498,   342,   906,    48,    48,  1096,   219,  1103,  1312,
     1952     372,    48,   116,   213,   528,   529,   530,   113,    48,  1097,
     1953    1113,   307,   747,   547,  1114,  1115,  1117,  1372,  1120,   971,
     1954    1122,  1123,  1124,  1203,  1125,   625,   442,  1131,   531,   113,
     1955     532,   702,   533,   534,    63,  1151,    76,  1105,  1128,   702,
     1956     702,   702,  1172,  1173,   215,  1174,   213,  1175,   711,  1190,
     1957     159,     2,   206,     4,     5,     6,     7,    48,  1176,  1191,
     1958     242,  1193,  1206,    69,    70,   691,  1194,  1202,  1207,  1397,
     1959    1209,   493,  1405,  1421,   625,   625,    -3,    48,    48,   162,
     1960     228,  1534,  1214,   271,  1219,   210,   220,  1224,   307,   176,
     1961    1222,  1228,  1235,   194,    48,   215,   217,  1233,    48,   227,
     1962    1237,  1313,  1240,   702,  1250,  1246,   258,   213,    56,   643,
     1963    1121,   472,  1252,    76,   159,  1442,    35,  1254,    36,  1256,
     1964    1446,   113,   106,  1257,  1258,    48,  1106,  1259,   399,  1105,
     1965    1260,  1262,  1132,   703,   400,    48,  1132,  1269,   215,   401,
     1966    1189,   703,   703,   703,   106,   213,  1278,   323,  1467,  1279,
     1967     213,   402,  1286,    48,   403,   404,   339,  1322,  1289,    48,
     1968     407,    48,   106,  1290,   405,   499,     2,   206,     4,     5,
     1969       6,     7,  1291,  1293,  1301,  1307,  1507,   162,   266,  1314,
     1970     441,   768,   769,   770,   664,    56,  1132,  1320,  1324,  1328,
     1971     374,  1329,  1335,  1336,   625,  1338,   112,  1344,  1345,   215,
     1972    1346,    48,  1347,  1354,  1297,   703,   430,  1355,  1358,    48,
     1973     434,  1365,   212,    48,  1374,  1366,   162,    48,  1106,   113,
     1974     112,   106,   112,    57,    57,  1375,  1376,  1105,  1382,  1383,
     1975    1392,    35,  1535,    36,  1393,    70,   213,   215,  1535,   162,
     1976     323,   113,   215,   408,  -403,  1396,  1407,  1411,   113,  1535,
     1977     113,   444,   113,  1535,   106,    57,  1413,   112,  1415,  1416,
     1978    1417,  1422,   112,  1430,   472,   149,    76,   665,  1431,  1367,
     1979     327,   472,   434,    76,  1432,   488,  1433,   150,   151,  1349,
     1980    1435,  1506,  1440,  1449,  1451,  1453,   113,  1445,   113,    57,
     1981    1455,  1447,    57,  1189,  1462,   521,  1464,  1457,  1485,   113,
     1982    1189,  1463,  1475,  1487,  1492,  1506,  1506,   442,   159,  1493,
     1983    1489,   112,    70,   161,  1500,   307,  1106,   213,    48,  1515,
     1984    1520,  1527,   472,  1516,    76,  1529,  1531,  1544,   215,    48,
     1985    1506,    48,  1537,  1208,   213,  1545,   784,   373,    56,   781,
     1986    1130,   782,   587,  1306,   783,    56,   593,   785,  1495,  1547,
     1987      48,  1189,   106,  1410,  1368,  1239,  1384,  1478,   374,   213,
     1988     413,  1213,   901,   902,   479,   626,    48,   421,  1221,   630,
     1989    1088,   112,   339,   924,   106,  1092,  1127,  1035,   872,   348,
     1990      48,   106,   112,    48,   112,   938,  1315,    37,   972,   174,
     1991     175,    40,   800,  1102,   716,   214,    56,   946,    41,    42,
     1992     176,  1132,  1132,  1132,   790,     0,   791,   792,     0,   215,
     1993       0,     0,     0,     0,     0,     0,    48,     0,   891,     0,
     1994     112,  1479,   112,  1483,   376,     0,   112,   323,   323,     0,
     1995       0,     0,   106,     0,   112,  1482,   374,  1482,   129,   413,
     1996     130,   131,   132,     0,    57,     0,   214,    48,    48,    41,
     1997      42,   215,     0,     0,     0,   687,     0,  1511,     0,  1513,
     1998       0,    48,     0,     0,     0,    70,     0,     0,   116,     0,
     1999       0,  1482,    70,  1482,    57,     8,     9,    10,    11,    12,
     2000     213,     8,     9,    10,    11,    12,     0,     0,    37,   214,
     2001     183,   184,    40,   488,   576,   323,     0,   488,     0,    41,
     2002      42,  1542,   580,  1543,    31,   583,     0,   521,   213,   521,
     2003      31,     0,   521,   213,   323,   521,  1550,  1551,    37,     0,
     2004     183,   184,    40,    70,     0,   905,   339,   411,     0,    41,
     2005      42,     0,    34,    45,    46,     0,     0,   987,    34,  1132,
     2006    1132,    48,     0,     0,     0,  1420,   906,   992,     0,     0,
     2007     214,     0,     0,    48,     0,   600,    37,   601,   174,   175,
     2008      40,  1004,   141,    45,    46,     0,     0,    41,    42,   413,
     2009     176,     0,   215,   421,   570,     0,   411,  1460,     0,   323,
     2010       0,     0,    45,    46,   213,     0,     0,     0,   214,     0,
     2011     802,     0,     0,   214,     0,     0,   643,     0,   213,     0,
     2012     215,     0,   112,     0,     0,   215,     0,     0,     0,     0,
     2013    1284,  1285,     0,  1287,   241,   244,     0,     0,   499,     0,
     2014    1292,   843,  1294,     0,     0,    48,   593,     0,     0,     0,
     2015       0,   547,   852,     0,    48,  1509,    48,     0,     0,     0,
     2016       0,     0,     0,   112,  1517,     8,     9,    10,    11,    12,
     2017     413,     0,     0,     0,     0,     0,   348,     0,     0,     0,
     2018       8,     9,    10,    11,    12,    74,    48,     0,     0,     0,
     2019       0,     0,   510,  -290,    31,     0,   215,     0,     0,   214,
     2020       8,     9,    10,    11,    12,   687,   112,     0,     0,    31,
     2021     215,   213,     0,     0,     0,     0,     0,    74,     0,     0,
     2022     643,     0,    34,     0,     0,     0,     0,    57,   112,    31,
     2023       0,     0,   112,     0,     0,     0,     0,    34,     0,     0,
     2024    -291,     0,     0,   488,     0,    66,   117,     8,     9,    10,
     2025      11,    12,     0,     0,   222,     0,     0,    34,     0,     0,
     2026       0,   576,   576,     0,   749,   339,   411,     0,     0,   348,
     2027       0,     0,    45,    46,     0,     0,    31,    66,     0,   932,
     2028     214,   601,   112,     0,     0,  1166,  1167,    45,    46,     8,
     2029       9,    10,    11,    12,   160,   457,     0,     0,  1404,   528,
     2030     529,   530,     0,   215,    34,     0,     0,     0,     0,     0,
     2031       0,     0,     0,     0,   221,     0,     0,     0,    31,     0,
     2032     112,     0,   214,   531,   995,   532,     0,   533,  1305,   802,
     2033       0,     0,     0,   348,    48,     0,     0,     0,     0,    48,
     2034       0,   353,     0,  1216,  1217,     0,    34,     0,   883,     0,
     2035     259,    37,   886,   183,   184,    40,    48,     0,     0,     0,
     2036       0,     0,    41,    42,   535,   536,   537,   538,   539,   540,
     2037     541,   542,   543,   544,     0,     0,     0,   348,   348,   348,
     2038       0,     0,    37,     0,   183,   184,    40,     0,   600,     0,
     2039     601,     0,   328,    41,    42,   348,    45,    46,   545,     0,
     2040     259,   350,    37,     0,   183,   184,    40,     0,   213,     0,
     2041       0,     0,     0,    41,    42,   449,     0,   802,     0,   905,
     2042       0,   411,     0,     0,   339,     0,     0,    45,    46,     0,
     2043       0,   406,   644,   112,     0,     0,    74,     0,     0,   185,
     2044     687,    74,     0,   214,     0,     0,   424,    45,    46,   429,
     2045     431,     0,     0,   348,   160,     0,    48,     0,     0,     0,
     2046       0,     0,   488,  1107,   323,     0,     0,     0,     0,     0,
     2047       0,   214,     0,     0,     0,   448,   214,     0,     0,   451,
     2048       0,   452,     0,     0,   576,     0,     0,     0,     0,     0,
     2049     459,     0,   126,   126,   126,     0,    66,   112,   112,   112,
     2050     215,   473,     0,    37,     0,   183,   184,    40,     0,     0,
     2051       0,   480,     0,     0,    41,    42,     0,     0,     0,   431,
     2052     843,     0,     0,  1337,     0,     0,     0,     0,     0,     0,
     2053       0,  1339,  1340,  1341,     0,     0,   222,     0,     0,     0,
     2054    1505,     0,   411,   724,   348,   728,     0,   214,    45,    46,
     2055       0,     0,   348,     0,     0,     0,     0,     0,     0,     0,
     2056       0,   214,     0,     0,   126,     0,   126,     0,     8,     9,
     2057      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2058      20,    21,    22,    23,    24,    25,   259,     0,     0,     0,
     2059     594,   275,     0,     0,   213,  1385,   622,    31,     0,     0,
     2060       0,   687,   413,    74,     0,     0,     0,     0,     0,   627,
     2061       0,     0,     0,   627,     0,     0,   259,    57,   353,     0,
     2062       0,     0,     0,    74,     0,    34,    48,    48,     0,     0,
     2063       0,    74,   124,   127,   128,   112,   112,     0,     0,     0,
     2064       0,     0,     0,   802,     0,     0,     0,   126,     0,   353,
     2065       0,     0,     0,     0,   214,   126,     0,   126,   126,     0,
     2066       0,     0,   126,   473,   126,   126,     0,   353,     0,    74,
     2067       0,     0,     0,   112,     0,     0,     0,     0,   350,  1142,
     2068       0,     0,    77,   473,     0,    57,   215,     0,     0,   213,
     2069       0,   473,     0,     0,   865,     0,  1154,     0,     0,     0,
     2070       0,     0,     0,     0,   254,     0,   255,     0,     0,   698,
     2071       0,   353,   431,     0,    77,     0,     0,     0,     0,     0,
     2072       0,    37,     0,   183,   184,    40,     0,   712,   339,    66,
     2073      48,   112,    41,    42,   126,     0,     0,   431,     0,     0,
     2074     112,   431,     0,   918,     0,   920,     0,     0,     0,   457,
     2075    1107,   223,     0,     0,    48,    48,     0,     0,   265,     0,
     2076       0,     0,     0,   348,   348,     0,    45,    46,     0,     0,
     2077     259,   350,     0,     0,   413,   353,     0,     0,     0,    48,
     2078       0,   215,     0,    57,     0,     0,     0,   396,     0,     0,
     2079       0,     0,     0,     0,     0,     0,     0,   415,   416,     0,
     2080       0,     0,   420,     0,   422,   423,     0,     0,     0,     0,
     2081       0,     0,     0,     0,  1242,     0,   793,     0,     0,   353,
     2082     353,   353,     0,     0,     0,     0,     0,     0,     8,     9,
     2083      10,    11,    12,     0,   627,   805,     0,   353,   355,     0,
     2084       0,     0,  1107,     0,     0,     0,     0,   824,     0,     0,
     2085       0,   214,     0,     0,     0,   353,     0,    31,     0,     0,
     2086       0,     0,     0,     0,     0,   594,    74,     0,     0,     0,
     2087     594,     0,     0,     0,     0,     0,   627,     0,     0,   350,
     2088     350,   350,     0,     0,     0,    34,     0,     0,     0,     0,
     2089      37,     0,    74,     0,    40,   353,     0,   350,     0,     0,
     2090       0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
     2091       0,     0,     0,     0,     0,   698,     0,     0,     0,   644,
     2092       0,     0,     0,     0,     0,  1039,   473,    43,     0,     0,
     2093     353,    57,    57,    77,     0,    45,    46,     0,    77,     0,
     2094    1107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2095       0,     0,   473,     0,    57,   350,     0,     0,     0,     0,
     2096      79,     0,     0,     0,   937,     0,  1089,   431,     0,     0,
     2097       0,  1481,    57,  1481,   353,     0,     0,     0,     0,     0,
     2098       0,     0,     0,     0,   353,     0,   353,     0,     0,   259,
     2099     712,   222,    79,     0,   353,   967,     0,     0,   353,     0,
     2100       0,     0,     0,     0,     0,     0,     0,  1481,     0,  1481,
     2101       0,     0,     0,     0,     0,     0,     0,   348,   348,     0,
     2102       0,     0,     0,   644,     0,     0,    57,     0,     0,   224,
     2103       0,    57,     0,   223,   698,     0,   323,   214,     0,     0,
     2104     126,   126,     0,     0,   698,     0,   350,     0,   627,     0,
     2105       0,  1002,     0,   627,   805,     0,     0,     0,   698,    74,
     2106       0,     0,     0,     0,    57,     0,     0,     0,  1013,   126,
     2107       0,     0,   126,   126,     0,   126,     0,   126,   126,     0,
     2108       0,     0,   126,   126,     0,     0,     0,     0,     0,   353,
    15582109       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1559      354,     0,    77,     0,     0,     0,     0,   508,     0,     0,
    1560        0,   702,     0,     0,     0,    74,   697,     0,   352,   702,
    1561      702,   702,     0,   224,     0,     0,   697,     0,   349,     0,
    1562      626,     0,     0,  1001,     0,   626,   804,     0,     0,     0,
    1563      697,     0,     0,     0,   354,     0,     0,   126,   126,     0,
    1564     1012,     0,     0,   352,     0,     0,     0,     0,     0,     0,
    1565        0,     0,     0,     0,     0,     0,     0,   508,   508,     0,
    1566        0,     0,   213,     0,     0,     0,     0,     0,     0,     0,
    1567        0,    86,     0,   702,     0,     0,     0,     0,     0,     0,
    1568        0,     0,     0,   282,   283,     0,   284,   352,     0,     0,
    1569        0,    66,     0,     0,     0,     0,     0,   352,   354,   352,
    1570      355,     0,     0,    86,   222,     0,     0,   352,     0,     0,
    1571        0,   352,   285,   626,     0,     0,     0,     0,   286,     0,
    1572      259,   711,   287,     0,  1084,   288,   289,   290,   291,    41,
    1573       42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
    1574      225,     0,   354,   354,   354,     0,     0,     0,     0,     0,
    1575     1098,     0,     0,     0,     0,   505,     0,   213,   430,   117,
    1576      354,     0,     0,    45,    46,   296,   297,   298,   299,     0,
    1577        0,     0,    74,     0,     0,     0,     0,     0,   354,     0,
    1578        0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
    1579        0,     0,     0,     0,   126,    79,     0,     0,     0,   126,
    1580       79,     0,   352,     0,     0,     0,     0,   794,   795,     0,
    1581        0,     0,     0,     0,     0,    77,   593,     0,   354,     0,
    1582        0,     0,     0,     0,     0,     0,     0,   362,     0,   428,
    1583        0,     0,     0,     0,   697,   697,   828,   349,   349,   831,
    1584      832,     0,   835,     0,   837,   838,     0,     0,     0,   839,
    1585      840,     0,     0,   354,     0,     0,     0,  1187,     0,     0,
    1586        0,     0,   508,     0,    57,    57,     0,     0,     0,     0,
    1587        0,     0,     0,     0,     0,     0,     0,     0,   508,     0,
    1588        0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
    1589        0,     0,   697,   697,   224,     0,    57,   354,     0,     0,
    1590        0,     0,     0,     0,     0,     0,     0,   354,     0,   354,
    1591        0,     0,     0,    31,   223,   352,   352,   354,   352,   352,
    1592        0,   354,    86,     0,     0,     0,     0,    86,     0,     0,
    1593       57,     0,     0,    57,     0,     0,     0,     0,    74,   626,
    1594        0,    34,     0,     0,     0,     0,    37,     0,   508,   508,
    1595       40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
    1596      126,    79,     0,   711,     0,     0,     0,     0,     0,     0,
    1597        0,     0,     0,   352,   352,     0,   355,     0,     0,     0,
    1598        0,    79,    77,    43,     0,     0,     0,   968,   969,    79,
    1599        0,    45,    46,     0,     8,     9,    10,    11,    12,     0,
    1600        0,     0,     0,     0,     0,     0,  1282,   355,     0,     0,
    1601        0,     0,   354,     0,     0,     0,     0,     0,     0,     0,
    1602      347,   225,     0,    31,   259,   355,     0,    79,    66,     0,
     2110      77,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2111       0,     0,     0,     0,     0,   355,   356,     0,     0,    66,
     2112      77,     0,     0,  1039,     0,     0,     0,     0,    77,     0,
     2113       0,     0,   214,     0,     0,     0,     0,   348,     0,     0,
     2114       0,   627,     0,     0,     0,     0,   355,     0,   259,   712,
     2115       0,     0,  1085,     0,     0,     0,     0,     0,     0,     0,
     2116       0,     0,    57,     0,   355,     0,    77,     0,     0,     0,
     2117       0,     0,     8,     9,    10,    11,    12,     0,  1099,     0,
     2118     795,   796,     0,     0,    57,     0,   431,   117,     0,     0,
     2119       0,    57,     0,     0,     0,     0,     0,     0,     0,     0,
     2120       0,    31,   353,   353,     0,   353,   353,     0,   355,   829,
     2121       0,    79,   832,   833,     0,   836,    79,   838,   839,     0,
     2122     126,   126,   840,   841,     0,    74,     0,     0,     0,    34,
     2123       0,     0,     0,     0,    37,     0,  1282,     0,    40,     0,
     2124       0,     0,    57,     0,   594,    41,    42,     0,     0,     0,
     2125       0,     0,     0,     0,     0,     0,     0,   429,     0,     0,
     2126     353,   353,   698,   698,     0,   350,   350,     0,     0,     0,
     2127       0,   718,   355,     0,     0,     0,     0,     0,     0,    45,
     2128      46,     0,     0,     0,     0,  1188,     0,     0,     0,     0,
     2129       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2130      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2131      25,   224,     0,    26,    27,    28,   355,   355,   355,     0,
     2132     698,   698,    31,     0,     0,     0,     0,     0,     0,     0,
     2133       0,   353,     0,     0,   355,     0,     0,     0,     0,     0,
    16032134       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1604      697,     0,   711,     0,   352,     0,   117,     0,     0,     0,
    1605        0,    34,     0,     0,     0,     0,    37,     0,   183,   184,
    1606       40,     0,     0,     0,     0,     0,     0,    41,    42,   355,
    1607        0,     0,   697,     0,     0,     0,     0,     0,     0,     0,
    1608      697,   697,   697,     0,     0,    57,     0,   222,    86,   126,
    1609        0,   349,   349,   599,     0,   600,     0,     0,     0,     0,
    1610        0,    45,    46,   362,     0,  1187,     0,     0,    86,    74,
    1611        0,     0,     0,     0,     0,    57,    86,     0,     0,     0,
    1612        0,   352,     0,   352,     0,   354,   354,     0,   354,   354,
    1613        0,     0,     0,   355,   362,     0,     0,     0,   117,     0,
    1614        0,     0,     0,     0,   697,     0,     0,     0,    77,  1089,
    1615        0,     0,   362,   352,    86,     0,     0,     0,     0,     0,
    1616        0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
    1617        0,     0,   352,   352,     0,     0,     0,   355,   355,   355,
    1618        0,     0,     0,   354,   354,     0,    74,     0,     0,     0,
    1619        0,     0,     0,     0,     0,   355,   362,     0,     0,     0,
     2135      34,     0,   355,     0,     0,     0,     0,    38,    39,     0,
     2136     969,   970,     0,    77,     0,     0,     0,   627,     0,     0,
     2137       0,     0,     0,     0,   222,     0,     0,   126,    79,     0,
     2138       0,     0,   126,     0,     0,     0,     0,     0,     0,    77,
     2139       0,   712,   355,   356,   257,     0,    74,    86,    79,     0,
     2140      45,    46,     0,     0,     0,     0,    79,     0,   353,     0,
     2141     353,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2142       0,     0,     0,     0,   356,     0,     0,   355,     0,    86,
     2143       0,     0,     0,     0,  1283,     0,     0,     0,     0,     0,
     2144     353,     0,   356,     0,    79,     0,     0,     0,   353,   353,
     2145     353,     0,   259,     0,     0,     0,    66,     0,     0,   353,
     2146     353,     8,     9,    10,    11,    12,   225,     0,   698,     0,
     2147     712,   355,     0,    74,   117,     8,     9,    10,    11,    12,
     2148       0,   355,     0,   355,     0,     0,   356,     0,   223,     0,
     2149      31,   355,   321,     0,     0,   355,     0,     0,     0,     0,
     2150     698,     0,   346,     0,    31,     0,     0,     0,   698,   698,
     2151     698,     0,   353,     0,   382,   382,     0,     0,    34,   350,
     2152     350,     0,  1090,    37,     0,   183,   184,    40,     0,     0,
     2153       0,     0,    34,  1188,    41,    42,     0,    37,     0,   183,
     2154     184,    40,     0,   126,     0,     0,     0,     0,    41,    42,
     2155     356,     0,     0,   363,     0,     0,    77,     0,     0,     0,
     2156     905,     0,   411,     0,     0,     0,   117,     0,    45,    46,
     2157       0,     0,   698,     0,  1505,     0,   411,     0,     0,   353,
     2158       0,     0,    45,    46,     0,   321,   355,     0,     0,     0,
     2159       0,     0,     0,     0,   356,   356,   356,     0,     0,     0,
     2160       0,     0,     0,     0,     0,     0,     0,     0,     0,   478,
     2161       0,     0,   356,     0,     0,     0,     8,     9,    10,    11,
     2162      12,     0,     0,     0,     0,     0,    74,     0,     0,     0,
     2163     356,     0,     0,    74,     0,     0,     0,     0,     0,   350,
     2164       0,    79,     0,     0,     0,    31,     0,     0,    86,     0,
     2165       0,     0,     0,    86,     0,     0,     0,     0,     0,     0,
     2166       0,     0,     0,     0,   117,     0,     0,    79,     0,     0,
     2167     356,     0,   126,    34,     0,     0,     0,     0,    37,     0,
     2168     183,   184,    40,  1218,    74,     0,  1188,     0,     0,    41,
     2169      42,     0,     0,  1188,     0,     0,     0,     0,     0,   355,
     2170     355,     0,   355,   355,     0,   356,     0,     0,     0,     0,
     2171       0,     0,     0,     0,     0,   185,     0,     0,     0,     0,
     2172       0,     0,    77,    45,    46,     0,   382,     0,     0,     0,
    16202173       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1621        0,   349,     0,   355,     0,     0,     0,     0,     0,     0,
    1622        0,     0,     0,     0,    79,   352,     0,     8,     9,    10,
    1623       11,    12,     0,     0,     0,     0,   117,     0,     0,     0,
     2174       0,     0,     0,     0,  1188,     0,     0,     0,   225,   356,
     2175       0,  1530,     0,     0,     0,     0,     0,   355,   355,   356,
     2176       0,   356,     0,     0,     0,     0,   224,     0,     0,   356,
     2177       0,     0,     0,   356,     0,   167,     0,   172,     0,     0,
     2178     178,   179,   180,     0,   182,     0,     0,     0,     0,     8,
     2179       9,    10,    11,    12,     0,     0,     0,     0,   233,     0,
    16242180       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1625       79,     0,     0,   355,   354,     0,    31,     0,  1187,     0,
    1626      362,     0,     0,     0,     0,  1187,     0,   167,     0,   172,
    1627        0,     0,   178,   179,   180,     0,   182,     0,     0,     0,
    1628        0,     0,     0,     0,    34,     0,     0,     0,   355,    37,
    1629      233,     0,   352,    40,     0,     0,   347,   223,     0,     0,
    1630       41,    42,   248,   249,   362,   362,   362,     0,     0,     0,
    1631     1217,     0,     0,     0,     0,     0,  1187,     0,     0,    77,
    1632        0,     0,   362,  1529,     0,     0,   717,     0,     0,     0,
    1633        0,   354,   355,   354,    45,    46,     0,     0,     0,    74,
    1634      362,     0,   355,     0,   355,     0,    74,    57,     0,   224,
    1635        0,    86,   355,     0,     0,     0,   355,     8,     9,    10,
    1636       11,    12,     0,   354,     0,     0,     0,     0,     0,     0,
    1637        0,   354,   354,   354,     0,     0,     0,    86,     0,     0,
    1638      362,     0,   354,   354,     0,     0,    31,     0,     0,   347,
    1639        0,     0,     0,     0,     0,     0,    77,    74,     0,     0,
     2181     248,   249,  1304,     0,     0,    86,     0,     0,    31,     0,
     2182     709,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2183     363,     0,     0,     0,    79,    86,     0,     0,     0,     0,
     2184       0,     0,     0,    86,     0,     0,    34,     0,     0,     0,
     2185       0,    37,     0,   183,   184,    40,     0,     0,     0,   741,
     2186       0,   363,    41,    42,   356,     0,     0,     0,     0,     0,
     2187       0,   223,   758,     0,     0,     0,     0,   741,     0,   363,
     2188     741,    86,     0,   282,   283,     0,   284,     0,   265,     0,
     2189       0,     0,   767,    77,     0,     0,    45,    46,     0,     0,
     2190       0,     0,     0,     0,     0,   355,     0,   355,     0,     0,
     2191       0,     0,   285,     0,   788,     0,     0,     0,   286,     0,
     2192       0,     0,   287,   363,   797,   288,   289,   290,   291,    41,
     2193      42,   346,   292,   293,     0,     0,   758,   355,     0,     0,
     2194       0,     0,     0,     0,     0,   355,   355,   355,     0,     0,
     2195       0,     0,     0,     0,     0,   506,   355,   355,     0,     0,
     2196       0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2197      77,     0,     0,     0,     0,     0,     0,   356,   356,     0,
     2198     356,   356,     0,     0,     0,   862,     0,   363,     0,     0,
     2199       0,     0,     0,   382,     0,     0,     0,     0,     0,     0,
     2200      79,     0,     0,     0,     0,     0,     0,     0,     0,   355,
    16402201       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1641        0,     0,     0,     0,    34,   362,     0,    79,     0,    37,
    1642        0,   183,   184,    40,     0,     0,     0,     0,     0,     0,
    1643       41,    42,     0,     0,     0,   354,     0,     0,     0,  1303,
    1644        0,     0,     0,     0,     0,     0,     0,   355,     0,     0,
    1645        0,     0,     0,   347,     0,     0,   904,     0,   410,   362,
    1646        0,     0,     0,     0,    45,    46,     0,     0,     0,   362,
    1647        0,   362,     0,     0,     0,     0,   225,     0,     0,   362,
    1648        0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
    1649        0,     0,     0,     0,     0,     0,     0,   347,   347,   347,
    1650        0,     0,   354,     0,     0,     0,     0,     0,     0,     0,
    1651        0,     0,     0,     0,     0,   347,     0,     0,     1,     2,
    1652        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2202       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2203       0,   363,   363,   363,     0,   356,   356,     0,     0,     0,
     2204       0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2205       0,     0,  1012,     0,     0,     8,     9,    10,    11,    12,
     2206       0,     0,     0,     0,     0,     0,   591,   363,   599,     0,
     2207       0,   165,     0,     0,     0,     0,   355,     0,    86,   623,
     2208     624,     0,   282,   283,    31,   284,     0,     0,   218,     0,
     2209       0,   758,     0,   963,     0,     0,     0,     0,     0,     0,
     2210       0,     0,     0,   974,    86,     0,   356,   363,     0,   982,
     2211       0,   285,    34,     0,     0,     0,     0,   286,     0,     0,
     2212       0,   287,     0,    77,   288,   289,   290,   291,    41,    42,
     2213      77,   292,   293,     0,     0,   165,     0,     0,     0,   272,
     2214       0,     0,   363,     0,     0,     0,     0,     0,     0,   224,
     2215       0,  1000,  1001,     0,   294,   346,   379,     0,     0,     0,
     2216       0,     0,   344,    46,   296,   297,   298,   299,   165,   346,
     2217       0,    79,     0,     0,     0,     0,     0,     0,   369,     0,
     2218       0,    77,   375,   356,     0,   356,   363,     0,     0,     0,
     2219       0,     0,     0,     0,     0,     0,   363,     0,   363,     0,
     2220       0,     0,     0,   225,     0,     0,   363,     0,     0,  1031,
     2221     363,     0,     0,   382,     0,   356,     0,     0,     0,     0,
     2222       0,     0,     0,   356,   356,   356,     0,     0,     0,     0,
     2223       0,   165,     0,     0,   356,   356,     0,     0,     0,     0,
     2224       0,     0,     0,   218,     0,     0,     0,     0,    79,     0,
     2225     346,     0,     0,   282,   283,     0,   284,     0,     0,     0,
     2226       0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
     2227       0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
     2228       0,     0,   285,     0,     0,     0,   375,   356,   286,   321,
     2229       0,     0,   287,   165,     0,   288,   289,   290,   291,    41,
     2230      42,   363,   292,   293,     0,     0,     0,     0,     0,     0,
     2231       0,     0,     0,     0,     0,     0,   524,   382,     0,     0,
     2232       0,     0,     0,   974,     0,   294,     0,   741,     0,   165,
     2233       0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2234       0,     0,     0,     0,     0,     0,     0,     0,  1150,     0,
     2235       0,     0,     0,     0,   356,     0,     0,     0,     0,  1165,
     2236       0,     0,     0,     0,     0,     0,     0,   597,     0,     0,
     2237       0,     0,   621,     0,     0,     0,     0,     0,     0,     0,
     2238       0,   382,     0,  1183,     0,     0,     0,     0,     0,     0,
     2239       0,     0,     0,     0,     0,     0,     0,     0,   974,   974,
     2240       0,    79,     0,     0,     0,     0,     0,     0,    79,     0,
     2241       0,     0,     0,     0,   363,   363,     0,   363,   363,  1215,
     2242       0,   925,     0,   926,     0,     0,     0,     0,     0,     0,
     2243     929,   930,     0,     0,     0,   935,     0,    86,     0,     0,
     2244       0,     0,     0,     0,     0,     0,     0,   940,   165,   165,
     2245       0,     0,   944,     0,     0,   369,     0,     0,     0,    79,
     2246       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2247       0,     0,   363,   363,   974,     0,   524,     0,     0,     0,
     2248     978,  1162,     0,     0,     8,     9,    10,    11,    12,     0,
     2249       0,     0,   862,     0,     0,     0,     0,     0,     0,     0,
     2250       0,     0,     0,     0,   715,     0,     0,  1266,  1267,     0,
     2251       0,   282,   283,    31,   284,     0,   165,     0,     0,     0,
     2252       0,     0,     0,     0,     0,     0,     0,     0,   524,     0,
     2253     524,     0,     0,   524,     0,   165,   524,     0,     0,     0,
     2254     285,    34,     0,   363,     0,     0,   286,     0,   369,     0,
     2255     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
     2256     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2257       0,     0,     0,     0,     0,     0,     0,     0,     0,  1023,
     2258    1024,  1025,  1026,   294,  1028,   379,   225,     0,     0,     0,
     2259       0,  1163,    46,   296,   297,   298,   299,     0,     0,  1072,
     2260     165,     0,     0,     0,     0,     0,     0,     0,    86,     0,
     2261       0,     0,   369,  1078,     0,     0,   810,     0,     0,     0,
     2262     363,     0,   363,     0,     0,     0,     0,     0,     0,     0,
     2263       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2264       0,     0,   597,     0,     0,     0,     0,   597,  1371,     0,
     2265       0,   741,   363,  1098,     0,     0,   369,   369,   369,     0,
     2266     363,   363,   363,     0,     0,     0,     0,     0,     0,     0,
     2267       0,   363,   363,     0,   369,     0,     0,     0,     0,     0,
     2268       0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
     2269       0,     0,     0,     0,     0,     0,     0,     0,  1129,     0,
     2270       0,     0,     0,     0,  1136,     0,   524,     0,     0,  1140,
     2271       0,     0,     0,     0,  1144,     0,  1145,     0,   211,     0,
     2272    1147,     0,  1148,  1149,   363,     0,  1152,   231,     0,   235,
     2273       0,   237,   369,     0,   934,  1164,     0,     0,   246,     0,
     2274       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2275       0,     0,     0,  1179,  1180,     0,     0,     0,     0,     0,
     2276       0,     0,     0,     0,     0,     0,     0,   715,     0,   211,
     2277       0,   235,   237,   246,     0,     0,     0,     0,     0,     0,
     2278    1210,     0,     0,  1212,     0,     0,     0,     0,     0,     0,
     2279       0,   363,     0,     8,     9,    10,    11,    12,    13,    14,
     2280      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2281      25,     0,   211,    26,    27,    28,     0,     0,     0,     0,
     2282       0,     0,    31,   369,     0,     0,  1226,   621,     0,     0,
     2283       0,   369,  1230,  1231,     0,     0,     0,     0,    86,     0,
     2284       0,     0,     0,     0,     0,    86,     0,     0,     0,     0,
     2285      34,     0,  1247,     0,     0,  1251,     0,    38,    39,  1253,
     2286       0,   321,     0,     0,     0,     0,     0,     0,     0,     0,
     2287       0,     0,  1261,   211,     0,   235,   237,   246,     0,     0,
     2288       0,     0,     0,   156,     0,  1268,     0,  1270,  1271,  1272,
     2289    1273,     0,   634,     0,   338,     0,    86,     0,     0,     0,
     2290      45,    46,     0,  1280,     0,  1281,     0,     0,     0,   172,
     2291       0,   211,     0,     0,     0,     0,   211,     0,     0,     0,
     2292       0,     0,     0,     0,     0,     0,   715,     0,     0,     0,
     2293     251,   497,     0,     0,     0,     0,     0,     0,  1309,  1310,
     2294     256,   524,     0,     0,     0,     0,     0,     8,     9,    10,
     2295      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2296      21,    22,    23,    24,    25,   165,     0,    26,    27,    28,
     2297       0,     0,     0,     0,     0,     0,    31,   684,     0,     0,
     2298     211,     0,     0,     0,     0,     0,     0,     0,  1342,  1343,
     2299       0,     0,     0,     0,     0,     0,   156,     0,  1353,     0,
     2300       0,     0,   211,     0,    34,     0,     0,   235,   237,     0,
     2301     386,    38,    39,     0,     0,   246,     0,     0,     0,     0,
     2302       0,   597,     0,     0,     0,     0,     0,     0,     0,     0,
     2303       0,     0,     0,   418,     0,     0,     0,     0,     0,     0,
     2304       0,     0,   369,   369,     0,     0,     0,   433,   685,     0,
     2305       0,     0,   686,     0,    45,    46,   438,     0,   211,  1388,
     2306       0,  1389,  1390,  1391,     0,     0,   446,     0,     0,     0,
     2307       0,     0,     0,  1395,     0,     0,   211,   282,   283,     0,
     2308     284,   211,  1406,   211,     0,     0,     0,     0,     0,     0,
     2309       0,   464,     0,     0,     0,     0,   474,     0,     0,     0,
     2310     211,     0,   524,   211,   211,     0,   285,  1427,     0,   482,
     2311       0,   211,   286,     0,     0,   492,   287,   496,     0,   288,
     2312     289,   290,   291,    41,    42,   211,   292,   293,     0,     0,
     2313       0,     0,   211,     0,   526,     0,     0,     0,     0,     0,
     2314       0,     0,     0,     0,     0,     0,     0,     0,     0,   511,
     2315    1465,  1466,     0,     0,     0,     0,     0,    45,    46,   296,
     2316     297,   298,   299,  1471,     0,     0,     0,     0,   715,     0,
     2317    1471,     0,     0,     0,     0,     0,     0,   585,     0,     0,
     2318       0,     0,   590,     8,     9,    10,    11,    12,    13,    14,
     2319      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2320      25,  -292,  1504,     0,     0,     0,  1510,     0,     0,     0,
     2321     218,   635,    31,     0,     0,   636,   637,     0,   639,     0,
     2322       0,     0,     0,     0,     0,   650,   651,     0,   652,   653,
     2323       0,   654,     0,   655,  1532,     0,  1533,     0,     0,     0,
     2324      34,     0,   282,   283,     0,   284,   211,   715,     0,     0,
     2325     585,  -292,     0,     0,     0,     0,     0,     0,   670,     0,
     2326       0,     0,     0,     0,  1548,  1549,     0,     0,     0,     0,
     2327       0,   285,  1552,  1553,   211,     0,     0,   286,     0,   211,
     2328       0,   287,     0,   681,   288,   289,   290,   291,    41,    42,
     2329       0,   292,   293,     0,     0,     0,   369,   369,     0,     0,
     2330       0,     0,     0,     0,     0,   218,     0,     0,     0,   707,
     2331       0,     0,     0,     0,   294,   710,   379,     0,     0,   380,
     2332     464,     0,    45,    46,   296,   297,   298,   299,     0,     0,
     2333       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2334      17,    18,    19,    20,    21,    22,    23,    24,    25,  -292,
     2335     211,    26,    27,    28,     0,     0,   745,     0,     0,     0,
     2336      31,     0,     0,     0,   211,   507,     0,   509,   512,     0,
     2337       0,   763,     0,     0,     0,   515,   516,     0,     0,     0,
     2338       0,     0,     0,     0,   497,     0,     0,     0,    34,     0,
     2339     509,   509,     0,    37,     0,   336,   337,    40,     0,  -292,
     2340       0,     0,     0,     0,    41,    42,     0,     0,     0,   789,
     2341       0,     0,     0,     0,     0,     0,   369,     0,   799,     0,
     2342       0,     0,     0,     0,     0,   801,     0,     0,   509,     0,
     2343     634,   809,   338,     0,     0,     0,     0,     0,    45,    46,
     2344     823,     0,     0,     0,     0,   211,     0,     0,     0,     0,
     2345       0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
     2346       0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
     2347       0,     0,   524,     0,   524,     0,   211,     0,     0,     0,
     2348     863,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    16532349      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    1654       23,    24,    25,     0,    86,    26,    27,    28,    29,    77,
    1655        0,    30,     0,     0,    31,    32,    77,   590,     0,   598,
    1656      355,   355,     0,   355,   355,     0,     0,     0,     0,     0,
    1657      622,   623,     0,   347,   362,     0,     0,     0,     0,    33,
    1658        0,     0,    34,    79,    35,     0,    36,    37,     0,    38,
    1659       39,    40,     0,     8,     9,    10,    11,    12,    41,    42,
    1660        0,     0,     0,     0,     0,     0,     0,    77,     0,     0,
    1661        0,     0,     0,     0,     0,     0,     0,     0,   355,   355,
    1662        0,     0,    31,     0,    43,     0,    44,     0,   211,     0,
    1663     -518,     0,    45,    46,     0,     0,     0,   231,     0,   235,
    1664        0,   237,     0,     0,     0,     0,     0,     0,   246,     0,
    1665       34,     0,   165,     0,     0,    37,     0,   183,   184,    40,
    1666        0,     0,     0,     0,   347,     0,    41,    42,     0,   218,
    1667        0,     0,   347,     0,     8,     9,    10,    11,    12,   211,
    1668        0,   235,   237,   246,     0,     0,     0,   362,   362,   355,
    1669      362,   362,  1504,     0,   410,     0,     0,     0,     0,     0,
    1670       45,    46,     0,    31,     0,     0,     0,     0,     0,     0,
    1671       86,     0,     0,     0,     0,     0,   165,     0,     0,     0,
    1672      272,     0,   211,     0,     0,     0,     0,     0,     0,     0,
    1673        0,    34,   224,     0,     0,     0,    37,    57,   183,   184,
    1674       40,     0,     0,     0,     0,   362,   362,    41,    42,   165,
    1675        0,     0,     0,     0,    79,     0,     0,     0,     0,   368,
    1676        0,     0,     0,   374,     0,     0,   355,     0,   355,     0,
    1677        0,     0,     0,   265,     0,     0,     0,     0,     0,     0,
    1678        0,    45,    46,   211,     0,   235,   237,   246,     0,     0,
    1679        0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    1680        0,     0,     0,     0,     0,    57,   355,   355,   355,     0,
    1681        0,     0,   165,     0,     0,     0,   362,   355,   355,     0,
    1682        0,   211,     0,     0,   218,     0,   211,     0,     0,     0,
    1683        0,    79,     0,     0,     0,     0,     0,     0,     0,     0,
    1684        0,   496,   165,     0,     0,     0,     0,     0,     0,     0,
    1685        0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
    1686        0,     0,     0,     0,     0,     0,     0,   374,     0,     0,
    1687      355,     0,     0,     0,   165,     0,     0,     0,     0,     0,
    1688        0,    86,     0,   347,   347,     0,     0,     0,     0,   211,
    1689        0,     0,     0,   362,     0,   362,     0,   523,     0,     0,
    1690        0,     0,     0,    57,     0,     0,     0,     0,     0,   165,
    1691        0,   211,   924,     0,   925,     0,   235,   237,     0,     0,
    1692        0,   928,   929,     0,   246,   362,   934,     0,     0,     0,
    1693        0,     0,     0,   362,   362,   362,     0,   355,   939,     0,
    1694        0,     0,     0,   943,   362,   362,     0,   596,     0,     0,
    1695        0,     0,   620,     0,     0,     0,     0,     0,    86,     0,
    1696        0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
    1697        0,   977,     0,     0,     0,     0,     0,     0,     0,     0,
    1698        0,     0,     0,     0,    79,   211,     0,     0,     0,     0,
    1699      211,    79,   211,     0,     0,     0,     0,   362,     0,     0,
    1700        0,     0,     0,     0,     0,     0,     0,     0,     0,   211,
    1701        0,     0,   211,   211,     0,     0,     0,     0,     0,     0,
    1702      211,     0,     0,     0,     0,     0,     0,     0,   165,   165,
    1703        0,     0,     0,     0,   211,   368,     0,     0,     0,     0,
    1704        0,   211,    79,     0,     0,     0,     0,     0,     0,     0,
    1705        0,    57,    57,     0,     0,     0,   523,     0,     0,     0,
    1706        0,     0,     0,     0,   362,     0,     0,     0,     0,     0,
    1707     1022,  1023,  1024,  1025,    57,  1027,     0,     0,     0,     0,
    1708        0,     0,     0,     0,   714,     0,     0,     0,     0,     0,
    1709     1071,     0,    57,     0,     0,     0,   165,     0,     0,     0,
    1710        0,     0,     0,     0,  1077,     0,     0,     0,   523,     0,
    1711      523,    86,     0,   523,     0,   165,   523,     0,    86,     0,
    1712        0,     0,     0,     0,     0,     0,     0,     0,   368,     0,
    1713        0,     0,     0,     0,     0,     0,     0,   347,   347,     0,
    1714        0,     0,     0,     0,  1097,     0,    57,     0,     0,     0,
    1715        0,    57,     0,     0,     0,   211,     0,     0,     0,     0,
    1716        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
     2350      23,    24,    25,  -292,     0,    26,    27,    28,   524,     0,
     2351     524,     0,     0,     0,    31,     0,   809,     0,     0,     0,
     2352       0,     0,     0,     0,   904,     0,     0,     0,     0,     0,
     2353       0,     0,     0,   282,   283,     0,   284,   165,     0,     0,
     2354     341,   364,    34,     0,     0,     0,     0,    37,     0,   336,
     2355     337,    40,     0,  -292,     0,   251,     0,     0,    41,    42,
     2356       0,     0,   285,     0,     0,   941,   942,     0,   286,     0,
     2357       0,     0,   287,     0,   414,   288,   289,   290,   291,    41,
     2358      42,   414,   292,   293,     0,     0,   338,     0,     0,   211,
     2359       0,     0,    45,    46,     0,     0,     0,     0,   979,     0,
     2360       0,     0,     0,   983,     0,   294,     0,   379,     0,     0,
     2361       0,     0,     0,    45,    46,   296,   297,   298,   299,   211,
     2362       0,     0,     0,     0,     0,     0,   786,     0,     0,     0,
     2363       0,     0,   509,   509,   509,   509,   509,   509,   509,   509,
     2364     509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
     2365       0,     0,     0,   414,   211,     0,     0,     0,     0,     0,
     2366       0,     0,     0,     0,     0,   211,     0,  1017,     0,     0,
     2367       0,     0,     0,     0,  1018,     0,     0,     0,     0,     0,
     2368       0,     0,     0,     0,     0,     0,     0,  1020,     0,  1021,
    17172369       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1718      165,     0,     0,   211,    57,     0,     0,     0,   211,  1128,
    1719        0,     0,   368,     0,     0,  1135,   809,     0,     0,     0,
    1720     1139,     0,     0,     0,     0,  1143,     0,  1144,     0,     0,
    1721        0,  1146,     0,  1147,  1148,     0,     0,  1151,     0,     0,
    1722        0,     0,   596,     0,     0,     0,  1163,   596,     0,     0,
    1723        0,     0,     0,     0,     0,     0,   368,   368,   368,     0,
    1724        0,     0,     0,     0,  1178,  1179,     0,     0,     0,     0,
    1725        0,     0,     0,     0,   368,     0,     0,   347,     0,   211,
     2370       0,     0,     0,  1033,     0,     0,     0,     0,   414,  1037,
     2371       0,     0,     0,     0,     0,     0,   414,   581,     0,   414,
     2372     584,  1075,     0,     0,  1076,     0,     0,     0,     0,     0,
     2373     364,     0,     0,     0,   613,     0,     0,   211,     0,     0,
    17262374       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1727        0,  1209,     0,   211,  1211,     0,     0,     0,     0,     0,
    1728        0,     0,    57,     0,     0,     0,   523,   282,   283,     0,
    1729      284,     0,     0,   496,     0,     0,     0,     0,     0,     0,
    1730        0,     0,     0,     0,    57,     0,     0,     0,     0,     0,
    1731        0,    57,   368,     0,   933,     0,   285,  1225,     0,     0,
    1732        0,     0,   286,  1229,  1230,     0,   287,     0,     0,   288,
    1733      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    1734        0,     0,     0,  1246,     0,     0,  1250,   714,     0,     0,
    1735     1252,     0,     0,     0,   211,     0,     0,     0,   156,   294,
    1736        0,   378,    57,  1260,   379,     0,   211,    45,    46,   296,
    1737      297,   298,   299,     0,     0,     0,  1267,     0,  1269,  1270,
    1738     1271,  1272,     0,     0,     0,   211,     0,     0,     0,     0,
    1739        0,     0,     0,     0,  1279,     0,  1280,     0,     0,     0,
    1740      172,     0,     0,   368,     0,   251,     0,   620,     0,     0,
    1741        0,   368,     0,     0,     0,   256,     0,     0,     0,     0,
    1742        0,     0,     0,     0,     0,     0,     0,     0,     0,  1308,
    1743     1309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1744        0,   205,     2,   206,     4,     5,     6,     7,     8,     9,
    1745       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    1746       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    1747       28,   156,     0,     0,     0,     0,     0,    31,     0,  1341,
    1748     1342,     0,     0,     0,     0,   385,     0,     0,     0,  1352,
    1749        0,     0,     0,     0,     0,     0,     0,     0,   211,     0,
    1750        0,     0,     0,     0,     0,    34,   714,    35,   417,    36,
    1751        0,     0,   207,    39,     0,     0,     0,     0,     0,     0,
    1752        0,   523,   432,     0,     0,     0,     0,     0,   211,     0,
    1753        0,   437,     0,   282,   283,     0,   284,     0,     0,     0,
    1754        0,   445,     0,     0,     0,   165,     0,     0,     0,   208,
    1755     1387,     0,  1388,  1389,  1390,    45,    46,     0,     0,     0,
    1756        0,     0,   285,   211,  1394,     0,   463,     0,   286,     0,
    1757        0,   473,   287,  1405,   211,   288,   289,   290,   291,    41,
    1758       42,     0,   292,   293,   481,     0,     0,     0,     0,     0,
    1759      491,     0,   495,     0,     0,     0,     0,     0,  1426,     0,
    1760        0,   596,     0,     0,     0,   294,     0,   378,     0,   525,
    1761        0,     0,     0,    45,    46,   296,   297,   298,   299,     0,
    1762        0,     0,   368,   368,     0,     0,   785,     0,     0,     0,
    1763        0,     0,     0,     0,   282,   283,     0,   284,     0,     0,
    1764        0,  1464,  1465,     0,     0,     0,   211,     0,     0,     0,
    1765        0,   584,     0,     0,  1470,     0,   589,     0,     0,     0,
    1766      211,  1470,     0,   285,     0,     0,     0,     0,     0,   639,
    1767        0,   139,   140,   287,     0,     0,   288,   289,   290,   291,
    1768       41,    42,   523,   292,   293,   634,     0,     0,     0,   635,
    1769      636,     0,   638,  1503,     0,     0,     0,  1509,     0,   649,
    1770      650,     0,   651,   652,     0,   653,   294,   654,   640,     0,
    1771      641,   379,     0,     0,    45,    46,   296,   297,   298,   299,
    1772        0,     0,     0,     0,   584,  1531,     0,  1532,     0,     0,
    1773        0,     0,   669,     0,     0,     0,     0,     0,     0,     0,
    1774        0,   340,   363,     0,     0,     0,     0,     0,   714,   211,
    1775        0,     0,     0,     0,     0,  1547,  1548,   680,     0,     0,
    1776        0,     0,     0,  1551,  1552,     0,     0,     0,     0,     0,
    1777        0,     0,     0,     0,     0,   413,     0,     0,     0,     0,
    1778        0,     0,   413,   706,     0,     0,     0,     0,     0,   709,
    1779      218,     0,     0,     0,   463,   466,     2,   206,     4,     5,
    1780        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2375       0,   211,     0,   631,     0,     0,   341,     0,     0,     0,
     2376       0,   282,   283,     0,   284,  1041,     0,  1042,     0,     0,
     2377    1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,   509,     0,
     2378    1524,  1051,     0,   414,     0,  1052,  1053,   414,    33,     0,
     2379     285,     0,     0,     0,     0,     0,  1054,     0,     0,     0,
     2380     287,   590,     0,   288,   289,   290,   291,    41,    42,     0,
     2381     292,   293,     0,     0,     0,     0,     0,     0,   364,     0,
     2382       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2383       0,     0,     0,   294,     0,   379,  1146,     0,   171,   509,
     2384     211,    45,    46,   296,   297,   298,   299,     0,     0,     0,
     2385       0,  1056,     0,     0,     0,     0,  -127,     0,     0,     0,
     2386       0,     0,     0,     0,   414,     0,     0,   364,     0,   509,
     2387       0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2388      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2389      22,    23,    24,    25,   526,     0,    26,    27,    28,     0,
     2390    1211,     0,     0,     0,     0,    31,   414,     0,     0,     0,
     2391     341,   364,     0,     0,     8,     9,    10,    11,    12,    13,
     2392      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2393      24,    25,  -293,    34,  1223,   211,     0,     0,    37,  1225,
     2394     336,   337,    40,    31,     0,     0,     0,  1229,     0,    41,
     2395      42,     0,     0,     0,     0,   414,   414,     0,     0,     0,
     2396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2397       0,    34,     0,     0,   803,   364,     0,   338,     0,     0,
     2398    1255,     0,  -293,    45,    46,   613,     0,   613,   613,   509,
     2399       0,     0,  1263,     0,   613,  1264,     0,  1265,     0,     0,
     2400       0,     0,     0,     0,   842,   364,     0,     0,     0,     0,
     2401     364,  1274,  1275,     0,     0,     0,     0,     0,     0,   364,
     2402     364,   364,     0,     0,     0,     0,     0,     0,     0,     0,
     2403       0,     0,     0,  1288,   509,     0,     0,   364,     0,     0,
     2404       0,     0,   414,   884,     0,     0,   414,   887,     0,     0,
     2405       0,     0,     0,   889,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,     0,     0,     0,     0,     0,     0,   509,
     2407       0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
     2408    1327,     0,   509,     0,     0,     0,     0,     0,     0,     0,
     2409       0,     0,     0,     0,     0,   364,   613,     0,     0,     8,
     2410       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2411      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2412      27,    28,     0,   509,     0,     0,     0,     0,    31,   341,
     2413     364,     0,     0,     0,   414,   414,     0,     0,     0,     0,
     2414       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2415       0,     0,     0,     0,     0,  1377,    34,  1378,     0,     0,
     2416       0,     0,     0,   207,    39,     0,     0,     0,     0,  1386,
     2417       0,  1387,     0,     0,     0,     0,     0,     0,   414,     0,
     2418       0,     0,   211,     0,     0,     0,   364,     0,  1394,     0,
     2419       0,     0,     0,   803,   364,     0,     0,   613,     0,   613,
     2420     509,     0,     0,     0,  1412,  1414,    45,    46,     0,   613,
     2421       0,     0,     0,     0,     0,  1419,     0,     0,  1229,     0,
     2422       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2423       0,     0,     0,     0,     0,     0,     0,     0,     0,  1441,
     2424       0,     0,     0,     0,     0,     0,     0,     0,  1448,     0,
     2425       0,  1450,     0,  1452,  1454,  1456,     0,     0,     0,     0,
     2426     509,   509,     8,     9,    10,    11,    12,    13,    14,    15,
    17812427      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    1782        0,     0,    26,    27,    28,     0,     0,   714,     0,     0,
    1783      744,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    1784        0,     0,     0,     0,   211,   762,     0,     0,     0,     0,
    1785        0,     0,     0,     0,   413,     0,     0,     0,     0,    34,
    1786        0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
    1787        0,     0,     0,     0,     0,     0,   368,   368,     0,     0,
    1788        0,     0,     0,   788,     0,   218,     0,     0,     0,     0,
    1789        0,     0,   798,     0,     0,     0,     0,     0,     0,   800,
    1790      320,     0,     0,     0,     0,   808,    -3,     0,   413,     0,
    1791      345,     0,     0,     0,   822,     0,   413,   580,     0,   413,
    1792      583,     0,   381,   381,     0,     0,     0,     0,     0,     0,
    1793      363,     0,  1011,     0,   612,     8,     9,    10,    11,    12,
     2428       0,   803,    26,    27,    28,     0,     0,     0,   341,   364,
     2429     414,    31,   414,  1486,     0,  1488,   414,  1229,     0,     0,
    17942430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1795        0,     0,     0,   630,   862,     0,   340,     0,     0,     0,
    1796        0,     0,   282,   283,    31,   284,     0,     0,     0,     0,
     2431       0,     0,  1499,     0,     0,     0,     0,   613,   613,    34,
     2432       0,     0,     0,     0,    37,     0,    38,    39,    40,     0,
     2433       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
    17972434       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1798        0,     0,     0,   413,     0,     0,     0,   413,     0,     0,
    1799      808,   285,    34,   320,     0,     0,   368,   286,   903,     0,
    1800        0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
    1801        0,   292,   293,     0,     0,     0,     0,   477,   363,     0,
    1802        0,     0,     0,     0,     0,     0,     0,     0,     0,   251,
    1803        0,     0,     0,     0,   294,     0,   378,     0,     0,   940,
    1804      941,     0,   343,    46,   296,   297,   298,   299,     0,     0,
    1805        0,     0,   523,     0,   523,     0,     0,     0,     0,     0,
    1806        0,     0,     0,     0,   413,     0,     0,   363,     0,     0,
    1807        0,     0,   978,     0,     0,     0,     0,   982,     0,     0,
    1808        0,     0,     0,     0,     0,     0,     0,     0,   523,     0,
    1809      523,   211,     0,     0,     0,     0,     0,     0,     0,     0,
    1810        0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
    1811      340,   363,     0,     0,     0,     0,     0,   165,     0,     0,
     2435       0,     0,   414,     0,     0,     0,     0,     0,     0,     0,
     2436       0,    43,     0,   157,     0,     0,     0,     0,     0,    45,
     2437      46,     0,     0,   414,  1143,     0,     0,     0,     0,     0,
     2438       0,     0,     0,     0,   364,     0,     0,     0,     0,     0,
     2439     414,  1155,     0,   613,   613,  1160,     0,     0,     0,     0,
     2440       0,     0,     0,     0,     0,   364,   364,     0,     0,     0,
     2441       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
     2442       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2443      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2444      22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
     2445       0,     0,    30,   282,   283,    31,   284,     0,     0,     0,
     2446       0,     0,     0,     0,     0,   509,     0,     0,   414,     0,
     2447     414,     0,     0,     0,     0,   414,     0,     0,     0,     0,
     2448       0,   509,   285,    34,   613,    35,     0,    36,   286,     0,
     2449      38,    39,   287,     0,     0,   288,   289,   290,   291,    41,
     2450      42,     0,   292,   293,     0,     0,     0,   803,   414,  1243,
    18122451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1813        0,     0,     0,   381,     0,     0,     0,     0,     0,     0,
    1814        0,  1016,     0,     0,     0,     0,     0,     0,  1017,     0,
    1815        0,     0,     0,     0,     0,   413,   413,     0,     0,     0,
    1816        0,  1019,     0,  1020,     0,     0,     0,     0,     0,     0,
    1817        0,     0,     0,     0,   802,   363,     0,  1032,     0,     0,
    1818        0,     0,     0,  1036,     0,   612,     0,   612,   612,     0,
    1819        0,     0,     0,     0,   612,  1074,     0,     0,  1075,     0,
    1820        0,     0,     0,     0,   841,   363,     0,     0,     0,     0,
    1821      363,     0,     0,     0,     0,     0,     0,     0,     0,   363,
    1822      363,   363,     0,     0,     0,     0,     0,   708,     0,     0,
    1823        0,     0,     0,     0,     0,     0,     0,   363,     0,     0,
    1824        0,     0,   413,   883,     0,     0,   413,   886,     0,     0,
    1825        0,     0,     0,   888,     0,     0,     0,     0,     0,     0,
    1826        0,     0,     0,     0,     0,     0,   740,     0,     0,     0,
    1827        0,     0,   413,     0,     0,   589,     0,     0,     0,   757,
    1828        0,     0,     0,     0,   740,     0,     0,   740,     0,     0,
    1829        0,     0,     0,     0,     0,   363,   612,     0,     0,   766,
    1830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1831     1145,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1832        0,   787,     0,     0,     0,     0,     0,     0,     0,   340,
    1833      363,   796,     0,     0,   413,   413,     0,     0,   345,     0,
    1834        0,     0,     0,   757,     0,     0,     0,     0,     0,     0,
    1835        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    1836       18,    19,    20,    21,    22,    23,    24,    25,   525,     0,
    1837       26,    27,    28,     0,  1210,     0,     0,     0,   413,    31,
    1838        0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
    1839        0,     0,   861,   802,   363,     0,     0,   612,     0,   612,
    1840      381,     0,     0,     0,     0,     0,     0,    34,  1222,   612,
    1841        0,     0,    37,  1224,    38,    39,    40,     0,     0,     0,
    1842        0,  1228,     0,    41,    42,     0,     8,     9,    10,    11,
    1843       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    1844       22,    23,    24,    25,  -291,     0,     0,     0,     0,    43,
    1845        0,   157,     0,     0,  1254,    31,     0,    45,    46,     0,
    1846        0,     0,     0,     0,     0,     0,  1262,     0,     0,  1263,
    1847        0,  1264,     0,     0,     0,     0,     0,     0,     0,     0,
    1848        0,   802,     0,    34,     0,  1273,  1274,     0,   340,   363,
    1849      413,     0,   413,     0,  -291,     0,   413,     0,   757,     0,
    1850      962,     0,     0,     0,     0,     0,     0,  1287,     0,     0,
    1851      973,     0,     0,     0,     0,     0,   981,   612,   612,     0,
    1852        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    1853       18,    19,    20,    21,    22,    23,    24,    25,  1161,     0,
    1854        0,     8,     9,    10,    11,    12,     0,     0,     0,    31,
    1855        0,     0,   413,     0,  1326,     0,     0,     0,   999,  1000,
    1856        0,     0,   345,     0,     0,     0,     0,     0,   282,   283,
    1857       31,   284,     0,   413,  1142,     0,   345,    34,     0,     0,
    1858        0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
    1859      413,  1154,     0,   612,   612,  1159,     0,   285,    34,     0,
    1860        0,     0,     0,   286,     0,   363,   363,   287,     0,     0,
    1861      288,   289,   290,   291,    41,    42,  1030,   292,   293,     0,
    1862      381,     0,     0,     0,     0,     0,     0,     0,     0,  1376,
    1863        0,  1377,     0,     0,     0,     0,     0,     0,     0,     0,
    1864      294,     0,   378,  1385,     0,  1386,     0,     0,  1162,    46,
    1865      296,   297,   298,   299,     0,     0,     0,   345,     0,     0,
    1866        0,     0,  1393,     0,     0,     0,     0,     0,   413,     0,
    1867      413,     0,     0,     0,     0,   413,     0,     0,  1411,  1413,
    1868        0,     0,     0,     0,   612,     0,     0,     0,     0,  1418,
    1869        0,     0,  1228,     0,     0,     0,   320,     0,     0,     0,
    1870        0,     0,     0,     0,     0,     0,     0,   802,   413,  1242,
    1871        0,     0,     0,  1440,     0,   282,   283,     0,   284,     0,
    1872        0,     0,  1447,     0,   381,  1449,     0,  1451,  1453,  1455,
    1873      973,   363,     0,     0,   740,     0,     0,     0,     0,     0,
    1874        0,     0,     0,     0,   285,     0,     0,     0,     0,     0,
    1875      286,     0,     0,     0,   287,  1149,     0,   288,   289,   290,
    1876      291,    41,    42,     0,   292,   293,  1164,  1485,     0,  1487,
    1877        0,  1228,     0,     0,     0,     0,     0,     0,     0,     0,
    1878        0,     0,     0,     0,     0,     0,  1498,   294,   381,   378,
    1879     1182,     0,   340,     0,   756,    45,    46,   296,   297,   298,
    1880      299,     0,     0,     0,     0,   973,   973,     0,     0,     0,
    1881      363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1882        0,     0,     0,     0,     0,     0,  1214,     0,     0,     0,
    1883        0,     0,     0,     0,     1,     2,   206,     4,     5,     6,
    1884        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    1885       17,    18,    19,    20,    21,    22,    23,    24,    25,   363,
    1886      363,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    1887       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1888        0,   973,     0,     0,     0,     0,     0,     0,     0,     0,
    1889        0,     0,     0,     0,     0,     0,     0,     0,    34,   861,
    1890       35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
    1891        0,     0,     0,     0,  1265,  1266,     0,     1,     2,   206,
    1892        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    1893       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1894       24,    25,    44,     0,    26,    27,    28,    29,    45,    46,
    1895       30,   282,   283,    31,  1039,  1040,     0,  1041,     0,     0,
    1896     1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,     0,     0,
    1897        0,  1050,     0,     0,     0,  1051,  1052,     0,    33,   363,
    1898      285,    34,     0,    35,     0,    36,  1053,     0,    38,    39,
     2452       0,   282,   283,     0,   284,   294,     0,  1055,     0,     0,
     2453       0,   364,     0,    45,    46,   296,   297,   298,   299,     0,
     2454       0,     0,     0,     0,     0,     0,     0,     0,  -127,     0,
     2455     285,   509,   509,     0,     0,     0,   640,     0,   139,   140,
    18992456     287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    19002457     292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    19012458       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1902        0,     0,     0,   294,     0,  1054,     0,     0,   171,     0,
     2459       0,     0,   341,   294,     0,   641,     0,   642,   380,     0,
    19032460       0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
    1904        0,  1055,     0,     0,     0,     0,  -126,     0,     0,     0,
    1905        0,     0,     0,     0,     0,  1370,     0,     0,   740,     0,
    1906        0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
    1907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1909      413,   413,     0,     0,     0,     0,     0,     0,     0,     0,
    1910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1911        0,     0,     0,     0,     0,   413,     1,     2,   206,     4,
    1912        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1913       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1914       25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
    1915      282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
    1916       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1917       24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
    1918       34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
    1919        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    1920      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1921        0,    34,     0,     0,     0,     0,    37,     0,    38,    39,
    1922       40,     0,   294,     0,  1054,     0,     0,    41,    42,     0,
    1923       45,    46,   296,   297,   298,   299,     0,     0,     0,     0,
    1924        0,     0,     0,     0,     0,  -126,     0,     0,     0,     0,
    1925        0,     0,     0,    43,     0,    44,     0,     0,     0,     0,
    1926        0,    45,    46,     0,     0,     0,     0,     0,   320,     1,
    1927        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    1928       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    1929       22,    23,    24,    25,     0,     0,    26,    27,    28,    29,
    1930        0,     0,    30,   282,   283,    31,   284,     8,     9,    10,
    1931       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    1932       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    1933        0,     0,   285,    34,     0,    35,    31,    36,   286,     0,
    1934       38,    39,   287,     0,     0,   288,   289,   290,   291,    41,
    1935       42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
    1936        0,     0,     0,     0,    34,     0,     0,     0,     0,   110,
    1937        0,    38,    39,     0,     0,   294,     0,    44,     0,     0,
    1938       41,    42,     0,    45,    46,   296,   297,   298,   299,     2,
     2461     364,     0,     0,     0,     0,     0,     0,     0,     1,     2,
    19392462     206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    19402463      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    1941       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    1942        0,     0,   282,   283,    31,   284,     0,     0,     0,     8,
    1943        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    1944       19,    20,    21,    22,    23,    24,    25,  -292,     0,     0,
    1945        0,   285,    34,     0,    35,     0,    36,   286,    31,    38,
     2464      23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
     2465       0,    30,   282,   283,    31,  1040,  1041,     0,  1042,   364,
     2466     364,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,     0,
     2467       0,     0,  1051,     0,     0,     0,  1052,  1053,     0,    33,
     2468       0,   285,    34,     0,    35,     0,    36,  1054,     0,    38,
    19462469      39,   287,     0,     0,   288,   289,   290,   291,    41,    42,
    19472470       0,   292,   293,     0,     0,     0,     0,     0,     0,     0,
    1948        0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    1949        0,     0,     0,     0,   294,     0,   342,  -292,     0,     0,
    1950        0,   756,   343,    46,   296,   297,   298,   299,     2,   206,
    1951        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    1952       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1953       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    1954        0,   282,   283,    31,   284,     8,     9,    10,    11,    12,
    1955       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    1956       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    1957      285,    34,     0,    35,    31,    36,   286,     0,    38,    39,
    1958      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    1959      292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    1960        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    1961       39,     0,     0,   294,     0,   961,     0,     0,     0,     0,
    1962      756,   343,    46,   296,   297,   298,   299,     2,   206,     4,
    1963        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1964       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1965       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    1966      282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
    1967       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1968       24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
    1969       34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
    1970        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    1971      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1972        0,    34,     0,     0,     0,     0,     0,     0,   207,    39,
    1973        0,     0,   294,     0,   961,     0,     0,     0,     0,   756,
    1974       45,    46,   296,   297,   298,   299,     2,   206,     4,     5,
     2471       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2472       0,     0,     0,     0,   294,     0,  1055,     0,     0,   171,
     2473       0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
     2474       0,     0,  1056,     0,     0,     0,     0,  -127,     0,     0,
     2475       0,     0,     0,     1,     2,   206,     4,     5,     6,     7,
     2476       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2477      18,    19,    20,    21,    22,    23,    24,    25,     0,   364,
     2478      26,    27,    28,    29,     0,     0,    30,   282,   283,    31,
     2479     284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2480      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2481       0,    26,    27,    28,     0,     0,   285,    34,     0,    35,
     2482      31,    36,   286,     0,    38,    39,   287,     0,     0,   288,
     2483     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2484       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2485       0,     0,     0,   110,     0,    38,    39,     0,     0,   294,
     2486       0,    44,     0,     0,    41,    42,   414,    45,    46,   296,
     2487     297,   298,   299,     0,     0,     0,     0,     0,     0,     0,
     2488       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2489     414,   414,    44,     0,     0,     0,     0,     0,    45,    46,
     2490       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2491       0,     0,     0,     0,     0,   414,     2,   206,     4,     5,
    19752492       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    19762493      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    19772494       0,     0,    26,    27,    28,     0,     0,     0,     0,   282,
    1978      283,    31,   284,     0,     0,     0,     0,     0,     0,     0,
    1979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1980        0,     0,     0,     0,     0,     0,     0,     0,   285,    34,
    1981        0,    35,     0,    36,   286,     0,    38,    39,   287,     0,
     2495     283,    31,   284,     8,     9,    10,    11,    12,    13,    14,
     2496      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2497      25,     0,     0,    26,    27,    28,     0,     0,   285,    34,
     2498       0,    35,    31,    36,   286,     0,    38,    39,   287,     0,
    19822499       0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    19832500       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1984        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1985        0,   294,     0,   342,     0,     0,     0,     0,     0,   343,
     2501      34,     0,     0,     0,     0,   110,     0,    38,    39,     0,
     2502       0,   294,     0,   343,     0,     0,    41,    42,   757,   344,
    19862503      46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
    19872504       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    19882505      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    19892506       0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
    1990       31,   284,     0,     0,     0,     0,     0,     0,     0,     0,
    1991        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1992        0,     0,     0,     0,     0,     0,     0,   285,    34,     0,
    1993       35,     0,    36,   286,     0,   207,    39,   287,     0,     0,
     2507      31,   284,     8,     9,    10,    11,    12,    13,    14,    15,
     2508      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2509       0,     0,    26,    27,    28,     0,     0,   285,    34,     0,
     2510      35,    31,    36,   286,     0,    38,    39,   287,     0,     0,
    19942511     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    1995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1997      294,     0,   996,     0,     0,     0,     0,     0,   997,    46,
     2512       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2513       0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
     2514     294,     0,   962,     0,     0,     0,     0,   757,   344,    46,
    19982515     296,   297,   298,   299,     2,   206,     4,     5,     6,     7,
    19992516       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    20002517      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    20012518      26,    27,    28,     0,     0,     0,     0,   282,   283,    31,
    2002      284,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2003        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2004        0,     0,     0,     0,     0,     0,   285,    34,     0,    35,
    2005        0,    36,   286,     0,    38,    39,   287,     0,     0,   288,
     2519     284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2520      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2521       0,    26,    27,    28,     0,     0,   285,    34,     0,    35,
     2522      31,    36,   286,     0,    38,    39,   287,     0,     0,   288,
    20062523     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2007        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2008        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2009        0,   961,     0,     0,     0,     0,     0,   343,    46,   296,
     2524       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2525       0,     0,     0,     0,     0,   207,    39,     0,     0,   294,
     2526       0,   962,     0,     0,     0,     0,   757,    45,    46,   296,
    20102527     297,   298,   299,     2,   206,     4,     5,     6,     7,     8,
    20112528       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     
    20152532       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    20162533       0,     0,     0,     0,     0,   285,    34,     0,    35,     0,
    2017       36,   286,     0,   207,    39,   287,     0,     0,   288,   289,
     2534      36,   286,     0,    38,    39,   287,     0,     0,   288,   289,
    20182535     290,   291,    41,    42,     0,   292,   293,     0,     0,     0,
    20192536       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    20202537       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2021      378,     0,     0,     0,     0,     0,    45,    46,   296,   297,
    2022      298,   299,  -514,     0,     0,     1,     2,     3,     4,     5,
     2538     343,     0,     0,     0,     0,     0,   344,    46,   296,   297,
     2539     298,   299,     2,   206,     4,     5,     6,     7,     8,     9,
     2540      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2541      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2542      28,     0,     0,     0,     0,   282,   283,    31,   284,     0,
     2543       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,   285,    34,     0,    35,     0,    36,
     2546     286,     0,   207,    39,   287,     0,     0,   288,   289,   290,
     2547     291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
     2548       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,   294,     0,   997,
     2550       0,     0,     0,     0,     0,   998,    46,   296,   297,   298,
     2551     299,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     2552      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2553      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2554       0,     0,     0,     0,   282,   283,    31,   284,     0,     0,
     2555       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2556       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2557       0,     0,     0,   285,    34,     0,    35,     0,    36,   286,
     2558       0,    38,    39,   287,     0,     0,   288,   289,   290,   291,
     2559      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2561       0,     0,     0,     0,     0,     0,   294,     0,   962,     0,
     2562       0,     0,     0,     0,   344,    46,   296,   297,   298,   299,
     2563       2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
     2564      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2565      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2566       0,     0,     0,   282,   283,    31,   284,     0,     0,     0,
     2567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2569       0,     0,   285,    34,     0,    35,     0,    36,   286,     0,
     2570     207,    39,   287,     0,     0,   288,   289,   290,   291,    41,
     2571      42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
     2572       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2573       0,     0,     0,     0,     0,   294,     0,   379,     0,     0,
     2574       0,     0,     0,    45,    46,   296,   297,   298,   299,  -515,
     2575       0,     0,     1,     2,     3,     4,     5,     6,     7,     8,
     2576       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2577      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2578      27,    28,    29,     0,     0,    30,     0,     0,    31,    32,
     2579       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2581       0,     0,     0,    33,     0,     0,    34,     0,    35,     0,
     2582      36,    37,     0,    38,    39,    40,     0,     0,     0,     0,
     2583       0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
     2584       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2585       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2586      44,     0,     0,     0,     0,     0,    45,    46,     1,     2,
     2587       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2588      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2589      23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
     2590       0,    30,     0,     0,    31,    32,     0,     0,     0,     0,
     2591       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2593       0,     0,    34,     0,    35,     0,    36,    37,     0,    38,
     2594      39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
     2595       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2596       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2597       0,     0,     0,     0,    43,     0,    44,     0,     0,     0,
     2598    -519,     0,    45,    46,     1,     2,     3,     4,     5,     6,
     2599       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2600      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2601       0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2602      31,    32,     0,     0,     0,     0,     0,     0,     0,     0,
     2603       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2604       0,     0,     0,     0,     0,    33,     0,     0,    34,     0,
     2605      35,     0,    36,    37,     0,    38,    39,    40,     0,     0,
     2606       0,     0,     0,     0,    41,    42,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2609      43,     0,    44,     0,     0,     0,     0,     0,    45,    46,
     2610     205,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     2611      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2612      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2613       0,     0,     0,     0,     0,     0,    31,     0,     8,     9,
     2614      10,    11,    12,    13,    14,    15,    16,    17,    18,