Changeset de62360d


Ignore:
Timestamp:
Jun 24, 2015, 4:04:19 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
94e0864d
Parents:
a1d5d2a
Message:

fix computed goto, fixed -std=, implicit typedefs for enum and aggregates, add _Noreturn _Thread_local

Location:
src
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/CodeGenerator.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 07:12:27 2015
    13 // Update Count     : 129
     12// Last Modified On : Tue Jun 23 16:16:57 2015
     13// Update Count     : 133
    1414//
    1515
     
    6969                if ( functionDecl->get_isInline() ) {
    7070                        output << "inline ";
     71                } // if
     72                if ( functionDecl->get_isNoreturn() ) {
     73                        output << "_Noreturn ";
    7174                } // if
    7275                output << genType( functionDecl->get_functionType(), mangleName( functionDecl ) );
     
    295298                                  case OT_PREFIX:
    296299                                  case OT_PREFIXASSIGN:
     300                                  case OT_LABELADDRESS:
    297301                                        assert( untypedExpr->get_args().size() == 1 );
    298302                                        output << "(";
     
    318322                                        output << ")";
    319323                                        break;
    320              
     324                                       
    321325                                  case OT_CONSTANT:
    322326                                        // there are no intrinsic definitions of 0 or 1 as functions
     
    634638                        break;
    635639                  case DeclarationNode::Inline:
    636                         // handled as special via isInline flag (FIX)
     640                        output << "inline ";
    637641                        break;
    638642                  case DeclarationNode::Fortran:
    639                         // not handled
    640643                        output << "fortran ";
    641644                        break;
    642645                  case DeclarationNode::Noreturn:
    643                         // not handled
    644646                        output << "_Noreturn ";
    645647                        break;
    646648                  case DeclarationNode::Threadlocal:
    647                         // not handled
    648649                        output << "_Thread_local ";
    649650                        break;
  • src/CodeGen/OperatorTable.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 23:42:07 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jun 23 17:41:14 2015
     13// Update Count     : 5
    1414//
    1515
     
    2020        namespace {
    2121                const OperatorInfo tableValues[] = {
    22                         {       "?[?]",         "",             "_operator_index",                      OT_INDEX                },
    23                         {       "?()",          "",             "_operator_call",                       OT_CALL                 },
    24                         {       "?++",          "++",   "_operator_postincr",           OT_POSTFIXASSIGN        },
    25                         {       "?--",          "--",   "_operator_postdecr",           OT_POSTFIXASSIGN        },
    26                         {       "*?",           "*",    "_operator_deref",                      OT_PREFIX               },
    27                         {       "+?",           "+",    "_operator_unaryplus",          OT_PREFIX               },
    28                         {       "-?",           "-",    "_operator_unaryminus",         OT_PREFIX               },
    29                         {       "~?",           "~",    "_operator_bitnot",                     OT_PREFIX               },
    30                         {       "!?",           "!",    "_operator_lognot",                     OT_PREFIX               },
    31                         {       "++?",          "++",   "_operator_preincr",            OT_PREFIXASSIGN         },
    32                         {       "--?",          "--",   "_operator_predecr",            OT_PREFIXASSIGN         },
    33                         {       "?*?",          "*",    "_operator_multiply",           OT_INFIX                },
    34                         {       "?/?",          "/",    "_operator_divide",                     OT_INFIX                },
    35                         {       "?%?",          "%",    "_operator_modulus",            OT_INFIX                },
    36                         {       "?+?",          "+",    "_operator_add",                        OT_INFIX                },
    37                         {       "?-?",          "-",    "_operator_subtract",           OT_INFIX                },
    38                         {       "?<<?",         "<<",   "_operator_shiftleft",          OT_INFIX                },
    39                         {       "?>>?",         ">>",   "_operator_shiftright",         OT_INFIX                },
    40                         {       "?<?",          "<",    "_operator_less",                       OT_INFIX                },
    41                         {       "?>?",          ">",    "_operator_greater",            OT_INFIX                },
    42                         {       "?<=?",         "<=",   "_operator_lessequal",          OT_INFIX                },
    43                         {       "?>=?",         ">=",   "_operator_greaterequal",       OT_INFIX                },
    44                         {       "?==?",         "==",   "_operator_equal",                      OT_INFIX                },
    45                         {       "?!=?",         "!=",   "_operator_notequal",           OT_INFIX                },
    46                         {       "?&?",          "&",    "_operator_bitand",                     OT_INFIX                },
    47                         {       "?^?",          "^",    "_operator_bitxor",                     OT_INFIX                },
    48                         {       "?|?",          "|",    "_operator_bitor",                      OT_INFIX                },
    49                         {       "?=?",          "=",    "_operator_assign",                     OT_INFIXASSIGN          },
    50                         {       "?*=?",         "*=",   "_operator_multassign",         OT_INFIXASSIGN          },
    51                         {       "?/=?",         "/=",   "_operator_divassign",          OT_INFIXASSIGN          },
    52                         {       "?%=?",         "%=",   "_operator_modassign",          OT_INFIXASSIGN          },
    53                         {       "?+=?",         "+=",   "_operator_addassign",          OT_INFIXASSIGN          },
    54                         {       "?-=?",         "-=",   "_operator_subassign",          OT_INFIXASSIGN          },
     22                        {       "?[?]",         "",             "_operator_index",                              OT_INDEX                        },
     23                        {       "?()",          "",             "_operator_call",                               OT_CALL                         },
     24                        {       "?++",          "++",   "_operator_postincr",                   OT_POSTFIXASSIGN        },
     25                        {       "?--",          "--",   "_operator_postdecr",                   OT_POSTFIXASSIGN        },
     26                        {       "*?",           "*",    "_operator_deref",                              OT_PREFIX                       },
     27                        {       "+?",           "+",    "_operator_unaryplus",                  OT_PREFIX                       },
     28                        {       "-?",           "-",    "_operator_unaryminus",                 OT_PREFIX                       },
     29                        {       "~?",           "~",    "_operator_bitnot",                             OT_PREFIX                       },
     30                        {       "!?",           "!",    "_operator_lognot",                             OT_PREFIX                       },
     31                        {       "++?",          "++",   "_operator_preincr",                    OT_PREFIXASSIGN         },
     32                        {       "--?",          "--",   "_operator_predecr",                    OT_PREFIXASSIGN         },
     33                        {       "?*?",          "*",    "_operator_multiply",                   OT_INFIX                        },
     34                        {       "?/?",          "/",    "_operator_divide",                             OT_INFIX                        },
     35                        {       "?%?",          "%",    "_operator_modulus",                    OT_INFIX                        },
     36                        {       "?+?",          "+",    "_operator_add",                                OT_INFIX                        },
     37                        {       "?-?",          "-",    "_operator_subtract",                   OT_INFIX                        },
     38                        {       "?<<?",         "<<",   "_operator_shiftleft",                  OT_INFIX                        },
     39                        {       "?>>?",         ">>",   "_operator_shiftright",                 OT_INFIX                        },
     40                        {       "?<?",          "<",    "_operator_less",                               OT_INFIX                        },
     41                        {       "?>?",          ">",    "_operator_greater",                    OT_INFIX                        },
     42                        {       "?<=?",         "<=",   "_operator_lessequal",                  OT_INFIX                        },
     43                        {       "?>=?",         ">=",   "_operator_greaterequal",               OT_INFIX                        },
     44                        {       "?==?",         "==",   "_operator_equal",                              OT_INFIX                        },
     45                        {       "?!=?",         "!=",   "_operator_notequal",                   OT_INFIX                        },
     46                        {       "?&?",          "&",    "_operator_bitand",                             OT_INFIX                        },
     47                        {       "?^?",          "^",    "_operator_bitxor",                             OT_INFIX                        },
     48                        {       "?|?",          "|",    "_operator_bitor",                              OT_INFIX                        },
     49                        {       "?=?",          "=",    "_operator_assign",                             OT_INFIXASSIGN          },
     50                        {       "?*=?",         "*=",   "_operator_multassign",                 OT_INFIXASSIGN          },
     51                        {       "?/=?",         "/=",   "_operator_divassign",                  OT_INFIXASSIGN          },
     52                        {       "?%=?",         "%=",   "_operator_modassign",                  OT_INFIXASSIGN          },
     53                        {       "?+=?",         "+=",   "_operator_addassign",                  OT_INFIXASSIGN          },
     54                        {       "?-=?",         "-=",   "_operator_subassign",                  OT_INFIXASSIGN          },
    5555                        {       "?<<=?",        "<<=",  "_operator_shiftleftassign",    OT_INFIXASSIGN          },
    5656                        {       "?>>=?",        ">>=",  "_operator_shiftrightassign",   OT_INFIXASSIGN          },
    57                         {       "?&=?",         "&=",   "_operator_bitandassign",       OT_INFIXASSIGN          },
    58                         {       "?^=?",         "^=",   "_operator_bitxorassign",       OT_INFIXASSIGN          },
    59                         {       "?|=?",         "|=",   "_operator_bitorassign",        OT_INFIXASSIGN          },
    60                         {       "0",            "0",    "_constant_zero",                       OT_CONSTANT             },
    61                         {       "1",            "1",    "_constant_one",                        OT_CONSTANT             }
     57                        {       "?&=?",         "&=",   "_operator_bitandassign",               OT_INFIXASSIGN          },
     58                        {       "?^=?",         "^=",   "_operator_bitxorassign",               OT_INFIXASSIGN          },
     59                        {       "?|=?",         "|=",   "_operator_bitorassign",                OT_INFIXASSIGN          },
     60                        {       "&&",           "&&",   "&&",                                                   OT_LABELADDRESS         },
     61                        {       "0",            "0",    "_constant_zero",                               OT_CONSTANT                     },
     62                        {       "1",            "1",    "_constant_one",                                OT_CONSTANT                     }
    6263                };
    6364
  • src/CodeGen/OperatorTable.h

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 23:43:07 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jun 23 16:09:27 2015
     13// Update Count     : 3
    1414//
    1515
     
    2929                OT_POSTFIXASSIGN,
    3030                OT_INFIXASSIGN,
     31                OT_LABELADDRESS,
    3132                OT_CONSTANT
    3233        };
  • src/ControlStruct/LabelFixer.cc

    ra1d5d2a rde62360d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Tue Jun 02 15:30:32 2015
    13 // Update Count     : 93
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Jun 23 12:42:23 2015
     13// Update Count     : 96
    1414//
    1515
     
    137137                                Label undef = from.back()->get_target();
    138138                                throw SemanticError ( "'" + undef + "' label not defined");
    139                         }
     139                        } // if
    140140
    141                         // generate a new label, and attach it to its defining statement
    142                         // as the only label on that statement
    143                         Label finalLabel = generator->newLabel();
     141                        // generate a new label, and attach it to its defining statement as the only label on that statement
     142                        Label finalLabel = generator->newLabel( to->get_labels().back() );
    144143                        entry->set_label( finalLabel );
    145144
  • src/ControlStruct/LabelGenerator.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:45:07 2015
    13 // Update Count     : 12
     12// Last Modified On : Tue Jun 23 12:18:34 2015
     13// Update Count     : 13
    1414//
    1515
     
    2929        }
    3030
    31         Label LabelGenerator::newLabel(std::string suffix) {
     31        Label LabelGenerator::newLabel( std::string suffix ) {
    3232                std::ostringstream os;
    3333                os << "__L" << current++ << "__" << suffix;
  • src/GenPoly/Box.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 07:13:46 2015
    13 // Update Count     : 3
     12// Last Modified On : Sat Jun 13 09:12:19 2015
     13// Update Count     : 4
    1414//
    1515
     
    524524                        adapterBody->get_kids().push_back( bodyStmt );
    525525                        std::string adapterName = makeAdapterName( mangleName );
    526                         return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );
     526                        return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false, false );
    527527                }
    528528
  • src/GenPoly/Specialize.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 07:14:42 2015
    13 // Update Count     : 5
     12// Last Modified On : Sat Jun 13 15:54:07 2015
     13// Update Count     : 6
    1414//
    1515
     
    9797                                        newEnv.applyFree( newType );
    9898                                } // if
    99                                 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );
     99                                FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false, false );
    100100                                thunkFunc->fixUniqueId();
    101101
  • src/Parser/DeclarationNode.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:02:03 2015
    13 // Update Count     : 58
     12// Last Modified On : Wed Jun 24 15:29:19 2015
     13// Update Count     : 86
    1414//
    1515
     
    2424#include "SynTree/Declaration.h"
    2525#include "SynTree/Expression.h"
     26
     27#include "Parser.h"
     28#include "TypedefTable.h"
     29extern TypedefTable typedefTable;
    2630
    2731using namespace std;
     
    177181                newnode->type->aggregate->name = DeclarationNode::anonymous.newName();
    178182        } // if
     183
     184        // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by
     185        // "struct"
     186        typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD );
     187        DeclarationNode *typedf = new DeclarationNode;
     188        typedf->name = newnode->type->aggregate->name;
     189        newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
     190
    179191        newnode->type->aggregate->params = formals;
    180192        newnode->type->aggregate->actuals = actuals;
     
    191203                newnode->type->enumeration->name = DeclarationNode::anonymous.newName();
    192204        } // if
     205
     206        // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified
     207        // by "enum"
     208        typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD );
     209        DeclarationNode *typedf = new DeclarationNode;
     210        typedf->name = newnode->type->enumeration->name;
     211        newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
     212
    193213        newnode->type->enumeration->constants = constants;
    194214        return newnode;
     
    832852Declaration *DeclarationNode::build() const {
    833853        if ( type ) {
    834                 Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildInline(), linkage, maybeBuild< Initializer >(initializer) );
     854                Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) );
    835855                return newDecl;
    836856        } // if
    837         if ( ! buildInline() ) {
     857        if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn ) ) {
    838858                return new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) );
    839859        } // if
    840         throw SemanticError( "invalid inline specification in declaration of ", this );
     860        throw SemanticError( "invalid function specifier in declaration of ", this );
    841861}
    842862
     
    879899        for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {
    880900          if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers
    881 
    882901          if ( ret != DeclarationNode::NoStorageClass ) {       // already have a valid storage class ?
    883902                        throw SemanticError( "invalid combination of storage classes in declaration of ", this );
     
    888907}
    889908
    890 bool DeclarationNode::buildInline() const {
    891         std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), DeclarationNode::Inline );
    892   if ( first == storageClasses.end() ) return false;
    893         std::list< DeclarationNode::StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), DeclarationNode::Inline );
    894   if ( next == storageClasses.end() ) return true;
    895         throw SemanticError( "duplicate inline specification in declaration of ", this );
     909bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const {
     910        std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key );
     911  if ( first == storageClasses.end() ) return false;    // not found
     912        first = std::find( ++first, storageClasses.end(), key ); // found
     913  if ( first == storageClasses.end() ) return true;             // not found again
     914        throw SemanticError( "duplicate function specifier in declaration of ", this );
    896915}
    897916
  • src/Parser/ExpressionNode.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 13:17:07 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 17:33:40 2015
    13 // Update Count     : 147
     12// Last Modified On : Tue Jun 23 17:46:23 2015
     13// Update Count     : 152
    1414//
    1515
     
    364364// the names that users use to define operator functions
    365365static const char *opFuncName[] = {
    366         "",  "", "",
    367         "",   "",
    368         // diadic
    369         "",   "", "", "", "?+?",    "?-?",   "?*?",     "?/?",     "?%?",     "",      "",
    370         "?|?",  "?&?",  "?^?",     "",    "?<<?",  "?>>?",  "?<?",   "?>?",    "?<=?",
    371         "?>=?", "?==?",      "?!=?",     "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
    372         "?<<=?", "?>>=?",  "?&=?", "?^=?",  "?|=?",  "?[?]",   "","","Range",
    373         // monadic
    374         "+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "LabAddress"
     366        "",             "",             "",
     367        "",             "",
     368        //diadic
     369        "",             "",             "",             "",             "?+?",          "?-?",  "?*?",  "?/?",  "?%?",  "",              "",
     370        "?|?",          "?&?",          "?^?",  "",             "?<<?", "?>>?", "?<?",  "?>?",  "?<=?",
     371        "?>=?",         "?==?",         "?!=?", "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
     372        "?<<=?",        "?>>=?",        "?&=?", "?^=?", "?|=?", "?[?]", "",             "",             "Range",
     373        //monadic
     374        "+?",           "-?",           "",             "*?",   "!?",   "~?",   "++?",  "?++",  "--?",  "?--",  "&&"
    375375};
    376376
  • src/Parser/ParseNode.h

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 07:24:22 2015
    13 // Update Count     : 79
     12// Last Modified On : Wed Jun 24 14:09:51 2015
     13// Update Count     : 81
    1414//
    1515
     
    329329        DeclarationNode *cloneBaseType( DeclarationNode *newdecl );
    330330
    331         DeclarationNode *appendList( DeclarationNode  *);
     331        DeclarationNode *appendList( DeclarationNode * );
    332332
    333333        DeclarationNode *clone() const;
     
    347347  private:
    348348        StorageClass buildStorageClass() const;
    349         bool buildInline() const;
     349        bool buildFuncSpecifier( StorageClass key ) const;
    350350
    351351        TypeData *type;
  • src/Parser/TypeData.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:03:20 2015
    13 // Update Count     : 15
     12// Last Modified On : Thu Jun 18 22:06:23 2015
     13// Update Count     : 21
    1414//
    1515
     
    437437                        assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
    438438                        assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
    439                         (*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) );
     439                        (*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false, false ) );
    440440                } // if
    441441        } // for
    442442}
    443443
    444 Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {
     444Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init ) const {
    445445        if ( kind == TypeData::Function ) {
    446446                FunctionDecl *decl;
     
    450450                                CompoundStmt *body = dynamic_cast< CompoundStmt* >( stmt );
    451451                                assert( body );
    452                                 decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline );
     452                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline, isNoreturn );
    453453                        } else {
    454454                                // std::list<Label> ls;
    455                                 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline );
     455                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline, isNoreturn );
    456456                        } // if
    457457                } else {
    458                         decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline );
     458                        decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline, isNoreturn );
    459459                } // if
    460460                for ( DeclarationNode *cur = function->idList; cur != 0; cur = dynamic_cast< DeclarationNode* >( cur->get_link() ) ) {
     
    474474                return buildVariable();
    475475        } else {
    476                 if ( isInline ) {
    477                         throw SemanticError( "invalid inline specification in declaration of ", this );
     476                if ( isInline || isNoreturn ) {
     477                        throw SemanticError( "invalid inline or _Noreturn specification in declaration of ", this );
    478478                } else {
    479479                        return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init );
     
    598598                                } // if
    599599                                break;
    600        
    601600                          case DeclarationNode::Complex:
    602601                                switch ( ret ) {
     
    791790                        break;
    792791                  default:
    793                         ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );
     792                        ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, false, LinkageSpec::Cforall ) ) );
    794793                } // switch
    795794        } else {
     
    806805                at = new StructDecl( aggregate->name );
    807806                break;
    808        
    809807          case DeclarationNode::Union:
    810808                at = new UnionDecl( aggregate->name );
    811809                break;
    812        
    813810          case DeclarationNode::Context:
    814811                at = new ContextDecl( aggregate->name );
    815812                break;
    816        
    817813          default:
    818814                assert( false );
     
    838834ReferenceToType *TypeData::buildAggInst() const {
    839835        assert( kind == AggregateInst );
    840         std::string name;
    841836
    842837        ReferenceToType *ret;
     
    883878        TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::NoStorageClass, 0, kindMap[ variable->tyClass ] );
    884879        buildList( variable->assertions, ret->get_assertions() );
    885        
    886880        return ret;
    887881}
     
    891885        EnumDecl *ret = new EnumDecl( enumeration->name );
    892886        buildList( enumeration->constants, ret->get_members() );
    893 
    894887        return ret;
    895888}
     
    900893        buildList( symbolic->actuals, ret->get_parameters() );
    901894        buildForall( forall, ret->get_forall() );
    902 
    903895        return ret;
    904896}
     
    909901        buildTypeList( tuple->members, ret->get_types() );
    910902        buildForall( forall, ret->get_forall() );
    911 
    912903        return ret;
    913904}
     
    918909        assert( typeexpr->expr );
    919910        TypeofType *ret = new TypeofType( buildQualifiers(), typeexpr->expr->build() );
    920 
    921911        return ret;
    922912}
     
    932922                ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() );
    933923        } // if
    934 
    935924        return ret;
    936925}
  • src/Parser/TypeData.h

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 07:26:16 2015
    13 // Update Count     : 5
     12// Last Modified On : Thu Jun 18 21:03:18 2015
     13// Update Count     : 7
    1414//
    1515
     
    120120        TypeData *extractAggregate( bool toplevel = true ) const;
    121121        // helper function for DeclNodeImpl::build
    122         Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
     122        Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
    123123        // helper functions for build()
    124124        Type::Qualifiers buildQualifiers() const;
    125         Type *buildBasicType() const;
     125        Type * buildBasicType() const;
    126126        PointerType * buildPointer() const;
    127127        ArrayType * buildArray() const;
  • src/Parser/TypedefTable.cc

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 15:20:13 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:24:03 2015
    13 // Update Count     : 2
     12// Last Modified On : Sun Jun 21 11:46:15 2015
     13// Update Count     : 7
    1414//
    1515
     
    2929TypedefTable::TypedefTable() : currentScope( 0 ) {}
    3030
    31 bool TypedefTable::isKind( string identifier, kind_t kind ) const {
     31bool TypedefTable::isKind( const string &identifier, kind_t kind ) const {
    3232        tableType::const_iterator id_pos = table.find( identifier );
    33         if ( id_pos == table.end()) {
     33        if ( id_pos == table.end() ) {
    3434                return true;
    3535        } else {
    3636                return (*((*id_pos ).second.begin())).kind == kind;
    37         }
     37        } // if
    3838}
    3939
    40 bool TypedefTable::isIdentifier( string identifier ) const {
     40bool TypedefTable::isIdentifier( const string &identifier ) const {
    4141        return isKind( identifier, ID );
    4242}
    4343
    44 bool TypedefTable::isTypedef( string identifier ) const {
     44bool TypedefTable::isTypedef( const string &identifier ) const {
    4545        return isKind( identifier, TD );
    4646}
    4747
    48 bool TypedefTable::isTypegen( string identifier ) const {
     48bool TypedefTable::isTypegen( const string &identifier ) const {
    4949        return isKind( identifier, TG );
    5050}
     
    6666                        while ( listPos != (*curPos ).second.end() && listPos->scope > scope ) {
    6767                                listPos++;
    68                         }
     68                        } // while
    6969                        (*curPos ).second.insert( listPos, newEntry );
    70                 }
    71         }
     70                } // if
     71        } // if
    7272}
    7373
     
    102102}
    103103
    104 void TypedefTable::openContext( std::string contextName ) {
     104void TypedefTable::openContext( const std::string &contextName ) {
    105105        map< string, deferListType >::iterator i = contexts.find( contextName );
    106106        if ( i != contexts.end() ) {
     
    108108                for ( deferListType::iterator i = entries.begin(); i != entries.end(); i++) {
    109109                        addToEnclosingScope( i->identifier, i->kind );
    110                 }
    111         }
     110                } // for
     111        } // if
    112112}
    113113
    114 void TypedefTable::enterScope( void ) {
     114void TypedefTable::enterScope() {
    115115        currentScope += 1;
    116116        deferListStack.push( deferListType() );
     
    119119}
    120120
    121 void TypedefTable::leaveScope( void ) {
     121void TypedefTable::leaveScope() {
    122122        debugPrint( "Leaving scope " << currentScope << endl );
    123123        for ( tableType::iterator i = table.begin(); i != table.end(); ) {
     
    129129                        table.erase( i++ );
    130130                } else ++i;
    131         }
     131        } // for
    132132        currentScope -= 1;
    133133        for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++) {
    134134                addToCurrentScope( i->identifier, i->kind );
    135         }
     135        } // for
    136136        deferListStack.pop();
    137137        debugPrint( "nextIdentifiers size is " << nextIdentifiers.size() << " top is " << nextIdentifiers.top() << endl );
     
    139139}
    140140
    141 void TypedefTable::enterContext( std::string contextName ) {
     141void TypedefTable::enterContext( const std::string &contextName ) {
    142142        currentContext = contextName;
    143143        contextScope = currentScope;
    144144}
    145145
    146 void TypedefTable::leaveContext( void ) {
     146void TypedefTable::leaveContext() {
    147147        currentContext = "";
    148148}
     
    156156                }
    157157                debugPrint( endl );
    158         }
     158        } // for
    159159}
    160160
  • src/Parser/TypedefTable.h

    ra1d5d2a rde62360d  
    1010// Created On       : Sat May 16 15:24:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:25:59 2015
    13 // Update Count     : 3
     12// Last Modified On : Thu Jun 18 21:03:17 2015
     13// Update Count     : 7
    1414//
    1515
     
    4949        std::stack< std::string > nextIdentifiers;
    5050
    51         bool isKind( std::string identifier, kind_t kind ) const;
     51        bool isKind( const std::string &identifier, kind_t kind ) const;
    5252        void addToScope( const std::string &identifier, kind_t kind, int scope );
    5353  public:
    5454        TypedefTable();
    5555
    56         bool isIdentifier( std::string identifier ) const;
    57         bool isTypedef( std::string identifier ) const;
    58         bool isTypegen( std::string identifier ) const;
     56        bool isIdentifier( const std::string &identifier ) const;
     57        bool isTypedef( const std::string &identifier ) const;
     58        bool isTypegen( const std::string &identifier ) const;
    5959       
    60         // "addToCurrentScope" adds the identifier/type pair to the current scope This does less than you think it does,
     60        // "addToCurrentScope" adds the identifier/type pair to the current scope. This does less than you think it does,
    6161        // since each declaration is within its own scope.  Mostly useful for type parameters.
    6262        void addToCurrentScope( const std::string &identifier, kind_t kind );
     
    7777       
    7878        // dump the definitions from a pre-defined context into the current scope
    79         void openContext( std::string contextName );
     79        void openContext( const std::string &contextName );
    8080       
    8181        void enterScope();
    8282        void leaveScope();
    83         void enterContext( std::string contextName );
     83        void enterContext( const std::string &contextName );
    8484        void leaveContext();
    8585
  • src/Parser/lex.cc

    ra1d5d2a rde62360d  
    13901390 * Created On       : Sat Sep 22 08:58:10 2001
    13911391 * Last Modified By : Peter A. Buhr
    1392  * Last Modified On : Thu Jun 11 21:52:35 2015
    1393  * Update Count     : 382
     1392 * Last Modified On : Fri Jun 19 11:10:14 2015
     1393 * Update Count     : 392
    13941394 */
    13951395#line 20 "lex.ll"
    1396 // This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive
    1397 // have been performed and removed from the source. The only exceptions are preprocessor directives passed to
    1398 // the compiler (e.g., line-number directives) and C/C++ style comments, which are ignored.
     1396// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive have been
     1397// performed and removed from the source. The only exceptions are preprocessor directives passed to the compiler (e.g.,
     1398// line-number directives) and C/C++ style comments, which are ignored.
    13991399
    14001400//**************************** Includes and Defines ****************************
     
    14091409std::string *strtext;                                                                   // accumulate parts of character and string constant value
    14101410
    1411 #define RETURN_LOCN(x)          yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return(x)
    1412 #define RETURN_VAL(x)           yylval.tok.str = new std::string( yytext ); RETURN_LOCN(x)
    1413 #define RETURN_CHAR(x)          yylval.tok.str = NULL; RETURN_LOCN(x)
    1414 #define RETURN_STR(x)           yylval.tok.str = strtext; RETURN_LOCN(x)
     1411#define RETURN_LOCN(x)          yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return( x )
     1412#define RETURN_VAL(x)           yylval.tok.str = new std::string( yytext ); RETURN_LOCN( x )
     1413#define RETURN_CHAR(x)          yylval.tok.str = NULL; RETURN_LOCN( x )
     1414#define RETURN_STR(x)           yylval.tok.str = strtext; RETURN_LOCN( x )
    14151415
    14161416#define WHITE_RETURN(x)                                                                 // do nothing
    1417 #define NEWLINE_RETURN()        WHITE_RETURN('\n')
    1418 #define ASCIIOP_RETURN()        RETURN_CHAR((int)yytext[0])     // single character operator
    1419 #define NAMEDOP_RETURN(x)       RETURN_VAL(x)                           // multichar operator, with a name
    1420 #define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL(x) // numeric constant
    1421 #define KEYWORD_RETURN(x)       RETURN_CHAR(x)                          // keyword
    1422 #define IDENTIFIER_RETURN()     RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname))
    1423 #define ATTRIBUTE_RETURN()      RETURN_VAL(ATTR_IDENTIFIER)
     1417#define NEWLINE_RETURN()        WHITE_RETURN( '\n' )
     1418#define ASCIIOP_RETURN()        RETURN_CHAR( (int)yytext[0] ) // single character operator
     1419#define NAMEDOP_RETURN(x)       RETURN_VAL( x )                         // multichar operator, with a name
     1420#define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL( x ) // numeric constant
     1421#define KEYWORD_RETURN(x)       RETURN_CHAR( x )                        // keyword
     1422#define IDENTIFIER_RETURN()     RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
     1423#define ATTRIBUTE_RETURN()      RETURN_VAL( ATTR_IDENTIFIER )
    14241424
    14251425void rm_underscore() {
     
    36523652
    36533653// Local Variables: //
    3654 // fill-column: 110 //
     3654// mode: c++ //
    36553655// tab-width: 4 //
    3656 // mode: c++ //
    36573656// compile-command: "make install" //
    36583657// End: //
  • src/Parser/lex.ll

    ra1d5d2a rde62360d  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Thu Jun 11 21:52:35 2015
    13  * Update Count     : 382
     12 * Last Modified On : Fri Jun 19 11:10:14 2015
     13 * Update Count     : 392
    1414 */
    1515
     
    1818
    1919%{
    20 // This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive
    21 // have been performed and removed from the source. The only exceptions are preprocessor directives passed to
    22 // the compiler (e.g., line-number directives) and C/C++ style comments, which are ignored.
     20// This lexer assumes the program has been preprocessed by cpp. Hence, all user level preprocessor directive have been
     21// performed and removed from the source. The only exceptions are preprocessor directives passed to the compiler (e.g.,
     22// line-number directives) and C/C++ style comments, which are ignored.
    2323
    2424//**************************** Includes and Defines ****************************
     
    3333std::string *strtext;                                                                   // accumulate parts of character and string constant value
    3434
    35 #define RETURN_LOCN(x)          yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return(x)
    36 #define RETURN_VAL(x)           yylval.tok.str = new std::string( yytext ); RETURN_LOCN(x)
    37 #define RETURN_CHAR(x)          yylval.tok.str = NULL; RETURN_LOCN(x)
    38 #define RETURN_STR(x)           yylval.tok.str = strtext; RETURN_LOCN(x)
     35#define RETURN_LOCN(x)          yylval.tok.loc.file = yyfilename; yylval.tok.loc.line = yylineno; return( x )
     36#define RETURN_VAL(x)           yylval.tok.str = new std::string( yytext ); RETURN_LOCN( x )
     37#define RETURN_CHAR(x)          yylval.tok.str = NULL; RETURN_LOCN( x )
     38#define RETURN_STR(x)           yylval.tok.str = strtext; RETURN_LOCN( x )
    3939
    4040#define WHITE_RETURN(x)                                                                 // do nothing
    41 #define NEWLINE_RETURN()        WHITE_RETURN('\n')
    42 #define ASCIIOP_RETURN()        RETURN_CHAR((int)yytext[0])     // single character operator
    43 #define NAMEDOP_RETURN(x)       RETURN_VAL(x)                           // multichar operator, with a name
    44 #define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL(x) // numeric constant
    45 #define KEYWORD_RETURN(x)       RETURN_CHAR(x)                          // keyword
    46 #define IDENTIFIER_RETURN()     RETURN_VAL((typedefTable.isIdentifier(yytext) ? IDENTIFIER : typedefTable.isTypedef(yytext) ? TYPEDEFname : TYPEGENname))
    47 #define ATTRIBUTE_RETURN()      RETURN_VAL(ATTR_IDENTIFIER)
     41#define NEWLINE_RETURN()        WHITE_RETURN( '\n' )
     42#define ASCIIOP_RETURN()        RETURN_CHAR( (int)yytext[0] ) // single character operator
     43#define NAMEDOP_RETURN(x)       RETURN_VAL( x )                         // multichar operator, with a name
     44#define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL( x ) // numeric constant
     45#define KEYWORD_RETURN(x)       RETURN_CHAR( x )                        // keyword
     46#define IDENTIFIER_RETURN()     RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
     47#define ATTRIBUTE_RETURN()      RETURN_VAL( ATTR_IDENTIFIER )
    4848
    4949void rm_underscore() {
     
    398398
    399399// Local Variables: //
    400 // fill-column: 110 //
     400// mode: c++ //
    401401// tab-width: 4 //
    402 // mode: c++ //
    403402// compile-command: "make install" //
    404403// End: //
  • src/Parser/parser.cc

    ra1d5d2a rde62360d  
    6767
    6868/* Line 268 of yacc.c  */
    69 #line 45 "parser.yy"
     69#line 44 "parser.yy"
    7070
    7171#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
     
    324324
    325325/* Line 293 of yacc.c  */
    326 #line 108 "parser.yy"
     326#line 107 "parser.yy"
    327327
    328328        Token tok;
     
    570570#define YYFINAL  240
    571571/* YYLAST -- Last index in YYTABLE.  */
    572 #define YYLAST   12141
     572#define YYLAST   12266
    573573
    574574/* YYNTOKENS -- Number of terminals.  */
     
    579579#define YYNRULES  735
    580580/* YYNRULES -- Number of states.  */
    581 #define YYNSTATES  1552
     581#define YYNSTATES  1555
    582582
    583583/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    669669    1161,  1166,  1171,  1176,  1178,  1181,  1184,  1188,  1190,  1193,
    670670    1196,  1198,  1201,  1204,  1208,  1210,  1213,  1216,  1218,  1220,
    671     1225,  1228,  1234,  1244,  1252,  1263,  1276,  1284,  1298,  1301,
    672     1304,  1306,  1309,  1312,  1316,  1319,  1323,  1325,  1328,  1332,
    673     1335,  1338,  1343,  1344,  1346,  1349,  1352,  1354,  1355,  1357,
    674     1360,  1363,  1369,  1376,  1379,  1382,  1387,  1388,  1391,  1392,
    675     1394,  1396,  1398,  1404,  1410,  1416,  1418,  1424,  1430,  1440,
    676     1442,  1448,  1449,  1451,  1453,  1459,  1461,  1463,  1469,  1475,
    677     1477,  1481,  1485,  1490,  1492,  1494,  1496,  1498,  1501,  1503,
    678     1507,  1511,  1513,  1516,  1518,  1522,  1524,  1526,  1528,  1530,
    679     1532,  1534,  1536,  1538,  1540,  1542,  1544,  1547,  1549,  1551,
    680     1553,  1556,  1557,  1560,  1562,  1567,  1569,  1572,  1576,  1581,
    681     1584,  1587,  1589,  1592,  1595,  1601,  1607,  1615,  1622,  1624,
    682     1627,  1630,  1634,  1639,  1645,  1648,  1651,  1656,  1657,  1662,
    683     1665,  1667,  1669,  1671,  1672,  1675,  1681,  1687,  1701,  1703,
    684     1705,  1709,  1713,  1716,  1720,  1724,  1727,  1732,  1734,  1741,
    685     1751,  1752,  1764,  1766,  1770,  1774,  1778,  1780,  1782,  1788,
    686     1791,  1797,  1798,  1800,  1802,  1806,  1807,  1809,  1811,  1813,
    687     1815,  1816,  1823,  1826,  1828,  1831,  1836,  1839,  1843,  1847,
    688     1851,  1856,  1862,  1868,  1874,  1881,  1883,  1885,  1887,  1891,
    689     1892,  1898,  1899,  1901,  1903,  1906,  1913,  1915,  1919,  1920,
    690     1922,  1927,  1929,  1931,  1933,  1935,  1938,  1940,  1943,  1946,
    691     1948,  1952,  1955,  1959,  1963,  1966,  1971,  1976,  1980,  1989,
    692     1993,  1996,  1998,  2001,  2008,  2017,  2021,  2024,  2028,  2032,
    693     2037,  2042,  2046,  2048,  2050,  2052,  2057,  2064,  2068,  2071,
    694     2075,  2079,  2084,  2089,  2093,  2096,  2098,  2101,  2104,  2106,
    695     2110,  2113,  2117,  2121,  2124,  2129,  2134,  2138,  2145,  2154,
    696     2158,  2161,  2163,  2166,  2169,  2172,  2176,  2180,  2183,  2188,
    697     2193,  2197,  2204,  2213,  2217,  2220,  2222,  2225,  2228,  2230,
    698     2233,  2237,  2241,  2244,  2249,  2256,  2265,  2267,  2270,  2273,
    699     2275,  2278,  2281,  2285,  2289,  2291,  2296,  2301,  2305,  2311,
    700     2320,  2324,  2329,  2335,  2337,  2343,  2349,  2356,  2363,  2365,
    701     2368,  2371,  2373,  2376,  2379,  2383,  2387,  2389,  2394,  2399,
    702     2403,  2409,  2418,  2422,  2424,  2427,  2429,  2434,  2441,  2447,
    703     2454,  2462,  2470,  2472,  2475,  2478,  2480,  2483,  2486,  2490,
    704     2494,  2496,  2501,  2506,  2510,  2519,  2523,  2525,  2527,  2530,
    705     2532,  2534,  2537,  2541,  2544,  2548,  2551,  2555,  2561,  2564,
    706     2571,  2575,  2578,  2584,  2587,  2594,  2598,  2601,  2608,  2615,
    707     2622,  2630,  2632,  2635,  2637,  2639,  2641,  2644,  2648,  2651,
    708     2655,  2658,  2662,  2668,  2675,  2678,  2684,  2691,  2694,  2700,
    709     2708,  2715,  2722,  2723,  2725,  2726
     671    1225,  1228,  1234,  1244,  1252,  1263,  1276,  1282,  1290,  1304,
     672    1307,  1310,  1312,  1315,  1318,  1322,  1325,  1329,  1331,  1334,
     673    1338,  1341,  1344,  1349,  1350,  1352,  1355,  1358,  1360,  1361,
     674    1363,  1366,  1369,  1375,  1382,  1385,  1388,  1393,  1394,  1397,
     675    1398,  1400,  1402,  1404,  1410,  1416,  1422,  1424,  1430,  1436,
     676    1446,  1448,  1454,  1455,  1457,  1459,  1465,  1467,  1469,  1475,
     677    1481,  1483,  1487,  1491,  1496,  1498,  1500,  1502,  1504,  1507,
     678    1509,  1513,  1517,  1519,  1522,  1524,  1528,  1530,  1532,  1534,
     679    1536,  1538,  1540,  1542,  1544,  1546,  1548,  1551,  1553,  1555,
     680    1557,  1560,  1561,  1564,  1566,  1571,  1573,  1576,  1580,  1585,
     681    1588,  1591,  1593,  1596,  1599,  1605,  1611,  1619,  1626,  1628,
     682    1631,  1634,  1638,  1643,  1649,  1652,  1655,  1660,  1661,  1666,
     683    1669,  1671,  1673,  1675,  1676,  1679,  1685,  1691,  1705,  1707,
     684    1709,  1713,  1717,  1720,  1724,  1728,  1731,  1736,  1738,  1745,
     685    1755,  1756,  1768,  1770,  1774,  1778,  1782,  1784,  1786,  1792,
     686    1795,  1801,  1802,  1804,  1806,  1810,  1811,  1813,  1815,  1817,
     687    1819,  1820,  1827,  1830,  1832,  1835,  1840,  1843,  1847,  1851,
     688    1855,  1860,  1866,  1872,  1878,  1885,  1887,  1889,  1891,  1895,
     689    1896,  1902,  1903,  1905,  1907,  1910,  1917,  1919,  1923,  1924,
     690    1926,  1931,  1933,  1935,  1937,  1939,  1942,  1944,  1947,  1950,
     691    1952,  1956,  1959,  1963,  1967,  1970,  1975,  1980,  1984,  1993,
     692    1997,  2000,  2002,  2005,  2012,  2021,  2025,  2028,  2032,  2036,
     693    2041,  2046,  2050,  2052,  2054,  2056,  2061,  2068,  2072,  2075,
     694    2079,  2083,  2088,  2093,  2097,  2100,  2102,  2105,  2108,  2110,
     695    2114,  2117,  2121,  2125,  2128,  2133,  2138,  2142,  2149,  2158,
     696    2162,  2165,  2167,  2170,  2173,  2176,  2180,  2184,  2187,  2192,
     697    2197,  2201,  2208,  2217,  2221,  2224,  2226,  2229,  2232,  2234,
     698    2237,  2241,  2245,  2248,  2253,  2260,  2269,  2271,  2274,  2277,
     699    2279,  2282,  2285,  2289,  2293,  2295,  2300,  2305,  2309,  2315,
     700    2324,  2328,  2333,  2339,  2341,  2347,  2353,  2360,  2367,  2369,
     701    2372,  2375,  2377,  2380,  2383,  2387,  2391,  2393,  2398,  2403,
     702    2407,  2413,  2422,  2426,  2428,  2431,  2433,  2438,  2445,  2451,
     703    2458,  2466,  2474,  2476,  2479,  2482,  2484,  2487,  2490,  2494,
     704    2498,  2500,  2505,  2510,  2514,  2523,  2527,  2529,  2531,  2534,
     705    2536,  2538,  2541,  2545,  2548,  2552,  2555,  2559,  2565,  2568,
     706    2575,  2579,  2582,  2588,  2591,  2598,  2602,  2605,  2612,  2619,
     707    2626,  2634,  2636,  2639,  2641,  2643,  2645,  2648,  2652,  2655,
     708    2659,  2662,  2666,  2672,  2679,  2682,  2688,  2695,  2698,  2704,
     709    2712,  2719,  2726,  2727,  2729,  2730
    710710};
    711711
     
    840840     261,    -1,   235,   101,   126,   272,   127,   102,   261,   106,
    841841     236,   107,    -1,   235,   101,   126,   272,   127,   102,   101,
    842      278,   102,   106,   236,   107,    -1,   235,   101,   126,   278,
    843      127,   102,   261,    -1,   235,   101,   126,   272,   127,   102,
    844      101,   278,   102,   261,   106,   236,   107,    -1,    30,   298,
    845       -1,    31,   298,    -1,   237,    -1,   236,   237,    -1,   238,
    846      124,    -1,    38,   238,   124,    -1,   239,   124,    -1,    38,
    847      239,   124,    -1,   352,    -1,   352,   261,    -1,   238,   108,
    848      261,    -1,   238,   108,    -1,   214,   240,    -1,   239,   108,
    849      298,   240,    -1,    -1,   242,    -1,   304,   241,    -1,   317,
    850      241,    -1,   343,    -1,    -1,   242,    -1,   109,   154,    -1,
    851       29,   298,    -1,   243,   106,   245,   358,   107,    -1,   243,
    852      261,   106,   245,   358,   107,    -1,   243,   261,    -1,   261,
    853      246,    -1,   245,   108,   261,   246,    -1,    -1,   123,   154,
    854       -1,    -1,   248,    -1,   250,    -1,   249,    -1,   249,   127,
    855      108,   126,   250,    -1,   250,   127,   108,   126,    89,    -1,
    856      249,   127,   108,   126,    89,    -1,   254,    -1,   250,   127,
    857      108,   126,   254,    -1,   249,   127,   108,   126,   254,    -1,
    858      249,   127,   108,   126,   250,   127,   108,   126,   254,    -1,
    859      255,    -1,   250,   127,   108,   126,   255,    -1,    -1,   252,
    860       -1,   253,    -1,   253,   127,   108,   126,    89,    -1,   257,
    861       -1,   256,    -1,   253,   127,   108,   126,   257,    -1,   253,
    862      127,   108,   126,   256,    -1,   256,    -1,   348,   259,   359,
    863       -1,   356,   259,   359,    -1,   216,   356,   259,   359,    -1,
    864      206,    -1,   257,    -1,   348,    -1,   356,    -1,   216,   356,
    865       -1,   357,    -1,   213,   322,   359,    -1,   213,   326,   359,
    866       -1,   213,    -1,   213,   337,    -1,   131,    -1,   258,   108,
    867      131,    -1,   129,    -1,    67,    -1,    68,    -1,   130,    -1,
    868       67,    -1,    68,    -1,   131,    -1,    67,    -1,    68,    -1,
    869      352,    -1,   214,    -1,   214,   343,    -1,   352,    -1,   357,
    870       -1,   214,    -1,   214,   331,    -1,    -1,   123,   265,    -1,
    871      155,    -1,   106,   266,   358,   107,    -1,   265,    -1,   267,
    872      265,    -1,   266,   108,   265,    -1,   266,   108,   267,   265,
    873       -1,   268,   109,    -1,   261,   109,    -1,   269,    -1,   268,
    874      269,    -1,   105,   261,    -1,   103,   126,   155,   127,   104,
    875       -1,   103,   126,   296,   127,   104,    -1,   103,   126,   154,
    876       89,   154,   127,   104,    -1,   105,   103,   126,   138,   127,
    877      104,    -1,   271,    -1,   220,   271,    -1,   270,   222,    -1,
    878      270,   222,   216,    -1,    68,   101,   278,   102,    -1,   216,
    879       68,   101,   278,   102,    -1,   271,   217,    -1,   273,   359,
    880       -1,   272,   108,   273,   359,    -1,    -1,   275,   261,   274,
    881      276,    -1,   214,   322,    -1,    32,    -1,    34,    -1,    33,
    882       -1,    -1,   276,   277,    -1,   121,   261,   101,   278,   102,
    883       -1,   121,   106,   126,   284,   107,    -1,   121,   101,   126,
    884      272,   127,   102,   106,   126,   284,   107,   101,   278,   102,
    885       -1,   263,    -1,   155,    -1,   278,   108,   263,    -1,   278,
    886      108,   155,    -1,    32,   280,    -1,   221,    32,   280,    -1,
    887      279,   108,   280,    -1,   281,   276,    -1,   281,   276,   123,
    888      263,    -1,   261,    -1,   260,   101,   126,   272,   127,   102,
    889       -1,    35,   261,   101,   126,   272,   127,   102,   106,   107,
    890       -1,    -1,    35,   261,   101,   126,   272,   127,   102,   106,
    891      283,   284,   107,    -1,   285,    -1,   284,   126,   285,    -1,
    892      286,   127,   124,    -1,   287,   127,   124,    -1,   204,    -1,
    893      206,    -1,   286,   127,   108,   126,   259,    -1,   214,   295,
    894       -1,   287,   127,   108,   126,   295,    -1,    -1,   289,    -1,
    895      291,    -1,   289,   126,   291,    -1,    -1,   289,    -1,   201,
    896       -1,   293,    -1,   189,    -1,    -1,     5,    75,   292,   106,
    897      290,   107,    -1,    38,   291,    -1,   294,    -1,   309,   164,
    898       -1,   313,   126,   196,   164,    -1,   205,   164,    -1,   213,
    899      309,   164,    -1,   216,   309,   164,    -1,   220,   309,   164,
    900       -1,   220,   216,   309,   164,    -1,   213,   313,   126,   196,
    901      164,    -1,   216,   313,   126,   196,   164,    -1,   220,   313,
    902      126,   196,   164,    -1,   220,   216,   313,   126,   196,   164,
    903       -1,   304,    -1,   309,    -1,   317,    -1,   154,   115,   154,
    904       -1,    -1,    57,   101,   133,   102,   298,    -1,    -1,   299,
    905       -1,   300,    -1,   299,   300,    -1,    37,   101,   101,   301,
    906      102,   102,    -1,   302,    -1,   301,   108,   302,    -1,    -1,
    907      303,    -1,   303,   101,   161,   102,    -1,   259,    -1,   223,
    908       -1,   224,    -1,   217,    -1,   305,   298,    -1,   306,    -1,
    909      307,   298,    -1,   308,   298,    -1,   129,    -1,   101,   305,
    910      102,    -1,   111,   304,    -1,   111,   216,   304,    -1,   101,
    911      306,   102,    -1,   305,   335,    -1,   101,   306,   102,   335,
    912       -1,   101,   307,   102,   336,    -1,   101,   307,   102,    -1,
    913      101,   306,   102,   101,   126,   251,   127,   102,    -1,   101,
    914      308,   102,    -1,   310,   298,    -1,   311,    -1,   312,   298,
    915       -1,   305,   101,   126,   251,   127,   102,    -1,   101,   311,
    916      102,   101,   126,   251,   127,   102,    -1,   101,   310,   102,
    917       -1,   111,   309,    -1,   111,   216,   309,    -1,   101,   311,
    918      102,    -1,   101,   311,   102,   335,    -1,   101,   312,   102,
    919      336,    -1,   101,   312,   102,    -1,   314,    -1,   315,    -1,
    920      316,    -1,   305,   101,   258,   102,    -1,   101,   315,   102,
    921      101,   258,   102,    -1,   101,   314,   102,    -1,   111,   313,
    922       -1,   111,   216,   313,    -1,   101,   315,   102,    -1,   101,
    923      315,   102,   335,    -1,   101,   316,   102,   336,    -1,   101,
    924      316,   102,    -1,   318,   298,    -1,   319,    -1,   320,   298,
    925       -1,   321,   298,    -1,    67,    -1,   101,   318,   102,    -1,
    926      111,   317,    -1,   111,   216,   317,    -1,   101,   319,   102,
    927       -1,   318,   335,    -1,   101,   319,   102,   335,    -1,   101,
    928      320,   102,   336,    -1,   101,   320,   102,    -1,   318,   101,
    929      126,   251,   127,   102,    -1,   101,   319,   102,   101,   126,
    930      251,   127,   102,    -1,   101,   321,   102,    -1,   305,   298,
    931       -1,   323,    -1,   324,   298,    -1,   325,   298,    -1,   111,
    932      322,    -1,   111,   216,   322,    -1,   101,   323,   102,    -1,
    933      305,   341,    -1,   101,   323,   102,   335,    -1,   101,   324,
    934      102,   336,    -1,   101,   324,   102,    -1,   305,   101,   126,
    935      251,   127,   102,    -1,   101,   323,   102,   101,   126,   251,
    936      127,   102,    -1,   101,   325,   102,    -1,   327,   298,    -1,
    937      328,    -1,   329,   298,    -1,   330,   298,    -1,    67,    -1,
    938      111,   326,    -1,   111,   216,   326,    -1,   101,   328,   102,
    939       -1,   327,   341,    -1,   101,   328,   102,   341,    -1,   327,
    940      101,   126,   251,   127,   102,    -1,   101,   328,   102,   101,
    941      126,   251,   127,   102,    -1,   332,    -1,   333,   298,    -1,
    942      334,   298,    -1,   111,    -1,   111,   216,    -1,   111,   331,
    943       -1,   111,   216,   331,    -1,   101,   332,   102,    -1,   335,
    944       -1,   101,   332,   102,   335,    -1,   101,   333,   102,   336,
    945       -1,   101,   333,   102,    -1,   101,   126,   251,   127,   102,
    946       -1,   101,   332,   102,   101,   126,   251,   127,   102,    -1,
    947      101,   334,   102,    -1,   103,   126,   127,   104,    -1,   103,
    948      126,   127,   104,   336,    -1,   336,    -1,   103,   126,   155,
    949      127,   104,    -1,   103,   126,   111,   127,   104,    -1,   336,
    950      103,   126,   155,   127,   104,    -1,   336,   103,   126,   111,
    951      127,   104,    -1,   338,    -1,   339,   298,    -1,   340,   298,
    952       -1,   111,    -1,   111,   216,    -1,   111,   337,    -1,   111,
    953      216,   337,    -1,   101,   338,   102,    -1,   341,    -1,   101,
    954      338,   102,   341,    -1,   101,   339,   102,   336,    -1,   101,
    955      339,   102,    -1,   101,   126,   251,   127,   102,    -1,   101,
    956      338,   102,   101,   126,   251,   127,   102,    -1,   101,   340,
    957      102,    -1,   342,    -1,   342,   336,    -1,   336,    -1,   103,
    958      126,   127,   104,    -1,   103,   126,   216,   111,   127,   104,
    959       -1,   103,   126,   216,   127,   104,    -1,   103,   126,   216,
    960      155,   127,   104,    -1,   103,   126,     7,   215,   155,   127,
    961      104,    -1,   103,   126,   216,     7,   155,   127,   104,    -1,
    962      344,    -1,   345,   298,    -1,   346,   298,    -1,   111,    -1,
    963      111,   216,    -1,   111,   343,    -1,   111,   216,   343,    -1,
    964      101,   344,   102,    -1,   335,    -1,   101,   344,   102,   335,
    965       -1,   101,   345,   102,   336,    -1,   101,   345,   102,    -1,
    966      101,   344,   102,   101,   126,   251,   127,   102,    -1,   101,
    967      346,   102,    -1,   348,    -1,   356,    -1,   216,   356,    -1,
    968      349,    -1,   350,    -1,   111,   214,    -1,   216,   111,   214,
    969       -1,   111,   357,    -1,   216,   111,   357,    -1,   111,   347,
    970       -1,   216,   111,   347,    -1,   103,   126,   127,   104,   214,
    971       -1,   351,   214,    -1,   103,   126,   127,   104,   336,   214,
    972       -1,   351,   336,   214,    -1,   336,   214,    -1,   103,   126,
    973      127,   104,   349,    -1,   351,   349,    -1,   103,   126,   127,
    974      104,   336,   349,    -1,   351,   336,   349,    -1,   336,   349,
    975       -1,   103,   126,   216,   111,   127,   104,    -1,   103,   126,
    976      216,   155,   127,   104,    -1,   103,   126,   220,   155,   127,
    977      104,    -1,   103,   126,   220,   216,   155,   127,   104,    -1,
    978      356,    -1,   216,   356,    -1,   353,    -1,   354,    -1,   355,
    979       -1,   111,   214,    -1,   216,   111,   214,    -1,   111,   357,
    980       -1,   216,   111,   357,    -1,   111,   352,    -1,   216,   111,
    981      352,    -1,   103,   126,   127,   104,   214,    -1,   103,   126,
    982      127,   104,   336,   214,    -1,   336,   214,    -1,   103,   126,
    983      127,   104,   354,    -1,   103,   126,   127,   104,   336,   354,
    984       -1,   336,   354,    -1,   103,   126,   250,   127,   104,    -1,
    985      103,   126,   127,   104,   101,   247,   102,    -1,   356,   101,
    986      126,   247,   127,   102,    -1,   207,   101,   126,   247,   127,
    987      102,    -1,    -1,   108,    -1,    -1,   123,   155,    -1
     842     278,   102,   106,   236,   107,    -1,   235,    68,   101,   278,
     843     102,    -1,   235,   101,   126,   278,   127,   102,   261,    -1,
     844     235,   101,   126,   272,   127,   102,   101,   278,   102,   261,
     845     106,   236,   107,    -1,    30,   298,    -1,    31,   298,    -1,
     846     237,    -1,   236,   237,    -1,   238,   124,    -1,    38,   238,
     847     124,    -1,   239,   124,    -1,    38,   239,   124,    -1,   352,
     848      -1,   352,   261,    -1,   238,   108,   261,    -1,   238,   108,
     849      -1,   214,   240,    -1,   239,   108,   298,   240,    -1,    -1,
     850     242,    -1,   304,   241,    -1,   317,   241,    -1,   343,    -1,
     851      -1,   242,    -1,   109,   154,    -1,    29,   298,    -1,   243,
     852     106,   245,   358,   107,    -1,   243,   261,   106,   245,   358,
     853     107,    -1,   243,   261,    -1,   261,   246,    -1,   245,   108,
     854     261,   246,    -1,    -1,   123,   154,    -1,    -1,   248,    -1,
     855     250,    -1,   249,    -1,   249,   127,   108,   126,   250,    -1,
     856     250,   127,   108,   126,    89,    -1,   249,   127,   108,   126,
     857      89,    -1,   254,    -1,   250,   127,   108,   126,   254,    -1,
     858     249,   127,   108,   126,   254,    -1,   249,   127,   108,   126,
     859     250,   127,   108,   126,   254,    -1,   255,    -1,   250,   127,
     860     108,   126,   255,    -1,    -1,   252,    -1,   253,    -1,   253,
     861     127,   108,   126,    89,    -1,   257,    -1,   256,    -1,   253,
     862     127,   108,   126,   257,    -1,   253,   127,   108,   126,   256,
     863      -1,   256,    -1,   348,   259,   359,    -1,   356,   259,   359,
     864      -1,   216,   356,   259,   359,    -1,   206,    -1,   257,    -1,
     865     348,    -1,   356,    -1,   216,   356,    -1,   357,    -1,   213,
     866     322,   359,    -1,   213,   326,   359,    -1,   213,    -1,   213,
     867     337,    -1,   131,    -1,   258,   108,   131,    -1,   129,    -1,
     868      67,    -1,    68,    -1,   130,    -1,    67,    -1,    68,    -1,
     869     131,    -1,    67,    -1,   352,    -1,   214,    -1,   214,   343,
     870      -1,   352,    -1,   357,    -1,   214,    -1,   214,   331,    -1,
     871      -1,   123,   265,    -1,   155,    -1,   106,   266,   358,   107,
     872      -1,   265,    -1,   267,   265,    -1,   266,   108,   265,    -1,
     873     266,   108,   267,   265,    -1,   268,   109,    -1,   261,   109,
     874      -1,   269,    -1,   268,   269,    -1,   105,   261,    -1,   103,
     875     126,   155,   127,   104,    -1,   103,   126,   296,   127,   104,
     876      -1,   103,   126,   154,    89,   154,   127,   104,    -1,   105,
     877     103,   126,   138,   127,   104,    -1,   271,    -1,   220,   271,
     878      -1,   270,   222,    -1,   270,   222,   216,    -1,    68,   101,
     879     278,   102,    -1,   216,    68,   101,   278,   102,    -1,   271,
     880     217,    -1,   273,   359,    -1,   272,   108,   273,   359,    -1,
     881      -1,   275,   261,   274,   276,    -1,   214,   322,    -1,    32,
     882      -1,    34,    -1,    33,    -1,    -1,   276,   277,    -1,   121,
     883     261,   101,   278,   102,    -1,   121,   106,   126,   284,   107,
     884      -1,   121,   101,   126,   272,   127,   102,   106,   126,   284,
     885     107,   101,   278,   102,    -1,   263,    -1,   155,    -1,   278,
     886     108,   263,    -1,   278,   108,   155,    -1,    32,   280,    -1,
     887     221,    32,   280,    -1,   279,   108,   280,    -1,   281,   276,
     888      -1,   281,   276,   123,   263,    -1,   261,    -1,   260,   101,
     889     126,   272,   127,   102,    -1,    35,   261,   101,   126,   272,
     890     127,   102,   106,   107,    -1,    -1,    35,   261,   101,   126,
     891     272,   127,   102,   106,   283,   284,   107,    -1,   285,    -1,
     892     284,   126,   285,    -1,   286,   127,   124,    -1,   287,   127,
     893     124,    -1,   204,    -1,   206,    -1,   286,   127,   108,   126,
     894     259,    -1,   214,   295,    -1,   287,   127,   108,   126,   295,
     895      -1,    -1,   289,    -1,   291,    -1,   289,   126,   291,    -1,
     896      -1,   289,    -1,   201,    -1,   293,    -1,   189,    -1,    -1,
     897       5,    75,   292,   106,   290,   107,    -1,    38,   291,    -1,
     898     294,    -1,   309,   164,    -1,   313,   126,   196,   164,    -1,
     899     205,   164,    -1,   213,   309,   164,    -1,   216,   309,   164,
     900      -1,   220,   309,   164,    -1,   220,   216,   309,   164,    -1,
     901     213,   313,   126,   196,   164,    -1,   216,   313,   126,   196,
     902     164,    -1,   220,   313,   126,   196,   164,    -1,   220,   216,
     903     313,   126,   196,   164,    -1,   304,    -1,   309,    -1,   317,
     904      -1,   154,   115,   154,    -1,    -1,    57,   101,   133,   102,
     905     298,    -1,    -1,   299,    -1,   300,    -1,   299,   300,    -1,
     906      37,   101,   101,   301,   102,   102,    -1,   302,    -1,   301,
     907     108,   302,    -1,    -1,   303,    -1,   303,   101,   161,   102,
     908      -1,   259,    -1,   223,    -1,   224,    -1,   217,    -1,   305,
     909     298,    -1,   306,    -1,   307,   298,    -1,   308,   298,    -1,
     910     129,    -1,   101,   305,   102,    -1,   111,   304,    -1,   111,
     911     216,   304,    -1,   101,   306,   102,    -1,   305,   335,    -1,
     912     101,   306,   102,   335,    -1,   101,   307,   102,   336,    -1,
     913     101,   307,   102,    -1,   101,   306,   102,   101,   126,   251,
     914     127,   102,    -1,   101,   308,   102,    -1,   310,   298,    -1,
     915     311,    -1,   312,   298,    -1,   305,   101,   126,   251,   127,
     916     102,    -1,   101,   311,   102,   101,   126,   251,   127,   102,
     917      -1,   101,   310,   102,    -1,   111,   309,    -1,   111,   216,
     918     309,    -1,   101,   311,   102,    -1,   101,   311,   102,   335,
     919      -1,   101,   312,   102,   336,    -1,   101,   312,   102,    -1,
     920     314,    -1,   315,    -1,   316,    -1,   305,   101,   258,   102,
     921      -1,   101,   315,   102,   101,   258,   102,    -1,   101,   314,
     922     102,    -1,   111,   313,    -1,   111,   216,   313,    -1,   101,
     923     315,   102,    -1,   101,   315,   102,   335,    -1,   101,   316,
     924     102,   336,    -1,   101,   316,   102,    -1,   318,   298,    -1,
     925     319,    -1,   320,   298,    -1,   321,   298,    -1,    67,    -1,
     926     101,   318,   102,    -1,   111,   317,    -1,   111,   216,   317,
     927      -1,   101,   319,   102,    -1,   318,   335,    -1,   101,   319,
     928     102,   335,    -1,   101,   320,   102,   336,    -1,   101,   320,
     929     102,    -1,   318,   101,   126,   251,   127,   102,    -1,   101,
     930     319,   102,   101,   126,   251,   127,   102,    -1,   101,   321,
     931     102,    -1,   305,   298,    -1,   323,    -1,   324,   298,    -1,
     932     325,   298,    -1,   111,   322,    -1,   111,   216,   322,    -1,
     933     101,   323,   102,    -1,   305,   341,    -1,   101,   323,   102,
     934     335,    -1,   101,   324,   102,   336,    -1,   101,   324,   102,
     935      -1,   305,   101,   126,   251,   127,   102,    -1,   101,   323,
     936     102,   101,   126,   251,   127,   102,    -1,   101,   325,   102,
     937      -1,   327,   298,    -1,   328,    -1,   329,   298,    -1,   330,
     938     298,    -1,    67,    -1,   111,   326,    -1,   111,   216,   326,
     939      -1,   101,   328,   102,    -1,   327,   341,    -1,   101,   328,
     940     102,   341,    -1,   327,   101,   126,   251,   127,   102,    -1,
     941     101,   328,   102,   101,   126,   251,   127,   102,    -1,   332,
     942      -1,   333,   298,    -1,   334,   298,    -1,   111,    -1,   111,
     943     216,    -1,   111,   331,    -1,   111,   216,   331,    -1,   101,
     944     332,   102,    -1,   335,    -1,   101,   332,   102,   335,    -1,
     945     101,   333,   102,   336,    -1,   101,   333,   102,    -1,   101,
     946     126,   251,   127,   102,    -1,   101,   332,   102,   101,   126,
     947     251,   127,   102,    -1,   101,   334,   102,    -1,   103,   126,
     948     127,   104,    -1,   103,   126,   127,   104,   336,    -1,   336,
     949      -1,   103,   126,   155,   127,   104,    -1,   103,   126,   111,
     950     127,   104,    -1,   336,   103,   126,   155,   127,   104,    -1,
     951     336,   103,   126,   111,   127,   104,    -1,   338,    -1,   339,
     952     298,    -1,   340,   298,    -1,   111,    -1,   111,   216,    -1,
     953     111,   337,    -1,   111,   216,   337,    -1,   101,   338,   102,
     954      -1,   341,    -1,   101,   338,   102,   341,    -1,   101,   339,
     955     102,   336,    -1,   101,   339,   102,    -1,   101,   126,   251,
     956     127,   102,    -1,   101,   338,   102,   101,   126,   251,   127,
     957     102,    -1,   101,   340,   102,    -1,   342,    -1,   342,   336,
     958      -1,   336,    -1,   103,   126,   127,   104,    -1,   103,   126,
     959     216,   111,   127,   104,    -1,   103,   126,   216,   127,   104,
     960      -1,   103,   126,   216,   155,   127,   104,    -1,   103,   126,
     961       7,   215,   155,   127,   104,    -1,   103,   126,   216,     7,
     962     155,   127,   104,    -1,   344,    -1,   345,   298,    -1,   346,
     963     298,    -1,   111,    -1,   111,   216,    -1,   111,   343,    -1,
     964     111,   216,   343,    -1,   101,   344,   102,    -1,   335,    -1,
     965     101,   344,   102,   335,    -1,   101,   345,   102,   336,    -1,
     966     101,   345,   102,    -1,   101,   344,   102,   101,   126,   251,
     967     127,   102,    -1,   101,   346,   102,    -1,   348,    -1,   356,
     968      -1,   216,   356,    -1,   349,    -1,   350,    -1,   111,   214,
     969      -1,   216,   111,   214,    -1,   111,   357,    -1,   216,   111,
     970     357,    -1,   111,   347,    -1,   216,   111,   347,    -1,   103,
     971     126,   127,   104,   214,    -1,   351,   214,    -1,   103,   126,
     972     127,   104,   336,   214,    -1,   351,   336,   214,    -1,   336,
     973     214,    -1,   103,   126,   127,   104,   349,    -1,   351,   349,
     974      -1,   103,   126,   127,   104,   336,   349,    -1,   351,   336,
     975     349,    -1,   336,   349,    -1,   103,   126,   216,   111,   127,
     976     104,    -1,   103,   126,   216,   155,   127,   104,    -1,   103,
     977     126,   220,   155,   127,   104,    -1,   103,   126,   220,   216,
     978     155,   127,   104,    -1,   356,    -1,   216,   356,    -1,   353,
     979      -1,   354,    -1,   355,    -1,   111,   214,    -1,   216,   111,
     980     214,    -1,   111,   357,    -1,   216,   111,   357,    -1,   111,
     981     352,    -1,   216,   111,   352,    -1,   103,   126,   127,   104,
     982     214,    -1,   103,   126,   127,   104,   336,   214,    -1,   336,
     983     214,    -1,   103,   126,   127,   104,   354,    -1,   103,   126,
     984     127,   104,   336,   354,    -1,   336,   354,    -1,   103,   126,
     985     250,   127,   104,    -1,   103,   126,   127,   104,   101,   247,
     986     102,    -1,   356,   101,   126,   247,   127,   102,    -1,   207,
     987     101,   126,   247,   127,   102,    -1,    -1,   108,    -1,    -1,
     988     123,   155,    -1
    988989};
    989990
     
    991992static const yytype_uint16 yyrline[] =
    992993{
    993        0,   282,   282,   288,   298,   299,   300,   304,   305,   306,
    994      310,   311,   315,   319,   320,   324,   325,   331,   333,   335,
    995      337,   339,   341,   346,   347,   353,   355,   357,   358,   360,
    996      361,   363,   366,   371,   372,   378,   379,   380,   385,   387,
    997      392,   393,   397,   399,   401,   403,   405,   410,   411,   413,
    998      415,   417,   419,   421,   427,   429,   431,   433,   435,   437,
    999      439,   441,   446,   447,   448,   449,   453,   454,   456,   461,
    1000      462,   464,   466,   471,   472,   474,   479,   480,   482,   487,
    1001      488,   490,   492,   494,   499,   500,   502,   507,   508,   513,
    1002      514,   519,   520,   525,   526,   531,   532,   537,   538,   540,
    1003      542,   547,   552,   553,   555,   557,   563,   564,   570,   572,
    1004      574,   576,   581,   582,   587,   588,   589,   590,   591,   592,
    1005      593,   594,   595,   596,   600,   601,   607,   608,   614,   615,
    1006      616,   617,   618,   619,   620,   621,   625,   630,   632,   642,
    1007      643,   648,   650,   652,   654,   658,   659,   664,   669,   672,
    1008      674,   676,   682,   684,   692,   693,   695,   699,   700,   705,
    1009      706,   711,   712,   716,   721,   722,   726,   728,   734,   735,
    1010      739,   741,   743,   745,   751,   752,   756,   757,   761,   763,
    1011      765,   770,   772,   777,   779,   783,   787,   791,   795,   799,
    1012      801,   803,   808,   810,   812,   821,   824,   826,   831,   833,
    1013      838,   851,   852,   857,   859,   864,   868,   870,   872,   874,
    1014      878,   880,   884,   885,   889,   893,   894,   900,   902,   906,
    1015      907,   912,   914,   918,   919,   923,   925,   929,   930,   934,
    1016      935,   939,   940,   956,   957,   958,   959,   960,   964,   969,
    1017      976,   986,   991,   996,  1004,  1009,  1014,  1019,  1024,  1032,
    1018     1037,  1050,  1056,  1063,  1065,  1072,  1077,  1082,  1094,  1099,
    1019     1104,  1109,  1114,  1122,  1127,  1135,  1136,  1137,  1138,  1144,
    1020     1149,  1157,  1158,  1159,  1160,  1164,  1165,  1166,  1167,  1172,
    1021     1173,  1183,  1184,  1189,  1190,  1195,  1197,  1199,  1201,  1203,
    1022     1206,  1205,  1217,  1218,  1220,  1230,  1231,  1236,  1240,  1242,
    1023     1244,  1246,  1248,  1250,  1252,  1254,  1259,  1261,  1263,  1265,
    1024     1267,  1269,  1271,  1273,  1275,  1277,  1279,  1281,  1287,  1288,
    1025     1290,  1292,  1294,  1299,  1300,  1306,  1307,  1309,  1311,  1316,
    1026     1318,  1320,  1322,  1327,  1328,  1330,  1332,  1337,  1338,  1340,
    1027     1345,  1346,  1348,  1350,  1355,  1357,  1359,  1364,  1365,  1369,
    1028     1371,  1373,  1375,  1377,  1379,  1381,  1383,  1386,  1391,  1393,
    1029     1398,  1400,  1405,  1406,  1408,  1409,  1414,  1415,  1417,  1419,
    1030     1424,  1426,  1432,  1433,  1435,  1438,  1441,  1446,  1447,  1452,
    1031     1457,  1461,  1463,  1465,  1470,  1472,  1478,  1479,  1487,  1488,
    1032     1492,  1493,  1494,  1496,  1498,  1506,  1507,  1509,  1511,  1516,
    1033     1517,  1523,  1524,  1528,  1529,  1534,  1535,  1536,  1538,  1547,
    1034     1548,  1550,  1553,  1555,  1559,  1560,  1561,  1563,  1565,  1569,
    1035     1574,  1582,  1583,  1592,  1594,  1599,  1600,  1601,  1605,  1606,
    1036     1607,  1611,  1612,  1613,  1617,  1618,  1619,  1624,  1625,  1626,
    1037     1627,  1633,  1634,  1638,  1639,  1643,  1644,  1645,  1646,  1661,
    1038     1662,  1667,  1668,  1672,  1674,  1678,  1680,  1682,  1706,  1707,
    1039     1709,  1711,  1716,  1718,  1720,  1725,  1726,  1732,  1731,  1735,
    1040     1739,  1741,  1743,  1749,  1750,  1755,  1760,  1762,  1767,  1769,
    1041     1770,  1772,  1777,  1779,  1781,  1786,  1788,  1793,  1798,  1806,
    1042     1812,  1811,  1825,  1826,  1831,  1832,  1836,  1841,  1846,  1854,
    1043     1859,  1870,  1871,  1882,  1883,  1889,  1890,  1894,  1895,  1896,
    1044     1899,  1898,  1909,  1914,  1921,  1927,  1936,  1942,  1948,  1954,
    1045     1960,  1968,  1974,  1982,  1988,  1997,  1998,  1999,  2003,  2007,
    1046     2009,  2012,  2014,  2018,  2019,  2023,  2027,  2028,  2031,  2033,
    1047     2034,  2038,  2039,  2040,  2041,  2076,  2077,  2078,  2079,  2083,
    1048     2088,  2093,  2095,  2097,  2102,  2104,  2106,  2108,  2113,  2115,
    1049     2125,  2126,  2127,  2131,  2133,  2135,  2140,  2142,  2144,  2149,
    1050     2151,  2153,  2162,  2163,  2164,  2168,  2170,  2172,  2177,  2179,
    1051     2181,  2186,  2188,  2190,  2205,  2206,  2207,  2208,  2212,  2217,
    1052     2222,  2224,  2226,  2231,  2233,  2235,  2237,  2242,  2244,  2246,
    1053     2256,  2257,  2258,  2259,  2263,  2265,  2267,  2272,  2274,  2276,
    1054     2278,  2283,  2285,  2287,  2318,  2319,  2320,  2321,  2325,  2333,
    1055     2335,  2337,  2342,  2344,  2349,  2351,  2365,  2366,  2367,  2371,
    1056     2373,  2375,  2377,  2379,  2384,  2385,  2387,  2389,  2394,  2396,
    1057     2398,  2404,  2406,  2408,  2412,  2414,  2416,  2418,  2432,  2433,
    1058     2434,  2438,  2440,  2442,  2444,  2446,  2451,  2452,  2454,  2456,
    1059     2461,  2463,  2465,  2471,  2472,  2474,  2484,  2487,  2489,  2492,
    1060     2494,  2496,  2509,  2510,  2511,  2515,  2517,  2519,  2521,  2523,
    1061     2528,  2529,  2531,  2533,  2538,  2540,  2548,  2549,  2550,  2555,
    1062     2556,  2560,  2562,  2564,  2566,  2568,  2570,  2577,  2579,  2581,
    1063     2583,  2585,  2587,  2589,  2591,  2593,  2595,  2600,  2602,  2604,
    1064     2609,  2635,  2636,  2638,  2642,  2643,  2647,  2649,  2651,  2653,
    1065     2655,  2657,  2664,  2666,  2668,  2670,  2672,  2674,  2679,  2684,
    1066     2686,  2688,  2708,  2710,  2715,  2716
     994       0,   279,   279,   285,   294,   295,   296,   300,   301,   302,
     995     306,   307,   311,   315,   316,   320,   321,   327,   329,   331,
     996     333,   335,   337,   342,   343,   349,   351,   353,   354,   356,
     997     357,   359,   362,   367,   368,   374,   375,   376,   381,   383,
     998     388,   389,   393,   395,   397,   399,   401,   406,   407,   409,
     999     411,   413,   415,   417,   423,   425,   427,   429,   431,   433,
     1000     435,   437,   442,   443,   444,   445,   449,   450,   452,   457,
     1001     458,   460,   462,   467,   468,   470,   475,   476,   478,   483,
     1002     484,   486,   488,   490,   495,   496,   498,   503,   504,   509,
     1003     510,   515,   516,   521,   522,   527,   528,   533,   534,   536,
     1004     538,   543,   548,   549,   551,   553,   559,   560,   566,   568,
     1005     570,   572,   577,   578,   583,   584,   585,   586,   587,   588,
     1006     589,   590,   591,   592,   596,   597,   603,   604,   610,   611,
     1007     612,   613,   614,   615,   616,   617,   621,   626,   628,   638,
     1008     639,   644,   646,   648,   650,   654,   655,   660,   665,   668,
     1009     670,   672,   677,   679,   687,   688,   690,   694,   695,   700,
     1010     701,   706,   707,   711,   716,   717,   721,   723,   729,   730,
     1011     734,   736,   738,   740,   746,   747,   751,   752,   756,   758,
     1012     760,   765,   767,   772,   774,   778,   781,   785,   788,   792,
     1013     794,   796,   801,   803,   805,   814,   816,   818,   823,   825,
     1014     830,   843,   844,   849,   851,   856,   860,   862,   864,   866,
     1015     870,   872,   876,   877,   881,   885,   886,   892,   894,   898,
     1016     899,   904,   906,   910,   911,   915,   917,   921,   922,   926,
     1017     927,   931,   932,   947,   948,   949,   950,   951,   955,   960,
     1018     967,   977,   982,   987,   995,  1000,  1005,  1010,  1015,  1023,
     1019    1028,  1040,  1045,  1052,  1054,  1061,  1066,  1071,  1082,  1087,
     1020    1092,  1097,  1102,  1110,  1115,  1123,  1124,  1125,  1126,  1132,
     1021    1137,  1145,  1146,  1147,  1148,  1152,  1153,  1154,  1155,  1160,
     1022    1161,  1170,  1171,  1176,  1177,  1182,  1184,  1186,  1188,  1190,
     1023    1193,  1192,  1204,  1205,  1207,  1217,  1218,  1223,  1227,  1229,
     1024    1231,  1233,  1235,  1237,  1239,  1241,  1246,  1248,  1250,  1252,
     1025    1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1274,  1275,
     1026    1277,  1279,  1281,  1286,  1287,  1293,  1294,  1296,  1298,  1303,
     1027    1305,  1307,  1309,  1314,  1315,  1317,  1319,  1324,  1325,  1327,
     1028    1332,  1333,  1335,  1337,  1342,  1344,  1346,  1351,  1352,  1356,
     1029    1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1375,  1380,
     1030    1382,  1387,  1389,  1394,  1395,  1397,  1398,  1403,  1404,  1406,
     1031    1408,  1413,  1415,  1421,  1422,  1424,  1427,  1430,  1435,  1436,
     1032    1441,  1446,  1450,  1452,  1454,  1459,  1461,  1467,  1468,  1476,
     1033    1477,  1481,  1482,  1483,  1485,  1487,  1494,  1495,  1497,  1499,
     1034    1504,  1505,  1511,  1512,  1516,  1517,  1522,  1523,  1524,  1526,
     1035    1534,  1535,  1537,  1540,  1542,  1546,  1547,  1548,  1550,  1552,
     1036    1556,  1561,  1569,  1570,  1579,  1581,  1586,  1587,  1588,  1592,
     1037    1593,  1594,  1598,  1599,  1604,  1605,  1606,  1611,  1612,  1613,
     1038    1614,  1620,  1621,  1625,  1626,  1630,  1631,  1632,  1633,  1648,
     1039    1649,  1654,  1655,  1660,  1662,  1665,  1667,  1669,  1692,  1693,
     1040    1695,  1697,  1702,  1704,  1706,  1711,  1712,  1718,  1717,  1721,
     1041    1725,  1727,  1729,  1735,  1736,  1741,  1746,  1748,  1753,  1755,
     1042    1756,  1758,  1763,  1765,  1767,  1772,  1774,  1779,  1784,  1792,
     1043    1798,  1797,  1811,  1812,  1817,  1818,  1822,  1827,  1832,  1840,
     1044    1845,  1856,  1857,  1868,  1869,  1875,  1876,  1880,  1881,  1882,
     1045    1885,  1884,  1895,  1900,  1906,  1912,  1921,  1927,  1933,  1939,
     1046    1945,  1953,  1959,  1967,  1973,  1982,  1983,  1984,  1988,  1992,
     1047    1994,  1997,  1999,  2003,  2004,  2008,  2012,  2013,  2016,  2018,
     1048    2019,  2023,  2024,  2025,  2026,  2060,  2061,  2062,  2063,  2067,
     1049    2072,  2077,  2079,  2081,  2086,  2088,  2090,  2092,  2097,  2099,
     1050    2109,  2110,  2111,  2115,  2117,  2119,  2124,  2126,  2128,  2133,
     1051    2135,  2137,  2146,  2147,  2148,  2152,  2154,  2156,  2161,  2163,
     1052    2165,  2170,  2172,  2174,  2189,  2190,  2191,  2192,  2196,  2201,
     1053    2206,  2208,  2210,  2215,  2217,  2219,  2221,  2226,  2228,  2230,
     1054    2240,  2241,  2242,  2243,  2247,  2249,  2251,  2256,  2258,  2260,
     1055    2262,  2267,  2269,  2271,  2302,  2303,  2304,  2305,  2309,  2317,
     1056    2319,  2321,  2326,  2328,  2333,  2335,  2349,  2350,  2351,  2355,
     1057    2357,  2359,  2361,  2363,  2368,  2369,  2371,  2373,  2378,  2380,
     1058    2382,  2388,  2390,  2392,  2396,  2398,  2400,  2402,  2416,  2417,
     1059    2418,  2422,  2424,  2426,  2428,  2430,  2435,  2436,  2438,  2440,
     1060    2445,  2447,  2449,  2455,  2456,  2458,  2467,  2470,  2472,  2475,
     1061    2477,  2479,  2492,  2493,  2494,  2498,  2500,  2502,  2504,  2506,
     1062    2511,  2512,  2514,  2516,  2521,  2523,  2531,  2532,  2533,  2538,
     1063    2539,  2543,  2545,  2547,  2549,  2551,  2553,  2560,  2562,  2564,
     1064    2566,  2568,  2570,  2572,  2574,  2576,  2578,  2583,  2585,  2587,
     1065    2592,  2618,  2619,  2621,  2625,  2626,  2630,  2632,  2634,  2636,
     1066    2638,  2640,  2647,  2649,  2651,  2653,  2655,  2657,  2662,  2667,
     1067    2669,  2671,  2689,  2691,  2696,  2697
    10671068};
    10681069#endif
     
    12391240     228,   228,   228,   229,   229,   229,   229,   230,   230,   230,
    12401241     231,   231,   231,   231,   232,   232,   232,   233,   233,   234,
    1241      234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
    1242      236,   236,   237,   237,   237,   237,   238,   238,   238,   238,
    1243      239,   239,   240,   240,   240,   240,   240,   241,   241,   242,
    1244      243,   244,   244,   244,   245,   245,   246,   246,   247,   247,
    1245      248,   248,   248,   248,   248,   249,   249,   249,   249,   250,
    1246      250,   251,   251,   252,   252,   253,   253,   253,   253,   254,
    1247      254,   254,   254,   254,   255,   255,   255,   255,   255,   256,
    1248      256,   257,   257,   258,   258,   259,   259,   259,   260,   260,
    1249      260,   261,   261,   261,   262,   262,   262,   263,   263,   263,
     1242     234,   234,   234,   234,   234,   234,   234,   234,   234,   235,
     1243     235,   236,   236,   237,   237,   237,   237,   238,   238,   238,
     1244     238,   239,   239,   240,   240,   240,   240,   240,   241,   241,
     1245     242,   243,   244,   244,   244,   245,   245,   246,   246,   247,
     1246     247,   248,   248,   248,   248,   248,   249,   249,   249,   249,
     1247     250,   250,   251,   251,   252,   252,   253,   253,   253,   253,
     1248     254,   254,   254,   254,   254,   255,   255,   255,   255,   255,
     1249     256,   256,   257,   257,   258,   258,   259,   259,   259,   260,
     1250     260,   260,   261,   261,   262,   262,   262,   263,   263,   263,
    12501251     263,   264,   264,   265,   265,   266,   266,   266,   266,   267,
    12511252     267,   268,   268,   269,   269,   269,   269,   269,   270,   270,
     
    13181319       4,     4,     4,     1,     2,     2,     3,     1,     2,     2,
    13191320       1,     2,     2,     3,     1,     2,     2,     1,     1,     4,
    1320        2,     5,     9,     7,    10,    12,     7,    13,     2,     2,
    1321        1,     2,     2,     3,     2,     3,     1,     2,     3,     2,
    1322        2,     4,     0,     1,     2,     2,     1,     0,     1,     2,
    1323        2,     5,     6,     2,     2,     4,     0,     2,     0,     1,
    1324        1,     1,     5,     5,     5,     1,     5,     5,     9,     1,
    1325        5,     0,     1,     1,     5,     1,     1,     5,     5,     1,
    1326        3,     3,     4,     1,     1,     1,     1,     2,     1,     3,
    1327        3,     1,     2,     1,     3,     1,     1,     1,     1,     1,
     1321       2,     5,     9,     7,    10,    12,     5,     7,    13,     2,
     1322       2,     1,     2,     2,     3,     2,     3,     1,     2,     3,
     1323       2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
     1324       2,     2,     5,     6,     2,     2,     4,     0,     2,     0,
     1325       1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
     1326       1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
     1327       1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
     1328       3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
    13281329       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
    13291330       2,     0,     2,     1,     4,     1,     2,     3,     4,     2,
     
    13761377     573,   574,   279,     0,   714,   715,     0,    12,   279,     0,
    13771378     255,   256,     0,   280,   275,   276,   277,   278,   510,   290,
    1378      380,   532,   533,   358,   359,    12,   432,   433,    11,   428,
    1379      431,     0,   487,   482,   473,   432,   433,     0,     0,   512,
    1380        0,   280,   279,     0,     0,     0,     0,     0,     0,     0,
    1381        0,   279,     2,     0,   716,   280,   566,   578,   720,   713,
    1382      711,   718,     0,     0,   238,     2,     0,   516,   426,   427,
    1383      425,     0,     0,     0,     0,   531,     0,   588,     0,     0,
    1384      529,   525,   531,   546,   531,   531,   526,     2,   527,   531,
    1385      585,   531,   531,     0,     0,     0,   279,   279,   298,   345,
    1386        0,     2,   279,   245,   282,   293,   326,   338,     0,     2,
    1387        0,   441,   246,   280,   319,   334,   341,   459,     0,     2,
    1388        0,   296,   320,   327,   328,     0,   335,   339,   342,   346,
    1389        2,   279,   350,     0,   383,   460,   464,     0,     0,     0,
     1379     381,   532,   533,   359,   360,    12,   433,   431,    11,   429,
     1380     432,     0,   487,   482,   473,   433,     0,     0,   512,     0,
     1381     280,   279,     0,     0,     0,     0,     0,     0,     0,     0,
     1382     279,     2,     0,   716,   280,   566,   578,   720,   713,   711,
     1383     718,     0,     0,   238,     2,     0,   516,   427,   428,   426,
     1384       0,     0,     0,     0,   531,     0,   588,     0,     0,   529,
     1385     525,   531,   546,   531,   531,   526,     2,   527,   531,   585,
     1386     531,   531,     0,     0,     0,   279,   279,   298,   345,     0,
     1387       2,   279,   245,   282,   293,   326,   338,     0,     2,     0,
     1388     441,   246,   280,   319,   334,   341,   459,     0,     2,     0,
     1389     296,   320,   327,   328,     0,   335,   339,   342,   346,     0,
     1390       2,   279,   350,     0,   384,   460,   464,     0,     0,     0,
    13901391       1,   279,     2,   514,   560,   562,   279,     2,   724,   280,
    13911392     727,   529,   529,   280,     0,     0,     0,   258,   531,   526,
     
    13961397      76,    79,    84,    87,    89,    91,    93,    95,    97,   102,
    13971398     479,   734,   439,   478,     0,   437,   438,     0,   550,   565,
    1398      568,   571,   577,   580,   583,     2,   279,     0,     3,   413,
    1399        0,   421,   280,   279,   292,   318,   272,   333,   340,     3,
    1400        3,   395,   399,   409,   414,   458,   279,   415,   689,   690,
    1401      279,   416,   418,   279,     2,   567,   579,   712,     2,     2,
     1399     568,   571,   577,   580,   583,     2,   279,     0,     3,   414,
     1400       0,   422,   280,   279,   292,   318,   272,   333,   340,     3,
     1401       3,   396,   400,   410,   415,   458,   279,   416,   689,   690,
     1402     279,   417,   419,   279,     2,   567,   579,   712,     2,     2,
    14021403     233,     2,     0,     0,   443,   442,   137,     2,     2,   235,
    14031404       2,     2,   234,     2,   266,     2,   267,     0,   265,     0,
     
    14071408       0,   280,   279,   279,   717,   721,   719,   518,   279,   529,
    14081409     239,   247,   294,     0,     2,   519,   279,   483,   321,   322,
    1409      268,   336,   343,   279,   279,     2,   372,   279,   360,     0,
    1410        0,   366,   711,   279,   732,   386,     0,   461,   484,   236,
    1411      237,   504,   279,   423,     0,   279,   221,     0,     2,   223,
    1412        0,   280,     0,   241,     2,   242,   263,     0,     0,     2,
    1413      279,   529,   279,   470,   472,   471,     0,     0,   734,     0,
    1414      279,     0,   279,   474,   279,   544,   542,   543,   541,     0,
    1415      536,   539,    66,   101,     0,   279,    54,    50,   279,    59,
    1416      279,   279,    48,    49,    61,     2,   124,     0,     0,   435,
    1417        0,   434,   279,    52,    53,    16,     0,    30,    31,    35,
    1418        2,     0,   114,   115,   116,   117,   118,   119,   120,   121,
    1419      122,   123,     0,     0,    51,     0,     0,     0,     0,     0,
     1410     268,   336,   343,   279,   279,   279,     2,   373,   279,   361,
     1411       0,     0,   367,   711,   279,   732,   387,     0,   461,   484,
     1412     236,   237,   504,   279,   424,     0,   279,   221,     0,     2,
     1413     223,     0,   280,     0,   241,     2,   242,   263,     0,     0,
     1414       2,   279,   529,   279,   470,   472,   471,     0,     0,   734,
     1415       0,   279,     0,   279,   474,   279,   544,   542,   543,   541,
     1416       0,   536,   539,    66,   101,     0,   279,    54,    50,   279,
     1417      59,   279,   279,    48,    49,    61,     2,   124,     0,     0,
     1418     435,     0,   434,   279,    52,    53,    16,     0,    30,    31,
     1419      35,     2,     0,   114,   115,   116,   117,   118,   119,   120,
     1420     121,   122,   123,     0,     0,    51,     0,     0,     0,     0,
    14201421       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1421        0,     0,     0,     0,     0,   105,     2,   629,   440,   626,
    1422      531,   531,   634,   462,   279,     2,   569,     2,   570,     0,
    1423      581,   582,   279,     2,   279,     0,   691,   280,   695,   686,
    1424      687,   693,   279,     0,   618,     2,     2,   651,   531,   734,
    1425      601,   531,   531,   734,   531,   615,   531,   531,   665,   422,
    1426      648,   531,   531,   656,   663,   279,   417,   280,     0,     0,
    1427      279,   701,   280,   706,   734,   698,   279,   703,   734,     0,
    1428      279,   279,     0,     3,    17,     2,     0,     0,   445,   732,
    1429        0,     0,   451,   225,     0,   279,     0,     0,     0,   529,
    1430      553,   557,   559,   589,   592,   596,   599,   552,   591,     0,
    1431      269,     3,     0,   279,   262,     0,     0,     0,     0,   260,
    1432        0,     2,     0,     0,   243,   520,   279,     0,   439,     3,
    1433        3,     0,     0,   279,     0,     0,   675,   370,   373,   377,
    1434      531,   377,   680,   376,   672,   531,   531,   349,   361,   369,
    1435      362,   531,   364,   367,   279,   733,     0,     0,   384,   732,
    1436      280,     3,   402,     3,   406,   405,   575,     0,   515,   279,
    1437        3,     3,   279,   421,   280,     3,   415,   416,     2,     0,
    1438        0,     0,   469,   291,   279,   465,   467,     3,     2,     2,
    1439        0,   486,     3,     0,   538,   126,     0,   210,     0,     0,
    1440        2,     0,     0,    36,     0,     0,   279,    21,     0,    22,
    1441        0,   675,   436,     0,   106,     0,     3,     2,    28,     2,
    1442        0,    33,     0,     2,    26,   103,   104,    70,    71,    72,
    1443       74,    75,    77,    78,    82,    83,    80,    81,    85,    86,
    1444       88,    90,    92,    94,    96,     0,     0,   735,   279,     0,
    1445        0,     0,   630,   631,   627,   628,   481,   480,   279,     0,
    1446        0,     0,   280,   279,   279,   645,   688,   344,     0,   722,
    1447      279,   725,   644,     2,   279,     0,     0,     0,     0,     0,
    1448        0,     0,     0,     3,   652,   604,   619,   653,     2,   600,
    1449      607,   419,   602,   603,   420,     2,   614,   622,   616,   617,
    1450      649,   650,   664,   692,   696,   694,   734,   253,     2,   728,
    1451        2,   410,   700,   705,   411,   279,     3,   389,     3,     3,
    1452        3,   441,     0,     3,     3,     2,   453,   450,   733,     0,
    1453      446,     2,   449,   452,     0,   279,   226,   248,     3,   257,
    1454      259,     0,   441,     2,   555,   556,     2,   594,   595,     0,
    1455        3,     0,   521,     3,   330,   329,   332,   331,   463,   279,
    1456        0,   522,     0,   523,     2,   629,     0,     0,   363,   365,
    1457        2,     0,     0,     0,     0,     0,   379,   676,   677,   374,
    1458      378,   375,   673,   674,   368,   372,   351,   386,   381,   387,
    1459        0,     0,     0,   424,   224,     0,     0,     3,     2,   651,
    1460      417,     0,   511,     0,   734,   473,     0,   279,   279,   279,
    1461        0,   535,   537,   127,     0,   206,     0,     0,   211,   212,
    1462       55,    60,   279,     0,    58,    57,     0,     0,   125,   676,
    1463        0,    67,    68,   107,   112,     3,   108,   106,     0,     0,
    1464        3,    25,    35,     3,     0,    99,     0,     3,   633,   637,
    1465      640,   632,     3,   576,   108,     2,   279,     3,     3,   280,
    1466        0,     2,     2,   723,   726,     0,     3,   606,   610,   613,
    1467      621,   655,   659,   662,   279,     0,     3,   605,   620,   654,
    1468      279,   279,   412,   279,   279,   279,     0,     0,     0,     0,
    1469      240,   108,     0,   101,     0,     3,     3,     0,   447,     0,
    1470      444,     0,     0,   229,   279,     0,     0,   126,     0,     0,
    1471        0,     0,     0,   126,     0,     0,     0,     2,     0,     0,
    1472        3,   128,   129,     2,   139,   130,   131,   132,   133,   134,
    1473      135,   141,   143,     0,     0,     0,   270,   279,   279,   531,
    1474      641,     0,     0,     0,   524,   630,     0,     0,   279,   279,
    1475      679,   683,   685,   678,   371,   385,   382,   563,     2,   647,
    1476      646,     0,   652,     2,   466,   468,   488,     3,   496,   497,
    1477        0,     2,   492,     3,     3,     0,     0,   540,     0,     0,
    1478      210,     0,     3,    37,   108,   732,   106,     0,     3,   644,
    1479       42,     3,    40,     3,    34,     0,     3,    98,   100,     0,
    1480        2,   635,   636,     0,   697,   279,   702,   279,     0,     0,
    1481        0,     3,   279,   279,   279,   621,     0,     2,   608,   609,
    1482        2,   623,     2,   657,   658,     0,   666,     0,     3,     0,
    1483        3,     3,     3,     3,   397,   396,   400,     0,   731,     2,
    1484        2,   730,   109,     0,     0,     0,     0,     3,   448,     3,
    1485        0,   227,   142,     3,   280,   279,     0,     0,     0,     0,
    1486        2,   187,     0,   185,     0,     0,     0,     0,     0,     0,
    1487      191,     0,   279,   531,   147,   144,   279,     0,     0,   252,
    1488      264,     3,     3,   530,   642,   597,   279,   279,   279,   353,
    1489      356,     0,     2,   681,   682,   279,   251,   279,     0,   499,
    1490      476,   279,     0,     0,   475,   490,     0,   207,     0,   213,
    1491      106,     0,     0,   113,   110,     0,     0,     0,     0,     0,
    1492        0,    24,     0,   638,   279,   564,   699,   704,   707,   708,
    1493      709,     0,     3,     3,   660,   279,   279,   279,     3,     3,
    1494        0,   668,     0,     0,     0,     0,   729,   279,   279,     3,
    1495      528,   109,   455,     0,     0,   230,   280,     0,     0,     0,
    1496        0,   279,   188,   186,     0,   183,   189,     0,     0,     0,
    1497      192,   195,   193,   190,     0,   126,   140,   138,   228,     0,
    1498        0,     0,   279,   279,   108,   279,   404,   408,   407,     0,
    1499      493,     2,   494,     2,   495,   489,   279,   214,     0,     0,
    1500        3,   644,    32,   111,     2,    45,     2,    43,    41,    29,
    1501      109,    27,     3,   710,     0,     0,     3,     3,     3,     0,
    1502        0,   667,   669,   611,   624,   254,     2,   394,     3,   393,
    1503        0,   457,   454,   126,     0,     0,   126,     3,     0,   126,
    1504      184,     0,     2,   200,   194,     0,   108,   136,   558,   598,
    1505        0,   352,   279,     3,     2,     0,     0,     2,   208,   215,
    1506        0,     0,     0,     0,     0,     0,   250,   249,     0,     0,
    1507        0,   670,   671,   279,     0,   456,   148,     0,     0,     2,
    1508      161,   126,   150,     0,   178,     0,   126,     0,     2,   152,
    1509        0,     2,     2,   279,     0,   354,     0,   279,   498,   500,
    1510      491,     0,     0,   111,    38,     3,     3,   639,   612,   625,
    1511      661,   398,   126,   154,   157,     0,   156,   160,     3,   163,
    1512      162,     0,   126,   180,   126,     3,     0,   279,     0,     2,
    1513      279,   279,   684,     2,   209,   216,     0,     0,     0,   149,
    1514        0,     0,   159,   217,   164,     2,   219,   179,     0,   182,
    1515      168,   196,     3,   201,   205,     0,   279,   355,   279,     0,
    1516       39,    46,    44,   155,   158,   126,     0,   165,   279,   126,
    1517      126,     0,   169,     0,     0,   675,   202,   203,   204,   197,
    1518        3,   357,   279,   145,   166,   151,   126,   220,   181,   176,
    1519      174,   170,   153,   126,     0,   676,     0,     0,   146,   167,
    1520      177,   171,   175,   174,   172,     3,     0,   477,   173,   198,
    1521        3,   199
     1422       0,     0,     0,     0,     0,     0,   105,     2,   629,   440,
     1423     626,   531,   531,   634,   462,   279,     2,   569,     2,   570,
     1424       0,   581,   582,   279,     2,   279,     0,   691,   280,   695,
     1425     686,   687,   693,   279,     0,   618,     2,     2,   651,   531,
     1426     734,   601,   531,   531,   734,   531,   615,   531,   531,   665,
     1427     423,   648,   531,   531,   656,   663,   279,   418,   280,     0,
     1428       0,   279,   701,   280,   706,   734,   698,   279,   703,   734,
     1429       0,   279,   279,     0,     3,    17,     2,     0,     0,   445,
     1430     732,     0,     0,   451,   225,     0,   279,     0,     0,     0,
     1431     529,   553,   557,   559,   589,   592,   596,   599,   552,   591,
     1432       0,   269,     3,     0,   279,   262,     0,     0,     0,     0,
     1433     260,     0,     2,     0,     0,   243,   520,   279,     0,     0,
     1434     439,     3,     3,     0,     0,   279,     0,     0,   675,   371,
     1435     374,   378,   531,   378,   680,   377,   672,   531,   531,   349,
     1436     362,   370,   363,   531,   365,   368,   279,   733,     0,     0,
     1437     385,   732,   280,     3,   403,     3,   407,   406,   575,     0,
     1438     515,   279,     3,     3,   279,   422,   280,     3,   416,   417,
     1439       2,     0,     0,     0,   469,   291,   279,   465,   467,     3,
     1440       2,     2,     0,   486,     3,     0,   538,   126,     0,   210,
     1441       0,     0,     2,     0,     0,    36,     0,     0,   279,    21,
     1442       0,    22,     0,   675,   436,     0,   106,     0,     3,     2,
     1443      28,     2,     0,    33,     0,     2,    26,   103,   104,    70,
     1444      71,    72,    74,    75,    77,    78,    82,    83,    80,    81,
     1445      85,    86,    88,    90,    92,    94,    96,     0,     0,   735,
     1446     279,     0,     0,     0,   630,   631,   627,   628,   481,   480,
     1447     279,     0,     0,     0,   280,   279,   279,   645,   688,   344,
     1448       0,   722,   279,   725,   644,     2,   279,     0,     0,     0,
     1449       0,     0,     0,     0,     0,     3,   652,   604,   619,   653,
     1450       2,   600,   607,   420,   602,   603,   421,     2,   614,   622,
     1451     616,   617,   649,   650,   664,   692,   696,   694,   734,   253,
     1452       2,   728,     2,   411,   700,   705,   412,   279,     3,   390,
     1453       3,     3,     3,   441,     0,     3,     3,     2,   453,   450,
     1454     733,     0,   446,     2,   449,   452,     0,   279,   226,   248,
     1455       3,   257,   259,     0,   441,     2,   555,   556,     2,   594,
     1456     595,     0,     3,     0,   521,     3,   330,   329,   332,   331,
     1457     463,   279,     0,   522,     0,   523,   356,     2,   629,     0,
     1458       0,   364,   366,     2,     0,     0,     0,     0,     0,   380,
     1459     676,   677,   375,   379,   376,   673,   674,   369,   373,   351,
     1460     387,   382,   388,     0,     0,     0,   425,   224,     0,     0,
     1461       3,     2,   651,   418,     0,   511,     0,   734,   473,     0,
     1462     279,   279,   279,     0,   535,   537,   127,     0,   206,     0,
     1463       0,   211,   212,    55,    60,   279,     0,    58,    57,     0,
     1464       0,   125,   676,     0,    67,    68,   107,   112,     3,   108,
     1465     106,     0,     0,     3,    25,    35,     3,     0,    99,     0,
     1466       3,   633,   637,   640,   632,     3,   576,   108,     2,   279,
     1467       3,     3,   280,     0,     2,     2,   723,   726,     0,     3,
     1468     606,   610,   613,   621,   655,   659,   662,   279,     0,     3,
     1469     605,   620,   654,   279,   279,   413,   279,   279,   279,     0,
     1470       0,     0,     0,   240,   108,     0,   101,     0,     3,     3,
     1471       0,   447,     0,   444,     0,     0,   229,   279,     0,     0,
     1472     126,     0,     0,     0,     0,     0,   126,     0,     0,     0,
     1473       2,     0,     0,     3,   128,   129,     2,   139,   130,   131,
     1474     132,   133,   134,   135,   141,   143,     0,     0,     0,   270,
     1475     279,   279,   531,   641,     0,     0,     0,   524,   630,     0,
     1476       0,   279,   279,   679,   683,   685,   678,   372,   386,   383,
     1477     563,     2,   647,   646,     0,   652,     2,   466,   468,   488,
     1478       3,   496,   497,     0,     2,   492,     3,     3,     0,     0,
     1479     540,     0,     0,   210,     0,     3,    37,   108,   732,   106,
     1480       0,     3,   644,    42,     3,    40,     3,    34,     0,     3,
     1481      98,   100,     0,     2,   635,   636,     0,   697,   279,   702,
     1482     279,     0,     0,     0,     3,   279,   279,   279,   621,     0,
     1483       2,   608,   609,     2,   623,     2,   657,   658,     0,   666,
     1484       0,     3,     0,     3,     3,     3,     3,   398,   397,   401,
     1485       0,   731,     2,     2,   730,   109,     0,     0,     0,     0,
     1486       3,   448,     3,     0,   227,   142,     3,   280,   279,     0,
     1487       0,     0,     0,     2,   187,     0,   185,     0,     0,     0,
     1488       0,     0,     0,   191,     0,   279,   531,   147,   144,   279,
     1489       0,     0,   252,   264,     3,     3,   530,   642,   597,   279,
     1490     279,   279,   353,   357,     0,     2,   681,   682,   279,   251,
     1491     279,     0,   499,   476,   279,     0,     0,   475,   490,     0,
     1492     207,     0,   213,   106,     0,     0,   113,   110,     0,     0,
     1493       0,     0,     0,     0,    24,     0,   638,   279,   564,   699,
     1494     704,   707,   708,   709,     0,     3,     3,   660,   279,   279,
     1495     279,     3,     3,     0,   668,     0,     0,     0,     0,   729,
     1496     279,   279,     3,   528,   109,   455,     0,     0,   230,   280,
     1497       0,     0,     0,     0,   279,   188,   186,     0,   183,   189,
     1498       0,     0,     0,   192,   195,   193,   190,     0,   126,   140,
     1499     138,   228,     0,     0,     0,   279,   279,   108,   279,   405,
     1500     409,   408,     0,   493,     2,   494,     2,   495,   489,   279,
     1501     214,     0,     0,     3,   644,    32,   111,     2,    45,     2,
     1502      43,    41,    29,   109,    27,     3,   710,     0,     0,     3,
     1503       3,     3,     0,     0,   667,   669,   611,   624,   254,     2,
     1504     395,     3,   394,     0,   457,   454,   126,     0,     0,   126,
     1505       3,     0,   126,   184,     0,     2,   200,   194,     0,   108,
     1506     136,   558,   598,     0,   352,   279,     3,     2,     0,     0,
     1507       2,   208,   215,     0,     0,     0,     0,     0,     0,   250,
     1508     249,     0,     0,     0,   670,   671,   279,     0,   456,   148,
     1509       0,     0,     2,   161,   126,   150,     0,   178,     0,   126,
     1510       0,     2,   152,     0,     2,     2,   279,     0,   354,     0,
     1511     279,   498,   500,   491,     0,     0,   111,    38,     3,     3,
     1512     639,   612,   625,   661,   399,   126,   154,   157,     0,   156,
     1513     160,     3,   163,   162,     0,   126,   180,   126,     3,     0,
     1514     279,     0,     2,   279,   279,   684,     2,   209,   216,     0,
     1515       0,     0,   149,     0,     0,   159,   217,   164,     2,   219,
     1516     179,     0,   182,   168,   196,     3,   201,   205,     0,   279,
     1517     355,   279,     0,    39,    46,    44,   155,   158,   126,     0,
     1518     165,   279,   126,   126,     0,   169,     0,     0,   675,   202,
     1519     203,   204,   197,     3,   358,   279,   145,   166,   151,   126,
     1520     220,   181,   176,   174,   170,   153,   126,     0,   676,     0,
     1521       0,   146,   167,   177,   171,   175,   174,   172,     3,     0,
     1522     477,   173,   198,     3,   199
    15221523};
    15231524
     
    15251526static const yytype_int16 yydefgoto[] =
    15261527{
    1527       -1,   814,   456,   291,    45,   129,   130,   292,   293,   294,
    1528      295,   760,   742,  1131,  1132,   296,   297,   298,   299,   300,
    1529      301,   302,   303,   304,   305,   306,   307,   308,   309,  1034,
    1530      506,   974,   311,   975,   533,   953,  1059,  1523,  1061,  1062,
    1531     1063,  1064,  1524,  1065,  1066,  1454,  1455,  1420,  1421,  1422,
    1532     1506,  1507,  1511,  1512,  1541,  1542,  1067,  1378,  1068,  1069,
    1533     1310,  1311,  1312,  1492,  1070,   957,   958,   959,  1400,  1484,
    1534     1485,   457,   458,   875,   876,  1042,    48,    49,    50,    51,
    1535       52,   329,   153,    55,    56,    57,    58,    59,   331,    61,
     1528      -1,   816,   457,   291,    45,   129,   130,   292,   293,   294,
     1529     295,   762,   744,  1134,  1135,   296,   297,   298,   299,   300,
     1530     301,   302,   303,   304,   305,   306,   307,   308,   309,  1037,
     1531     507,   977,   311,   978,   534,   956,  1062,  1526,  1064,  1065,
     1532    1066,  1067,  1527,  1068,  1069,  1457,  1458,  1423,  1424,  1425,
     1533    1509,  1510,  1514,  1515,  1544,  1545,  1070,  1381,  1071,  1072,
     1534    1313,  1314,  1315,  1495,  1073,   960,   961,   962,  1403,  1487,
     1535    1488,   458,   459,   877,   878,  1045,    48,    49,    50,    51,
     1536      52,   329,   152,    55,    56,    57,    58,    59,   331,    61,
    15361537      62,   253,    64,    65,   264,   333,   334,    68,    69,    70,
    1537       71,   114,    73,   196,   336,   115,    76,   116,    78,    79,
    1538       80,   437,   438,   439,   440,   677,   919,   678,    81,    82,
    1539      444,   698,   856,   857,   339,   340,   701,   702,   703,   341,
    1540      342,   343,   344,   454,   171,   131,   132,   510,   313,   164,
    1541      628,   629,   630,   631,   632,    83,   117,   477,   478,   945,
    1542      479,   267,   483,   314,    85,   133,   134,    86,  1336,  1111,
    1543     1112,  1113,  1114,    87,    88,   719,    89,   263,    90,    91,
    1544      180,  1036,   664,   393,   121,    92,   489,   490,   491,   181,
    1545      258,   183,   184,   185,   259,    95,    96,    97,    98,    99,
    1546      100,   101,   188,   189,   190,   191,   192,   825,   590,   591,
    1547      592,   593,   594,   595,   596,   597,   558,   559,   560,   561,
    1548      682,   102,   599,   600,   601,   602,   603,   604,   918,   684,
    1549      685,   686,   578,   347,   348,   349,   350,   441,   159,   104,
    1550      105,   351,   352,   696,   555
     1538      71,   114,    73,   195,   336,   115,    76,   116,    78,    79,
     1539      80,   438,   439,   440,   441,   679,   922,   680,    81,    82,
     1540     445,   700,   858,   859,   339,   340,   703,   704,   705,   341,
     1541     342,   343,   344,   455,   170,   131,   132,   511,   313,   163,
     1542     629,   630,   631,   632,   633,    83,   117,   478,   479,   948,
     1543     480,   267,   484,   314,    85,   133,   134,    86,  1339,  1114,
     1544    1115,  1116,  1117,    87,    88,   721,    89,   263,    90,    91,
     1545     179,  1039,   665,   393,   121,    92,   490,   491,   492,   180,
     1546     258,   182,   183,   184,   259,    95,    96,    97,    98,    99,
     1547     100,   101,   187,   188,   189,   190,   191,   827,   591,   592,
     1548     593,   594,   595,   596,   597,   598,   559,   560,   561,   562,
     1549     684,   102,   600,   601,   602,   603,   604,   605,   921,   686,
     1550     687,   688,   579,   347,   348,   349,   350,   442,   158,   104,
     1551     105,   351,   352,   698,   556
    15511552};
    15521553
    15531554/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15541555   STATE-NUM.  */
    1555 #define YYPACT_NINF -1306
     1556#define YYPACT_NINF -1297
    15561557static const yytype_int16 yypact[] =
    15571558{
    1558     6112, 10121, -1306,    45, -1306, -1306, -1306, -1306, -1306, -1306,
    1559    -1306,    27, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1560    -1306, -1306, -1306, -1306, -1306,    94,    94,    94,   808,   829,
    1561       69,  7553,   431, -1306, -1306, -1306, -1306, -1306,   134, -1306,
    1562    -1306, -1306,  1527, -1306,  4935, -1306, -1306, -1306, -1306, -1306,
    1563    -1306,    26,   185, -1306,  1590, -1306, -1306, -1306, -1306,   194,
    1564      544,   310,   103,  4656, -1306, -1306,  9491,  1148, -1306, -1306,
    1565    -1306,   779,   321,  3969,   180,  1184,   779,  1266, -1306, -1306,
    1566      614,   276, -1306,   779,  1398,   228, -1306,   350,   396, -1306,
    1567    -1306, -1306, -1306,   244,   185,    94, -1306,    94, -1306, -1306,
    1568    -1306, -1306, 10357,  1590, -1306, -1306,  1590, -1306, 10416,   306,
    1569    -1306, -1306,   946, 10475, -1306,   431,   431,   431, -1306, -1306,
    1570    -1306,    94, -1306, -1306, -1306,   360,   406,   415, -1306, -1306,
    1571    -1306,   427, -1306, -1306, -1306, -1306, -1306,   436,   460, -1306,
    1572      463,   431,  8930,  3037,   712,   484,   502,   510,   513,   524,
    1573      541,  6995, -1306,   566, -1306,  9560, -1306, -1306, -1306, -1306,
    1574      571, -1306,   234,  4195, -1306,   344,   251, -1306, -1306, -1306,
    1575    -1306,   601,   345,   349,   389,    94,   611, -1306,   544,  2525,
    1576      633, -1306,   129, -1306,    94,    94,   185, -1306, -1306,   222,
    1577    -1306,    94,    94,  2900,   637,   644,   431, 11276, -1306, -1306,
    1578      661, -1306,  4935, -1306, -1306,   779, -1306, -1306,   185, -1306,
    1579     1590,    26, -1306,  7796, -1306,   431,   431,   431,   185, -1306,
    1580      808, -1306,  6454, -1306, -1306,   657,   431, -1306,   431, -1306,
    1581    -1306, 10180,   647,   829,   671,   431, -1306,   808,   669,   673,
    1582    -1306,  7553,   752, -1306, -1306, -1306,  9361, -1306, -1306,  5911,
    1583    -1306,   633,   191, 10475,  5789,   946,  2900, -1306,   291, -1306,
    1584    -1306, 10416,  1590,   704,  2725, -1306, -1306,   255, -1306, 11839,
    1585    11556, 11613, 11556, 11670, -1306,   734, -1306, -1306, -1306, -1306,
    1586    11727, 11727,   752,  8612, -1306, 11556,  9036, -1306, -1306, -1306,
    1587    -1306, -1306, -1306,   770, -1306,   468,  1857, 11556, -1306,   446,
    1588      717,   853,   280,   793,   751,   737,   733,   795,   166, -1306,
    1589    -1306,   778,   551, -1306,   298, -1306, -1306,  3037, -1306, -1306,
    1590      401,   802, -1306,   490,   802, -1306,  8718,   811, -1306, -1306,
    1591     1169,   608,  8252, 11276,   779, -1306,   779,   431,   431, -1306,
    1592    -1306, -1306, -1306, -1306, -1306,   431, 10534,  1590, -1306, -1306,
    1593    10593,  1775, -1306,  6995, -1306, -1306, -1306, -1306, -1306, -1306,
    1594    -1306, -1306,  4717, 11556, -1306, -1306, -1306, -1306, -1306, -1306,
    1595    -1306, -1306, -1306, -1306, -1306, -1306, -1306,   946, -1306,   807,
    1596      826,   840,   846,   849,   855,   868,   875,  2525, -1306, -1306,
    1597      820,    26, -1306, -1306, -1306,   881, -1306, -1306, -1306,  9361,
    1598    -1306, -1306, -1306, -1306, -1306,  2900, -1306,  8930,  8930, -1306,
    1599      946, 12073,  8930,  7904, -1306, -1306, -1306, -1306,  9361,   191,
    1600    -1306, -1306,   779,   185, -1306, -1306,  9361, -1306,  6576, -1306,
    1601    -1306,   431,   431,  8506, 10652, -1306,  1231,  3253, -1306,   400,
    1602      418,   829, -1306, 10180,   884,   864,   829,   431, -1306, -1306,
    1603    -1306, -1306, 11012, -1306,   521,  8172, -1306,   185,   891, -1306,
    1604      946, 11914,  5969, -1306, -1306, -1306, -1306,   916,  2900, -1306,
    1605     8317,   633,  7444, -1306, -1306, -1306,  1642,   538,   778,   829,
    1606     2725,   700, 10416, -1306,  2725, -1306, -1306, -1306, -1306,   572,
    1607    -1306,   901, -1306, -1306,   122,  8612, -1306, -1306,  8612, -1306,
    1608     8824,  8612, -1306, -1306, -1306, -1306, -1306,   581,   912,   557,
    1609      918, -1306,  6659, -1306, -1306, -1306,   100, -1306, -1306,  6125,
    1610    -1306,   113, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1611    -1306, -1306,  5789,  5789, -1306, 11556, 11556, 11556, 11556, 11556,
    1612    11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556, 11556,
    1613    11556, 11556, 11556,  4485,  5789, -1306,   551,   858, -1306, -1306,
    1614       94,    94, -1306, -1306,  8930, -1306, -1306, -1306,   881,   752,
    1615    -1306,   881,  6659, -1306,  9142,   924, -1306, 10711, -1306, -1306,
    1616      571, -1306,  9696,   928, -1306,  1037, -1306,  2282,   292,   778,
    1617    -1306,    94,    94,   778,   300, -1306,    94,    94,   881, -1306,
    1618    -1306,    94,    94, -1306,   802, 10770,  1590, 12045,   172,   352,
    1619    10770, -1306, 10947, -1306,   778, -1306, 10534, -1306,   171,   931,
    1620     7969,  7969,  1590,  4778,   929, -1306,   372,   935, -1306,   956,
    1621     4195,   607, -1306,  1042,  1590,  7969,   752,   946,   752,   633,
    1622      763,   802, -1306, -1306,   797,   802, -1306, -1306, -1306,   997,
    1623    -1306, 11499,   185, 11012, -1306,   589,   976,   605,   984, -1306,
    1624      626, -1306,   986,   185, -1306, -1306,  9361,   185,  1612,   980,
    1625      983,   435,   443,  7107,  1354, 11556,  2791, -1306, -1306,   987,
    1626       87,   987, -1306, -1306, -1306,    94,    94, -1306, -1306,   829,
    1627    -1306,    94, -1306, -1306,  9764,   829,   996, 11556, -1306,   884,
    1628    12045, -1306, -1306,  1003, -1306, -1306, -1306,   752, -1306, 11980,
    1629    11556, -1306,  7969,   585,  8252, -1306, -1306,   571,  1001,  1002,
    1630     1642,  3314, -1306, -1306,  2725, -1306, -1306,   980, -1306, -1306,
    1631     1010, -1306,   980,  1013, 11839,  5789,   992,  1044,  1018,  1019,
    1632    -1306,  1015,  1025, -1306,  1026,  1027,  6771, -1306,  5789, -1306,
    1633      557,   926, -1306,  5040,  5789,  1029,  1022, -1306, -1306, -1306,
    1634      629, -1306,  5789, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1635      446,   446,   717,   717,   853,   853,   853,   853,   280,   280,
    1636      793,   751,   737,   733,   795, 11556,   886, -1306, 11012,  1032,
    1637     1034,  1035,   858, -1306, -1306, -1306, -1306, -1306, 11012, 11499,
    1638      653,  1038,  7219,  9248,  6995, -1306, -1306,  1030,  1043, -1306,
    1639    10357, -1306, -1306,  1037, 11012,   923,  1045,  1048,  1049,  1056,
    1640     1057,  1058,  1060,  3551,  2282, -1306, -1306, -1306, -1306, -1306,
    1641    -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1642    -1306, -1306,   881, -1306, -1306, -1306,   778, -1306, -1306, -1306,
    1643    -1306, -1306, -1306, -1306, -1306, 10239, -1306, -1306,  1061,  1062,
    1644    -1306,    26,  1041,  1022,  4778, -1306, -1306, -1306,  4717,  1039,
    1645    -1306, -1306, -1306, -1306,   829,  6270,  1111, -1306, -1306, -1306,
    1646    -1306,  1047,    26, -1306, -1306,   881, -1306, -1306,   881,   347,
    1647    11556,  1063, -1306, -1306, -1306, -1306, -1306, -1306, -1306,  6995,
    1648      899, -1306,   185, -1306,  1612,  2196,  1070,  1074, -1306, -1306,
    1649    -1306,  1077,   953,  1076,  1086,  1087, -1306,  2791, -1306, -1306,
    1650    -1306, -1306, -1306, -1306, -1306,  1231, -1306,   864, -1306, -1306,
    1651     1083,  1089,  1084, -1306, -1306,  1095,  1107, -1306,   585,  1172,
    1652    -1306,   375, -1306,  3314,   778, -1306,  1091,  2725, 10829,  8930,
    1653     1114, -1306, -1306,  1109,  1116, -1306,  1118,   295,  1112, -1306,
    1654     1117,  1117,  6659,  5789, -1306, -1306,  1117,  1120, -1306,   926,
    1655     4717, -1306, -1306, -1306, -1306,  1119,  5240,  5789,  1121,   752,
    1656     4778, -1306,  6125, -1306,   752, -1306,  5789, -1306,   828,   802,
    1657    -1306, -1306, -1306, -1306,  9389, -1306,  8718, -1306, -1306,  7331,
    1658     1127, -1306, -1306, -1306, -1306,  1131, -1306,   852,   802, -1306,
    1659      870,   879,   802, -1306,   431,  1135,  5490, -1306, -1306, -1306,
    1660    11012, 11012, -1306,  8382,  8382,  7969,  1133,  1132,  1134,  1139,
    1661    -1306, -1306,  1144,   596,    62,  1022, -1306,   752, -1306,  4195,
    1662    -1306,  5789,   458, -1306,  6547,  1149,  1151, 11442,  1152,  1153,
    1663       52,    75,    37,  5789,  1158,   185,  4069, -1306,  1113,  1138,
    1664    -1306, -1306, -1306,  1156, -1306, -1306, -1306, -1306, -1306, -1306,
    1665    -1306, -1306, -1306,   829,  1162,  5789, -1306, 11012, 11012,    94,
    1666      802,  1164,  1163,  1030, -1306,  2196,   819,   829,  6659, 10888,
    1667      887,   802, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1668    -1306,  1179,  1172, -1306, -1306,  1165, -1306,   980, -1306, -1306,
    1669      946,  1167, -1306, -1306, -1306,   662,  1183, -1306, 11556,  1161,
    1670     1044,  1044,  1182, -1306,  9823,   956,  5789,  1189,  1119,   540,
    1671       74,  1186, -1306,  1182, -1306,  1191,  1186, -1306, -1306,  1195,
    1672    -1306, -1306,   881,  1197, -1306, 10534, -1306,  6883,  1198,  1200,
    1673     1205, -1306, 10298,  7969,  7969, -1306,  1208, -1306, -1306,   881,
    1674    -1306, -1306, -1306, -1306,   881,  5789, -1306,  5789, 11556,  1209,
    1675    -1306, -1306, -1306, -1306, -1306, -1306, -1306,  1213, -1306, -1306,
    1676    -1306, -1306, -1306, 11556, 11556,  1212,  1214,  1186, -1306, -1306,
    1677      829, -1306, -1306, -1306,  3779, 10829,  5789,  5789,  1272,  5789,
    1678    -1306, -1306,  1203, -1306,  1204,  5789,  1206,  1207,  5789,  1006,
    1679    -1306,  1215,  6659,    94, -1306, -1306,  6270,  1222,   477, -1306,
    1680    -1306, -1306, -1306, -1306,   881, -1306,  9628,  8930, 10180,  1216,
    1681    -1306,  1229, -1306, -1306,   881, 11248, -1306,  8317,  1217, -1306,
    1682    -1306, 10829,   486,   495, -1306,  1230,  1245, -1306,   308, -1306,
    1683     5789,  1244,  1242, -1306, -1306,  1248,   136,   146,   752,  1251,
    1684     1254, -1306,  1256, -1306, 11012, -1306, -1306, -1306, -1306, -1306,
    1685    -1306,  1257, -1306, -1306, -1306, 11012, 11012, 11012, -1306, -1306,
    1686     1260, -1306,  1264,  1267,  1268,   646, -1306,  8036,  8144, -1306,
    1687    -1306,   715, -1306,  1270,  1273, -1306,  8447,   690,   721,  1275,
    1688      725,  6425, -1306, -1306,   508, -1306, -1306,   730,  1277,   185,
    1689     1316,  1326, -1306, -1306,  1278, 11442, -1306, -1306, -1306,  1279,
    1690     1282,   740,  9885, 10180,  5774, 11012, -1306, -1306, -1306,  1281,
    1691    -1306, -1306, -1306, -1306, -1306, -1306, 10829, -1306,  1261,  1315,
    1692     1119,   357, -1306, -1306, -1306, -1306, -1306, -1306, -1306, -1306,
    1693     1283, -1306, -1306, -1306,  1289,  1293, -1306, -1306, -1306,  1295,
    1694     1296, -1306, -1306, -1306, -1306, -1306, -1306, -1306,  1302, -1306,
    1695     1301, -1306, -1306, 11442,   130,  5789, 11442, -1306,  1304,  5789,
    1696    -1306,   155,  1328, -1306, -1306,  1314,  9458, -1306, -1306, -1306,
    1697      320, -1306,  9944, -1306, -1306,  1590,   946,  1311, -1306, -1306,
    1698      742,  1320,  5789,   752,   752,  1325, -1306, -1306,  1330,  1331,
    1699     1334, -1306, -1306,  8382,  1329, -1306,  1401, 11556,  1333, -1306,
    1700    -1306, 11362, -1306,   745, -1306,  1319, 11442,  1324, -1306, -1306,
    1701     1336, -1306,  1355, 10180,  1343, -1306,  1352, 10829, -1306, -1306,
    1702    -1306,  1332,  1387,  1358, -1306,  1186,  1186, -1306, -1306, -1306,
    1703    -1306, -1306, 11442,   118, -1306,   954, -1306, -1306,  7662, -1306,
    1704    -1306,  1339,  5789, -1306,  5789,  7662,   185, 10652,  1362, -1306,
    1705    10003, 10180, -1306,  1364, -1306, -1306,  5789,  1365,  1370, -1306,
    1706    11556, 11556, -1306, -1306,  1024,   101, -1306, -1306,  1356, -1306,
    1707     1024, -1306, -1306,  1567,   752,   185, 10652, -1306, 10062,  1375,
    1708    -1306, -1306, -1306, -1306, -1306, 11362,  1372,  1024,  7731,  5789,
    1709    11282,  1377,  1024,  1380,  1567,  2919, -1306, -1306, -1306, -1306,
    1710    -1306, -1306,  8930, -1306, 11127, -1306, 11362, -1306, -1306,  1361,
    1711    11046, -1306, -1306, 11282,   185,  2919,  1385,   747, -1306, 11127,
    1712    -1306, -1306, -1306, 11046, -1306, -1306,   185, -1306, -1306, -1306,
    1713    -1306, -1306
     1559    5063, 10209, -1297,   115, -1297, -1297, -1297, -1297, -1297, -1297,
     1560   -1297,   109, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297,
     1561   -1297, -1297, -1297, -1297, -1297,   252,   252,   252,   866,   397,
     1562     123,  7705,   771, -1297, -1297, -1297, -1297, -1297,   225, -1297,
     1563   -1297, -1297,   776, -1297,  9574, -1297, -1297, -1297, -1297, -1297,
     1564   -1297,   208,   239, -1297,  1099, -1297, -1297, -1297, -1297,   242,
     1565     505,   360,   130,  7814, -1297, -1297,  9642,   626, -1297, -1297,
     1566   -1297,   693,   365,  5846,   163,   733,   693,  1021, -1297, -1297,
     1567     289,   218, -1297,   693,  1254,   275, -1297,   401,   413, -1297,
     1568   -1297, -1297, -1297,   327,   239,   252, -1297,   252, -1297, -1297,
     1569   -1297, -1297, 10445,  1099, -1297, -1297,  1099, -1297, 10504,   344,
     1570   -1297, -1297,   638, 10563, -1297,   771,   771,   771, -1297, -1297,
     1571   -1297,   252, -1297, -1297, -1297,   380,   384, -1297, -1297, -1297,
     1572   -1297,   400, -1297, -1297, -1297, -1297,   457,   466, -1297,   486,
     1573     771,  9150,  2777,    75,   495,   519,   568,   584,   594,   602,
     1574    3892, -1297,   608, -1297,  9710, -1297, -1297, -1297, -1297,   617,
     1575   -1297,   206,  4815, -1297,   643,   243, -1297, -1297, -1297, -1297,
     1576     639,   325,   326,   385,   252,   663, -1297,   505,  1914,   735,
     1577   -1297,    84, -1297,   252,   252,   239, -1297, -1297,   105, -1297,
     1578     252,   252,  2563,   705,   742,   771, 11342, -1297, -1297,   746,
     1579   -1297,  9574, -1297, -1297,   693, -1297, -1297,   239, -1297,  1099,
     1580     208, -1297,  3694, -1297,   771,   771,   771,   239, -1297,   866,
     1581   -1297,  3561, -1297, -1297,   691,   771, -1297,   771, -1297,   769,
     1582   -1297, 10268,   768,   397,   795,   771, -1297,   866,   782,   789,
     1583   -1297,  7705,   852, -1297, -1297, -1297,  3826, -1297, -1297, 11035,
     1584   -1297,   735,   121, 10563,  6255,   638,  2563, -1297,   136, -1297,
     1585   -1297, 10504,  1099,   814, 12170, -1297, -1297,   422, -1297, 11905,
     1586   11622, 11679, 11622, 11736, -1297,   824, -1297, -1297, -1297, -1297,
     1587   11793, 11793,   852,  8832, -1297, 11622,  9256, -1297, -1297, -1297,
     1588   -1297, -1297, -1297,   872, -1297,   996,  2005, 11622, -1297,   482,
     1589     140,   497,   633,   675,   843,   844,   870,   901,    28, -1297,
     1590   -1297,   884,   516, -1297,   314, -1297, -1297,  2777, -1297, -1297,
     1591     551,   911, -1297,   588,   911, -1297,  8938,   933, -1297, -1297,
     1592    1002,  1428,  8472, 11342,   693, -1297,   693,   771,   771, -1297,
     1593   -1297, -1297, -1297, -1297, -1297,   771, 10622,  1099, -1297, -1297,
     1594   10681,  1019, -1297,  3892, -1297, -1297, -1297, -1297, -1297, -1297,
     1595   -1297, -1297,  4608, 11622, -1297, -1297, -1297, -1297, -1297, -1297,
     1596   -1297, -1297, -1297, -1297, -1297, -1297, -1297,   638, -1297,   839,
     1597     916,   938,   940,   867,   949,   963,   970,  1914, -1297, -1297,
     1598     979,   208, -1297, -1297, -1297,   980, -1297, -1297, -1297,  3826,
     1599   -1297, -1297, -1297, -1297, -1297,  2563, -1297,  9150,  9150, -1297,
     1600     638, 12198,  9150,  8124, -1297, -1297, -1297, -1297,  3826,   121,
     1601   -1297, -1297,   693,   239, -1297, -1297,  3826, -1297,  4002, -1297,
     1602   -1297,   771,   771,  9150,  8726, 10740, -1297,   377,  4504, -1297,
     1603     388,   402,   397, -1297, 10268,   981,   975,   397,   771, -1297,
     1604   -1297, -1297, -1297, 11159, -1297,   339,  8392, -1297,   239,   994,
     1605   -1297,   638, 11980,  6754, -1297, -1297, -1297, -1297,   926,  2563,
     1606   -1297,  8537,   735,  6493, -1297, -1297, -1297,   944,   540,   884,
     1607     397, 12170,   276, 10504, -1297, 12170, -1297, -1297, -1297, -1297,
     1608     571, -1297,  1009, -1297, -1297,    18,  8832, -1297, -1297,  8832,
     1609   -1297,  9044,  8832, -1297, -1297, -1297, -1297, -1297,   604,  1010,
     1610     581,  1012, -1297,  7016, -1297, -1297, -1297,   147, -1297, -1297,
     1611    6903, -1297,   152, -1297, -1297, -1297, -1297, -1297, -1297, -1297,
     1612   -1297, -1297, -1297,  6255,  6255, -1297, 11622, 11622, 11622, 11622,
     1613   11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622, 11622,
     1614   11622, 11622, 11622, 11622,  5083,  6255, -1297,   516,   886, -1297,
     1615   -1297,   252,   252, -1297, -1297,  9150, -1297, -1297, -1297,   980,
     1616     852, -1297,   980,  7016, -1297,  9362,  1015, -1297, 10799, -1297,
     1617   -1297,   617, -1297,  9846,  1017, -1297,   804, -1297,  1782,   146,
     1618     884, -1297,   252,   252,   884,   236, -1297,   252,   252,   980,
     1619   -1297, -1297,   252,   252, -1297,   911, 10858,  1099, 12111,   198,
     1620     427, 10858, -1297, 11094, -1297,   884, -1297, 10622, -1297,    14,
     1621    1020,  8189,  8189,  1099,  5252,  1014, -1297,   210,  1022, -1297,
     1622    1025,  4815,   367, -1297,  1106,  1099,  8189,   852,   638,   852,
     1623     735,   737,   911, -1297, -1297,   753,   911, -1297, -1297, -1297,
     1624    1060, -1297, 11565,   239, 11159, -1297,   629,  1035,   670,  1036,
     1625   -1297,   699, -1297,  1037,   239, -1297, -1297,  3826,   239,   701,
     1626     889,  1032,  1034,   405,   425,  7368,  1486, 11622,  2366, -1297,
     1627   -1297,  1039,   125,  1039, -1297, -1297, -1297,   252,   252, -1297,
     1628   -1297,   397, -1297,   252, -1297, -1297,  9914,   397,  1038, 11622,
     1629   -1297,   981, 12111, -1297, -1297,  1047, -1297, -1297, -1297,   852,
     1630   -1297, 12046, 11622, -1297,  8189,   610,  8472, -1297, -1297,   617,
     1631    1048,  1050,   944,  2999, -1297, -1297, 12170, -1297, -1297,  1032,
     1632   -1297, -1297,  1053, -1297,  1032,  1056, 11905,  6255,  1045,  1085,
     1633    1059,  1061, -1297,  1062,  1068, -1297,  1075,  1077,  7128, -1297,
     1634    6255, -1297,   581,  1714, -1297,  5360,  6255,  1076,  1078, -1297,
     1635   -1297, -1297,   711, -1297,  6255, -1297, -1297, -1297, -1297, -1297,
     1636   -1297, -1297,   482,   482,   140,   140,   497,   497,   497,   497,
     1637     633,   633,   675,   843,   844,   870,   901, 11622,   667, -1297,
     1638   11159,  1081,  1082,  1083,   886, -1297, -1297, -1297, -1297, -1297,
     1639   11159, 11565,   714,  1084,  7480,  9468,  3892, -1297, -1297,  1086,
     1640    1088, -1297, 10445, -1297, -1297,   804, 11159,   945,  1089,  1090,
     1641    1093,  1094,  1095,  1096,  1100,  4041,  1782, -1297, -1297, -1297,
     1642   -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297, -1297,
     1643   -1297, -1297, -1297, -1297,   980, -1297, -1297, -1297,   884, -1297,
     1644   -1297, -1297, -1297, -1297, -1297, -1297, -1297, 10327, -1297, -1297,
     1645    1103,  1105, -1297,   208,  1104,  1078,  5252, -1297, -1297, -1297,
     1646    4608,  1114, -1297, -1297, -1297, -1297,   397,  6608,  1162, -1297,
     1647   -1297, -1297, -1297,  1087,   208, -1297, -1297,   980, -1297, -1297,
     1648     980,   203, 11622,  1109, -1297, -1297, -1297, -1297, -1297, -1297,
     1649   -1297,  3892,   721, -1297,   239, -1297, -1297,   889,  2623,  1120,
     1650    1124, -1297, -1297, -1297,  1123,   848,  1128,  1130,  1132, -1297,
     1651    2366, -1297, -1297, -1297, -1297, -1297, -1297, -1297,   377, -1297,
     1652     975, -1297, -1297,  1133,  1135,  1127, -1297, -1297,  1139,  1140,
     1653   -1297,   610,  1909, -1297,   496, -1297,  2999,   884, -1297,  1137,
     1654   12170, 10917,  9150,  1144, -1297, -1297,  1141,  1145, -1297,  1147,
     1655     301,  1148, -1297,  1146,  1146,  7016,  6255, -1297, -1297,  1146,
     1656    1149, -1297,  1714,  4608, -1297, -1297, -1297, -1297,  1153,  5205,
     1657    6255,  1158,   852,  5252, -1297,  6903, -1297,   852, -1297,  6255,
     1658   -1297,   788,   911, -1297, -1297, -1297, -1297,  5490, -1297,  8938,
     1659   -1297, -1297,  7592,  1159, -1297, -1297, -1297, -1297,  1167, -1297,
     1660     877,   911, -1297,   882,   907,   911, -1297,   771,  1168,  4314,
     1661   -1297, -1297, -1297, 11159, 11159, -1297,  8602,  8602,  8189,  1171,
     1662    1169,  1170,  1177, -1297, -1297,  1176,   557,    37,  1078, -1297,
     1663     852, -1297,  4815, -1297,  6255,   444, -1297,  6884,  1180,  1181,
     1664   11508,  1189,  1191,    15,    96,    38,  6255,  1193,   239,  4178,
     1665   -1297,  1187,  1173, -1297, -1297, -1297,  1192, -1297, -1297, -1297,
     1666   -1297, -1297, -1297, -1297, -1297, -1297,   397,  1198,  6255, -1297,
     1667   11159, 11159,   252,   911,  1200,  1201,  1086, -1297,  2623,   331,
     1668     397,  7016, 10976,   914,   911, -1297, -1297, -1297, -1297, -1297,
     1669   -1297, -1297, -1297, -1297,  1205,  1909, -1297, -1297,  1188, -1297,
     1670    1032, -1297, -1297,   638,  1203, -1297, -1297, -1297,   722,  1202,
     1671   -1297, 11622,  1194,  1085,  1085,  1207, -1297,  6185,  1025,  6255,
     1672    1212,  1153,   307,   288,  1211, -1297,  1207, -1297,  1216,  1211,
     1673   -1297, -1297,  1209, -1297, -1297,   980,  1219, -1297, 10622, -1297,
     1674    7241,  1222,  1223,  1224, -1297, 10386,  8189,  8189, -1297,  1221,
     1675   -1297, -1297,   980, -1297, -1297, -1297, -1297,   980,  6255, -1297,
     1676    6255, 11622,  1228, -1297, -1297, -1297, -1297, -1297, -1297, -1297,
     1677    1231, -1297, -1297, -1297, -1297, -1297, 11622, 11622,  1230,  1234,
     1678    1211, -1297, -1297,   397, -1297, -1297, -1297,  8059, 10917,  6255,
     1679    6255,  1294,  6255, -1297, -1297,  1217, -1297,  1218,  6255,  1220,
     1680    1226,  6255,   831, -1297,  1232,  7016,   252, -1297, -1297,  6608,
     1681    1233,   452, -1297, -1297, -1297, -1297, -1297,   980, -1297,  9778,
     1682    9150, 10268,  1237, -1297,  1243, -1297, -1297,   980, 11314, -1297,
     1683    8537,  1246, -1297, -1297, 10917,   467,   542, -1297,  1251,  1260,
     1684   -1297,   359, -1297,  6255,  1263,  1261, -1297, -1297,  1265,   245,
     1685     257,   852,  1267,  1269, -1297,  1270, -1297, 11159, -1297, -1297,
     1686   -1297, -1297, -1297, -1297,  1272, -1297, -1297, -1297, 11159, 11159,
     1687   11159, -1297, -1297,  1276, -1297,  1277,  1280,  1281,   619, -1297,
     1688    8256,  8364, -1297, -1297,   625, -1297,  1283,  1284, -1297,  8667,
     1689     727,   731,  1288,   740,  6735, -1297, -1297,   543, -1297, -1297,
     1690     756,  1289,   239,  1329,  1338, -1297, -1297,  1290, 11508, -1297,
     1691   -1297, -1297,  1291,  1293,   780,  9973, 10268,  6075, 11159, -1297,
     1692   -1297, -1297,  1292, -1297, -1297, -1297, -1297, -1297, -1297, 10917,
     1693   -1297,  1275,  1327,  1153,   537, -1297, -1297, -1297, -1297, -1297,
     1694   -1297, -1297, -1297,  1295, -1297, -1297, -1297,  1301,  1305, -1297,
     1695   -1297, -1297,  1306,  1308, -1297, -1297, -1297, -1297, -1297, -1297,
     1696   -1297,  1307, -1297,  1309, -1297, -1297, 11508,    90,  6255, 11508,
     1697   -1297,  1313,  6255, -1297,   187,  1328, -1297, -1297,  1315,  5778,
     1698   -1297, -1297, -1297,   332, -1297, 10032, -1297, -1297,  1099,   638,
     1699    1311, -1297, -1297,   800,  1317,  6255,   852,   852,  1320, -1297,
     1700   -1297,  1322,  1323,  1324, -1297, -1297,  8602,  1321, -1297,  1379,
     1701   11622,  1325, -1297, -1297, 11428, -1297,   810, -1297,  1312, 11508,
     1702    1318, -1297, -1297,  1333, -1297,  1341, 10268,  1335, -1297,  1343,
     1703   10917, -1297, -1297, -1297,  1319,  1356,  1339, -1297,  1211,  1211,
     1704   -1297, -1297, -1297, -1297, -1297, 11508,   270, -1297,   951, -1297,
     1705   -1297,  7923, -1297, -1297,  1326,  6255, -1297,  6255,  7923,   239,
     1706   10740,  1345, -1297, 10091, 10268, -1297,  1342, -1297, -1297,  6255,
     1707    1347,  1348, -1297, 11622, 11622, -1297, -1297,   952,   237, -1297,
     1708   -1297,  1331, -1297,   952, -1297, -1297,  1642,   852,   239, 10740,
     1709   -1297, 10150,  1355, -1297, -1297, -1297, -1297, -1297, 11428,  1353,
     1710     952,  7992,  6255, 11348,  1354,   952,  1360,  1642,  2460, -1297,
     1711   -1297, -1297, -1297, -1297, -1297,  9150, -1297, 11193, -1297, 11428,
     1712   -1297, -1297,  1340,  4905, -1297, -1297, 11348,   239,  2460,  1361,
     1713     819, -1297, 11193, -1297, -1297, -1297,  4905, -1297, -1297,   239,
     1714   -1297, -1297, -1297, -1297, -1297
    17141715};
    17151716
     
    17171718static const yytype_int16 yypgoto[] =
    17181719{
    1719    -1306,  4178,  3354, -1306,  1595, -1306,    -1,     2,   839, -1306,
    1720    -1306, -1306,  -497,  -915,  -215,  4919, -1306,   975,   537,   542,
    1721      346,   554,   941,   943,   950,   945,   949, -1306,    17,  -251,
    1722     5020,   377,  -700,  -894, -1306,  -198,  -684,  -459, -1306,    77,
    1723    -1306,   290, -1062, -1306, -1306,    40, -1306, -1305, -1076,   127,
    1724    -1306, -1306, -1306, -1306,   -21, -1283, -1306, -1306, -1306, -1306,
    1725    -1306, -1306,   216,    31,    14,   408, -1306,   414, -1306,    76,
    1726    -1306,  -305, -1306, -1306, -1306,   467,  -851, -1306, -1306,     8,
    1727     -929,    10,  2660, -1306, -1306, -1306,  -110, -1306,   299,   597,
    1728      -29,  1428,  4046, -1306, -1306,    55,    49,    79,  -229,  1809,
    1729    -1306,  1752, -1306, -1306,    66,  2021, -1306,  2437,  1677, -1306,
    1730    -1306,  -412,  -376,  1122,  1124,   625,   871,  -270, -1306, -1306,
    1731     1105,   627,  -558, -1306,  -460,  -395,    48, -1306, -1306,  -855,
    1732     -990,   470,   652,   990,   -16, -1306,   727,    -5,  -244,  -195,
    1733     -127,   583,   692, -1306,   930, -1306,  2734,  -373,   841, -1306,
    1734    -1306,   619, -1306,  -405, -1306,    85, -1306, -1306, -1306, -1245,
    1735      327, -1306, -1306, -1306,  1097, -1306,    28, -1306, -1306,  -832,
    1736     -104, -1279,  -133,  2533, -1306,  3317, -1306,   836, -1306,  -122,
    1737     1439,  -163,  -160,  -157,     4,   -41,   -37,   -36,   587,    42,
    1738       51,    90,  -121,  -155,  -152,  -151,  -149,  -294,  -486,  -446,
    1739     -427,  -545, -1306,  -531, -1306, -1306,  -525,  -485,  -484,  -477,
    1740     1927,  4727,  -549,  -504,  -503,  -475,  -461, -1306,  -386,  -662,
    1741     -654,  -649,  -575,  -248,  -333, -1306, -1306,   226,   125,   -50,
    1742    -1306,   339,   169,  -590,  -241
     1720   -1297,  4539,  3474, -1297,    22, -1297,    -1,     2,   817, -1297,
     1721   -1297, -1297,  -495,  -902,  -132,  5887, -1297,  1449,   523,   552,
     1722     430,   558,   919,   920,   921,   922,   924, -1297,   150,  -242,
     1723    5319,   346,  -694,  -917, -1297,    87,  -701,   234, -1297,   157,
     1724   -1297,   254, -1077, -1297, -1297,    -6, -1297, -1273,  -892,    95,
     1725   -1297, -1297, -1297, -1297,   -60, -1267, -1297, -1297, -1297, -1297,
     1726   -1297, -1297,   168,   -11,    51,   368, -1297,   375, -1297,    33,
     1727   -1297,  -295, -1297, -1297, -1297,   432,  -848, -1297, -1297,     6,
     1728    -970,    26,  2983, -1297, -1297, -1297,  -117, -1297,    66,   718,
     1729     -14,  1458,  4231, -1297, -1297,    55,   134,   124,  -247,  1805,
     1730   -1297,  1752, -1297, -1297,   135,  2146, -1297,  2351,  1577, -1297,
     1731   -1297,  -431,  -435,  1074,  1079,   582,   830,   342, -1297, -1297,
     1732    1070,   585,  -481, -1297,  -462,   -65,  -412, -1297, -1297,  -973,
     1733    -968,   783,  1252,   948,   156, -1297,    83,   233,  -297,  -199,
     1734    -148,   548,   655, -1297,   904, -1297,  2844,  -402,   807, -1297,
     1735   -1297,   590, -1297,  -393, -1297,   101, -1297, -1297, -1297, -1251,
     1736     299, -1297, -1297, -1297,  1071, -1297,    63, -1297, -1297,  -839,
     1737    -111, -1296,  -104,  2118, -1297,  3091, -1297,   811, -1297,  -172,
     1738    1440,  -168,  -165,  -162,     4,   -37,   -34,   -32,   611,    36,
     1739      67,    71,  -161,  -156,  -154,  -153,  -138,  -284,  -490,  -488,
     1740    -486,  -538, -1297,  -480, -1297, -1297,  -524,  -520,  -505,  -499,
     1741    1640,  5025,  -528,  -541,  -515,  -512,  -459, -1297,  -388,  -645,
     1742    -634,  -633,  -576,  -124,  -277, -1297, -1297,   710,   153,   -86,
     1743   -1297,   361,   821,  -610,  -304
    17431744};
    17441745
     
    17491750static const yytype_int16 yytable[] =
    17501751{
    1751      109,   145,    46,   140,    94,   146,   147,   660,   257,   110,
    1752       53,   111,   913,   613,    47,   380,   420,   617,   381,   494,
    1753      914,   382,   761,   383,  1071,   915,   384,   385,   670,   386,
    1754      844,   694,   793,    46,  1176,    94,   365,   589,   827,   869,
    1755      486,    53,   826,  1072,    46,    47,    46,   391,   156,    67,
    1756      683,   954,   250,   972,   819,    66,    46,   388,   389,   139,
    1757      669,   688,    46,   860,   186,    46,    74,   208,    46,  1136,
    1758      218,   789,   790,   203,   211,   715,   212,   878,   579,   791,
    1759       67,   820,   821,  1128,   148,   507,    66,   251,   913,   406,
    1760      252,  1397,   380,   149,   652,   381,   914,    74,   382,   816,
    1761      383,   915,   107,   384,   385,    46,   386,   727,    46,   930,
    1762      822,   732,   205,   663,    46,  1193,  1460,   107,   463,   465,
    1763      118,   667,  1187,   752,    30,   103,   103,   830,   119,   167,
    1764      194,    30,   150,   837,   388,   389,   459,   145,  1456,   817,
    1765      107,   146,   147,  -218,  -218,    46,   221,   156,  1205,   163,
    1766      222,  1183,  1256,   226,   937,   228,   103,    46,   818,   355,
    1767      858,   858,   235,   656,   658,   107,    30,   409,  1174,  1175,
    1768      138,   243,  1417,  1418,   195,   858,  1201,  1184,   107,  1257,
    1769       46,    46,   722,   156,     2,   198,     4,     5,     6,     7,
    1770      392,   103,  1473,  1192,   419,    46,   650,  1417,  1418,  1203,
    1771     1460,   107,  1456,   757,    46,  1460,   156,  1480,  -218,   655,
    1772      657,   107,    46,   161,   145,    46,   763,   423,   146,   147,
    1773      148,  1460,   716,   421,   736,   859,   859,  1531,  1460,   149,
    1774      242,   737,   392,  1184,   816,   142,  1419,   725,   731,  1344,
    1775      859,   453,    34,    46,    35,    94,   471,  1176,   390,  1346,
    1776     1544,    53,   858,   488,   552,    47,   744,    46,    46,    30,
    1777      156,  1428,   422,   398,    46,   647,   648,   991,   150,   451,
    1778      158,    46,   464,   639,   817,  1019,   847,   161,   715,  1018,
    1779      848,   504,  1005,   853,   221,   417,  1138,   493,   553,   459,
    1780       67,   165,   464,   818,   554,   425,    66,   507,  1176,    60,
    1781      507,   654,   175,   507,    -3,   427,   659,    74,   459,   820,
    1782      821,   316,    74,   193,   679,   681,   459,   859,   688,    46,
    1783      797,   355,   448,   400,  -275,   392,   579,   816,    30,    30,
    1784       60,   614,    46,    46,   158,   618,   237,    30,   822,   106,
    1785      106,   107,   359,   135,   136,   242,   647,   648,   831,    46,
    1786      240,   715,   834,    46,   830,   786,  1340,   579,   360,   368,
    1787      508,   902,   579,   542,   543,  1071,   103,   817,   315,  1207,
    1788      106,   416,  1193,   851,   722,   369,   481,   854,   482,    46,
    1789      793,   205,   233,   160,  1072,   107,   818,   135,   136,    46,
    1790      827,   355,   469,   828,   392,   586,  -502,  1119,   544,   545,
    1791      563,   835,   210,   586,  1120,   106,   564,    46,  1505,   920,
    1792     1338,   920,    46,   221,  1510,   226,  1060,  1339,   816,   789,
    1793      790,   844,   515,  1176,   916,   716,  1433,   791,   415,   254,
    1794      416,  1526,  1174,  1175,   820,   821,  1533,   107,    46,   135,
    1795      136,     8,     9,    10,    11,    12,   929,   160,  1530,  1079,
    1796     1379,   366,   262,   371,   109,   161,   849,   373,   817,  -109,
    1797      850,   -10,    46,   822,  1539,    74,  1402,  1177,    30,   372,
    1798       46,  1543,   355,   374,    46,   865,    94,   818,    46,   849,
    1799     -109,   160,    53,  1103,    74,  1134,    47,   415,  1445,  1446,
    1800      738,    33,    74,   739,   357,   581,   745,   375,   716,   741,
    1801      665,   221,   565,   870,   392,   486,   882,  -429,   689,   511,
    1802      205,   380,   158,   376,   381,   758,  -430,   382,   741,   383,
    1803      764,    67,   384,   385,   690,   386,   691,    66,   266,  1193,
    1804     1017,  1093,   811,   880,   708,  1252,  1193,   268,    74,   683,
    1805       60,   160,   692,   689,  1115,   460,   516,   517,   518,  1161,
    1806     1163,   691,   210,  1019,   388,   389,   459,   535,  1451,   908,
    1807      991,   269,   536,   537,   270,   858,  1190,   909,   453,   519,
    1808      442,   520,   508,   521,  1107,   508,   316,   316,   508,  1193,
    1809      106,   316,  1191,  1093,    46,  1190,   319,    46,  1198,    46,
    1810      846,   569,   357,   392,  1331,  1272,  1273,   103,   112,   934,
    1811      160,  1318,   316,  1333,   320,  1022,   861,  1486,    46,    36,
    1812     1332,   177,   321,    39,  1486,   322,   748,  1377,   877,  1334,
    1813       40,    41,   442,   706,    46,   160,   323,   803,  1173,   707,
    1814      859,   157,  1380,   315,   315,   879,    46,   881,   315,    46,
    1815      723,   154,  -109,   324,  -109,   178,   724,   187,  -109,  1017,
    1816      209,   316,   556,   219,   392,   179,   422,  1527,   750,   315,
    1817      392,  1146,   557,  -109,  -109,   580,  1030,   354,   751,   316,
    1818       46,   606,   358,    36,   733,   584,    46,    39,    46,   107,
    1819      734,   135,   136,   747,    40,    41,   938,  1076,   586,   748,
    1820      390,   894,   493,   858,   858,  1427,   939,   748,   460,   248,
    1821     -102,   893,   370,  1104,  -102,   154,   933,   896,   315,   585,
    1822      871,   586,   626,   748,   493,   230,   872,   460,   488,   587,
    1823      231,   511,    46,    46,   511,   460,   315,   511,   898,   892,
    1824      157,   981,    74,   316,   564,   378,    46,   982,   407,   312,
    1825      901,  1038,   356,   581,   903,   408,   160,   160,   579,   205,
    1826     1365,   160,   715,   443,  1366,   993,   137,  1060,   859,   859,
    1827     1004,   707,   412,   205,  1244,   107,   157,   135,   136,   713,
    1828      564,    60,   160,   442,   845,    74,   442,   446,  1488,   581,
    1829     1489,   430,   442,     2,   198,     4,     5,     6,     7,   157,
    1830      315,  1017,  1373,   449,   410,   647,   648,   450,   748,   414,
    1831      424,   728,   985,   679,   681,   811,   729,   232,   234,   717,
    1832      472,   106,  1267,   242,   318,    46,  1322,   107,  -454,  1146,
    1833     -454,   160,  1321,  1374,  -454,  1528,    46,  1376,   436,   748,
    1834      538,   539,  1381,   748,   442,   500,   987,   442,   748,   160,
    1835      442,    34,  1390,    35,  1441,   515,   992,  1461,   564,  1547,
    1836     1442,   205,   913,   748,   550,   564,  1387,   549,   414,   803,
    1837      914,   476,  1006,   548,   883,   915,   392,  1246,     8,     9,
    1838       10,    11,    12,   125,  1058,   126,   127,   128,   546,   547,
    1839      509,  1033,   551,   154,   107,    53,   135,   136,   774,   775,
    1840      776,   777,  1368,  1146,   107,    30,   135,   136,   886,   716,
    1841      392,   554,    46,   160,   356,   567,    46,    46,   242,   318,
    1842      392,  1392,  1188,   580,  1416,   582,   806,  1424,    33,    46,
    1843     1227,   649,   704,   576,    67,  1228,   811,    46,   640,  1140,
    1844       66,   392,  1289,  1290,   540,   541,     8,     9,    10,    11,
    1845       12,    74,   641,   611,   580,    46,   688,   615,   642,   580,
    1846      400,   643,   392,  1157,   803,   392,  1108,   644,  1109,   556,
    1847      445,   392,  1459,    30,    36,   460,  1083,  1463,    39,   557,
    1848      645,  1160,   713,   586,   356,    40,    41,   646,  1130,  1084,
    1849     1162,   741,   586,  1130,   247,  1165,    33,   697,  1232,   716,
    1850      392,  1146,   695,  1479,   748,   986,    46,  -222,  1297,  1298,
    1851      103,  1300,   735,  1137,   312,   312,  1239,  1304,   460,   312,
    1852     1307,    36,   717,   177,   749,    39,   688,   469,   318,   392,
    1853      753,  1470,    40,    41,   828,   318,   586,   750,   805,   392,
    1854      668,   436,   812,   442,   436,   855,  1130,   751,   -12,   811,
    1855      436,  1345,  1347,  1348,   867,   713,  1058,   255,   422,  1202,
    1856     1204,  1206,   112,   940,    53,   318,   392,   256,  1033,  1498,
    1857     1308,  1309,  1481,  1482,   868,  1538,  1417,  1418,  1171,  1172,
    1858      874,  1538,   279,   103,   811,   770,   771,   476,   895,   312,
    1859     1538,   476,   772,   773,  1538,   717,   897,    46,   724,   627,
    1860      900,   564,   509,    67,   688,   509,   675,   312,   509,  1195,
    1861      778,   779,    36,   928,   705,  -403,    39,  1517,  -506,   942,
    1862       74,   949,    46,    40,    41,   951,   955,  1537,   316,   956,
    1863      960,   961,   688,   704,   963,  1221,  1222,   964,   965,   966,
    1864      977,  1001,  1209,   976,   988,   493,   989,   990,   813,  1073,
    1865      586,   606,   994,   803,  1002,  1031,  1040,  1007,   587,  1093,
    1866     1008,  1009,     2,   198,     4,     5,     6,     7,  1010,  1011,
    1867     1012,   312,  1013,  -391,  -390,   845,  1453,  1080,   693,   103,
    1868     1075,   576,  1086,   445,    60,   315,  1087,  1423,  1090,   809,
    1869      220,  1089,     8,     9,    10,    11,    12,  -276,  1091,  1092,
    1870     1096,  1097,  1098,  1106,     8,     9,    10,    11,    12,  1099,
    1871      493,   493,   843,   211,   203,   212,   726,   576,   730,    30,
    1872       34,  1100,    35,   852,   106,  1058,  1116,   748,  1117,  1118,
    1873     1121,    30,  1213,   970,  1124,  1129,    53,  1126,    46,  1503,
    1874     1453,  1152,    33,  1155,    36,  1178,   168,   169,    39,  1166,
    1875     1179,  1181,  1180,   205,    33,    40,    41,   497,  1182,  1108,
    1876     1196,  1109,  1197,  1199,  1200,  1130,  1130,  1130,   704,  1208,
    1877      513,   514,  1214,    -3,  1219,    67,  1225,  1226,   704,  -277,
    1878      354,    66,   534,   938,  1240,   586,     8,     9,    10,    11,
    1879       12,  1236,    74,   939,   704,  1247,   481,   106,   160,  1245,
    1880     1250,   436,  1439,  1254,  1258,  1261,    36,  1263,   177,  1265,
    1881       39,   514,  1268,    30,  1269,   705,   421,    40,    41,  1270,
    1882     1274,    53,  1352,  1281,  1058,  1286,  1291,  1299,  1292,  1329,
    1883      103,   476,  1323,  1356,  1357,  1358,    33,  1302,  1303,  1317,
    1884     1305,  1306,   674,  1324,   392,   580,   811,  1335,   514,  1313,
    1885      675,   103,   676,   460,  1108,   422,  1109,  1337,  1341,  1342,
    1886       67,   380,  1343,   866,   381,  1349,  1195,   382,  1350,   383,
    1887     1351,  1353,   384,   385,  1361,   386,   103,    74,  1362,  1363,
    1888     1364,  1309,  1058,  1393,  1371,  1058,  1375,  1372,  1382,  1438,
    1889     1385,  1388,  1386,   106,  1389,  1398,  1383,  1394,    46,  1516,
    1890     1399,  1406,  1402,   388,   389,  1407,   316,    46,    46,  1411,
    1891     1412,  -278,  1130,  1130,  -392,  1415,  1426,  1003,     8,     9,
    1892       10,    11,    12,   647,   648,  1432,   924,  1430,  1440,    36,
    1893     1058,   177,   927,    39,  1443,  1058,   103,  1447,    63,   113,
    1894       40,    41,  1448,  1449,   493,    30,  1450,  1366,  1466,    93,
    1895      705,  1452,  1457,  1462,  1468,  1108,   713,  1109,  1464,  1471,
    1896      705,  1058,   809,   315,  1472,   674,  1474,   392,    33,    63,
    1897      141,   103,  1475,  1487,  1495,   676,   705,  1476,    53,  1501,
    1898       93,  1499,   155,   145,  1502,    53,  1522,   146,   147,  1525,
    1899     1509,   144,  1534,    93,  1532,  1540,   717,  1546,   889,   780,
    1900      704,   704,   781,  1518,   213,    46,   783,   493,   493,   182,
    1901      782,   784,    93,  1253,  1058,    93,  1316,    67,  1429,  1058,
    1902      767,   768,   769,  1195,    67,    60,    46,    46,    53,   156,
    1903     1195,  1504,  1548,  1058,    74,  1058,  1384,  1520,  1248,  1058,
    1904      249,    74,  1058,   210,   106,  1249,   713,    46,  1058,   355,
    1905     1218,  1490,  1058,  1491,   476,  1110,   312,   704,   704,   514,
    1906     1094,   699,   921,  1125,  1095,   106,   671,    67,   672,   800,
    1907     1039,   873,   103,  1195,  1105,   944,   160,   442,  1330,   718,
    1908      952,   317,  1519,   809,    74,     0,   717,     0,     0,   332,
    1909      106,     0,    93,   103,     0,     0,     0,     0,     0,     0,
    1910      103,  1144,    36,   843,    93,   627,    39,     0,     0,     0,
    1911      460,  1043,     0,    40,    41,     0,     0,   387,     0,     0,
    1912        0,  1545,     0,     0,     0,     0,     0,   379,   182,     0,
    1913        0,   405,     0,  1550,   141,   411,     0,     0,    42,     0,
    1914      155,     0,    36,   103,   177,   210,    39,     0,   143,     0,
    1915      106,    93,     0,    40,    41,     0,     0,     0,     0,   170,
    1916      428,     0,    93,     0,   431,    36,   432,   168,   169,    39,
    1917        0,   442,   442,   447,     0,     0,    40,    41,  1514,    63,
    1918      392,     0,   705,   705,   461,   106,     0,    36,  1515,     0,
    1919       93,    39,     0,     0,   468,   514,   809,     0,    40,    41,
    1920        0,   316,   411,  1494,   467,     0,     0,   627,   170,     0,
    1921        0,   170,     0,     0,     0,  1327,     0,    36,     0,     0,
    1922        0,    39,     0,   904,     0,   392,     0,     0,    40,    41,
    1923        0,   809,  1494,   905,     0,     0,     0,     0,   971,   705,
    1924      705,   442,     0,     0,   704,     0,     0,     0,     0,     0,
    1925      207,     0,  1266,   720,     0,   704,   704,   704,   315,  1144,
    1926        0,     0,    72,   721,   577,     0,    93,   460,     0,     0,
    1927        0,   607,     0,     0,   460,     0,     0,     0,     0,     0,
    1928      588,     0,   442,     0,   612,     0,   106,     0,   612,     0,
    1929        0,   332,     0,    72,     0,     0,     0,     0,     0,     0,
    1930      207,     0,     0,     0,     0,   704,     0,   106,     0,     0,
    1931     1043,     0,     0,     0,   106,   170,   442,   460,     0,   442,
    1932      442,     0,     0,  1229,  1230,     0,     0,     0,   214,     0,
    1933        0,     0,     0,  1144,   312,   436,   182,   461,     0,     0,
    1934        0,     0,   207,     0,     0,   442,     0,   442,  1110,     0,
    1935       36,   332,   168,   169,    39,     0,   461,   106,     0,     0,
    1936        0,    40,    41,     0,   461,     0,     0,   170,     0,     0,
    1937        0,   160,     0,     0,   170,   514,     0,     0,     0,     0,
    1938        0,     0,   206,     0,     0,   680,   358,     0,     0,     0,
    1939      700,     0,   224,   411,     0,     0,     0,  1328,     0,     0,
    1940      207,     0,     0,     0,     0,     0,     0,     0,   714,     0,
    1941       63,     0,     0,   335,     0,     0,     0,     0,   411,     0,
    1942        0,    93,   411,     0,     0,   588,   705,  1295,     0,   436,
    1943      436,  1144,   206,     0,     0,   170,   207,   705,   705,   705,
    1944      207,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
    1945      332,     0,   170,     0,     0,     0,   170,   522,   523,   524,
    1946      525,   526,   527,   528,   529,   530,   531,     0,     0,     0,
    1947        0,     0,     0,     0,   206,     0,     0,     0,     0,     0,
    1948        0,   514,     0,     0,   429,     0,     0,   705,     0,     0,
    1949      532,     0,     0,   809,     0,   792,     0,     0,     0,   436,
    1950        0,     0,     0,    72,     0,     0,     0,     0,    72,     0,
    1951      802,     0,   577,     0,     0,     0,     0,     0,     0,   207,
    1952      249,     0,     0,     0,     0,   824,     0,     0,     0,   497,
    1953        0,    75,   206,     0,   815,     0,   588,     0,     0,     0,
    1954      436,     0,     0,   577,  1110,     0,     0,     0,   577,     0,
    1955        0,     0,     0,     0,   612,     0,     0,     0,   332,   332,
    1956        0,     0,    75,     0,     0,     0,     0,     0,   206,     0,
    1957        0,     0,   206,   332,  1493,     0,     0,   436,   436,     0,
    1958        0,     0,     0,     0,     0,     0,     0,     0,   487,     0,
    1959        0,   700,     0,     0,     0,   214,     0,   215,   207,     0,
    1960        0,     0,     0,  1493,   461,   436,     0,     0,     0,     0,
    1961        0,   714,     0,     0,   917,   335,     0,   588,     0,   394,
    1962        0,     0,     0,   912,     0,   680,   402,  1434,     0,   312,
     1752     109,   257,    46,   690,    94,   144,   388,   110,   145,   380,
     1753     146,   420,   381,   696,   365,   382,   250,   389,   139,   661,
     1754     871,   383,   487,   384,   385,   763,    53,   111,   495,  1074,
     1755     846,   916,   671,    46,   795,    94,   957,   791,  1075,   386,
     1756     669,   672,   917,   918,    46,   822,    46,   590,   155,   685,
     1757     828,    47,   792,  1177,  1178,    66,    46,    53,   793,  1179,
     1758     829,   975,    46,  1131,   185,    46,    60,   207,    46,   614,
     1759     217,   823,   210,   618,   824,   391,   169,  1196,   147,   729,
     1760     107,   406,    47,   734,   388,  1139,    66,   380,  1400,   202,
     1761     381,   933,   211,   382,   138,   389,   818,    60,   819,   383,
     1762     820,   384,   385,   107,   653,    46,   821,   916,    46,   148,
     1763     657,   659,   136,   149,    46,   465,   553,   386,   917,   918,
     1764     738,    30,   754,   664,  1459,   169,  1186,   739,   169,   460,
     1765     832,   668,  1420,  1421,    67,    74,   839,   555,  1190,  1204,
     1766     144,   862,    30,   145,    46,   146,   155,   464,   466,  1208,
     1767     554,  1463,  1187,   103,   103,   880,    46,   193,   355,   860,
     1768     860,   107,    30,   232,   234,    67,    74,     2,   197,     4,
     1769       5,     6,     7,    30,   860,   727,   242,   318,   390,    46,
     1770      46,   409,   155,    30,   103,   242,   733,   392,  1459,  1476,
     1771     118,   220,   651,   724,    46,   221,  1422,   204,   225,  1195,
     1772     227,   194,   580,    46,   746,   155,   400,   235,   392,   166,
     1773     119,    46,   107,   147,    46,   648,   423,   107,   144,   103,
     1774    1206,   145,   465,   146,   137,    34,   649,    35,   392,  1420,
     1775    1421,   169,   818,   940,   819,  1463,   820,   470,   421,   392,
     1776    1463,   454,   895,    46,   148,    94,  1534,   830,   149,   587,
     1777     759,   243,   860,   539,   540,   765,  1463,    46,    46,   251,
     1778     155,   690,   252,  1463,    46,   681,   640,    53,   799,  1547,
     1779     994,    46,  1179,    30,   822,   107,   683,   135,   516,  -218,
     1780    -218,   505,   460,   107,   169,   135,   833,    -3,  1021,    30,
     1781     836,   169,    47,  1431,   655,  1141,    66,   648,  1022,   660,
     1782     823,   460,   849,   824,   452,  1082,   850,    60,   649,   460,
     1783     107,   853,   461,   867,   359,   856,   446,  1177,  1178,    46,
     1784     427,   355,   107,  1179,   233,   818,   141,   819,   220,   820,
     1785     360,   162,    46,    46,  1196,  1008,  1343,   837,   449,   587,
     1786     855,   107,   398,   135,  -218,   164,   422,   718,  1347,    46,
     1787     174,   368,   169,    46,   107,  1210,   135,   229,   832,  1483,
     1788    1349,   106,   106,   192,   417,   419,  1259,   369,  -275,   169,
     1789     508,  1074,   904,   169,   425,    67,    74,   730,   990,    46,
     1790    1075,    74,   731,   237,   795,  1187,   724,   791,   995,    46,
     1791     230,   355,   106,  1260,   103,   231,   107,   107,   135,   135,
     1792     822,   240,   792,  1122,  1009,   159,   717,    46,   793,  -109,
     1793    1123,  -109,    46,  -502,   829,  -109,   564,   818,   472,   819,
     1794     494,   820,   565,   846,   209,   489,   823,   106,   242,   824,
     1795    -109,  -109,  1230,   371,   373,   919,  1533,  1231,  1436,    46,
     1796     509,   708,    36,  1454,   176,   628,    39,   709,  1179,   372,
     1797     374,   580,  1542,    40,    41,   109,  1382,   932,   220,  1546,
     1798     225,  1341,   107,    46,   135,   461,   204,   254,  1342,   159,
     1799     873,    46,   627,   355,   262,    46,   874,    94,   676,    46,
     1800     392,   -10,   580,   872,   461,  -430,   677,   580,   678,   487,
     1801    1137,  1196,   461,   375,   656,   658,   691,   813,  1196,    53,
     1802     743,   266,   159,   615,  1448,  1449,   388,   619,   380,   376,
     1803     693,   381,   692,   691,   382,   357,   760,   389,  1255,   743,
     1804     383,   766,   384,   385,    47,   695,   694,   882,    66,   911,
     1805     446,   851,  1096,   693,    74,   852,   884,   715,   386,    60,
     1806     685,  1196,  1020,   482,  1025,   483,   220,  1180,  1110,   912,
     1807     460,   718,  1193,    74,  1164,  1166,   861,   861,   268,  1118,
     1808    1193,    74,   159,   728,   994,   732,   860,   269,  1194,   454,
     1809      36,   861,   176,   209,    39,  1334,  1321,  1022,   541,   542,
     1810     666,    40,    41,   508,  1096,    46,   508,   270,    46,   508,
     1811      46,  1335,   443,   536,   937,  1508,   204,   319,   537,   538,
     1812     851,  1513,   106,  1380,  1106,   810,   177,    67,    74,    46,
     1813     717,  1174,  1175,  1489,   357,   710,   178,   557,  1529,   392,
     1814    1489,   320,   159,  1536,   718,    46,   103,   558,   805,   169,
     1815       2,   197,     4,     5,     6,     7,   881,    46,   883,  -109,
     1816      46,   788,   725,  1107,   443,   169,  1405,   159,   726,   861,
     1817    1336,   750,   566,   509,   392,   156,   509,   169,   219,   509,
     1818    -109,  -102,  1020,  1530,  1033,  -102,  1337,  1383,  1224,  1225,
     1819     321,   186,    46,   735,   208,  1275,  1276,   218,    46,   736,
     1820      46,  1430,   752,   717,   392,  1079,   322,   581,    34,   570,
     1821      35,   392,   753,   607,   860,   860,   323,     2,   197,     4,
     1822       5,     6,     7,    36,   324,   176,   749,    39,   936,   354,
     1823     868,   941,   750,   587,    40,    41,   543,   544,   358,   112,
     1824    1149,   942,  1041,  1368,    46,    46,  1007,  1369,  -454,   740,
     1825    -454,   896,   741,   461,  -454,   747,  -276,   750,    46,   255,
     1826     370,   715,   422,     8,     9,    10,    11,    12,   648,   256,
     1827     366,   545,   546,   156,   157,    34,   681,    35,   169,   649,
     1828     547,   548,   153,   848,  1491,   356,  1492,   683,   159,   159,
     1829      30,   813,   898,   159,   927,   750,   989,   461,   750,   863,
     1830     930,     8,     9,    10,    11,    12,    36,   378,  1086,   156,
     1831      39,   879,   390,    33,   159,   159,   443,    40,    41,   443,
     1832    1325,   900,    74,   906,  1020,   443,   407,   565,    30,   565,
     1833     894,  1531,   156,   984,   715,   430,   996,    46,   157,   985,
     1834     248,   903,   709,   424,  1247,   905,   153,   494,    46,  1376,
     1835     565,    33,   719,  1377,   106,   750,   204,  1324,   885,   750,
     1836     392,    36,  1379,   408,   159,    39,    74,   412,   750,   494,
     1837     204,   315,    40,    41,   888,  1355,   392,   443,  1384,   312,
     1838     443,   805,   159,   443,   750,   160,  1359,  1360,  1361,    36,
     1839     433,  1270,   916,    39,   444,   580,  1061,    42,  1149,  1249,
     1840      40,    41,  1393,   917,   918,  1311,  1312,   142,   565,  1143,
     1841     690,   392,   489,   813,  1191,  1395,     8,     9,    10,    11,
     1842      12,   447,  1444,    53,    46,   815,   450,   587,  1445,    46,
     1843      46,   415,  1464,   451,   410,   588,  1396,   107,   750,   414,
     1844     473,  1550,    46,    30,   810,   501,   159,   565,   356,   160,
     1845      46,   125,    66,   126,   127,   128,   581,   988,   204,   808,
     1846     242,   318,   392,    60,  1292,  1293,    33,   516,    46,   437,
     1847     318,   392,  1149,   628,    36,   549,   805,  1111,    39,  1046,
     1848     690,  1176,   316,   861,   550,    40,    41,   581,   400,   644,
     1849     392,   415,   581,   776,   777,   778,   779,  1112,  1160,   414,
     1850     392,  1133,   477,  1163,   743,   587,  1133,   557,   552,   392,
     1851     907,   551,   392,   512,  1420,  1421,   157,   558,   356,    46,
     1852     908,   510,  1242,  1168,   153,  1473,   813,   555,  1165,    36,
     1853     587,    67,    74,    39,   568,  1235,  1036,   392,   641,   810,
     1854      40,    41,   416,   923,  -277,   923,   718,   470,   318,   392,
     1855     103,     8,     9,    10,    11,    12,   719,   583,   690,  1133,
     1856     642,   813,   643,  1501,   577,   722,   830,   318,   587,  1061,
     1857    1149,   645,  1205,  1207,  1209,   723,   628,   443,    30,  1484,
     1858    1485,  1087,   772,   773,   612,   646,   690,    36,   616,   167,
     1859     168,    39,   647,    53,   517,   518,   519,   943,    40,    41,
     1860     650,    33,   416,   247,    36,   717,   167,   168,    39,   697,
     1861      46,   861,   861,   774,   775,    40,    41,   520,   699,   521,
     1862    -222,   522,  1198,   354,   103,   780,   781,   160,  1520,   719,
     1863     737,  1063,   751,   461,   755,    46,   718,   315,   315,   807,
     1864     358,   814,   315,   -12,   857,   312,   312,  1348,  1350,  1351,
     1865     312,   869,  1540,   870,   876,   279,   422,   897,   899,  1140,
     1866     726,   902,   565,   315,   315,   931,   805,   582,   677,  -404,
     1867    1096,   312,   670,   437,   952,  -506,   437,   945,   954,  1046,
     1868     959,   963,   437,   964,    36,   607,   167,   168,    39,   958,
     1869     967,   966,  1232,  1233,   112,    40,    41,   968,  1456,   969,
     1870     979,    67,    74,   991,   992,   993,   980,  1004,   997,  1005,
     1871    1076,  1010,  1011,   315,  1036,  1012,  1013,  1014,  1015,   477,
     1872     103,   312,  1016,   477,   210,  -392,   512,  -391,  1034,   512,
     1873    1078,   315,   512,  1083,   510,  1212,   715,   510,  1061,   312,
     1874     510,  1043,  1089,   202,   211,  1371,  1090,  1092,   316,   316,
     1875    1093,    46,  1094,   316,  1095,  1101,   706,  1100,   106,  1109,
     1876    1099,  1506,  1456,  1102,  1103,    53,  1119,  1120,  1121,   750,
     1877    1111,   810,   973,  1127,   316,   316,  1124,  -278,  1133,  1133,
     1878    1133,  1129,  1132,  1155,     8,     9,    10,    11,    12,  1158,
     1879    1112,   494,  1169,  1181,    66,   315,  1298,  1182,  1183,  1184,
     1880    1185,  1199,  1200,   312,  1201,    60,  1300,  1301,  1442,  1303,
     1881    1202,    30,  1203,   577,  1211,  1307,  1216,  1217,  1310,    -3,
     1882    1222,   811,  1228,   813,   316,  1229,   715,  1239,  1248,   482,
     1883    1243,  1266,   106,   159,    33,  1253,  1257,  1061,  1250,  1261,
     1884    1264,  1268,   316,  1277,   845,   421,  1271,  1272,  1273,   577,
     1885      53,   204,  1284,  1289,  1294,   854,   494,   494,  1295,  1302,
     1886    1320,  1305,  1306,  1326,  1308,  1111,   388,  1327,  1332,   380,
     1887    1309,   103,   381,    67,    74,   382,  1316,   389,  1338,  1198,
     1888     581,   383,  1340,   384,   385,  1112,   648,  1344,  1345,  1346,
     1889     461,  1352,   103,  1353,  1354,  1061,  1356,   649,  1061,   386,
     1890    1364,  1365,  1366,  1367,  1312,  1519,   316,  1374,  1375,  1378,
     1891    1385,    46,  1388,  1391,  1389,  1392,   582,   103,  1397,  1401,
     1892      46,    46,  1402,  1409,  1405,  1133,  1133,  1410,   106,  -393,
     1893    1414,   810,  1415,  1418,   437,  1429,  1435,  1433,  1443,  1455,
     1894     169,  1446,  1450,  1061,  1451,  1452,  1453,   847,  1061,  1369,
     1895    1471,  1478,   582,   422,  1460,  1469,  1465,   706,    67,    74,
     1896      93,  1474,  1467,  1477,   477,  1475,  1111,  1498,  1479,  1502,
     1897    1490,  1504,  1505,  1063,  1061,  1512,  1525,   103,    63,   113,
     1898    1528,  1535,  1537,  1549,  1543,  1426,  1112,   891,   782,  1386,
     1899     783,    93,   784,  1319,   785,  1256,  1437,   786,  1507,  1432,
     1900     144,  1387,   143,   145,    93,   146,  1551,    53,  1523,    63,
     1901     140,  1251,   103,    36,    53,   585,  1521,    39,    46,  1252,
     1902     181,  1493,   154,    93,    40,    41,    93,  1061,  1221,   673,
     1903    1097,   719,  1061,   924,   674,  1098,  1198,   701,   802,    46,
     1904      46,  1128,   155,  1198,   212,  1042,  1061,   461,  1061,   586,
     1905    1006,   587,  1061,   947,   461,  1061,   875,    53,  1108,   588,
     1906      46,  1061,   355,  1333,   720,  1061,     0,   955,     0,     0,
     1907       0,    36,  1390,   176,  1441,    39,     0,     0,   209,   106,
     1908     249,     0,    40,    41,     0,     0,  1198,     0,     0,     0,
     1909     494,     0,     0,   706,     0,   811,     0,   461,     0,     0,
     1910     106,     0,    93,   706,     0,     0,     0,   676,     0,   392,
     1911       0,   159,   443,   103,    93,    67,    74,   678,     0,   706,
     1912     317,   719,    67,    74,     0,   106,     0,     0,   332,     0,
     1913    1419,     0,     0,  1427,   103,     0,     0,   379,   181,     0,
     1914       0,   103,     0,     0,     0,     0,  1494,     0,     0,     0,
     1915       0,     0,     0,   494,   494,     0,   387,     0,     0,     0,
     1916     206,    93,     0,     0,     0,    67,    74,     0,     0,     0,
     1917     405,     0,    93,   140,   411,  1522,     0,     0,  1462,   154,
     1918     209,     0,   315,  1466,   103,   106,     0,     0,   477,  1113,
     1919     312,     0,     0,     0,     0,     0,     0,     0,     0,   428,
     1920       0,    93,     0,   431,     0,   432,   443,   443,     0,  1482,
     1921     206,     0,     0,   448,  1548,   468,     0,   811,     0,    63,
     1922     106,     0,     0,     0,   462,   707,  1553,    36,     0,   176,
     1923       0,    39,     0,     0,   469,  1147,     0,   845,    40,    41,
     1924       0,   498,   411,     0,     8,     9,    10,    11,    12,     0,
     1925       0,   206,     0,     0,   514,   515,     0,     0,     0,     0,
     1926       0,     0,     0,  1517,     0,   392,   535,     0,     0,     0,
     1927       0,    30,    72,  1518,     0,     0,   443,    93,     0,     0,
     1928       0,  1541,     0,     0,     0,     0,     0,  1541,     0,     0,
     1929       0,   589,     0,   316,    33,   515,  1541,     0,     0,     0,
     1930    1541,     0,     0,    72,   578,     0,     0,     0,     0,   206,
     1931       0,   608,     8,     9,    10,    11,    12,   443,     0,     0,
     1932       0,   106,     0,     0,   613,     0,   706,   706,   613,     0,
     1933     811,   332,   515,     0,     0,   752,     0,   392,   213,    30,
     1934     847,   394,   106,     0,     0,   753,   206,   181,   402,   106,
     1935     206,   443,     0,     0,   443,   443,     0,     0,     0,     0,
     1936       0,     0,    33,     0,     0,   811,     0,    36,     0,   585,
     1937       0,    39,     0,     0,     0,     0,     0,   462,    40,    41,
     1938     443,     0,   443,   706,   706,     0,  1269,     0,   205,     0,
     1939       0,   332,   106,  1147,     0,     0,   462,   682,   223,     0,
     1940       0,     0,     0,   586,   462,   587,   159,     0,     0,     0,
     1941       0,     0,     0,   588,     0,     0,     0,     0,   394,     0,
     1942       0,     0,   335,     0,     0,     0,   707,     0,     0,   206,
     1943       0,   702,     0,    93,   411,     0,     0,   589,   205,     8,
     1944       9,    10,    11,    12,     8,     9,    10,    11,    12,   716,
     1945       0,    63,     0,     0,     0,     0,     0,     0,     0,   411,
     1946     315,     0,     0,   411,     0,     0,    30,  1147,   312,   437,
     1947       0,    30,   563,     0,     0,     0,     0,     0,     0,   205,
     1948     567,     0,  1113,   571,     0,     0,     0,     0,     0,    33,
     1949       0,   332,     0,   429,    33,     0,     0,     0,     0,    36,
     1950       0,   176,     0,    39,     0,   769,   770,   771,   206,     0,
     1951      40,    41,     0,    72,     0,     0,     0,     0,    72,     0,
    19631952       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1964        0,     0,     0,     0,     0,     0,     0,   461,   207,     0,
    1965      332,   206,     0,   514,     0,     0,     0,     0,     0,   943,
    1966        0,    72,   411,     0,     0,     0,     0,     0,     0,   815,
    1967      588,     0,     0,     0,     0,   335,     0,     0,     0,     0,
    1968       72,     0,   337,     0,   714,     0,     0,   808,    72,   969,
    1969        0,     0,     0,     0,     0,   394,     0,     0,     0,     0,
     1953     941,     0,   587,     0,     0,   177,   794,   205,     0,   394,
     1954     942,  1330,     0,   402,   515,   178,   817,     0,   589,     0,
     1955       0,   804,     0,   578,     0,     0,     0,     0,     0,   206,
     1956       0,   249,   707,   437,   437,  1147,   826,     0,     0,     0,
     1957     706,   316,   707,     0,   205,     0,     0,  1113,   205,     0,
     1958       0,   706,   706,   706,   578,     0,     0,     0,   707,   578,
     1959       0,     0,     0,     0,   488,   613,     0,     0,     0,   332,
     1960     332,     0,     0,     0,     0,   213,     0,     0,     0,     0,
     1961       0,     0,     0,     0,   332,   523,   524,   525,   526,   527,
     1962     528,   529,   530,   531,   532,   335,     0,   811,   394,     0,
     1963     589,   706,   702,   437,     0,     0,   915,     0,   682,     0,
     1964       0,     0,     0,     0,     0,   462,     0,     0,   533,     0,
     1965       0,     0,     0,   716,     0,     0,   920,   205,     0,     0,
     1966       0,     0,     0,   120,   123,   124,    75,     0,     0,     0,
     1967       0,    72,     0,     0,   437,   206,     0,     0,  1113,     0,
     1968       0,   515,   817,   589,     0,   335,     0,     0,     0,   462,
     1969      72,     0,   332,     0,     0,     0,     0,    75,    72,     0,
     1970    1497,   946,     0,     0,   411,   206,     0,     0,  1496,     0,
     1971     206,   437,   437,     0,     0,     0,     0,   563,   563,     0,
     1972       0,     0,     0,     0,   974,   335,   716,     0,     0,  1497,
     1973       0,   972,   214,   244,     0,   245,   205,  1496,     0,   437,
     1974       0,     0,     0,   335,     0,    72,     0,     0,     0,     0,
     1975       0,     0,     0,   205,     0,   315,     0,     0,     0,     0,
     1976       0,     0,     0,   312,     0,     0,     0,     0,   702,     0,
     1977       0,     0,     0,     0,     0,   817,     0,     0,   702,     0,
     1978       0,     0,     0,  1002,   804,   335,   589,   205,     0,     0,
     1979     249,     0,     0,     0,   702,   707,   707,     0,     0,   206,
     1980       0,   886,     0,  1019,     0,   889,     0,     0,     0,     0,
     1981       0,     0,   377,   206,     0,     0,   337,     0,     0,     0,
     1982       0,   396,   397,     0,     0,     0,   401,     0,   403,   404,
     1983     563,     0,     0,     0,     0,   249,     0,     0,     0,     0,
     1984       0,     0,   394,     0,     0,   335,     0,     0,     0,     0,
     1985       0,     0,   707,   707,     0,    63,     0,     0,     0,     0,
     1986       0,   515,     0,     0,     0,     0,   316,   817,   589,     0,
     1987       0,    77,     0,     0,     0,     0,     0,     0,     0,   804,
     1988     682,     0,     0,     0,     0,     0,  1088,     0,   682,     0,
     1989       0,     0,     0,   335,   335,     0,     8,     9,    10,    11,
     1990      12,   206,    77,   205,     0,     0,   589,    75,   335,     0,
     1991       0,     0,    75,     0,     0,     0,     0,     0,     0,     0,
     1992    1105,     0,     0,    30,     0,     0,   335,     0,   411,   113,
     1993       0,     0,     0,   205,     0,     0,     0,   215,   205,    72,
     1994       0,     0,     0,   332,     0,     0,    33,   335,     0,     0,
     1995       0,    36,     0,   176,   563,    39,     0,   249,     0,     0,
     1996       0,     0,    40,    41,     0,     0,     0,     0,   515,     0,
     1997       0,     0,     0,     0,     0,   613,     0,   578,     0,     0,
     1998       0,     0,     0,    72,     0,     0,   335,   676,     0,   392,
     1999       8,     9,    10,    11,    12,   140,     0,   678,     0,   214,
     2000       0,   702,   702,     0,   332,   332,   332,     0,     0,     0,
     2001    1331,     0,     0,     0,     0,     0,   498,    30,     0,   337,
     2002     335,   338,     0,     0,     0,  1197,     0,   205,     0,     0,
     2003       0,     0,     0,     0,     0,     0,     0,     0,     0,   707,
     2004      33,   205,     0,     0,     0,    36,     0,   176,   589,    39,
     2005     707,   707,   707,     0,     0,     0,    40,    41,   702,   702,
     2006       0,   488,   335,     0,     0,    75,     0,   563,   563,   804,
     2007     249,     0,   335,     0,     0,   394,     0,   213,   335,   337,
     2008       0,  1517,     0,   392,    75,     0,     0,     0,   335,     0,
     2009       0,  1518,    75,     8,     9,    10,    11,    12,     0,   206,
     2010     707,     0,     0,     0,     0,   249,     0,     0,     0,     0,
     2011       0,     0,    77,     0,     0,     0,     0,    77,     0,   337,
     2012      30,     0,     0,     0,     0,     0,   613,     0,   716,   205,
     2013       0,     0,     0,   613,   332,   332,     0,   337,     0,    75,
     2014     515,     0,     0,    33,     0,     0,     0,     0,    36,    72,
     2015     176,  1144,    39,     8,     9,    10,    11,    12,     0,    40,
     2016      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2017    1161,     0,     0,   335,     0,     0,  1299,     0,     0,   337,
     2018      30,     0,     0,     0,   255,     0,     0,     0,     0,     0,
     2019       0,     0,     0,   332,   256,     0,     0,    63,     0,   796,
     2020     797,     0,     0,    33,   215,     0,     0,   613,    36,     0,
     2021       0,     0,    39,     0,     0,     0,   702,     0,   716,    40,
     2022      41,     0,   113,     0,   338,     0,     0,   831,     0,     0,
     2023     834,   835,     0,   838,     0,   840,   841,   335,     0,   337,
     2024     842,   843,     0,     0,   907,   702,   392,     0,   563,     0,
     2025       0,     0,     0,  1236,   908,     0,   702,   702,   702,     0,
     2026       0,     0,     0,     0,     0,     0,     0,     0,   332,   332,
     2027      77,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2028       0,     0,  1197,     0,   338,     0,     0,   337,   337,    77,
     2029       0,     0,     0,     0,   206,   335,   335,    77,   335,   335,
     2030     335,     0,   337,     0,     0,   613,   702,     8,     9,    10,
     2031      11,    12,     0,     0,     0,     0,     0,   113,     0,    72,
     2032     337,     0,     0,     0,   338,   925,   926,   205,     0,     0,
     2033       0,   928,     0,    75,    30,     0,     0,     0,     0,     0,
     2034       0,   337,   338,     0,    77,     0,     0,     0,     0,     0,
     2035       0,     0,   335,   335,     0,     0,     0,    33,     0,     0,
     2036       0,     0,    36,   335,    84,     0,    39,   249,     0,     0,
     2037       0,     0,     0,    40,    41,     0,     0,    75,     0,     0,
     2038     337,     0,     0,     0,   338,     0,     0,     0,     0,     0,
     2039       0,     0,     0,     0,   332,    84,   206,     0,    42,     0,
     2040       0,     0,     0,     0,     0,     0,     0,     0,   142,     0,
     2041       0,     0,     0,     0,   337,     0,     0,     0,   113,     0,
     2042       0,     0,   335,     0,     0,     0,     0,     0,   335,   335,
     2043     216,     0,     0,     0,     0,     0,     0,     0,     0,  1197,
     2044       0,     0,     0,     0,   338,     0,  1197,     0,     0,     0,
     2045       0,     0,     0,     0,     0,     0,   337,     0,     0,     0,
     2046       0,     0,     0,     0,     0,     0,   337,     0,     0,     0,
     2047     213,   214,   337,     0,     0,     0,     0,   468,     0,     0,
     2048       0,     0,   337,     0,     0,     0,     0,   335,     0,  1197,
     2049       0,    72,   338,   338,     0,     0,  1538,     0,     0,     0,
     2050       0,     0,     0,    54,    54,     0,     0,   338,     0,     0,
     2051     335,     0,   335,     0,   345,     0,     0,     0,     0,     0,
     2052       0,     0,   205,     0,     0,   338,     0,     0,     0,     8,
     2053       9,    10,    11,    12,    54,     0,     0,     0,    77,   335,
     2054       0,     0,     0,    75,     0,     0,   338,     0,     0,     0,
     2055     335,   335,   335,     0,     0,     0,    30,     0,     0,     0,
     2056       0,     0,   335,   335,     0,     0,    54,   337,     0,    54,
     2057       0,     0,     0,     0,     0,     0,    72,     0,     0,    33,
     2058       0,     0,    77,     0,    36,   338,     0,     0,    39,     0,
     2059       0,     0,     0,     0,     0,    40,    41,     0,     0,     0,
     2060     335,     0,     0,     0,     0,    84,     0,     0,     0,     0,
     2061      84,     0,     0,     0,     0,     0,     0,     0,     0,   338,
     2062     722,     0,     0,     0,   205,     0,     0,     0,     0,     0,
     2063     723,   337,     0,     0,     0,     0,   122,   122,   122,     0,
    19702064       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1971        0,   170,     0,     0,   335,     0,     8,     9,    10,    11,
    1972       12,     0,     0,     0,     0,     0,   700,   170,     0,     0,
    1973      206,     0,   335,     0,    72,     0,   700,     0,     0,   170,
    1974        0,   999,   802,    30,     0,     0,     0,   206,   249,   562,
    1975        0,     0,   700,     0,     0,     0,     0,   566,     0,     0,
    1976      570,  1016,   815,     0,   207,     0,    33,     0,     0,     0,
    1977        0,    36,    75,   588,   335,    39,     0,    75,     0,     0,
    1978      206,     0,    40,    41,     0,     0,     0,     0,     0,     0,
    1979        0,     0,     0,   249,   207,     0,     0,     0,     0,   207,
    1980        0,     0,     8,     9,    10,    11,    12,   904,     0,   392,
    1981        0,     0,     0,    63,     0,     0,   394,   905,     0,     0,
    1982      402,     0,     0,     0,     0,     0,     0,     0,     0,    30,
    1983        0,     0,     0,     0,   335,     0,     0,   802,     0,   170,
    1984        0,     0,     0,  1085,     0,     0,     0,     0,     0,     0,
    1985        0,     0,    33,   815,   588,     0,     0,    36,     0,   584,
    1986        0,    39,     0,     0,   215,     0,   680,     0,    40,    41,
    1987        0,     0,     0,     0,   680,     0,     0,  1102,     0,     0,
    1988        0,     0,   335,   335,   337,   411,   113,   207,     0,     0,
    1989        0,     0,   588,   585,     0,   586,   206,   335,     0,     0,
    1990      332,   207,     0,   587,   394,     0,     0,     0,     0,     0,
    1991        0,     0,     0,     0,   249,   335,     0,     0,     0,     0,
    1992        0,     0,     0,     0,     0,     0,   206,     0,    72,     0,
    1993       75,   206,   612,     0,   577,   335,     0,     0,     0,     0,
    1994        0,     0,     0,     0,   337,     0,     0,    77,     0,    75,
    1995        0,     0,   141,     0,     0,     0,     0,    75,   700,   700,
    1996        0,   332,   332,   332,     0,     0,     0,     0,     0,     0,
    1997        0,    72,     0,     0,   335,     0,     0,     0,    77,     0,
    1998        0,     0,  1194,   337,     0,     0,     0,     0,     0,   207,
    1999        0,     0,     0,   562,   562,     0,     0,     0,     0,     0,
    2000        0,   337,     0,    75,     0,   808,     0,     0,   335,     0,
    2001        0,     0,     0,   216,     0,   700,   700,     0,     0,   206,
    2002        0,     0,     0,     0,     0,     0,   802,   249,     0,     0,
    2003        0,     0,     0,   206,   588,     0,     0,     0,     0,     0,
    2004        0,     0,     0,   337,     0,     8,     9,    10,    11,    12,
    2005      335,     0,     0,   487,     0,     0,     0,     0,     0,     0,
    2006      335,     0,   249,     0,     0,   214,   335,     0,   120,   123,
    2007      124,     0,    30,     0,     0,     0,   335,   884,     0,     0,
    2008        0,   887,     0,   612,     0,   714,     0,     0,     0,     0,
    2009      612,   332,   332,     0,     0,    33,     0,     0,   338,   808,
    2010       36,     0,   177,   337,    39,   562,     0,     0,     0,     0,
    2011        0,    40,    41,     0,     0,     0,     0,   394,     0,     0,
    2012        0,   206,     0,     0,     0,     0,     0,     0,     0,     0,
    2013        0,     0,     0,  1296,     0,     0,   178,    72,   244,     0,
    2014      245,     0,     0,     0,     0,     0,   179,     0,     0,     0,
    2015      332,   337,   337,     0,    63,     0,     0,     0,     0,     0,
    2016        0,   335,     0,     0,   612,     0,   337,     0,     0,     0,
    2017       54,    54,     0,   700,     0,   714,     0,     0,     0,   113,
    2018        0,     0,     0,     0,   337,     0,   207,     0,    77,     0,
    2019        0,     0,     0,    77,     0,     0,     0,    75,     0,     0,
    2020        0,    54,   700,     0,   337,     0,     0,     0,     0,     0,
    2021        0,     0,     0,   700,   700,   700,     0,     0,   377,     0,
    2022        0,     0,     0,     0,   335,   332,   332,   396,   397,   562,
    2023        0,     0,   401,    54,   403,   404,    54,     0,     0,  1194,
    2024       75,     0,     0,   337,    84,     8,     9,    10,    11,    12,
     2065       0,     0,     0,   330,     0,     0,     0,     0,     0,     0,
     2066       0,   338,     0,     0,     0,     0,     0,     0,     0,     0,
     2067       0,   338,     0,     0,     0,     0,   215,   338,     0,     0,
     2068       0,     0,     0,     0,     0,     0,     0,   338,   335,   337,
     2069     337,     0,   337,   337,   337,     0,     0,   216,     0,     0,
     2070       0,     0,     0,     0,     0,     0,   122,     0,   122,     0,
     2071       0,     0,     0,    75,     0,    54,     0,   345,     0,     0,
     2072    1226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2073       0,     0,   265,    72,     0,     0,     0,     0,     0,     0,
     2074      72,     0,     0,     0,    54,     0,   337,   337,    77,     0,
     2075       0,     0,     0,     0,     0,     0,     0,   337,     0,     0,
     2076       0,     0,     0,    84,     0,     0,     0,     0,     0,     0,
     2077       0,     0,   338,     0,     0,     0,     0,   345,     0,     0,
     2078       0,     0,    84,    72,     0,   122,     0,     0,     0,     0,
     2079      84,     0,   122,     0,   122,   122,     0,     0,     0,   122,
     2080       0,   122,   122,     0,     0,     0,     0,     0,     0,     0,
     2081       0,     0,     0,     0,     0,     0,   337,   345,     0,     0,
     2082       0,     0,   337,   337,     0,     0,     0,     0,     0,     0,
     2083       0,     0,     0,     0,     0,   345,   338,    84,     0,     0,
     2084       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2085       0,     0,     0,     0,  1318,     0,   330,     0,     0,     0,
     2086       0,     0,     0,     0,   214,     0,     0,     0,     0,   122,
     2087       0,     0,     0,     0,     0,     0,     0,   345,     0,     0,
     2088       0,   337,     0,     0,     0,    75,     0,     0,     0,     0,
     2089       0,     0,     0,     0,   338,   338,     0,   338,   338,   338,
     2090       0,     0,     0,     0,   337,     0,   337,     0,     0,     0,
     2091       0,     0,     0,     0,     0,     0,   330,     0,    77,     0,
     2092       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2093       0,     0,     0,   337,     0,     0,     0,   345,     0,     0,
     2094       0,     0,     0,     0,   337,   337,   337,     0,     0,     0,
     2095       0,   338,   338,     0,     0,     0,   337,   337,     0,     0,
     2096       0,     0,   338,     0,     0,     0,     0,     0,     0,     0,
     2097      75,     0,     0,     0,     0,     0,    54,     0,     0,     0,
     2098       0,     0,     0,     0,     0,   345,   345,     0,     0,     0,
     2099       0,     0,     0,     0,   337,     0,     0,     0,     0,     0,
     2100     345,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2101       0,     0,     0,     0,     0,     0,   330,     0,   345,     0,
     2102       0,   338,     0,     0,     0,     0,     0,   338,   338,     0,
     2103       0,    84,     0,     0,     0,     0,     0,     0,     0,   345,
     2104       0,     0,     0,     0,   161,     0,   165,     0,     0,   171,
     2105     172,   173,     0,   175,     0,     0,     0,     0,     0,     0,
     2106       0,     0,     0,     0,     0,     0,     0,     0,   224,   215,
     2107       0,     0,     0,     0,     0,    84,   330,     0,   345,   238,
     2108     239,     0,   337,     0,     0,     0,   338,     0,     0,     0,
     2109      77,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2110      17,    18,    19,    20,    21,    22,    23,    24,  -279,   338,
     2111       0,   338,   345,     0,     0,     0,     0,     0,    30,     0,
     2112       0,     0,     0,     0,   330,   330,     0,    75,     0,     0,
     2113       0,     0,     0,     0,    75,     0,     0,     0,   338,   330,
     2114       0,    33,     0,     0,   327,     0,     0,     0,     0,   338,
     2115     338,   338,  -279,     0,   345,     0,     0,     0,     0,     0,
     2116       0,   338,   338,     0,   345,     0,     0,     0,     0,   216,
     2117     345,     0,   122,   122,     0,    77,     0,    75,     0,     0,
     2118     345,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2119       0,     0,     0,     0,     0,     0,     0,     0,     0,   338,
     2120     122,     0,     0,   122,   122,     0,   122,     0,   122,   122,
     2121       0,     0,     0,   122,   122,     0,     0,   330,     2,   197,
     2122       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2123      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2124      24,    84,     0,    25,    26,    27,     0,     0,     0,     0,
     2125       0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
     2126       0,     0,     0,     0,     0,   345,     0,     0,     0,     0,
     2127       0,     0,     0,     0,    33,     0,    34,     0,    35,    36,
     2128       0,   198,   199,    39,     0,     0,     0,   338,     0,     0,
     2129      40,    41,     0,   122,     0,     0,     0,     0,   122,   122,
     2130       0,     0,     0,     0,   122,     0,     0,     0,     0,   330,
     2131       0,     0,     0,     0,     0,    42,     0,   200,     0,     0,
     2132     576,     0,   584,     0,     0,   201,     0,     0,     0,   345,
     2133       0,     0,    77,   609,   610,     0,     0,     0,     0,    77,
     2134       0,     0,     0,     0,     0,     0,     0,   620,     0,   456,
     2135       2,   197,     4,     5,     6,     7,     8,     9,    10,    11,
     2136      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2137      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2138      54,     0,    77,    30,     0,     0,     0,   345,   345,     0,
     2139     345,   345,   345,     0,     0,     0,     0,     0,     0,     0,
     2140       0,     0,     0,     0,   330,     0,    33,   663,    34,     0,
     2141      35,    84,     0,    37,    38,     0,     2,   197,     4,     5,
     2142       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2143      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2144       0,    25,    26,    27,   345,   345,     0,     0,   271,    30,
     2145     272,     0,    -3,     0,    54,   345,     0,     0,     0,     0,
     2146       0,     0,     0,     0,     0,     0,     0,     0,   330,     0,
     2147       0,   273,    33,     0,    34,     0,    35,   274,     0,    37,
     2148      38,   275,     0,     0,   276,   277,   278,   279,    40,    41,
     2149       0,   280,   281,     0,     0,     0,     0,     0,     0,   282,
     2150       0,     0,     0,     0,     0,     0,     0,   757,     0,     0,
     2151       0,     0,     0,   283,   345,   325,    -3,     0,     0,     0,
     2152     345,   345,   285,   326,   287,   288,   289,   290,     0,   330,
     2153     330,   330,     8,     9,    10,    11,    12,    13,    14,    15,
     2154      16,    17,    18,    19,    20,    21,    22,    23,    24,  -280,
     2155      54,     0,     0,     0,     0,     0,     0,     0,     0,    30,
     2156       0,     0,   216,     0,     0,     0,     0,   803,  1017,     0,
     2157       0,     8,     9,    10,    11,    12,     0,     0,     0,   345,
     2158       0,     0,    33,    84,     0,     0,     0,     0,     0,     0,
     2159       0,     0,     0,  -280,   330,     0,     0,   271,    30,   272,
     2160       0,     0,   345,     0,   345,     0,     0,     0,     0,     0,
     2161       0,     0,     0,     0,     0,     0,     0,     0,   864,     0,
     2162     273,    33,     0,     0,     0,     0,   274,     0,     0,     0,
     2163     275,   345,     0,   276,   277,   278,   279,    40,    41,     0,
     2164     280,   281,   345,   345,   345,     0,   893,     0,   282,     0,
     2165       0,     0,     0,     0,   345,   345,     0,     0,     0,   330,
     2166     330,     0,   283,     0,   361,   909,   910,     0,    84,   914,
     2167       0,   285,   892,   287,   288,   289,   290,     0,     0,     0,
     2168       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2169       0,     0,   345,   122,     0,     0,     0,   934,     0,   935,
     2170      54,    54,     0,     0,     0,     0,   938,   939,     0,     0,
     2171       0,   944,     0,     0,     0,     0,     0,     0,   330,     0,
     2172       0,     0,    54,   949,     0,     0,     0,     0,   953,     0,
     2173       0,     0,     0,     0,   271,     0,   272,     0,     0,     0,
     2174       0,     0,   970,     0,     0,     0,     0,    54,     0,     0,
     2175       0,     0,   981,     0,     0,     0,     0,   273,     0,     0,
     2176       0,     0,     0,   274,     0,     0,     0,   275,     0,     0,
     2177     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
     2178     345,     0,     0,     0,     0,   282,     0,     0,     0,     0,
     2179       0,     0,     0,   330,   330,     0,     0,     0,     0,   283,
     2180    1003,   361,    54,     0,     0,     0,     0,    54,   285,   363,
     2181     287,   288,   289,   290,   203,     0,     0,     0,     0,  1018,
     2182       0,     0,  1213,     0,   222,    84,   226,   122,   228,     0,
     2183       0,     0,    84,     0,     0,   236,     0,     0,     0,     0,
     2184       0,  1170,    54,     0,     8,     9,    10,    11,    12,     0,
     2185       0,     0,  1029,     0,  1030,  1031,  1032,     0,     0,  1035,
     2186     864,     0,     0,     0,   203,     0,   226,   228,   236,     0,
     2187     271,    30,   272,     0,  1077,    84,     0,     0,     0,     0,
     2188       0,     0,     0,     0,     0,     0,   576,     0,     0,  1084,
     2189       0,   203,     0,   273,    33,  1085,     0,     0,     0,   274,
     2190       0,     0,     0,   275,     0,   203,   276,   277,   278,   279,
     2191      40,    41,     0,   280,   281,     0,     0,     0,     0,   330,
     2192       0,   282,     0,     0,     0,     0,     0,     0,     0,     0,
     2193       0,     0,     0,     0,  1104,   283,     0,   361,     0,     0,
     2194       0,     0,     0,    54,   285,  1171,   287,   288,   289,   290,
     2195       0,     0,     0,     0,     0,     0,     0,     0,     0,   757,
     2196       0,     0,     0,   203,    54,   226,   228,   236,     0,     0,
     2197       0,    54,  1130,     0,     0,     0,     0,   864,     0,     0,
     2198    1138,     0,     0,     0,  1142,     0,     0,     0,     0,  1146,
     2199       0,     0,     0,  1151,  1152,  1153,     0,     0,     0,     0,
     2200     203,     0,     0,  1159,   203,     0,     0,     0,     0,     0,
     2201       0,     0,     0,  1172,    54,     0,     0,     0,     0,     0,
     2202     486,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2203       0,     0,  1188,  1189,     8,     9,    10,    11,    12,    13,
     2204      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2205      24,     0,     0,    25,    26,    27,     0,  1218,     0,     0,
     2206    1220,    30,   435,     0,     0,     0,     0,     0,   203,     0,
     2207       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2208       0,     0,     0,   203,    33,  1234,     0,     0,   226,   228,
     2209       0,    37,    38,     0,     0,     0,   236,     0,     0,     0,
     2210       0,     0,   150,     0,  1241,     0,     0,     0,     0,     0,
     2211    1245,  1246,     0,     0,     0,     0,     0,     0,     0,  1254,
     2212       0,     0,     0,     0,     0,  1258,     0,   436,  1262,     0,
     2213    1263,   689,     0,  1265,     0,   108,     0,     0,   203,     0,
     2214       0,     0,     0,     0,   864,     0,     0,   241,  1274,     0,
     2215       0,     0,     0,     0,     0,     0,   203,   246,     0,     0,
     2216       0,     0,   203,     0,   271,  1283,   272,  1285,  1286,  1287,
     2217    1288,     0,     0,     0,     0,     0,     0,     0,     0,   203,
     2218       0,     0,   203,   203,  1296,     0,  1297,   273,     0,     0,
     2219     165,     0,     0,   625,     0,   135,     0,   275,     0,   203,
     2220     276,   277,   278,   279,    40,    41,     0,   280,   281,  1317,
     2221     353,     0,     0,   203,     0,   282,     0,     0,  1322,  1323,
     2222     203,     0,     0,   367,     0,     0,     0,     0,     0,   283,
     2223       0,   626,     0,   627,   362,     0,     0,     0,   285,   363,
     2224     287,   288,   289,   290,     0,   399,     0,     0,     0,     0,
     2225       0,     0,     0,     0,     0,     0,     0,     0,     0,   413,
     2226       0,     0,     0,     0,     0,     0,     0,   418,     0,  1357,
     2227    1358,     0,     0,     0,     0,  1362,  1363,   426,     0,     0,
     2228       0,     0,     0,     0,     0,     0,  1373,     0,     0,   434,
     2229       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2230       0,   453,     0,     0,     0,     0,   463,     0,     0,     0,
     2231       0,     0,     0,     0,     0,     0,     0,     0,     0,   471,
     2232       0,     0,     0,     0,     0,   481,     0,   485,     0,   203,
     2233       0,     0,     0,     0,     0,     0,     0,  1404,     0,     0,
     2234       0,     0,     0,   513,     0,     0,     0,     0,     0,  1408,
     2235       0,     0,     0,  1411,  1412,  1413,     0,     0,     0,   203,
     2236       0,     0,     0,     0,   203,  1417,     0,     0,     0,     0,
     2237       0,   271,     0,   272,  1428,     0,     0,     0,     0,     0,
     2238       0,     0,     0,     0,   573,     0,     0,     0,     0,     0,
     2239    1439,     0,     0,     0,   273,     0,     0,     0,     0,     0,
     2240     274,     0,     0,     0,   275,     0,     0,   276,   277,   278,
     2241     279,    40,    41,   621,   280,   281,     0,   622,   623,     0,
     2242     624,     0,   282,     0,     0,     0,   634,   635,     0,   636,
     2243     637,     0,   638,     0,   639,     0,   283,     0,   361,     0,
     2244       0,   362,  1480,  1481,     0,   285,   363,   287,   288,   289,
     2245     290,   652,     0,   203,     0,  1486,     0,     0,     0,   654,
     2246       0,   271,  1486,   272,  1048,     0,  1049,   203,     0,  1050,
     2247    1051,  1052,  1053,  1054,  1055,  1056,  1057,  1532,  1058,     0,
     2248       0,  1059,    32,   667,   273,     0,     0,   486,     0,  1516,
     2249     625,     0,     0,     0,   275,   675,     0,   276,   277,   278,
     2250     279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
     2251       0,     0,   282,     0,     0,     0,     0,  1539,   711,     0,
     2252       0,     0,     0,     0,   714,     0,   283,     0,   361,   453,
     2253       0,   164,     0,     0,     0,   285,   363,   287,   288,   289,
     2254     290,     0,  1552,     0,     0,   203,     0,  1554,     0,  -126,
     2255       0,     0,     0,     0,     0,   203,     0,     0,     0,     0,
     2256       0,     0,     0,     0,     0,   748,     0,     0,     0,     0,
     2257       0,     0,     0,     0,     0,     0,     0,   203,     0,     0,
     2258     764,     0,     0,  -501,     0,     0,     1,     2,     3,     4,
     2259       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2260      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2261       0,     0,    25,    26,    27,    28,   790,     0,    29,     0,
     2262      30,    31,     0,     0,     0,   800,     0,   801,     0,     0,
     2263       0,     0,     0,   806,     0,     0,     0,     0,     0,   271,
     2264      32,   272,     0,    33,     0,    34,   825,    35,    36,     0,
     2265      37,    38,    39,     0,     0,     0,     0,     0,     0,    40,
     2266      41,     0,   273,     0,     0,     0,     0,     0,   274,     0,
     2267       0,   203,   275,     0,     0,   276,   277,   278,   279,    40,
     2268      41,     0,   280,   281,    42,   866,    43,     0,     0,     0,
     2269     282,     0,     0,     0,    44,   346,     0,   203,     0,     0,
     2270       0,     0,     0,     0,   283,     0,   361,     0,     0,     0,
     2271       0,     0,   787,   285,   363,   287,   288,   289,   290,     0,
     2272       0,   901,     0,   203,     0,     0,   395,     0,     0,     0,
     2273       0,     0,     0,   395,     0,     8,     9,    10,    11,    12,
    20252274      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2026       23,    24,   612,   700,    25,    26,    27,   473,   474,   475,
    2027        0,     0,    30,     0,   113,    84,     0,   337,     0,     0,
    2028      216,     0,   335,   335,     0,   335,   335,   335,     0,     0,
    2029        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2030      338,     0,    37,    38,     0,     0,    72,     0,     0,     0,
    2031      217,     8,     9,    10,    11,    12,     0,     0,   206,   337,
    2032        0,   330,     0,     0,   249,     0,     0,     0,     0,   337,
    2033        0,   808,     0,     0,   215,   337,     0,     0,    30,   335,
    2034      335,   562,   562,     0,     0,   337,    77,     0,     0,   394,
    2035      335,   332,     0,     0,     0,     0,     0,     0,     0,     0,
    2036      338,    33,     0,     0,     0,    77,    36,     0,   177,     0,
    2037       39,     0,     0,    77,     0,   113,     0,    40,    41,     0,
    2038        0,   207,     0,    54,     0,     0,     0,     0,     0,     0,
    2039        0,     0,     0,     0,     0,   345,  1194,     0,     0,   338,
    2040        0,     0,   674,  1194,   392,     0,    75,     0,     0,   335,
    2041        0,    54,   676,     0,     0,   335,   335,   338,     0,    77,
    2042        8,     9,    10,    11,    12,  1141,     0,     0,     0,     0,
    2043      337,     0,     0,     0,     0,     0,     0,     0,     0,     8,
    2044        9,    10,    11,    12,  1158,     0,  1194,    30,     0,     0,
    2045        0,     0,     0,  1535,     0,     0,     0,   214,     0,   338,
    2046        0,     0,     0,   467,     0,     0,    30,     0,     0,     0,
    2047       33,     0,     0,     0,   335,    36,     0,   177,    72,    39,
    2048        0,     0,     0,   207,     0,    84,    40,    41,     0,    33,
    2049       84,   808,     0,   337,    36,     0,   177,   335,    39,   335,
    2050      170,     0,     0,     0,     0,    40,    41,     0,     0,     0,
    2051        0,   255,     0,   206,     0,     0,     0,     0,     0,   338,
    2052        0,   256,   562,   330,     0,     0,   335,  1233,     0,     0,
    2053     1514,     0,   392,     0,     0,     0,     0,   335,   335,   335,
    2054     1515,     0,     0,     0,     0,     0,     0,     0,     0,   335,
    2055      335,   337,   337,     0,   337,   337,   337,     8,     9,    10,
    2056       11,    12,     0,    72,     0,     0,     0,   338,   338,     0,
    2057        0,     0,     0,     0,     0,    75,     0,   217,     0,     0,
    2058        0,     0,   338,   330,    30,     0,     0,   335,     0,     0,
    2059        0,     0,     0,     0,     0,     0,     0,   345,     0,     0,
    2060      338,     0,     0,   794,   795,     0,     0,    33,   337,   337,
    2061        0,     0,    36,    77,     0,   206,    39,     0,     0,   337,
    2062      338,     0,     0,    40,    41,     0,     0,     0,     0,     0,
    2063        0,   829,     0,     0,   832,   833,     0,   836,     0,   838,
    2064      839,     0,    54,    84,   840,   841,     0,     0,    42,     0,
    2065        0,     0,     0,     0,     0,     0,    77,   345,   143,   338,
    2066        0,     0,    84,     0,     0,     0,     0,     0,     0,     0,
    2067       84,     0,     0,     0,     0,   335,     0,     0,   337,     0,
    2068        0,     0,   330,     0,   337,   337,     0,     0,     0,     0,
    2069        0,     0,     0,   338,     0,     0,   345,     0,     0,     0,
     2275      23,    24,  -279,   203,    25,    26,    27,     0,     0,     0,
     2276       0,     0,    30,     0,     0,     0,     0,     0,     0,     0,
     2277     203,     0,     0,     0,     0,     0,     0,     0,     0,   241,
     2278       0,     0,     0,     0,     0,    33,     0,     0,     0,   950,
     2279     951,     0,    37,    38,     0,     0,  -279,     0,     0,     0,
     2280       0,   965,     0,   395,     0,     0,     0,     0,   271,     0,
     2281     272,     0,     0,     0,     0,     0,     0,     0,   982,     0,
     2282     983,     0,     0,     0,   987,     0,  1028,     0,   568,     0,
     2283       0,   273,     0,     0,     0,     0,   108,   274,     0,   203,
     2284       0,   275,     0,     0,   276,   277,   278,   279,    40,    41,
     2285       0,   280,   281,     0,     0,     0,   203,   395,     0,   282,
     2286       0,     0,     0,     0,     0,   395,   569,     0,   395,   572,
     2287       0,   346,     0,   283,     0,   361,   599,     0,     0,     0,
     2288     756,     0,   285,   363,   287,   288,   289,   290,     0,  1023,
     2289       0,     0,     0,     0,     0,   617,  1024,     0,   346,     0,
     2290       0,     0,     0,     0,     0,     0,     0,     0,     0,  1026,
     2291       0,  1027,     0,     0,     0,     0,   271,     0,   272,     0,
     2292       0,     0,     0,     0,   395,     0,  1040,     0,   395,     0,
     2293       0,     0,  1044,     0,     0,     0,     0,     0,     0,   273,
     2294       0,     0,     0,     0,  1080,   274,     0,  1081,   203,   275,
     2295       0,     0,   276,   277,   278,   279,    40,    41,   346,   280,
     2296     281,     0,     0,     0,     0,     0,   790,   282,     0,     0,
     2297       0,     0,  1091,     0,     0,     0,     0,     0,     0,     0,
     2298     310,   283,   395,   361,     0,     0,   973,     0,     0,   328,
     2299     285,   363,   287,   288,   289,   290,     0,     0,     0,     0,
     2300       0,   364,     0,     0,     0,     0,     0,     0,     0,     0,
     2301       0,     0,     0,   395,     0,     0,   346,     0,     0,     0,
     2302       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2303      18,    19,    20,    21,    22,    23,    24,  -279,     0,    25,
     2304      26,    27,     0,     0,     0,     0,     0,    30,     0,     0,
     2305     203,     0,     0,     0,     0,   395,     0,  1150,   346,     0,
     2306       0,     0,     0,  1156,  1157,     0,     0,     0,     0,     0,
     2307      33,     0,     0,     0,     0,    36,     0,   809,    38,    39,
     2308       0,  -279,     0,     0,     0,     0,    40,    41,     0,     0,
     2309       0,     0,     0,   467,     0,     0,     0,     0,     0,     0,
     2310       0,     0,   395,   395,     0,     0,     0,     0,     0,     0,
     2311       0,  1028,     0,   568,     0,     0,     0,     0,   346,  1215,
     2312     346,   611,     0,     0,     0,  1219,     0,     0,   812,     0,
     2313       0,   599,     0,   599,   599,     0,     0,     0,     0,     0,
     2314     599,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2315     844,   346,     0,     0,     0,     0,   346,     0,     0,     0,
     2316    1238,     0,     0,     0,     0,  1240,   346,   346,     0,     0,
     2317       0,     0,     0,  1244,     0,     0,     0,     0,     0,     0,
     2318       0,   346,     0,     0,     0,     0,   395,   887,     0,     0,
     2319     395,   890,   328,     0,     0,     0,     0,     0,     0,     0,
     2320       0,   364,  1267,     0,     0,     0,     0,     0,     0,     0,
     2321       0,     0,     0,     0,     0,   395,     0,     0,     0,  1278,
     2322     346,   395,  1279,   395,  1280,     0,     0,   395,     0,     0,
    20702323       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2071        0,     0,     0,     0,   345,     0,    84,     0,     0,     0,
    2072       72,     0,     0,     0,     0,     0,   215,    72,   922,   923,
    2073        0,     0,     0,     0,   925,   338,     0,     0,     0,     0,
    2074        0,     0,   330,   337,     0,   338,     0,    75,     0,     0,
    2075      216,   338,     0,     0,     0,     0,   345,     0,     0,     0,
    2076        0,   338,     0,     0,     0,     0,   337,     0,   337,     0,
    2077       72,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2324       0,  1290,  1291,     0,     0,     0,     0,     0,     0,     0,
     2325       0,   310,     0,     0,     0,     0,     0,     0,     0,   346,
     2326     599,     0,  1304,     0,     0,     0,     0,     0,     0,     0,
     2327       0,     0,   310,   310,     0,     0,     0,     0,     0,     0,
     2328       0,     0,     0,     0,     0,     0,     0,     0,     0,   203,
     2329       0,     0,     0,   346,  1328,     0,     0,   395,   395,     0,
     2330       0,     0,   713,     0,     0,     0,     0,     0,     8,     9,
     2331      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2332      20,    21,    22,    23,    24,  -279,     0,    25,    26,    27,
     2333       0,     0,     0,     0,     0,    30,     0,     0,     0,   395,
     2334     745,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2335       0,   346,   758,     0,     0,     0,     0,     0,    33,   745,
     2336     599,     0,   599,    36,     0,   809,    38,    39,     0,  -279,
     2337       0,   599,   767,   768,    40,    41,     8,     9,    10,    11,
     2338      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2339      22,    23,    24,  1398,   789,  1399,     0,     0,     0,     0,
     2340       0,   568,   812,    30,   798,     0,  1406,     0,  1407,   108,
     2341       0,     0,   758,     0,     0,     0,     0,     0,     0,     0,
     2342       0,     0,     0,     0,     0,     0,    33,     0,  1416,     0,
     2343       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2344       0,     0,     0,     0,  1434,     0,   346,     0,     0,     0,
     2345       0,     0,   395,   395,     0,     0,  1440,     0,     0,  1244,
     2346     395,     0,     0,   865,     0,   395,     0,     0,     0,     0,
     2347     364,     0,     0,   395,     0,     0,     0,     0,     0,     0,
     2348       0,  1461,     0,     0,     0,     0,   599,   599,     0,     0,
     2349    1468,   328,     0,  1470,  1472,     0,     0,     0,     0,     0,
     2350       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2351     346,     0,     0,     0,   328,     0,     0,   395,     0,     0,
     2352       0,     0,     0,     0,   812,     0,     0,     0,     0,     0,
     2353       0,  1499,     0,     0,     0,  1244,   395,  1145,     0,     0,
     2354       0,     0,  1148,     0,   346,     0,     0,  1511,     0,     0,
     2355       0,     0,     0,     0,     0,   395,  1162,     0,   599,   599,
     2356    1167,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2357       0,   346,   346,   346,     0,     0,     0,     0,     0,     0,
     2358       0,     0,     0,     0,     0,     0,     0,   758,     0,   971,
     2359       0,     0,     0,     0,     0,   976,     0,     0,     0,     0,
     2360       0,     0,     0,   986,     0,     8,     9,    10,    11,    12,
     2361      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2362      23,    24,  -279,     0,    25,    26,    27,     0,  1227,     0,
     2363       0,     0,    30,   395,     0,     0,   346,   812,   395,  1237,
     2364     328,     0,     0,  1000,  1001,   328,     0,     0,     0,     0,
     2365     599,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2366       0,     0,    37,    38,   328,     0,  -279,     0,     0,     0,
     2367       0,     0,   812,     0,     0,     0,     0,   493,   497,   493,
     2368     500,     0,     0,     0,     0,     0,     0,   503,   504,     0,
     2369       0,     0,   493,   493,     0,   346,  1028,     0,   568,     0,
     2370    1148,   346,   346,     0,   493,  1038,   611,     0,     0,   364,
     2371       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2372      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2373      23,    24,  -279,   493,    25,    26,    27,     0,     0,     0,
     2374     328,     0,    30,     0,     0,     0,     0,     0,     0,     0,
     2375       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2376     346,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2377     493,     0,    37,    38,  1148,     0,  -279,     0,     0,     0,
     2378       0,     0,     0,     0,     0,   346,     0,     0,     0,     0,
     2379       0,   310,     0,     0,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,     0,  1125,  1126,     0,     0,   568,     0,
     2381       0,   271,   364,   272,     0,     0,   108,     0,     0,   976,
     2382       0,     0,  1136,     0,   745,     0,     0,     0,     0,     0,
     2383       0,     0,     0,     0,   273,   346,   346,     0,     0,     0,
     2384     274,  1154,     0,     0,   275,     0,     0,   276,   277,   278,
     2385     279,    40,    41,     0,   280,   281,     0,     0,  1173,     0,
     2386       0,     0,   282,     0,     0,     0,     0,     0,     0,     0,
     2387       0,     0,  1148,     0,     0,     0,   283,     0,   361,     0,
     2388       0,   364,     0,  1192,     0,   285,   363,   287,   288,   289,
     2389     290,     0,     0,     0,     0,     0,     0,     0,  1214,     0,
     2390       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2391       0,     0,     0,     0,     0,     0,     0,  1223,     0,     0,
     2392       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2393     758,     0,     0,     0,   812,     0,     0,     0,     0,     0,
     2394       0,     0,     0,   493,   493,   493,   493,   493,   493,   493,
     2395     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
     2396     493,   346,     0,     0,     0,     0,     0,     0,   976,     0,
     2397       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2398       0,     0,   493,     0,     0,     0,     0,     0,     0,   865,
     2399       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2400       0,     0,     0,     0,     0,     0,     0,  1281,     0,  1282,
     2401       0,     0,     0,     0,     0,     0,     1,     2,     3,     4,
     2402       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    20782403      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2079      330,   330,    25,    26,    27,   337,     0,     0,     0,     0,
    2080       30,   434,     0,     0,     0,   330,   337,   337,   337,     0,
    2081        0,     0,     0,     0,     0,     0,   345,     0,   337,   337,
    2082        0,     0,    77,    33,     0,     0,     0,     0,     0,     0,
    2083       37,    38,    75,     0,     8,     9,    10,    11,    12,     0,
    2084        0,     0,     0,     0,     0,     0,   338,     0,     0,     0,
    2085        0,     0,   122,   122,   122,     0,   337,     0,     0,     0,
    2086        0,    30,     0,     0,   345,   345,   435,     0,     0,     0,
    2087      687,     0,     0,     0,   108,     0,     0,     0,     0,   345,
    2088        0,     0,   330,     0,    33,     0,     0,     0,     0,    36,
    2089        0,     0,     0,    39,     0,     0,     0,   345,     0,     0,
    2090       40,    41,     0,     0,     0,     0,     0,     0,     0,   338,
    2091       84,     0,     0,     0,   162,     0,   166,   345,     0,   172,
    2092      173,   174,   122,   176,   122,   720,     0,     0,     0,     0,
    2093        0,     0,     0,     0,     0,   721,     0,     0,   225,     0,
    2094        0,     0,     0,     0,   337,     0,     0,     0,   265,   238,
    2095      239,     0,     0,    84,     0,     0,   345,     0,     0,     0,
    2096        0,     0,     0,     0,     0,     0,     0,   338,   338,     0,
    2097      338,   338,   338,     0,   330,     0,     0,     0,     0,     0,
    2098        0,     0,     0,     0,     0,     0,     0,     0,     0,    75,
    2099      345,    77,     0,     0,     0,     0,    75,     0,     0,     0,
    2100        0,     0,   122,     0,     0,     0,     0,     0,     0,   122,
    2101        0,   122,   122,     0,     0,   327,   122,     0,   122,   122,
    2102        0,     0,     0,     0,   338,   338,     0,     0,     0,     0,
    2103        0,     0,   345,     0,     0,   338,     0,     0,     0,    75,
    2104        0,     0,   345,     0,     0,    54,     0,   217,   345,     0,
    2105        0,     0,     0,     0,     0,     0,     0,     0,   345,     0,
    2106        0,     0,     0,     0,     0,     0,     0,     0,  1014,   330,
    2107        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2108        0,     0,     0,     0,     0,   122,     0,     0,     0,     0,
    2109        0,     0,     0,     0,   338,     0,     0,   271,    30,   272,
    2110      338,   338,     0,     0,     0,     0,     0,     0,     0,     0,
    2111        0,     0,     0,     0,     0,     0,     0,     0,    54,    84,
    2112      273,    33,  1223,     0,     0,     0,   274,     0,     0,     0,
    2113      275,     0,   330,   276,   277,   278,   279,    40,    41,     0,
    2114      280,   281,   216,   345,     0,     0,     0,     0,   282,     0,
    2115        0,     0,     0,     0,     0,     0,     0,     0,     0,   338,
    2116        0,     0,   283,    77,   361,     0,     0,     0,     0,     0,
    2117        0,   285,   890,   287,   288,   289,   290,     0,     0,     0,
    2118        0,     0,   338,     0,   338,     0,     0,     0,     0,     0,
    2119      575,     0,   583,   330,   330,   330,     0,     0,     0,     0,
    2120        0,     0,     0,   608,   609,     0,   345,     0,     0,     0,
    2121        0,   338,     0,     0,    54,     0,     0,   619,     0,     0,
    2122        0,     0,   338,   338,   338,     0,     0,     0,     0,     0,
    2123        0,     0,     0,     0,   338,   338,     0,     0,     0,     0,
    2124        0,     0,     0,     0,     0,     0,     0,     0,    77,     0,
    2125        0,     0,     0,     0,     0,     0,  1315,     0,   330,     0,
    2126        0,     0,     0,     0,   345,   345,     0,   345,   345,   345,
    2127        0,     0,   338,     0,     0,     0,     0,   662,     0,     0,
    2128        0,     0,     0,     0,     0,     0,     0,     0,    84,     0,
    2129        0,     0,   197,     2,   198,     4,     5,     6,     7,     8,
    2130        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2131       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2132       27,   345,   345,   330,   330,     0,    30,     0,     0,     0,
    2133        0,     0,   345,     0,     0,     0,     0,     0,     0,     0,
    2134        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2135        0,    34,     0,    35,     0,     0,   199,   200,     0,     0,
    2136      338,     0,     0,     0,    54,    54,     0,     0,     0,     0,
    2137        0,     0,     0,     0,     0,     0,   755,     0,     0,     0,
    2138        0,     0,   330,     0,     0,     0,    54,   122,   122,     0,
    2139        0,   345,   201,     0,     0,     0,     0,   345,   345,     0,
    2140      261,     0,     0,     0,     0,    77,     0,     0,     0,     0,
    2141        0,    54,    77,     0,     0,   122,     0,     0,   122,   122,
    2142        0,   122,     0,   122,   122,     0,     0,     0,   122,   122,
    2143        0,     0,     0,     0,     0,     0,   801,     0,     0,   217,
    2144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2145        0,     0,     0,     0,     0,    77,   345,   330,   330,     0,
    2146       84,     0,     0,     0,     0,     0,    54,     0,     0,     0,
    2147        0,    54,     0,     0,     0,     0,     0,     0,     0,   345,
    2148        0,   345,     0,     0,     0,     0,     0,   862,     0,     8,
    2149        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2150       19,    20,    21,    22,    23,    24,    54,   122,   345,     0,
    2151        0,     0,   122,   122,     0,   891,    30,     0,   122,   345,
    2152      345,   345,     0,     0,     0,     0,     0,     0,     0,     0,
    2153        0,   345,   345,   906,   907,     0,     0,   911,     0,    33,
    2154        0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
    2155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2156        0,     0,     0,     0,     0,   931,     0,   932,     0,   345,
    2157        0,     0,     0,     0,   935,   936,     0,     0,     0,   941,
    2158        0,     0,     0,   330,     0,     0,     0,     0,     0,     0,
    2159        0,   946,     0,     0,     0,     0,   950,     0,     0,     0,
    2160        0,     0,     0,     0,     0,     0,     0,    54,     0,     0,
    2161      967,     0,     0,     0,     0,   271,     0,   272,     0,   204,
    2162      978,     0,     0,     0,     0,     0,     0,     0,    54,   223,
    2163        0,   227,     0,   229,     0,    54,     0,     0,   273,     0,
    2164      236,     0,     0,     0,   274,     0,     0,     0,   275,     0,
    2165        0,   276,   277,   278,   279,    40,    41,   345,   280,   281,
    2166        0,     0,     0,     0,     0,     0,   282,     0,  1000,   204,
    2167        0,   227,   229,   236,     0,     0,     0,     0,    54,     0,
    2168      283,     0,   361,     0,     0,     0,     0,  1015,     0,   285,
    2169      363,   287,   288,   289,   290,     0,     0,   204,     0,     0,
    2170        0,     0,    84,  1210,     0,     0,     0,     0,     0,    84,
    2171        0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
    2172     1026,     0,  1027,  1028,  1029,     0,     0,  1032,   862,     0,
    2173        0,   151,     0,     0,     0,     0,     0,     0,     0,     0,
    2174        0,   271,  1074,   272,     0,     0,     0,     0,     0,     0,
    2175        0,     0,    84,     0,   575,     0,     0,  1081,     0,     0,
    2176        0,     0,     0,  1082,   273,     0,     0,     0,     0,   204,
    2177      274,   227,   229,   236,   275,     0,   241,   276,   277,   278,
    2178      279,    40,    41,     0,   280,   281,   246,     0,     0,     0,
    2179        0,     0,   282,     0,     0,     0,     0,     0,     0,     0,
    2180        0,  1101,     0,     0,     0,   204,   283,     0,   361,   204,
    2181        0,   362,     0,     0,     0,   285,   363,   287,   288,   289,
    2182      290,     0,     0,     0,     0,   485,   755,     0,     0,     0,
    2183        0,     0,     0,     0,     0,     0,     0,     0,     0,  1127,
    2184      353,     0,     0,     0,   862,     0,     0,  1135,     0,     0,
    2185        0,  1139,     0,   367,     0,     0,  1143,     0,     0,     0,
    2186     1148,  1149,  1150,     0,     0,     0,     0,     0,     0,     0,
    2187     1156,     0,     0,   204,     0,   399,     0,     0,     0,     0,
    2188     1169,     0,     0,     0,     0,     0,     0,     0,   204,   413,
    2189        0,     0,     0,   227,   229,     0,     0,   418,     0,  1185,
    2190     1186,   236,     0,     0,     0,     0,   122,   426,     0,     0,
    2191        0,     0,     0,     0,     0,     0,     0,     0,   433,     0,
    2192        0,     0,     0,     0,  1215,     0,     0,  1217,     0,     0,
    2193      452,     0,     0,     0,     0,   462,     0,     0,     0,     0,
    2194        0,     0,     0,   204,     0,     0,     0,     0,   470,     0,
    2195        0,     0,  1231,     0,   480,     0,   484,     0,     0,     0,
    2196        0,   204,     0,     0,     0,     0,     0,   204,     0,     0,
    2197        0,  1238,   512,     0,     0,     0,     0,  1242,  1243,     0,
    2198        0,     0,     0,     0,   204,     0,  1251,   204,   204,     0,
    2199        0,     0,  1255,     0,     0,  1259,     0,  1260,     0,     0,
    2200     1262,     0,     0,   204,     0,     0,     0,     0,     0,     0,
    2201        0,   862,     0,   572,     0,  1271,     0,   204,     0,     0,
    2202        0,     0,     0,     0,   204,     0,     0,     0,     0,     0,
    2203        0,   271,  1280,   272,  1282,  1283,  1284,  1285,     0,     0,
    2204      122,     0,   620,     0,     0,     0,   621,   622,     0,   623,
    2205        0,  1293,     0,  1294,   273,   633,   634,   166,   635,   636,
    2206      274,   637,     0,   638,   275,     0,     0,   276,   277,   278,
    2207      279,    40,    41,     0,   280,   281,  1314,     0,     0,     0,
    2208      651,     0,   282,     0,     0,  1319,  1320,     0,   653,     0,
    2209        0,     0,     0,     0,     0,     0,   283,     0,   361,     0,
    2210        0,     0,     0,     0,   785,   285,   363,   287,   288,   289,
    2211      290,     0,   666,     0,     0,     0,     0,     0,     0,     0,
    2212        0,     0,     0,   673,     0,     0,     0,     0,     0,     0,
    2213        0,     0,     0,   204,     0,     0,  1354,  1355,     0,     0,
    2214        0,     0,  1359,  1360,     0,     0,   709,     0,     0,     0,
    2215        0,     0,   712,  1370,     0,     0,     0,   452,     0,     0,
    2216        0,     0,     0,   204,     0,     0,     0,     0,   204,   197,
    2217        2,   198,     4,     5,     6,     7,     8,     9,    10,    11,
    2218       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2219       22,    23,    24,   746,     0,    25,    26,    27,     0,     0,
    2220        0,     0,     0,    30,  1401,     0,     0,     0,   762,     0,
    2221        0,     0,     0,     0,     0,     0,  1405,     0,     0,     0,
    2222     1408,  1409,  1410,     0,     0,     0,    33,     0,    34,     0,
    2223       35,    36,  1414,   199,   200,    39,     0,     0,     0,     0,
    2224        0,  1425,    40,    41,   788,     0,     0,     0,     0,     0,
    2225        0,     0,     0,   798,     0,   799,   204,  1436,     0,     0,
    2226        0,   804,     0,   271,     0,   272,     0,    42,     0,   201,
    2227      204,     0,     0,     0,   823,     0,     0,   202,     0,     0,
    2228        0,     0,     0,     0,     0,     0,   273,     0,     0,     0,
    2229      485,     0,   624,     0,   135,   136,   275,     0,     0,   276,
    2230      277,   278,   279,    40,    41,     0,   280,   281,     0,  1477,
    2231     1478,     0,     0,   864,   282,     0,     0,     0,     0,     0,
    2232        0,     0,  1483,     0,   271,     0,   272,     0,   283,  1483,
    2233      625,     0,   626,   362,     0,     0,     0,   285,   363,   287,
    2234      288,   289,   290,     0,     0,     0,     0,   273,   204,   899,
    2235        0,     0,     0,   274,     0,     0,  1513,   275,   204,     0,
     2404       0,   395,    25,    26,    27,    28,     0,     0,    29,     0,
     2405      30,    31,     0,     0,   758,     0,     0,     0,     0,     0,
     2406       0,     0,   395,   395,     0,     0,     0,     0,     0,   310,
     2407      32,     0,     0,    33,     0,    34,     0,    35,    36,     0,
     2408      37,    38,    39,   395,   493,     0,     0,     0,     0,    40,
     2409      41,     0,   976,     0,     0,     0,     0,     0,     0,     0,
     2410       0,     0,     0,     0,     0,     0,   493,     0,     0,     0,
     2411       0,     0,     0,     0,    42,     0,    43,     0,     0,   493,
     2412    -505,     0,     0,     0,    44,     0,     0,     0,     0,     0,
     2413       0,     1,     2,   197,     4,     5,     6,     7,     8,     9,
     2414      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2415      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2416      28,     0,   493,    29,   271,    30,  1047,  1048,     0,  1049,
     2417       0,     0,  1050,  1051,  1052,  1053,  1054,  1055,  1056,  1057,
     2418       0,  1058,     0,     0,  1059,    32,     0,   273,    33,     0,
     2419      34,     0,    35,   625,   493,    37,    38,   275,     0,     0,
    22362420     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
    22372421       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
    2238      204,     0,     0,     0,  1536,     0,     0,     0,   346,   283,
    2239        0,   361,     0,     0,     0,     0,   754,     0,   285,   363,
    2240      287,   288,   289,   290,     0,     0,   241,     0,     0,  1549,
    2241        0,     0,     0,     0,  1551,     0,   947,   948,     0,   395,
    2242        0,     0,     0,     0,     0,     0,   395,     0,   962,     0,
    2243        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2244        0,     0,     0,     0,     0,   979,     0,   980,     0,     0,
    2245        0,   984,     0,     0,     0,     8,     9,    10,    11,    12,
    2246       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2247       23,    24,     0,   204,    25,    26,    27,     0,     0,     0,
    2248        0,     0,    30,     0,     0,     0,     0,     0,     0,     0,
    2249        0,     0,     0,     0,     0,   395,     0,     0,     0,   204,
    2250        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2251       36,     0,    37,    38,    39,     0,  1020,     0,     0,     0,
    2252        0,    40,    41,  1021,     0,   204,     0,     0,     0,     0,
    2253        0,     0,     0,     0,     0,     0,  1023,     0,  1024,     0,
    2254        0,     0,     0,     0,     0,     0,    42,     0,   152,   395,
    2255        0,     0,     0,  1037,     0,   204,    44,   395,   568,  1041,
    2256      395,   571,     0,   346,     0,     0,     0,     0,   598,     0,
    2257        0,  1077,   204,     0,  1078,     0,     0,     0,     0,     0,
    2258        0,     0,     0,     0,     0,     0,   271,   616,   272,     0,
    2259      346,     0,   788,     0,     0,     0,     0,     0,  1088,     0,
    2260        0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
    2261        0,     0,     0,     0,     0,   274,   395,     0,     0,   275,
    2262      395,     0,   276,   277,   278,   279,    40,    41,     0,   280,
    2263      281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
    2264        0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
    2265      346,   283,     0,   361,     0,     0,   970,     0,   204,     0,
    2266      285,   363,   287,   288,   289,   290,     0,     0,     0,     0,
    2267        0,     0,   310,   395,     0,     0,     0,     0,     0,     0,
    2268        0,   328,     0,  1147,     0,     0,     0,     0,     0,  1153,
    2269     1154,     0,     0,   364,     0,     0,     0,     0,     0,   492,
    2270      496,   492,   499,     0,   395,     0,     0,   346,     0,   502,
    2271      503,     0,     0,     0,   492,   492,     0,     0,     0,     0,
    2272        0,     0,     0,     0,     0,     0,   492,     0,     0,     0,
    2273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2274        0,     0,     0,     0,     0,  1212,   395,     0,     0,   346,
    2275      204,  1216,     0,     0,     0,   492,     0,     0,     0,     0,
    2276        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2277       18,    19,    20,    21,    22,    23,    24,  -279,     0,    25,
    2278       26,    27,     0,     0,   466,     0,  1235,    30,     0,     0,
    2279        0,  1237,   492,   395,   395,     0,     0,     0,     0,  1241,
    2280        0,     0,     0,     0,     0,     0,     0,     0,     0,   346,
    2281       33,   346,     0,     0,     0,     0,     0,    37,    38,   810,
    2282        0,  -279,   598,     0,   598,   598,     0,     0,  1264,     0,
    2283        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
    2284        0,   842,   346,     0,     0,  1275,     0,   346,  1276,     0,
    2285     1277,  1025,   204,   567,     0,     0,     0,   346,   346,     0,
    2286        0,   108,     0,     0,     0,     0,     0,  1287,  1288,     0,
    2287        0,     0,   346,     0,     0,     0,     0,   395,   885,     0,
    2288        0,   395,   888,   328,     0,     0,     0,     0,  1301,     0,
    2289        0,     0,   364,     0,     0,     0,     0,     0,     0,     0,
    2290        0,     0,     0,     0,     0,   395,     0,     0,     0,     0,
    2291      346,   395,     0,   395,     0,     0,     0,   395,     0,     0,
    2292     1325,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2294        0,     0,   310,     0,     0,     0,     0,     0,     0,   346,
    2295      598,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2296        0,     0,     0,   310,   492,   492,   492,   492,   492,   492,
    2297      492,   492,   492,   492,   492,   492,   492,   492,   492,   492,
    2298      492,   492,     0,   346,     0,     0,     0,   395,   395,     0,
    2299        0,     0,   711,     0,     0,     0,     0,     0,     0,     0,
    2300        0,     0,     0,   492,     0,     0,     0,  1167,     0,     0,
    2301        8,     9,    10,    11,    12,     0,     0,     0,     0,  1395,
    2302        0,  1396,     0,     0,     0,     0,     0,     0,     0,   395,
    2303      743,     0,  1403,     0,  1404,     0,   271,    30,   272,     0,
    2304        0,   346,   756,     0,     0,     0,     0,     0,     0,   743,
    2305      598,     0,   598,     0,  1413,     0,     0,     0,     0,   273,
    2306       33,   598,   765,   766,     0,   274,     0,     0,     0,   275,
    2307     1431,     0,   276,   277,   278,   279,    40,    41,     0,   280,
    2308      281,     0,  1437,     0,   787,  1241,     0,   282,     0,     0,
    2309        0,   204,   810,     0,   796,     0,     0,     0,     0,     0,
    2310        0,   283,   756,   361,   492,     0,     0,  1458,     0,     0,
    2311      285,  1168,   287,   288,   289,   290,  1465,     0,     0,  1467,
    2312     1469,     0,     0,     0,     0,     0,   492,     0,     0,     0,
    2313        0,     0,     0,     0,     0,     0,   346,     0,     0,   492,
    2314        0,   395,   395,     0,     0,     0,     0,     0,     0,   395,
    2315        0,     0,     0,   863,   395,     0,     0,  1496,     0,     0,
    2316      364,  1241,   395,     0,     0,     0,     0,     0,     0,     0,
    2317        0,     0,     0,  1508,     0,   598,   598,     0,     0,     0,
    2318        0,   328,   492,     0,     0,     0,     0,     0,     0,     0,
    2319        0,     0,     0,     0,     0,     0,     0,     0,     0,   346,
    2320        0,     0,     0,   328,     0,     0,   395,     0,     0,     0,
    2321        0,     0,     0,   810,   492,     0,     0,     0,     0,     0,
    2322        0,     0,     0,     0,     0,   395,  1142,     0,     0,     0,
    2323        0,  1145,     0,   346,     0,     0,     0,     0,     0,     0,
    2324        0,     0,     0,     0,   395,  1159,     0,   598,   598,  1164,
    2325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2326      346,   346,   346,     0,     0,     0,     0,     0,     0,     0,
    2327        0,     0,     0,     0,     0,     0,   756,     0,   968,     0,
    2328        0,     0,     0,     0,   973,     0,     0,     0,     0,     0,
    2329        0,     0,   983,     0,     8,     9,    10,    11,    12,    13,
    2330       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2331       24,  -279,     0,    25,    26,    27,     0,  1224,     0,   492,
    2332        0,    30,   395,     0,     0,   346,   810,   395,  1234,   328,
    2333        0,     0,   997,   998,   328,   271,     0,   272,     0,   598,
    2334        0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    2335        0,    37,    38,   328,     0,  -279,     0,     0,   273,     0,
    2336        0,   810,     0,     0,   274,     0,     0,     0,   275,     0,
    2337        0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
    2338        0,     0,     0,     0,   346,  1025,   282,   567,     0,  1145,
    2339      346,   346,     0,     0,  1035,   610,     0,     0,   364,     0,
    2340      283,     0,   361,     0,     0,     0,     0,     0,     0,   285,
    2341      363,   287,   288,   289,   290,   492,     0,     0,     0,     0,
    2342        0,     0,     0,     0,     0,   492,     0,     0,     0,   328,
    2343        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2344       17,    18,    19,    20,    21,    22,    23,    24,     0,   346,
    2345       25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    2346        0,     0,     0,  1145,     0,     0,     0,     0,     0,     0,
    2347        0,     0,     0,   492,   346,     0,     0,     0,     0,   310,
    2348        0,    33,     0,     0,     0,     0,     0,     0,   199,   200,
    2349        0,     0,  1122,  1123,     0,     0,     0,     0,     0,     0,
    2350      364,     0,     0,     0,     0,     0,     0,   973,     0,     0,
    2351     1133,     0,   743,     0,     0,   271,     0,   272,     0,     0,
    2352        0,     0,     0,     0,   346,   346,     0,     0,     0,  1151,
    2353        0,     0,   261,     0,     0,     0,     0,     0,   273,     0,
    2354        0,     0,     0,     0,   274,     0,  1170,   492,   275,     0,
    2355        0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
    2356        0,  1145,     0,     0,     0,     0,   282,     0,     0,   364,
    2357        0,  1189,     0,     0,     0,     0,     0,     0,     0,     0,
    2358      283,     0,   361,     0,     0,     0,  1211,     0,     0,   285,
    2359      710,   287,   288,   289,   290,     0,     0,   492,     0,     0,
    2360        0,     0,     0,     0,     0,  1220,     0,     0,     0,     0,
    2361        0,     0,   492,   492,     0,     0,     0,     0,   756,     0,
    2362        0,     0,  -501,   810,     0,     1,     2,     3,     4,     5,
    2363        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2364       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2365      346,    25,    26,    27,    28,     0,   973,    29,     0,    30,
    2366       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2367        0,   271,     0,   272,     0,     0,     0,   863,     0,    32,
    2368        0,     0,    33,     0,    34,     0,    35,    36,     0,    37,
    2369       38,    39,     0,     0,   273,  1278,     0,  1279,    40,    41,
    2370      624,     0,     0,     0,   275,     0,     0,   276,   277,   278,
    2371      279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
    2372        0,     0,   282,    42,     0,    43,     0,     0,     0,     0,
    2373      395,     0,     0,    44,     0,     0,   283,     0,   759,     0,
    2374        0,     0,   756,     0,     0,   285,   363,   287,   288,   289,
    2375      290,   395,   395,     0,     0,     0,     0,   310,     0,     0,
    2376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2377        0,     0,   395,     0,     0,     0,     0,     0,     0,     0,
    2378      973,     0,     0,     1,     2,   198,     4,     5,     6,     7,
    2379        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2380       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    2381       26,    27,    28,     0,     0,    29,   271,    30,  1044,  1045,
    2382        0,  1046,     0,     0,  1047,  1048,  1049,  1050,  1051,  1052,
    2383     1053,  1054,     0,  1055,     0,     0,  1056,    32,     0,   273,
    2384       33,     0,    34,     0,    35,   624,   492,    37,    38,   275,
    2385        0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
    2386      281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
    2387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2388        0,   283,     0,  1057,     0,     0,   165,     0,     0,     0,
    2389      285,   286,   287,   288,   289,   290,     0,     0,     0,     0,
    2390        0,     0,     0,     0,  -126,     0,     0,     0,     0,   492,
    2391      492,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2393        0,     0,  1444,     0,     0,     0,     0,     0,     1,     2,
    2394      198,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2422       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
     2423       0,  1060,     0,     0,   164,     0,     0,     0,   285,   286,
     2424     287,   288,   289,   290,  1447,     0,     0,     0,     0,     0,
     2425       0,     0,  -126,     0,     0,     0,     0,     0,     1,     2,
     2426     197,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    23952427      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    23962428      23,    24,     0,     0,    25,    26,    27,    28,     0,     0,
    2397       29,   271,    30,   272,     8,     9,    10,    11,    12,    13,
     2429      29,   271,    30,   272,     0,     0,     0,     0,     0,   493,
     2430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2431     271,     0,   272,     0,   273,    33,     0,    34,  1503,    35,
     2432     274,     0,    37,    38,   275,     0,     0,   276,   277,   278,
     2433     279,    40,    41,   273,   280,   281,     0,     0,     0,   274,
     2434       0,     0,   282,   275,     0,     0,   276,   277,   278,   279,
     2435      40,    41,     0,   280,   281,     0,   283,     0,  1060,     0,
     2436       0,   282,     0,     0,   310,   285,   286,   287,   288,   289,
     2437     290,     0,     0,     0,     0,   283,     0,   361,     0,  -126,
     2438       0,     0,     0,     0,   285,   712,   287,   288,   289,   290,
     2439       0,     0,     0,     0,     0,     0,   493,     0,     0,     0,
     2440       0,     0,     0,     0,     0,     0,   493,     1,     2,   197,
     2441       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    23982442      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2399       24,  -279,     0,     0,   273,    33,     0,    34,     0,    35,
    2400      274,    30,    37,    38,   275,     0,  1500,   276,   277,   278,
    2401      279,    40,    41,     0,   280,   281,     0,     0,     0,     0,
    2402        0,     0,   282,     0,    33,     0,     0,     0,     0,     0,
    2403        0,     0,     0,     0,     0,  -279,   283,     0,  1057,     0,
    2404        0,     0,     0,     0,     0,   285,   286,   287,   288,   289,
    2405      290,     0,   310,     0,     0,     0,     0,     0,     0,  -126,
    2406        1,     2,   198,     4,     5,     6,     7,     8,     9,    10,
    2407       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2408       21,    22,    23,    24,     0,     0,    25,    26,    27,    28,
    2409        0,     0,    29,   271,    30,   272,     8,     9,    10,    11,
     2443      24,     0,     0,    25,    26,    27,    28,     0,     0,    29,
     2444     271,    30,   272,     0,     0,     0,     0,     0,     0,     0,
     2445       0,     0,     0,     0,   493,     0,     0,     0,     0,   271,
     2446       0,   272,     0,   273,    33,     0,    34,     0,    35,   274,
     2447       0,    37,    38,   275,     0,     0,   276,   277,   278,   279,
     2448      40,    41,   273,   280,   281,     0,     0,     0,   625,     0,
     2449       0,   282,   275,     0,     0,   276,   277,   278,   279,    40,
     2450      41,     0,   280,   281,     0,   283,     0,    43,     0,     0,
     2451     282,     0,     0,     0,   285,   286,   287,   288,   289,   290,
     2452       0,     0,     0,     0,   283,     0,   761,     0,   493,     0,
     2453       0,     0,     0,   285,   363,   287,   288,   289,   290,     0,
     2454       2,   197,     4,     5,     6,     7,     8,     9,    10,    11,
    24102455      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2411       22,    23,    24,  -280,     0,     0,   273,    33,     0,    34,
    2412        0,    35,   274,    30,    37,    38,   275,     0,     0,   276,
    2413      277,   278,   279,    40,    41,     0,   280,   281,     0,     0,
    2414        0,     0,     0,     0,   282,     0,    33,     0,     0,     0,
    2415        0,     0,     0,     0,     0,     0,     0,  -280,   283,     0,
    2416       43,     0,     0,     0,     0,     0,     0,   285,   286,   287,
    2417      288,   289,   290,     2,   198,     4,     5,     6,     7,     8,
    2418        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2419       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2420       27,     0,     0,     0,     0,   271,    30,   272,     0,     0,
     2456      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2457       0,     0,   271,    30,   272,     0,     0,     0,   493,     0,
    24212458       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2422        0,     0,     0,     0,     0,     0,     0,     0,   273,    33,
    2423        0,    34,     0,    35,   274,     0,    37,    38,   275,     0,
    2424        0,   276,   277,   278,   279,    40,    41,     0,   280,   281,
    2425        0,     0,     0,     0,     0,     0,   282,     0,     0,     0,
     2459       0,     0,     0,   493,   493,   273,    33,     0,    34,     0,
     2460      35,   274,     0,    37,    38,   275,     0,     0,   276,   277,
     2461     278,   279,    40,    41,     0,   280,   281,     0,     0,     0,
     2462       0,     0,     0,   282,     0,     0,     0,     0,     0,     0,
     2463       0,     0,     0,     0,     0,     0,     0,   283,     0,   325,
     2464      -3,     0,     0,     0,   756,     0,   285,   326,   287,   288,
     2465     289,   290,     2,   197,     4,     5,     6,     7,     8,     9,
     2466      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2467      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2468       0,     0,     0,     0,   271,    30,   272,     0,     0,     0,
    24262469       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2427      283,     0,   325,    -3,     0,     0,     0,   754,     0,   285,
    2428      326,   287,   288,   289,   290,     2,   198,     4,     5,     6,
     2470       0,     0,     0,     0,     0,     0,     0,   273,    33,     0,
     2471      34,     0,    35,   274,     0,    37,    38,   275,     0,     0,
     2472     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
     2473       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
     2474       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
     2475       0,   913,    -3,     0,     0,     0,   756,     0,   285,   326,
     2476     287,   288,   289,   290,     0,     2,   197,     4,     5,     6,
    24292477       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    24302478      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     
    24322480       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24332481       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2434      273,    33,     0,    34,     0,    35,   274,     0,    37,    38,
     2482     273,    33,     0,    34,     0,    35,   274,   493,    37,    38,
    24352483     275,     0,     0,   276,   277,   278,   279,    40,    41,     0,
    24362484     280,   281,     0,     0,     0,     0,     0,     0,   282,     0,
    24372485       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2438        0,     0,   283,     0,   910,    -3,     0,     0,     0,   754,
    2439        0,   285,   326,   287,   288,   289,   290,     2,   198,     4,
    2440        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2441       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2442        0,     0,    25,    26,    27,     0,     0,     0,     0,   271,
    2443       30,   272,     0,     0,     0,     0,     0,     0,     0,     0,
     2486       0,     0,   283,     0,   913,    -3,     0,     0,     0,   756,
     2487       0,   285,   575,   287,   288,   289,   290,     0,     0,     0,
    24442488       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2445        0,     0,   273,    33,     0,    34,     0,    35,   274,     0,
    2446       37,    38,   275,     0,     0,   276,   277,   278,   279,    40,
    2447       41,     0,   280,   281,     0,     0,     0,     0,     0,     0,
    2448      282,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2449        0,     0,     0,     0,   283,     0,   910,    -3,     0,     0,
    2450        0,   754,     0,   285,   574,   287,   288,   289,   290,     2,
    2451      198,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2489     493,   493,     2,   197,     4,     5,     6,     7,     8,     9,
     2490      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2491      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2492       0,     0,     0,     0,   271,    30,   272,     0,     0,     0,
     2493       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2494       0,     0,     0,     0,     0,     0,     0,   273,    33,     0,
     2495      34,     0,    35,   274,     0,    37,    38,   275,     0,     0,
     2496     276,   277,   278,   279,    40,    41,     0,   280,   281,     0,
     2497       0,     0,     0,     0,     0,   282,     0,     0,     0,     0,
     2498       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
     2499       0,   913,    -3,     0,     0,     0,     0,     0,   285,   326,
     2500     287,   288,   289,   290,     2,   197,     4,     5,     6,     7,
     2501       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2502      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2503      26,    27,     0,     0,     0,     0,   271,    30,   272,     0,
     2504       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2505       0,     0,     0,     0,     0,     0,     0,     0,     0,   273,
     2506      33,     0,    34,     0,    35,   274,     0,   198,   199,   275,
     2507       0,     0,   276,   277,   278,   279,    40,    41,     0,   280,
     2508     281,     0,     0,     0,     0,     0,     0,   282,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2510       0,   283,     0,   998,     0,     0,     0,     0,     0,     0,
     2511     285,   999,   287,   288,   289,   290,     2,   197,     4,     5,
     2512       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2513      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2514       0,    25,    26,    27,     0,     0,     0,     0,   271,    30,
     2515     272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2516       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2517       0,   273,    33,     0,    34,     0,    35,   274,     0,   198,
     2518     199,   275,     0,     0,   276,   277,   278,   279,    40,    41,
     2519       0,   280,   281,     0,     0,     0,     0,     0,     0,   282,
     2520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2521       0,     0,     0,   283,     0,   361,     0,     0,     0,     0,
     2522       0,     0,   285,   363,   287,   288,   289,   290,     1,     2,
     2523       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    24522524      1