Changes in / [aa9ee19:b7b8674]


Ignore:
Location:
src
Files:
1 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • src/CodeGen/CodeGenerator.cc

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 15:05:18 2017
    13 // Update Count     : 417
     12// Last Modified On : Wed Feb  1 14:09:02 2017
     13// Update Count     : 416
    1414//
    1515
     
    765765        }
    766766
    767         void CodeGenerator::visit( AsmDecl * asmDecl ) {
    768                 output << "asm ";
    769                 AsmStmt * asmStmt = asmDecl->get_stmt();
    770                 output << "( ";
    771                 if ( asmStmt->get_instruction() ) asmStmt->get_instruction()->accept( *this );
    772                 output << " )" ;
    773         }
    774 
    775767        void CodeGenerator::visit( IfStmt * ifStmt ) {
    776768                output << "if ( ";
  • src/CodeGen/CodeGenerator.h

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 15:06:21 2017
    13 // Update Count     : 49
     12// Last Modified On : Tue Jan 17 16:55:40 2017
     13// Update Count     : 48
    1414//
    1515
     
    8282                virtual void visit( ExprStmt * );
    8383                virtual void visit( AsmStmt * );
    84                 virtual void visit( AsmDecl * );                                // special: statement in declaration context
    8584                virtual void visit( IfStmt * );
    8685                virtual void visit( SwitchStmt * );
  • src/CodeTools/DeclStats.cc

    raa9ee19 rb7b8674  
    3131       
    3232        class DeclStats : public Visitor {
    33                 template<typename T>
    34                 static void sum(T& a, const T& b) { a += b; }
    35 
    36                 static void sum(VectorMap<unsigned>& a, const VectorMap<unsigned>& b) {
    37                         a.reserve( b.size() );
    38                         for ( unsigned i = 0; i < b.size(); ++i ) {
    39                                 a[i] += b[i];
    40                         }
    41                 }
    42 
    43                 template<typename K>
    44                 static void sum(std::map<K, unsigned>& a, const std::map<K, unsigned>& b) {
    45                         for ( const auto& entry : b ) {
    46                                 a[ entry.first ] += entry.second;
    47                         }
    48                 }
    49 
    50                 template<typename K>
    51                 static void sum(std::unordered_map<K, unsigned>& a, const std::unordered_map<K, unsigned>& b) {
    52                         for ( const auto& entry : b ) {
    53                                 a[ entry.first ] += entry.second;
    54                         }
    55                 }
    56 
    57                 struct ArgPackStats {
    58                         VectorMap<unsigned> n;                 ///< Count of decls with each number of elements
    59                         VectorMap<unsigned> n_basic;           ///< Count of decls with each number of basic type elements
    60                         VectorMap<unsigned> n_poly;            ///< Count of decls with each number of polymorphic elements
    61                         std::map<unsigned, unsigned> p_basic;  ///< Count of decls with each percentage of basic type elements
    62                         std::map<unsigned, unsigned> p_poly;   ///< Count of decls with each percentage of polymorphic elements
    63 
    64                         ArgPackStats& operator+= (const ArgPackStats& o) {
    65                                 sum(n, o.n);
    66                                 sum(n_basic, o.n_basic);
    67                                 sum(n_poly, o.n_poly);
    68                                 sum(p_basic, o.p_basic);
    69                                 sum(p_poly, o.p_poly);
    70                                
    71                                 return *this;
    72                         }
    73 
    74                         /// Update based on a declaration list
    75                         ArgPackStats& operator+= ( std::list<DeclarationWithType*>& decls ) {
    76                                 unsigned nn = 0;
    77                                 unsigned nn_basic = 0;
    78                                 unsigned nn_poly = 0;
    79                                 for ( auto decl : decls ) {
    80                                         nn += decl->get_type()->size();
    81                                         if ( dynamic_cast<BasicType*>( decl->get_type() ) ) ++nn_basic;
    82                                         else if ( GenPoly::hasPolyBase( decl->get_type() ) ) ++nn_poly;
    83                                 }
    84                                 ++n.at( nn );
    85                                 ++n_basic.at( nn_basic );
    86                                 ++n_poly.at( nn_poly );
    87                                 if ( nn > 0 ) {
    88                                         ++p_basic[ nn_basic*100/nn ];
    89                                         ++p_poly[ nn_poly*100/nn ];
    90                                 }
    91                                
    92                                 return *this;
    93                         }
    94                 };
    95                
    9633                struct Stats {
    9734                        unsigned n_decls;     ///< Total number of declarations
     
    10037                        /// Count of declarations with each name
    10138                        std::unordered_map<std::string, unsigned> by_name;
    102                         /// Stats for the parameter list
    103                         ArgPackStats params;
    104                         /// Stats for the return list
    105                         ArgPackStats returns;
    106                        
     39
     40                        /// Count of declarations with each number of parameters
     41                        VectorMap<unsigned> n_params;
     42                        /// Count of declarations with each number of return types
     43                        VectorMap<unsigned> n_returns;
     44                        /// Count of declarations with each number of polymorphic parameters
     45                        VectorMap<unsigned> n_poly_params;
     46                        /// Count of declarations with each number of polymorphic return types
     47                        VectorMap<unsigned> n_poly_returns;
     48                        /// Count of declarations with each percentage of polymorphic parameters
     49                        std::map<unsigned, unsigned> p_poly_params;
     50                        /// Count of declarations with each percentage of polymorphic returns
     51                        std::map<unsigned, unsigned> p_poly_returns;
     52
    10753                        /// Count of declarations with each number of assertions
    108                         std::map<unsigned, unsigned> n_assns;
    109                         /// Stats for the assertions' parameters
    110                         ArgPackStats assn_params;
    111                         /// Stats for the assertions' return types
    112                         ArgPackStats assn_returns;
    113                        
    114                         Stats() : n_decls(0), n_type_params(), by_name(), params(), returns(), n_assns(), assn_params(), assn_returns() {}
     54                        std::map<unsigned, unsigned> n_assertions;
     55                        /// Count of assertions with each number of parameters
     56                        VectorMap<unsigned> n_assn_params;
     57                        /// Count of assertions with each number of return types
     58                        VectorMap<unsigned> n_assn_returns;
     59                        /// Count of assertions with each number of polymorphic parameters
     60                        VectorMap<unsigned> n_assn_poly_params;
     61                        /// Count of assertions with each number of polymorphic return types
     62                        VectorMap<unsigned> n_assn_poly_returns;
     63                        /// Count of assertions with each percentage of polymorphic parameters
     64                        std::map<unsigned, unsigned> p_assn_poly_params;
     65                        /// Count of assertions with each percentage of polymorphic returns
     66                        std::map<unsigned, unsigned> p_assn_poly_returns;
     67
     68                        Stats()
     69                                : n_decls(0), n_type_params(), by_name(),
     70                                  n_params(), n_returns(), n_poly_params(), n_poly_returns(), p_poly_params(), p_poly_returns(),
     71                                  n_assertions(), n_assn_params(), n_assn_returns(), n_assn_poly_params(), n_assn_poly_returns(), p_assn_poly_params(), p_assn_poly_returns() {}
     72
     73                private:
     74                        template<typename T>
     75                        static void sum(T& a, const T& b) { a += b; }
     76
     77                        static void sum(VectorMap<unsigned>& a, const VectorMap<unsigned>& b) {
     78                                a.reserve( b.size() );
     79                                for ( unsigned i = 0; i < b.size(); ++i ) {
     80                                        a[i] += b[i];
     81                                }
     82                        }
     83
     84                        template<typename K>
     85                        static void sum(std::map<K, unsigned>& a, const std::map<K, unsigned>& b) {
     86                                for ( const auto& entry : b ) {
     87                                        a[ entry.first ] += entry.second;
     88                                }
     89                        }
     90
     91                        template<typename K>
     92                        static void sum(std::unordered_map<K, unsigned>& a, const std::unordered_map<K, unsigned>& b) {
     93                                for ( const auto& entry : b ) {
     94                                        a[ entry.first ] += entry.second;
     95                                }
     96                        }
    11597
    11698                public:
     
    119101                                sum( n_type_params, o.n_type_params );
    120102                                sum( by_name, o.by_name );
    121                                 sum( params, o.params );
    122                                 sum( returns, o.returns );
    123                                 sum( n_assns, o.n_assns );
    124                                 sum( assn_params, o.assn_params );
    125                                 sum( assn_returns, o.assn_returns );
    126103                               
     104                                sum( n_params, o.n_params );
     105                                sum( n_returns, o.n_returns );
     106                                sum( n_poly_params, o.n_poly_params );
     107                                sum( n_poly_returns, o.n_poly_returns );
     108                                sum( p_poly_params, o.p_poly_params );
     109                                sum( p_poly_returns, o.p_poly_returns );
     110
     111                                sum( n_assertions, o.n_assertions );
     112                                sum( n_assn_params, o.n_assn_params );
     113                                sum( n_assn_returns, o.n_assn_returns );
     114                                sum( n_assn_poly_params, o.n_assn_poly_params );
     115                                sum( n_assn_poly_returns, o.n_assn_poly_returns );
     116                                sum( p_assn_poly_params, o.p_assn_poly_params );
     117                                sum( p_assn_poly_returns, o.p_assn_poly_returns );
     118
    127119                                return *this;
    128120                        }
     
    133125                Stats total;
    134126
    135                 void analyzeFunc( FunctionType* fnTy, ArgPackStats& params, ArgPackStats& returns ) {
    136                         params += fnTy->get_parameters();
    137                         returns += fnTy->get_returnVals();
     127                void analyzeFunc( FunctionType* fnTy, VectorMap<unsigned>& by_params, VectorMap<unsigned>& by_poly_params,
     128                                  VectorMap<unsigned>& by_returns, VectorMap<unsigned>& by_poly_returns,
     129                                  std::map<unsigned, unsigned>& p_poly_params, std::map<unsigned, unsigned>& p_poly_returns ) {
     130                        unsigned n_params = 0;
     131                        unsigned n_poly_params = 0;
     132                        for ( auto pdecl : fnTy->get_parameters() ) {
     133                                n_params += pdecl->get_type()->size();
     134                                if ( GenPoly::hasPolyBase( pdecl->get_type() ) ) ++n_poly_params;
     135                        }
     136                        ++by_params.at( n_params );
     137                        ++by_poly_params.at( n_poly_params );
     138                        if ( n_params > 0 ) ++p_poly_params[ n_poly_params*100/n_params ];
     139
     140                        unsigned n_returns = 0;
     141                        unsigned n_poly_returns = 0;
     142                        for ( auto rdecl : fnTy->get_returnVals() ) {
     143                                n_returns += rdecl->get_type()->size();
     144                                if ( GenPoly::hasPolyBase( rdecl->get_type() ) ) ++n_poly_returns;
     145                        }
     146                        ++by_returns.at( n_returns );
     147                        ++by_poly_returns.at( n_poly_returns );
     148                        if ( n_returns > 0 ) ++p_poly_returns[ n_poly_returns*100/n_returns ];
    138149                }
    139150
     
    152163                        const Type::ForallList& forall = fnTy->get_forall();
    153164                        ++stats.n_type_params.at( forall.size() );
    154                         unsigned n_assns = 0;
     165                        unsigned n_assertions = 0;
    155166                        for ( TypeDecl* fdecl : forall ) {
    156                                 n_assns += fdecl->get_assertions().size();
     167                                n_assertions += fdecl->get_assertions().size();
    157168                                for ( DeclarationWithType* assn : fdecl->get_assertions() ) {
    158169                                        FunctionType *assnTy = 0;
     
    164175                                                assnTy = assnDecl->get_functionType();
    165176                                        }
    166                                         if ( assnTy ) analyzeFunc( assnTy, stats.assn_params, stats.assn_returns );
    167                                 }
    168                         }
    169                         ++stats.n_assns[ n_assns ];
     177                                        if ( assnTy ) analyzeFunc( assnTy, stats.n_assn_params, stats.n_assn_poly_params, stats.n_assn_returns,
     178                                                                   stats.n_assn_poly_returns, stats.p_assn_poly_params, stats.p_assn_poly_returns );
     179                                }
     180                        }
     181                        ++stats.n_assertions[ n_assertions ];
    170182
    171183                        ++stats.by_name[ decl->get_name() ];
    172184
    173                         analyzeFunc( fnTy, stats.params, stats.returns );
     185                        analyzeFunc( fnTy, stats.n_params, stats.n_poly_params, stats.n_returns,
     186                                     stats.n_poly_returns, stats.p_poly_params, stats.p_poly_returns );
    174187                }
    175188
    176189        private:
    177190                template<typename F>
    178                 void printAll( const std::string& name, F extract ) {
     191                void printAll( const char* name, F extract ) {
    179192                        std::cout << "\"" << name << "\",";
    180193                        for ( const auto& stats : for_linkage ) {
     
    185198
    186199                template<typename F>
    187                 void printAllMap( const std::string& name, F extract ) {
     200                void printAllMap( const char* name, F extract ) {
    188201                        for ( const auto& entry : extract(total) ) {
    189202                                const auto& key = entry.first;
     
    200213
    201214                template<typename F>
    202                 void printAllHisto( const std::string& name, F extract ) {
     215                void printAllHisto( const char* name, F extract ) {
    203216                        VectorMap<unsigned> histos[LinkageSpec::NoOfSpecs];
    204217                        VectorMap<unsigned> thisto;
     
    223236
    224237                template<typename F>
    225                 void printAllSparseHisto( const std::string& name, F extract ) {
     238                void printAllSparseHisto( const char* name, F extract ) {
    226239                        std::map<unsigned, unsigned> histos[LinkageSpec::NoOfSpecs];
    227240                        std::map<unsigned, unsigned> thisto;
     
    244257                        }
    245258                }
    246 
    247                 template<typename F>
    248                 void printAllPack( const std::string& name, F extract ) {
    249                         printAllMap("n_basic_" + name, [&extract](const Stats& stats) { return extract(stats).n_basic; });
    250                         printAllMap("n_poly_" + name, [&extract](const Stats& stats) { return extract(stats).n_poly; });
    251                         printAllMap("n_" + name, [&extract](const Stats& stats) { return extract(stats).n; });
    252                         printAllMap("%_basic_" + name, [&extract](const Stats& stats) { return extract(stats).p_basic; });
    253                         printAllMap("%_poly_" + name, [&extract](const Stats& stats) { return extract(stats).p_poly; });
    254                 }
    255259               
    256260        public:
     
    266270                        printAll("unique_names", [](const Stats& stats) { return stats.by_name.size(); });
    267271                        printAllSparseHisto("overloads", [](const Stats& stats) { return stats.by_name; });
    268                         printAllPack("params", [](const Stats& stats) { return stats.params; });
    269                         printAllPack("returns", [](const Stats& stats) { return stats.returns; });
    270                         printAllMap("n_assns", [](const Stats& stats) { return stats.n_assns; });
    271                         printAllPack("assn_params", [](const Stats& stats) { return stats.assn_params; });
    272                         printAllPack("assn_returns", [](const Stats& stats) { return stats.assn_returns; });
     272                       
     273                        printAllMap("n_poly_params", [](const Stats& stats) { return stats.n_poly_params; });
     274                        printAllMap("n_params", [](const Stats& stats) { return stats.n_params; });
     275                        printAllMap("%_poly_params", [](const Stats& stats) { return stats.p_poly_params; });
     276                        printAllMap("n_poly_returns", [](const Stats& stats) { return stats.n_poly_returns; });
     277                        printAllMap("n_returns", [](const Stats& stats) { return stats.n_returns; });
     278                        printAllMap("%_poly_returns", [](const Stats& stats) { return stats.p_poly_returns; });
     279
     280                        printAllMap("n_assertions", [](const Stats& stats) { return stats.n_assertions; });
     281                        printAllMap("n_assn_poly_params", [](const Stats& stats) { return stats.n_assn_poly_params; });
     282                        printAllMap("n_assn_params", [](const Stats& stats) { return stats.n_assn_params; });
     283                        printAllMap("%_assn_poly_params", [](const Stats& stats) { return stats.p_assn_poly_params; });
     284                        printAllMap("n_assn_poly_returns", [](const Stats& stats) { return stats.n_assn_poly_returns; });
     285                        printAllMap("n_assn_returns", [](const Stats& stats) { return stats.n_assn_returns; });
     286                        printAllMap("%_assn_poly_returns", [](const Stats& stats) { return stats.p_assn_poly_returns; });
    273287                }
    274288        };
  • src/Parser/DeclarationNode.cc

    raa9ee19 rb7b8674  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 15:54:59 2017
    13 // Update Count     : 742
     12// Last Modified On : Mon Feb  6 16:01:29 2017
     13// Update Count     : 739
    1414//
    1515
     
    5656                asmName( nullptr ),
    5757                initializer( nullptr ),
    58                 extension( false ),
    59                 asmStmt( nullptr ) {
     58                extension( false ) {
    6059
    6160//      variable.name = nullptr;
     
    7877        delete type;
    7978        delete bitfieldWidth;
    80 
    81         delete asmStmt;
    8279        // asmName, no delete, passed to next stage
    8380        delete initializer;
     
    10198        newnode->initializer = maybeClone( initializer );
    10299        newnode->extension = extension;
    103         newnode->asmStmt = maybeClone( asmStmt );
    104100        newnode->error = error;
    105101
     
    418414}
    419415
    420 DeclarationNode * DeclarationNode::newAsmStmt( StatementNode * stmt ) {
    421         DeclarationNode * newnode = new DeclarationNode;
    422         newnode->asmStmt = stmt;
    423         return newnode;
    424 }
    425 
    426416void appendError( string & dst, const string & src ) {
    427417        if ( src.empty() ) return;
     
    505495                return this;
    506496        } // if
     497
     498        checkQualifiers( q->type, type );
     499        addQualifiersToType( q->type, type );
    507500
    508501        if ( q->type->forall ) {
     
    520513                q->type->forall = nullptr;
    521514        } // if
    522 
    523         checkQualifiers( q->type, type );
    524         addQualifiersToType( q->type, type );
    525 
    526515        delete q;
    527516        return this;
     
    991980Declaration * DeclarationNode::build() const {
    992981        if ( ! error.empty() ) throw SemanticError( error + " in declaration of ", this );
    993 
    994         if ( asmStmt ) {
    995                 return new AsmDecl( safe_dynamic_cast<AsmStmt *>( asmStmt->build() ) );
    996         } // if
    997982
    998983//      if ( variable.name ) {
  • src/Parser/ParseNode.h

    raa9ee19 rb7b8674  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:45:28 2017
    13 // Update Count     : 658
     12// Last Modified On : Mon Feb  6 15:52:21 2017
     13// Update Count     : 657
    1414//
    1515
     
    251251        static DeclarationNode * newAttr( std::string *, DeclarationNode * type ); // @ attributes
    252252        static DeclarationNode * newAttribute( std::string *, ExpressionNode * expr = nullptr ); // gcc attributes
    253         static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement
    254253
    255254        DeclarationNode();
     
    330329        bool extension = false;
    331330        std::string error;
    332         StatementNode * asmStmt;
    333331
    334332        static UniqueName anonymous;
  • src/Parser/parser.cc

    raa9ee19 rb7b8674  
    626626
    627627/* YYFINAL -- State number of the termination state.  */
    628 #define YYFINAL  238
     628#define YYFINAL  240
    629629/* YYLAST -- Last index in YYTABLE.  */
    630 #define YYLAST   10958
     630#define YYLAST   10925
    631631
    632632/* YYNTOKENS -- Number of terminals.  */
     
    637637#define YYNRULES  756
    638638/* YYNRULES -- Number of states.  */
    639 #define YYNSTATES  1554
     639#define YYNSTATES  1550
    640640
    641641/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    746746    1760,  1770,  1771,  1783,  1785,  1789,  1793,  1797,  1799,  1801,
    747747    1807,  1810,  1816,  1817,  1819,  1821,  1825,  1826,  1828,  1830,
    748     1832,  1838,  1839,  1846,  1849,  1851,  1854,  1859,  1862,  1866,
    749     1870,  1874,  1879,  1885,  1891,  1897,  1904,  1906,  1908,  1910,
    750     1914,  1915,  1921,  1922,  1924,  1926,  1929,  1936,  1938,  1942,
    751     1943,  1945,  1950,  1952,  1954,  1956,  1958,  1961,  1963,  1966,
    752     1969,  1971,  1975,  1978,  1982,  1987,  1990,  1995,  2000,  2004,
    753     2013,  2017,  2020,  2022,  2025,  2032,  2041,  2045,  2048,  2052,
    754     2056,  2061,  2066,  2070,  2072,  2074,  2076,  2081,  2090,  2094,
    755     2097,  2101,  2105,  2110,  2115,  2119,  2122,  2124,  2127,  2130,
    756     2132,  2136,  2139,  2143,  2148,  2151,  2156,  2161,  2165,  2172,
    757     2181,  2185,  2188,  2190,  2193,  2196,  2199,  2203,  2208,  2211,
    758     2216,  2221,  2225,  2232,  2241,  2245,  2248,  2250,  2253,  2256,
    759     2258,  2260,  2263,  2267,  2272,  2275,  2280,  2287,  2296,  2298,
    760     2301,  2304,  2306,  2309,  2312,  2316,  2321,  2323,  2328,  2333,
    761     2337,  2343,  2352,  2356,  2359,  2363,  2365,  2371,  2377,  2384,
    762     2391,  2393,  2396,  2399,  2401,  2404,  2407,  2411,  2416,  2418,
    763     2423,  2428,  2432,  2438,  2447,  2451,  2453,  2456,  2458,  2461,
    764     2468,  2474,  2481,  2489,  2497,  2499,  2502,  2505,  2507,  2510,
    765     2513,  2517,  2522,  2524,  2529,  2534,  2538,  2547,  2551,  2553,
    766     2555,  2558,  2560,  2562,  2565,  2569,  2572,  2576,  2579,  2583,
    767     2587,  2590,  2595,  2599,  2602,  2606,  2609,  2614,  2618,  2621,
    768     2628,  2635,  2642,  2650,  2652,  2655,  2657,  2659,  2661,  2664,
    769     2668,  2671,  2675,  2678,  2682,  2686,  2691,  2694,  2698,  2703,
    770     2706,  2712,  2719,  2726,  2727,  2729,  2730
     748    1832,  1834,  1835,  1842,  1845,  1847,  1850,  1855,  1858,  1862,
     749    1866,  1870,  1875,  1881,  1887,  1893,  1900,  1902,  1904,  1906,
     750    1910,  1911,  1917,  1918,  1920,  1922,  1925,  1932,  1934,  1938,
     751    1939,  1941,  1946,  1948,  1950,  1952,  1954,  1957,  1959,  1962,
     752    1965,  1967,  1971,  1974,  1978,  1983,  1986,  1991,  1996,  2000,
     753    2009,  2013,  2016,  2018,  2021,  2028,  2037,  2041,  2044,  2048,
     754    2052,  2057,  2062,  2066,  2068,  2070,  2072,  2077,  2086,  2090,
     755    2093,  2097,  2101,  2106,  2111,  2115,  2118,  2120,  2123,  2126,
     756    2128,  2132,  2135,  2139,  2144,  2147,  2152,  2157,  2161,  2168,
     757    2177,  2181,  2184,  2186,  2189,  2192,  2195,  2199,  2204,  2207,
     758    2212,  2217,  2221,  2228,  2237,  2241,  2244,  2246,  2249,  2252,
     759    2254,  2256,  2259,  2263,  2268,  2271,  2276,  2283,  2292,  2294,
     760    2297,  2300,  2302,  2305,  2308,  2312,  2317,  2319,  2324,  2329,
     761    2333,  2339,  2348,  2352,  2355,  2359,  2361,  2367,  2373,  2380,
     762    2387,  2389,  2392,  2395,  2397,  2400,  2403,  2407,  2412,  2414,
     763    2419,  2424,  2428,  2434,  2443,  2447,  2449,  2452,  2454,  2457,
     764    2464,  2470,  2477,  2485,  2493,  2495,  2498,  2501,  2503,  2506,
     765    2509,  2513,  2518,  2520,  2525,  2530,  2534,  2543,  2547,  2549,
     766    2551,  2554,  2556,  2558,  2561,  2565,  2568,  2572,  2575,  2579,
     767    2583,  2586,  2591,  2595,  2598,  2602,  2605,  2610,  2614,  2617,
     768    2624,  2631,  2638,  2646,  2648,  2651,  2653,  2655,  2657,  2660,
     769    2664,  2667,  2671,  2674,  2678,  2682,  2687,  2690,  2694,  2699,
     770    2702,  2708,  2715,  2722,  2723,  2725,  2726
    771771};
    772772
     
    957957     307,   140,   121,   139,   315,    -1,    -1,   309,    -1,   311,
    958958      -1,   309,   139,   311,    -1,    -1,   309,    -1,   220,    -1,
    959      313,    -1,    67,   114,   146,   115,   137,    -1,    -1,     5,
    960       84,   312,   119,   310,   120,    -1,    43,   311,    -1,   314,
    961       -1,   329,   181,    -1,   333,   139,   215,   181,    -1,   224,
    962      181,    -1,   232,   329,   181,    -1,   235,   329,   181,    -1,
    963      239,   329,   181,    -1,   239,   235,   329,   181,    -1,   232,
    964      333,   139,   215,   181,    -1,   235,   333,   139,   215,   181,
    965       -1,   239,   333,   139,   215,   181,    -1,   239,   235,   333,
    966      139,   215,   181,    -1,   324,    -1,   337,    -1,   329,    -1,
    967      171,   127,   171,    -1,    -1,    67,   114,   146,   115,   318,
    968       -1,    -1,   319,    -1,   320,    -1,   319,   320,    -1,    42,
    969      114,   114,   321,   115,   115,    -1,   322,    -1,   321,   121,
    970      322,    -1,    -1,   323,    -1,   323,   114,   150,   115,    -1,
    971       75,    -1,    77,    -1,    78,    -1,    10,    -1,   325,   318,
    972       -1,   326,    -1,   327,   318,    -1,   328,   318,    -1,   142,
    973       -1,   114,   325,   115,    -1,   157,   324,    -1,   157,   235,
    974      324,    -1,   114,   326,   115,   318,    -1,   325,   355,    -1,
    975      114,   326,   115,   355,    -1,   114,   327,   115,   356,    -1,
    976      114,   327,   115,    -1,   114,   326,   115,   114,   139,   270,
    977      140,   115,    -1,   114,   328,   115,    -1,   330,   318,    -1,
    978      331,    -1,   332,   318,    -1,   325,   114,   139,   270,   140,
    979      115,    -1,   114,   331,   115,   114,   139,   270,   140,   115,
    980       -1,   114,   330,   115,    -1,   157,   329,    -1,   157,   235,
    981      329,    -1,   114,   331,   115,    -1,   114,   331,   115,   355,
    982       -1,   114,   332,   115,   356,    -1,   114,   332,   115,    -1,
    983      334,    -1,   335,    -1,   336,    -1,   325,   114,   277,   115,
    984       -1,   114,   335,   115,   114,   139,   270,   140,   115,    -1,
    985      114,   334,   115,    -1,   157,   333,    -1,   157,   235,   333,
    986       -1,   114,   335,   115,    -1,   114,   335,   115,   355,    -1,
    987      114,   336,   115,   356,    -1,   114,   336,   115,    -1,   338,
    988      318,    -1,   339,    -1,   340,   318,    -1,   341,   318,    -1,
    989      347,    -1,   114,   338,   115,    -1,   157,   337,    -1,   157,
    990      235,   337,    -1,   114,   339,   115,   318,    -1,   338,   355,
    991       -1,   114,   339,   115,   355,    -1,   114,   340,   115,   356,
    992       -1,   114,   340,   115,    -1,   338,   114,   139,   270,   140,
    993      115,    -1,   114,   339,   115,   114,   139,   270,   140,   115,
    994       -1,   114,   341,   115,    -1,   325,   318,    -1,   343,    -1,
    995      344,   318,    -1,   345,   318,    -1,   157,   342,    -1,   157,
    996      235,   342,    -1,   114,   343,   115,   318,    -1,   325,   361,
    997       -1,   114,   343,   115,   355,    -1,   114,   344,   115,   356,
    998       -1,   114,   344,   115,    -1,   325,   114,   139,   270,   140,
    999      115,    -1,   114,   343,   115,   114,   139,   270,   140,   115,
    1000       -1,   114,   345,   115,    -1,   347,   318,    -1,   348,    -1,
    1001      349,   318,    -1,   350,   318,    -1,    77,    -1,    78,    -1,
    1002      157,   346,    -1,   157,   235,   346,    -1,   114,   348,   115,
    1003      318,    -1,   347,   361,    -1,   114,   348,   115,   361,    -1,
    1004      347,   114,   139,   270,   140,   115,    -1,   114,   348,   115,
    1005      114,   139,   270,   140,   115,    -1,   352,    -1,   353,   318,
    1006       -1,   354,   318,    -1,   157,    -1,   157,   235,    -1,   157,
    1007      351,    -1,   157,   235,   351,    -1,   114,   352,   115,   318,
    1008       -1,   355,    -1,   114,   352,   115,   355,    -1,   114,   353,
    1009      115,   356,    -1,   114,   353,   115,    -1,   114,   139,   270,
    1010      140,   115,    -1,   114,   352,   115,   114,   139,   270,   140,
    1011      115,    -1,   114,   354,   115,    -1,   116,   117,    -1,   116,
    1012      117,   356,    -1,   356,    -1,   116,   139,   172,   140,   117,
    1013       -1,   116,   139,   122,   140,   117,    -1,   356,   116,   139,
    1014      172,   140,   117,    -1,   356,   116,   139,   122,   140,   117,
    1015       -1,   358,    -1,   359,   318,    -1,   360,   318,    -1,   157,
    1016       -1,   157,   235,    -1,   157,   357,    -1,   157,   235,   357,
    1017       -1,   114,   358,   115,   318,    -1,   361,    -1,   114,   358,
    1018      115,   361,    -1,   114,   359,   115,   356,    -1,   114,   359,
    1019      115,    -1,   114,   139,   270,   140,   115,    -1,   114,   358,
    1020      115,   114,   139,   270,   140,   115,    -1,   114,   360,   115,
    1021       -1,   362,    -1,   362,   356,    -1,   356,    -1,   116,   117,
    1022       -1,   116,   139,   235,   122,   140,   117,    -1,   116,   139,
    1023      235,   140,   117,    -1,   116,   139,   235,   172,   140,   117,
    1024       -1,   116,   139,     7,   234,   172,   140,   117,    -1,   116,
    1025      139,   235,     7,   172,   140,   117,    -1,   364,    -1,   365,
    1026      318,    -1,   366,   318,    -1,   157,    -1,   157,   235,    -1,
    1027      157,   363,    -1,   157,   235,   363,    -1,   114,   364,   115,
    1028      318,    -1,   355,    -1,   114,   364,   115,   355,    -1,   114,
    1029      365,   115,   356,    -1,   114,   365,   115,    -1,   114,   364,
    1030      115,   114,   139,   270,   140,   115,    -1,   114,   366,   115,
    1031       -1,   368,    -1,   376,    -1,   235,   376,    -1,   369,    -1,
    1032      370,    -1,   157,   233,    -1,   235,   157,   233,    -1,   157,
    1033      377,    -1,   235,   157,   377,    -1,   157,   367,    -1,   235,
    1034      157,   367,    -1,   116,   117,   233,    -1,   371,   233,    -1,
    1035      116,   117,   356,   233,    -1,   371,   356,   233,    -1,   356,
    1036      233,    -1,   116,   117,   369,    -1,   371,   369,    -1,   116,
    1037      117,   356,   369,    -1,   371,   356,   369,    -1,   356,   369,
    1038       -1,   116,   139,   235,   122,   140,   117,    -1,   116,   139,
    1039      235,   172,   140,   117,    -1,   116,   139,   239,   172,   140,
    1040      117,    -1,   116,   139,   239,   235,   172,   140,   117,    -1,
    1041      376,    -1,   235,   376,    -1,   373,    -1,   374,    -1,   375,
    1042       -1,   157,   233,    -1,   235,   157,   233,    -1,   157,   377,
    1043       -1,   235,   157,   377,    -1,   157,   372,    -1,   235,   157,
    1044      372,    -1,   116,   117,   233,    -1,   116,   117,   356,   233,
    1045       -1,   356,   233,    -1,   116,   117,   374,    -1,   116,   117,
    1046      356,   374,    -1,   356,   374,    -1,   116,   139,   269,   140,
    1047      117,    -1,   376,   114,   139,   266,   140,   115,    -1,   226,
    1048      114,   139,   266,   140,   115,    -1,    -1,   121,    -1,    -1,
    1049      136,   172,    -1
     959     313,    -1,   206,    -1,    -1,     5,    84,   312,   119,   310,
     960     120,    -1,    43,   311,    -1,   314,    -1,   329,   181,    -1,
     961     333,   139,   215,   181,    -1,   224,   181,    -1,   232,   329,
     962     181,    -1,   235,   329,   181,    -1,   239,   329,   181,    -1,
     963     239,   235,   329,   181,    -1,   232,   333,   139,   215,   181,
     964      -1,   235,   333,   139,   215,   181,    -1,   239,   333,   139,
     965     215,   181,    -1,   239,   235,   333,   139,   215,   181,    -1,
     966     324,    -1,   337,    -1,   329,    -1,   171,   127,   171,    -1,
     967      -1,    67,   114,   146,   115,   318,    -1,    -1,   319,    -1,
     968     320,    -1,   319,   320,    -1,    42,   114,   114,   321,   115,
     969     115,    -1,   322,    -1,   321,   121,   322,    -1,    -1,   323,
     970      -1,   323,   114,   150,   115,    -1,    75,    -1,    77,    -1,
     971      78,    -1,    10,    -1,   325,   318,    -1,   326,    -1,   327,
     972     318,    -1,   328,   318,    -1,   142,    -1,   114,   325,   115,
     973      -1,   157,   324,    -1,   157,   235,   324,    -1,   114,   326,
     974     115,   318,    -1,   325,   355,    -1,   114,   326,   115,   355,
     975      -1,   114,   327,   115,   356,    -1,   114,   327,   115,    -1,
     976     114,   326,   115,   114,   139,   270,   140,   115,    -1,   114,
     977     328,   115,    -1,   330,   318,    -1,   331,    -1,   332,   318,
     978      -1,   325,   114,   139,   270,   140,   115,    -1,   114,   331,
     979     115,   114,   139,   270,   140,   115,    -1,   114,   330,   115,
     980      -1,   157,   329,    -1,   157,   235,   329,    -1,   114,   331,
     981     115,    -1,   114,   331,   115,   355,    -1,   114,   332,   115,
     982     356,    -1,   114,   332,   115,    -1,   334,    -1,   335,    -1,
     983     336,    -1,   325,   114,   277,   115,    -1,   114,   335,   115,
     984     114,   139,   270,   140,   115,    -1,   114,   334,   115,    -1,
     985     157,   333,    -1,   157,   235,   333,    -1,   114,   335,   115,
     986      -1,   114,   335,   115,   355,    -1,   114,   336,   115,   356,
     987      -1,   114,   336,   115,    -1,   338,   318,    -1,   339,    -1,
     988     340,   318,    -1,   341,   318,    -1,   347,    -1,   114,   338,
     989     115,    -1,   157,   337,    -1,   157,   235,   337,    -1,   114,
     990     339,   115,   318,    -1,   338,   355,    -1,   114,   339,   115,
     991     355,    -1,   114,   340,   115,   356,    -1,   114,   340,   115,
     992      -1,   338,   114,   139,   270,   140,   115,    -1,   114,   339,
     993     115,   114,   139,   270,   140,   115,    -1,   114,   341,   115,
     994      -1,   325,   318,    -1,   343,    -1,   344,   318,    -1,   345,
     995     318,    -1,   157,   342,    -1,   157,   235,   342,    -1,   114,
     996     343,   115,   318,    -1,   325,   361,    -1,   114,   343,   115,
     997     355,    -1,   114,   344,   115,   356,    -1,   114,   344,   115,
     998      -1,   325,   114,   139,   270,   140,   115,    -1,   114,   343,
     999     115,   114,   139,   270,   140,   115,    -1,   114,   345,   115,
     1000      -1,   347,   318,    -1,   348,    -1,   349,   318,    -1,   350,
     1001     318,    -1,    77,    -1,    78,    -1,   157,   346,    -1,   157,
     1002     235,   346,    -1,   114,   348,   115,   318,    -1,   347,   361,
     1003      -1,   114,   348,   115,   361,    -1,   347,   114,   139,   270,
     1004     140,   115,    -1,   114,   348,   115,   114,   139,   270,   140,
     1005     115,    -1,   352,    -1,   353,   318,    -1,   354,   318,    -1,
     1006     157,    -1,   157,   235,    -1,   157,   351,    -1,   157,   235,
     1007     351,    -1,   114,   352,   115,   318,    -1,   355,    -1,   114,
     1008     352,   115,   355,    -1,   114,   353,   115,   356,    -1,   114,
     1009     353,   115,    -1,   114,   139,   270,   140,   115,    -1,   114,
     1010     352,   115,   114,   139,   270,   140,   115,    -1,   114,   354,
     1011     115,    -1,   116,   117,    -1,   116,   117,   356,    -1,   356,
     1012      -1,   116,   139,   172,   140,   117,    -1,   116,   139,   122,
     1013     140,   117,    -1,   356,   116,   139,   172,   140,   117,    -1,
     1014     356,   116,   139,   122,   140,   117,    -1,   358,    -1,   359,
     1015     318,    -1,   360,   318,    -1,   157,    -1,   157,   235,    -1,
     1016     157,   357,    -1,   157,   235,   357,    -1,   114,   358,   115,
     1017     318,    -1,   361,    -1,   114,   358,   115,   361,    -1,   114,
     1018     359,   115,   356,    -1,   114,   359,   115,    -1,   114,   139,
     1019     270,   140,   115,    -1,   114,   358,   115,   114,   139,   270,
     1020     140,   115,    -1,   114,   360,   115,    -1,   362,    -1,   362,
     1021     356,    -1,   356,    -1,   116,   117,    -1,   116,   139,   235,
     1022     122,   140,   117,    -1,   116,   139,   235,   140,   117,    -1,
     1023     116,   139,   235,   172,   140,   117,    -1,   116,   139,     7,
     1024     234,   172,   140,   117,    -1,   116,   139,   235,     7,   172,
     1025     140,   117,    -1,   364,    -1,   365,   318,    -1,   366,   318,
     1026      -1,   157,    -1,   157,   235,    -1,   157,   363,    -1,   157,
     1027     235,   363,    -1,   114,   364,   115,   318,    -1,   355,    -1,
     1028     114,   364,   115,   355,    -1,   114,   365,   115,   356,    -1,
     1029     114,   365,   115,    -1,   114,   364,   115,   114,   139,   270,
     1030     140,   115,    -1,   114,   366,   115,    -1,   368,    -1,   376,
     1031      -1,   235,   376,    -1,   369,    -1,   370,    -1,   157,   233,
     1032      -1,   235,   157,   233,    -1,   157,   377,    -1,   235,   157,
     1033     377,    -1,   157,   367,    -1,   235,   157,   367,    -1,   116,
     1034     117,   233,    -1,   371,   233,    -1,   116,   117,   356,   233,
     1035      -1,   371,   356,   233,    -1,   356,   233,    -1,   116,   117,
     1036     369,    -1,   371,   369,    -1,   116,   117,   356,   369,    -1,
     1037     371,   356,   369,    -1,   356,   369,    -1,   116,   139,   235,
     1038     122,   140,   117,    -1,   116,   139,   235,   172,   140,   117,
     1039      -1,   116,   139,   239,   172,   140,   117,    -1,   116,   139,
     1040     239,   235,   172,   140,   117,    -1,   376,    -1,   235,   376,
     1041      -1,   373,    -1,   374,    -1,   375,    -1,   157,   233,    -1,
     1042     235,   157,   233,    -1,   157,   377,    -1,   235,   157,   377,
     1043      -1,   157,   372,    -1,   235,   157,   372,    -1,   116,   117,
     1044     233,    -1,   116,   117,   356,   233,    -1,   356,   233,    -1,
     1045     116,   117,   374,    -1,   116,   117,   356,   374,    -1,   356,
     1046     374,    -1,   116,   139,   269,   140,   117,    -1,   376,   114,
     1047     139,   266,   140,   115,    -1,   226,   114,   139,   266,   140,
     1048     115,    -1,    -1,   121,    -1,    -1,   136,   172,    -1
    10501049};
    10511050
     
    11061105    2006,  2012,  2011,  2025,  2026,  2031,  2032,  2036,  2041,  2046,
    11071106    2054,  2059,  2070,  2071,  2076,  2077,  2083,  2084,  2088,  2089,
    1108     2090,  2095,  2094,  2105,  2113,  2119,  2125,  2134,  2140,  2146,
    1109     2152,  2158,  2166,  2172,  2180,  2186,  2195,  2196,  2197,  2201,
    1110     2207,  2208,  2218,  2219,  2223,  2224,  2229,  2234,  2235,  2241,
    1111     2242,  2244,  2249,  2250,  2251,  2252,  2287,  2289,  2290,  2292,
    1112     2297,  2302,  2307,  2309,  2311,  2316,  2318,  2320,  2322,  2327,
    1113     2329,  2338,  2340,  2341,  2346,  2348,  2350,  2355,  2357,  2359,
    1114     2364,  2366,  2368,  2380,  2381,  2382,  2386,  2388,  2390,  2395,
    1115     2397,  2399,  2404,  2406,  2408,  2423,  2425,  2426,  2428,  2433,
    1116     2434,  2439,  2441,  2443,  2448,  2450,  2452,  2454,  2459,  2461,
    1117     2463,  2473,  2475,  2476,  2478,  2483,  2485,  2487,  2492,  2494,
    1118     2496,  2498,  2503,  2505,  2507,  2520,  2522,  2523,  2525,  2530,
    1119     2535,  2543,  2545,  2547,  2552,  2554,  2559,  2561,  2578,  2579,
    1120     2581,  2586,  2588,  2590,  2592,  2594,  2599,  2600,  2602,  2604,
    1121     2609,  2611,  2613,  2619,  2621,  2623,  2627,  2629,  2631,  2633,
    1122     2667,  2668,  2670,  2675,  2677,  2679,  2681,  2683,  2688,  2689,
    1123     2691,  2693,  2698,  2700,  2702,  2708,  2709,  2711,  2720,  2723,
    1124     2725,  2728,  2730,  2732,  2746,  2747,  2749,  2754,  2756,  2758,
    1125     2760,  2762,  2767,  2768,  2770,  2772,  2777,  2779,  2787,  2788,
    1126     2789,  2794,  2795,  2799,  2801,  2803,  2805,  2807,  2809,  2816,
    1127     2818,  2820,  2822,  2824,  2827,  2829,  2831,  2833,  2835,  2840,
    1128     2842,  2844,  2849,  2875,  2876,  2878,  2882,  2883,  2887,  2889,
    1129     2891,  2893,  2895,  2897,  2904,  2906,  2908,  2910,  2912,  2914,
    1130     2919,  2926,  2928,  2946,  2948,  2953,  2954
     1107    2090,  2093,  2092,  2103,  2111,  2117,  2123,  2132,  2138,  2144,
     1108    2150,  2156,  2164,  2170,  2178,  2184,  2193,  2194,  2195,  2199,
     1109    2205,  2206,  2216,  2217,  2221,  2222,  2227,  2232,  2233,  2239,
     1110    2240,  2242,  2247,  2248,  2249,  2250,  2285,  2287,  2288,  2290,
     1111    2295,  2300,  2305,  2307,  2309,  2314,  2316,  2318,  2320,  2325,
     1112    2327,  2336,  2338,  2339,  2344,  2346,  2348,  2353,  2355,  2357,
     1113    2362,  2364,  2366,  2378,  2379,  2380,  2384,  2386,  2388,  2393,
     1114    2395,  2397,  2402,  2404,  2406,  2421,  2423,  2424,  2426,  2431,
     1115    2432,  2437,  2439,  2441,  2446,  2448,  2450,  2452,  2457,  2459,
     1116    2461,  2471,  2473,  2474,  2476,  2481,  2483,  2485,  2490,  2492,
     1117    2494,  2496,  2501,  2503,  2505,  2518,  2520,  2521,  2523,  2528,
     1118    2533,  2541,  2543,  2545,  2550,  2552,  2557,  2559,  2576,  2577,
     1119    2579,  2584,  2586,  2588,  2590,  2592,  2597,  2598,  2600,  2602,
     1120    2607,  2609,  2611,  2617,  2619,  2621,  2625,  2627,  2629,  2631,
     1121    2665,  2666,  2668,  2673,  2675,  2677,  2679,  2681,  2686,  2687,
     1122    2689,  2691,  2696,  2698,  2700,  2706,  2707,  2709,  2718,  2721,
     1123    2723,  2726,  2728,  2730,  2744,  2745,  2747,  2752,  2754,  2756,
     1124    2758,  2760,  2765,  2766,  2768,  2770,  2775,  2777,  2785,  2786,
     1125    2787,  2792,  2793,  2797,  2799,  2801,  2803,  2805,  2807,  2814,
     1126    2816,  2818,  2820,  2822,  2825,  2827,  2829,  2831,  2833,  2838,
     1127    2840,  2842,  2847,  2873,  2874,  2876,  2880,  2881,  2885,  2887,
     1128    2889,  2891,  2893,  2895,  2902,  2904,  2906,  2908,  2910,  2912,
     1129    2917,  2924,  2926,  2944,  2946,  2951,  2952
    11311130};
    11321131#endif
     
    14061405       9,     0,    11,     1,     3,     3,     3,     1,     1,     5,
    14071406       2,     5,     0,     1,     1,     3,     0,     1,     1,     1,
    1408        5,     0,     6,     2,     1,     2,     4,     2,     3,     3,
     1407       1,     0,     6,     2,     1,     2,     4,     2,     3,     3,
    14091408       3,     4,     5,     5,     5,     6,     1,     1,     1,     3,
    14101409       0,     5,     0,     1,     1,     2,     6,     1,     3,     0,
     
    14391438     306,     0,   308,   333,   325,   330,   328,   329,   327,   326,
    14401439     331,   332,   338,   339,   337,   334,   335,   336,   552,   377,
    1441      378,     0,     0,     0,   299,     0,   309,   323,   324,     9,
     1440     378,     0,     0,     0,   299,   226,   309,   323,   324,     9,
    14421441     366,     0,    10,    16,    17,     0,     2,    72,    73,   570,
    1443       11,   299,   528,   253,     3,   458,     3,   266,     0,     3,
    1444        3,     3,   254,     0,     0,     0,   300,   301,   303,   299,
    1445      312,   315,   347,   291,   340,   345,   292,   355,   293,   362,
    1446      359,   369,   552,   370,   294,   477,   481,     3,     3,     0,
    1447        2,   524,   529,   534,   304,     0,     0,   552,   582,   552,
    1448        2,   593,   594,   595,   299,     0,   736,   737,     0,    14,
    1449        0,    15,   299,   275,   276,     0,   300,   295,   296,   297,
    1450      298,   531,   310,     0,   553,   554,    14,   451,   452,    13,
    1451      447,   450,     0,   508,   503,   494,   451,   452,     0,     0,
    1452      533,     0,   299,     0,     0,     0,     0,     0,     0,     0,
    1453        0,   299,   299,     0,   738,   300,   587,   599,   742,   735,
    1454      733,   740,     0,     0,     0,   260,     2,     0,   537,   445,
    1455      446,   444,     0,     0,     0,     0,   639,   640,     0,     0,
    1456        3,   550,   546,   552,   567,   552,   552,   548,     2,   547,
    1457      552,   606,   552,   552,   609,     0,     0,     0,   299,   299,
    1458      317,   367,     2,   299,   267,   302,   313,   348,   360,   482,
    1459        0,     2,     0,   458,   268,   300,   341,   356,   363,   478,
    1460        0,     2,     0,   316,   342,   349,   350,     0,   357,   361,
    1461      364,   368,     0,   479,   483,     0,     0,     0,     1,   299,
    1462        2,   535,   581,   583,   299,     2,   746,   300,   749,   550,
    1463      550,     0,   300,     0,     0,   278,   552,   548,     2,   299,
    1464        0,     0,   299,     0,   400,   555,     2,   506,     2,   559,
    1465       19,     0,    18,     0,     0,     0,     0,    21,    69,     4,
    1466        8,     5,     6,     7,     0,     0,   299,     2,    74,    75,
    1467       76,    77,    57,    22,    58,    26,    56,    78,   299,     0,
    1468       80,    84,    87,    90,    95,    98,   100,   102,   104,   106,
    1469      108,   112,   500,    23,   454,   456,   499,     0,   453,   457,
    1470        0,   571,   586,   589,   592,   598,   601,   604,     2,   744,
    1471      299,   747,     2,    72,   299,     3,   432,     0,   440,   300,
    1472      299,   312,   340,   292,   355,   362,     3,     3,   414,   418,
    1473      428,   433,   477,   299,   434,   711,   712,   299,   435,   437,
    1474        2,   588,   600,   734,     2,     2,   255,     2,   463,     0,
    1475      461,   460,   459,   146,     2,     2,   257,     2,     2,   256,
    1476        2,   286,     2,   287,     0,     0,     0,     0,     0,     0,
    1477        0,     0,     0,   572,   611,   552,     0,     0,   458,     2,
    1478      566,   575,   665,   568,   569,   538,   299,     2,   605,   614,
    1479      607,   608,     0,   281,   299,   299,   346,   300,     0,   300,
    1480      299,   739,   743,   741,   539,   299,   550,   261,   269,   314,
    1481        0,     2,   540,   299,   504,   343,   344,   288,   358,   365,
    1482      452,   299,   379,   372,   376,   480,   505,   258,   259,   525,
    1483      299,   442,     0,   299,   243,     0,     2,   245,     0,   300,
    1484        0,   263,     2,   264,   283,     0,     0,     2,   299,   550,
    1485      299,   490,   492,   491,   493,     0,     0,   755,     0,   753,
    1486      405,     0,   299,     0,   299,   495,   299,   565,   562,   563,
    1487      564,     0,   557,   560,     0,    20,   299,    64,   299,    78,
    1488       59,   299,    66,   299,   299,    62,    63,     2,   132,     0,
    1489        0,     0,   733,   299,    31,     0,    34,    35,    40,     2,
    1490        0,    40,   118,   119,   120,   121,   122,   123,   124,   125,
    1491      126,   127,   117,   116,     0,    60,    61,     0,     0,     0,
     1442      11,   299,   530,   528,   253,     3,   458,     3,   266,     0,
     1443       3,     3,     3,   254,     0,     0,     0,   300,   301,   303,
     1444     299,   312,   315,   347,   291,   340,   345,   292,   355,   293,
     1445     362,   359,   369,   552,   370,   294,   477,   481,     3,     3,
     1446       0,     2,   524,   529,   534,   304,     0,     0,   552,   582,
     1447     552,     2,   593,   594,   595,   299,     0,   736,   737,     0,
     1448      14,     0,    15,   299,   275,   276,     0,   300,   295,   296,
     1449     297,   298,   531,   310,     0,   553,   554,    14,   451,   452,
     1450      13,   447,   450,     0,   508,   503,   494,   451,   452,     0,
     1451       0,   533,   227,     0,   299,     0,     0,     0,     0,     0,
     1452       0,     0,     0,   299,   299,     0,   738,   300,   587,   599,
     1453     742,   735,   733,   740,     0,     0,     0,   260,     2,     0,
     1454     537,   445,   446,   444,     0,     0,     0,     0,   639,   640,
     1455       0,     0,     3,   550,   546,   552,   567,   552,   552,   548,
     1456       2,   547,   552,   606,   552,   552,   609,     0,     0,     0,
     1457     299,   299,   317,   367,     2,   299,   267,   302,   313,   348,
     1458     360,   482,     0,     2,     0,   458,   268,   300,   341,   356,
     1459     363,   478,     0,     2,     0,   316,   342,   349,   350,     0,
     1460     357,   361,   364,   368,     0,   479,   483,     0,     0,     0,
     1461       1,   299,     2,   535,   581,   583,   299,     2,   746,   300,
     1462     749,   550,   550,     0,   300,     0,     0,   278,   552,   548,
     1463       2,   299,     0,     0,   299,     0,   400,   555,     2,   506,
     1464       2,   559,     0,     0,     0,     0,     0,     0,    21,    69,
     1465       4,     8,    19,     5,     6,     7,     0,     0,   299,     2,
     1466      74,    75,    76,    77,    57,    22,    58,    18,    26,    56,
     1467      78,   299,     0,    80,    84,    87,    90,    95,    98,   100,
     1468     102,   104,   106,   108,   112,   500,    23,   454,   456,   499,
     1469       0,   453,   457,     0,   571,   586,   589,   592,   598,   601,
     1470     604,     2,   744,   299,   747,     2,    72,   299,     3,   432,
     1471       0,   440,   300,   299,   312,   340,   292,   355,   362,     3,
     1472       3,   414,   418,   428,   433,   477,   299,   434,   711,   712,
     1473     299,   435,   437,     2,   588,   600,   734,     2,     2,   255,
     1474       2,   463,     0,   461,   460,   459,   146,     2,     2,   257,
     1475       2,     2,   256,     2,   286,     2,   287,     0,     0,     0,
     1476       0,     0,     0,     0,     0,     0,   572,   611,   552,     0,
     1477       0,   458,     2,   566,   575,   665,   568,   569,   538,   299,
     1478       2,   605,   614,   607,   608,     0,   281,   299,   299,   346,
     1479     300,     0,   300,   299,   739,   743,   741,   539,   299,   550,
     1480     261,   269,   314,     0,     2,   540,   299,   504,   343,   344,
     1481     288,   358,   365,   452,   299,   379,   372,   376,   480,   505,
     1482     258,   259,   525,   299,   442,     0,   299,   243,     0,     2,
     1483     245,     0,   300,     0,   263,     2,   264,   283,     0,     0,
     1484       2,   299,   550,   299,   490,   492,   491,   493,     0,     0,
     1485     755,     0,   753,   405,     0,   299,     0,   299,   495,   299,
     1486     565,   562,   563,   564,     0,   557,   560,     0,     0,   299,
     1487      64,   299,    78,    59,   299,    66,   299,   299,    62,    63,
     1488       2,   132,     0,     0,     0,   733,   299,    20,    31,     0,
     1489      34,    35,    40,     2,     0,    40,   118,   119,   120,   121,
     1490     122,   123,   124,   125,   126,   127,   117,   116,     0,    60,
     1491      61,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    14921492       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1493        0,     0,     0,     0,     0,     0,     2,   651,   455,   648,
    1494      552,   552,   656,   484,   299,     2,   590,   591,     2,   602,
    1495      603,     0,   745,   748,   299,   299,     0,   713,   300,   717,
    1496      708,   709,   715,     0,     2,     2,   673,   552,   755,   622,
    1497      552,   552,   755,   552,   636,   552,   552,   687,   441,   670,
    1498      552,   552,   678,   685,   299,   436,   300,     0,     0,   299,
    1499      723,   300,   728,   755,   720,   299,   725,   755,   299,   299,
    1500        0,     0,    21,     2,     0,    22,     0,   464,   753,     0,
    1501        0,   470,   247,     0,   299,     0,     0,     0,   552,   578,
    1502      580,   610,   552,   617,   620,   573,   612,     0,   285,     0,
    1503      289,   663,     0,   299,   282,     0,     0,     0,     0,   280,
    1504        2,     0,   265,   541,   299,     0,     0,   299,     0,   300,
    1505        3,   421,     3,   425,   424,   596,     0,   536,   299,    72,
    1506        3,   299,   440,   300,     3,   434,   435,     2,     0,     0,
    1507        0,   489,   311,   299,     0,   485,   487,   754,     0,     0,
    1508      403,     0,     3,     2,     2,     0,   507,     3,     0,   559,
    1509       40,   530,     0,     2,     0,     0,     0,    41,     0,     0,
    1510      299,    24,     0,    25,     0,   114,     3,     2,    32,     0,
    1511       38,     0,     2,    29,     0,   113,    81,    82,    83,    85,
    1512       86,    88,    89,    93,    94,    91,    92,    96,    97,    99,
    1513      101,   103,   105,   107,     0,     0,   299,     0,     0,     0,
    1514      652,   653,   649,   650,   502,   501,   299,   299,   719,   299,
    1515      724,   300,   299,   667,   710,   666,     2,   299,     0,     0,
    1516        0,     0,     0,     0,     0,     0,   688,     0,   674,   625,
    1517      641,   675,     2,   621,   628,   438,   623,   624,   439,     2,
    1518      635,   644,   637,   638,   671,   672,   686,   714,   718,   716,
    1519      755,   273,     2,   750,     2,   429,   722,   727,   430,     3,
    1520      408,     3,     3,     3,   458,     0,     0,     2,   472,   469,
    1521      754,     0,   465,     2,   468,   471,     0,   299,   248,   270,
    1522        3,   277,   279,     0,     2,   574,   576,   577,     2,   613,
    1523      615,   616,   550,     0,   664,   542,     3,   352,   351,   354,
    1524      353,   299,   543,     0,   544,     0,   299,   371,   391,   380,
    1525        0,   385,   379,     0,     0,   443,   246,     0,     0,     3,
    1526        2,   673,   436,     0,   532,     0,   755,   756,   494,   405,
    1527      399,   111,   406,   753,     0,   299,   299,   299,     0,   556,
    1528      558,     0,    65,   299,     0,    67,    70,    71,     0,   133,
    1529      463,    79,   115,   130,     3,   114,     0,    28,    40,     3,
    1530        0,    37,   110,     0,     3,   552,   659,   662,   654,     3,
    1531        3,   721,   726,     2,    72,   299,     3,     3,   300,     0,
    1532        3,   552,   631,   634,   552,   552,   681,   684,   299,     3,
    1533      626,   642,   676,   299,   299,   431,   299,   299,     0,     0,
    1534        0,     0,   262,   111,     0,     3,     3,     0,   466,     0,
    1535      462,     0,     0,   251,   299,     0,     0,   134,     0,     0,
    1536        0,     0,     0,   134,     0,     0,   114,   114,   226,    21,
    1537      366,   446,    69,     0,    22,   135,     0,     3,   136,   137,
    1538        2,   148,   138,   139,   140,   141,   142,   143,   150,     0,
    1539      152,     0,     0,     0,   299,   299,   458,   552,     0,   545,
    1540      379,   391,     0,     0,     0,   697,     0,   389,   392,   396,
    1541      552,   396,   702,   395,   694,   552,   552,   388,   381,   386,
    1542      299,   584,     2,   669,   668,     0,   674,     2,   486,   488,
    1543      404,     0,   509,     3,   517,   518,     0,     2,   513,     3,
    1544        3,     0,     0,   561,     0,   753,   114,     0,     3,    54,
    1545        0,    54,    54,     3,    42,    44,    39,     0,     3,   109,
    1546        0,     2,   655,   657,   658,     0,     0,   299,     0,     0,
    1547        0,     3,   552,     0,     2,   627,   629,   630,     2,   643,
    1548      645,     2,   677,   679,   680,     0,     0,    72,     0,     3,
    1549        3,     3,     3,   416,   415,   419,   752,     2,     2,   751,
    1550        0,     0,     0,     0,     3,   467,     3,     0,   249,   151,
    1551      153,     0,     0,     0,     0,     2,   197,     0,   195,     0,
    1552        0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
    1553      157,   154,   299,     0,   552,     0,   272,   284,     3,     3,
    1554      290,   551,   618,   299,     0,   382,     0,     0,     0,     0,
    1555      398,   698,   699,   552,   383,   393,   397,   394,   695,   696,
    1556      387,   374,   299,   271,   299,   402,     0,   520,   497,   299,
    1557        0,     0,   496,   511,    68,     0,   131,   128,     0,    51,
    1558        2,    45,    52,    53,     0,     0,     0,     0,    27,     0,
    1559      660,   299,   585,   597,   729,   730,   731,     0,   682,   299,
    1560      299,   299,     3,     3,     0,   690,     0,     0,     0,     0,
    1561      299,   299,     3,   549,   473,   474,     0,   252,     0,     0,
    1562        0,     0,   299,   198,   196,     0,   193,   199,     0,     0,
    1563        0,     0,   203,   206,   204,   200,     0,   201,     0,     0,
     1493       2,   651,   455,   648,   552,   552,   656,   484,   299,     2,
     1494     590,   591,     2,   602,   603,     0,   745,   748,   299,   299,
     1495       0,   713,   300,   717,   708,   709,   715,     0,     2,     2,
     1496     673,   552,   755,   622,   552,   552,   755,   552,   636,   552,
     1497     552,   687,   441,   670,   552,   552,   678,   685,   299,   436,
     1498     300,     0,     0,   299,   723,   300,   728,   755,   720,   299,
     1499     725,   755,   299,   299,     0,     0,    21,     2,     0,    22,
     1500       0,   464,   753,     0,     0,   470,   247,     0,   299,     0,
     1501       0,     0,   552,   578,   580,   610,   552,   617,   620,   573,
     1502     612,     0,   285,     0,   289,   663,     0,   299,   282,     0,
     1503       0,     0,     0,   280,     2,     0,   265,   541,   299,     0,
     1504       0,   299,     0,   300,     3,   421,     3,   425,   424,   596,
     1505       0,   536,   299,    72,     3,   299,   440,   300,     3,   434,
     1506     435,     2,     0,     0,     0,   489,   311,   299,     0,   485,
     1507     487,   754,     0,     0,   403,     0,     3,     2,     2,     0,
     1508     507,     3,     0,   559,    40,     0,     0,   228,     0,     2,
     1509       0,     0,     0,    41,     0,     0,   299,    24,     0,    25,
     1510       0,   114,     3,     2,    32,     0,    38,     0,     2,    29,
     1511       0,   113,    81,    82,    83,    85,    86,    88,    89,    93,
     1512      94,    91,    92,    96,    97,    99,   101,   103,   105,   107,
     1513       0,     0,   299,     0,     0,     0,   652,   653,   649,   650,
     1514     502,   501,   299,   299,   719,   299,   724,   300,   299,   667,
     1515     710,   666,     2,   299,     0,     0,     0,     0,     0,     0,
     1516       0,     0,   688,     0,   674,   625,   641,   675,     2,   621,
     1517     628,   438,   623,   624,   439,     2,   635,   644,   637,   638,
     1518     671,   672,   686,   714,   718,   716,   755,   273,     2,   750,
     1519       2,   429,   722,   727,   430,     3,   408,     3,     3,     3,
     1520     458,     0,     0,     2,   472,   469,   754,     0,   465,     2,
     1521     468,   471,     0,   299,   248,   270,     3,   277,   279,     0,
     1522       2,   574,   576,   577,     2,   613,   615,   616,   550,     0,
     1523     664,   542,     3,   352,   351,   354,   353,   299,   543,     0,
     1524     544,     0,   299,   371,   391,   380,     0,   385,   379,     0,
     1525       0,   443,   246,     0,     0,     3,     2,   673,   436,     0,
     1526     532,     0,   755,   756,   494,   405,   399,   111,   406,   753,
     1527       0,   299,   299,   299,     0,   556,   558,     0,     0,   221,
     1528       0,     0,     0,   229,   230,    65,   299,     0,    67,    70,
     1529      71,     0,   133,   463,    79,   115,   130,     3,   114,     0,
     1530      28,    40,     3,     0,    37,   110,     0,     3,   552,   659,
     1531     662,   654,     3,     3,   721,   726,     2,    72,   299,     3,
     1532       3,   300,     0,     3,   552,   631,   634,   552,   552,   681,
     1533     684,   299,     3,   626,   642,   676,   299,   299,   431,   299,
     1534     299,     0,     0,     0,     0,   262,   111,     0,     3,     3,
     1535       0,   466,     0,   462,     0,     0,   251,   299,     0,     0,
     1536     134,     0,     0,     0,     0,     0,   134,     0,     0,   114,
     1537     114,    21,   366,   446,    69,     0,    22,   135,     0,     3,
     1538     136,   137,     2,   148,   138,   139,   140,   141,   142,   143,
     1539     150,     0,   152,     0,     0,     0,   299,   299,   458,   552,
     1540       0,   545,   379,   391,     0,     0,     0,   697,     0,   389,
     1541     392,   396,   552,   396,   702,   395,   694,   552,   552,   388,
     1542     381,   386,   299,   584,     2,   669,   668,     0,   674,     2,
     1543     486,   488,   404,     0,   509,     3,   517,   518,     0,     2,
     1544     513,     3,     3,     0,     0,   561,   228,     0,     0,     0,
     1545     228,     0,     0,   753,   114,     0,     3,    54,     0,    54,
     1546      54,     3,    42,    44,    39,     0,     3,   109,     0,     2,
     1547     655,   657,   658,     0,     0,   299,     0,     0,     0,     3,
     1548     552,     0,     2,   627,   629,   630,     2,   643,   645,     2,
     1549     677,   679,   680,     0,     0,    72,     0,     3,     3,     3,
     1550       3,   416,   415,   419,   752,     2,     2,   751,     0,     0,
     1551       0,     0,     3,   467,     3,     0,   249,   151,   153,     0,
     1552       0,     0,     0,     2,   197,     0,   195,     0,     0,     0,
     1553       0,     0,     0,     0,     0,     0,   157,   154,   299,     0,
     1554     552,     0,   272,   284,     3,     3,   290,   551,   618,   299,
     1555       0,   382,     0,     0,     0,     0,   398,   698,   699,   552,
     1556     383,   393,   397,   394,   695,   696,   387,   374,   299,   271,
     1557     299,   402,     0,   520,   497,   299,     0,     0,   496,   511,
     1558       0,     0,     0,   222,     0,   231,    68,     0,   131,   128,
     1559       0,    51,     2,    45,    52,    53,     0,     0,     0,     0,
     1560      27,     0,   660,   299,   585,   597,   729,   730,   731,     0,
     1561     682,   299,   299,   299,     3,     3,     0,   690,     0,     0,
     1562       0,     0,   299,   299,     3,   549,   473,   474,     0,   252,
     1563       0,     0,     0,     0,   299,   198,   196,     0,   193,   199,
     1564       0,     0,     0,     0,   203,   206,   204,   200,     0,   201,
    15641565      40,   149,   147,   134,   250,     0,     0,   375,   384,   552,
    15651566     705,   707,   700,   391,   423,   427,   426,     0,   514,     2,
    1566      515,     2,   516,   510,   299,    36,   129,    55,     0,    43,
    1567       33,     2,    49,     2,    47,    30,     3,   732,     3,     3,
    1568        3,     0,     0,   689,   691,   632,   646,   274,     2,   413,
    1569        3,   412,     0,   476,   134,     0,     0,   134,     3,     0,
    1570      134,     3,   300,   299,   194,     0,     2,     2,   215,   205,
    1571        0,     0,     0,     0,     0,     0,   145,   579,   619,     2,
    1572      701,   703,   704,   390,     2,     0,     0,     2,     3,     0,
    1573        0,     0,     0,     0,     0,   692,   693,   299,     0,   475,
    1574      158,     0,     0,     2,   171,   134,   160,     0,   188,     0,
    1575      134,     0,   300,     2,   162,     0,     2,     0,     2,     2,
    1576        2,   202,     0,     0,   228,    37,   299,   299,   519,   521,
    1577      512,     0,     3,     3,   661,   633,   647,   683,   417,   134,
    1578      164,   167,     0,   166,   170,     3,   173,   172,     0,   134,
    1579      190,   134,     3,     0,   299,     0,   299,     0,     2,     0,
    1580        2,     0,   221,     0,     0,     0,   229,   230,   144,     3,
    1581        2,    46,     0,     0,   159,     0,     0,   169,   239,   174,
    1582        2,   241,   189,     0,   192,   178,   207,     3,   216,   220,
    1583      209,     3,     0,   299,     0,   299,   228,     0,     0,     0,
    1584      228,     0,     0,     0,    50,    48,   165,   168,   134,     0,
    1585      175,   299,   134,   134,     0,   179,     0,     0,   697,   217,
    1586      218,   219,     0,   208,     3,   210,     3,     0,     0,     0,
    1587      222,     0,   231,   706,   299,   155,   176,   161,   134,   242,
    1588      191,   186,   184,   180,   163,   134,     0,   698,     0,     0,
    1589        0,   234,     0,   232,     0,   234,     0,   156,   177,   187,
    1590      181,   185,   184,   182,     3,     3,     0,     0,   235,     0,
    1591        0,   223,     0,   498,   183,   211,   213,     3,     3,     0,
    1592        0,     0,     0,   212,   214,   236,   237,     0,   233,   224,
    1593        0,     0,   225,   238
     1567     515,     2,   516,   510,   299,   234,     0,   232,     0,   234,
     1568      36,   129,    55,     0,    43,    33,     2,    49,     2,    47,
     1569      30,     3,   732,     3,     3,     3,     0,     0,   689,   691,
     1570     632,   646,   274,     2,   413,     3,   412,     0,   476,   134,
     1571       0,     0,   134,     3,     0,   134,     3,   300,   299,   194,
     1572       0,     2,     2,   215,   205,     0,     0,     0,     0,   145,
     1573     579,   619,     2,   701,   703,   704,   390,     2,     0,     0,
     1574       2,   235,     0,     0,   223,     0,     3,     0,     0,     0,
     1575       0,     0,     0,   692,   693,   299,     0,   475,   158,     0,
     1576       0,     2,   171,   134,   160,     0,   188,     0,   134,     0,
     1577     300,     2,   162,     0,     2,     0,     2,     2,     2,   202,
     1578      37,   299,   299,   519,   521,   512,     0,     0,     0,     0,
     1579       0,     3,     3,   661,   633,   647,   683,   417,   134,   164,
     1580     167,     0,   166,   170,     3,   173,   172,     0,   134,   190,
     1581     134,     3,     0,   299,     0,   299,     0,     2,     0,     2,
     1582     144,     3,     2,   236,   237,     0,   233,   224,    46,     0,
     1583       0,   159,     0,     0,   169,   239,   174,     2,   241,   189,
     1584       0,   192,   178,   207,     3,   216,   220,   209,     3,     0,
     1585     299,     0,   299,     0,     0,     0,     0,    50,    48,   165,
     1586     168,   134,     0,   175,   299,   134,   134,     0,   179,     0,
     1587       0,   697,   217,   218,   219,     0,   208,     3,   210,     3,
     1588     706,   299,   225,   238,   155,   176,   161,   134,   242,   191,
     1589     186,   184,   180,   163,   134,     0,   698,     0,     0,     0,
     1590       0,   156,   177,   187,   181,   185,   184,   182,     3,     3,
     1591       0,     0,   498,   183,   211,   213,     3,     3,   212,   214
    15941592};
    15951593
     
    15971595static const yytype_int16 yydefgoto[] =
    15981596{
    1599       -1,   777,   454,   292,    49,   130,   131,   293,   294,   272,
    1600      295,   296,   729,   730,  1073,  1074,  1075,  1199,   297,   369,
    1601      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
    1602      309,   310,   311,   964,   508,   913,   534,   313,   914,   995,
    1603      996,  1495,   998,   999,  1000,  1001,  1496,  1002,  1003,  1401,
    1604     1402,  1364,  1365,  1366,  1469,  1470,  1474,  1475,  1520,  1521,
    1605     1004,  1319,  1005,  1006,  1252,  1253,  1254,  1447,  1007,  1148,
    1606     1425,  1426,  1427,  1529,  1547,  1439,  1440,   455,   456,   837,
    1607      838,   972,    52,    53,    54,    55,    56,   336,   153,    59,
    1608       60,    61,    62,   180,   338,    64,    65,   252,    67,    68,
    1609      262,   340,   341,    71,    72,    73,   117,    75,   198,   343,
    1610      118,    78,   119,    80,    81,   668,    82,   667,   869,   870,
    1611     1026,  1027,  1175,  1028,    83,   481,   479,   700,   819,   820,
    1612      346,   347,   670,   671,   672,   348,   349,   673,   351,   452,
    1613     1009,   132,   133,   315,   316,   165,   627,   628,   629,   630,
    1614      631,    84,   120,    86,   476,   477,   888,   478,   267,   485,
    1615      317,    87,   134,   135,    88,  1284,  1057,  1058,  1059,  1060,
    1616       89,    90,   688,    91,   261,    92,    93,   181,   966,   662,
    1617      400,   124,    94,   491,   492,   493,   182,   256,   184,   185,
    1618      186,   257,    97,    98,    99,   100,   101,   102,   103,   189,
    1619      190,   191,   192,   193,   789,   589,   590,   591,   592,   194,
    1620      594,   595,   596,   558,   559,   560,   561,  1032,   104,   598,
    1621      599,   600,   601,   602,   603,  1033,  1034,  1035,  1036,   579,
    1622      354,   355,   356,   357,   318,   159,   106,   107,   108,   359,
    1623      698,   695
     1597      -1,   783,   457,   294,    49,   131,   132,   295,   296,   297,
     1598     298,   299,   735,   736,  1091,  1092,  1093,  1221,   300,   372,
     1599     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     1600     312,   313,   314,   977,   511,   926,   538,   316,   927,  1007,
     1601    1008,  1514,  1010,  1011,  1012,  1013,  1515,  1014,  1015,  1430,
     1602    1431,  1392,  1393,  1394,  1492,  1493,  1497,  1498,  1534,  1535,
     1603    1016,  1344,  1017,  1018,  1274,  1275,  1276,  1474,  1019,   143,
     1604     912,   913,   914,  1372,  1455,  1466,  1467,   458,   459,   843,
     1605     844,   985,    53,    54,    55,    56,    57,   339,   155,    60,
     1606      61,    62,    63,   182,   341,    65,    66,   254,    68,    69,
     1607     264,   343,   344,    72,    73,    74,   118,    76,   200,   346,
     1608     119,    79,   120,    81,    82,   672,    83,   671,   875,   876,
     1609    1038,  1039,  1191,  1040,    84,   484,   482,   704,   825,   826,
     1610     349,   350,   674,   675,   676,   351,   352,   677,   354,   455,
     1611    1021,   133,   134,   318,   319,   167,   631,   632,   633,   634,
     1612     635,    85,   121,    87,   479,   480,   894,   481,   269,   488,
     1613     320,    88,   135,   136,    89,  1304,  1069,  1070,  1071,  1072,
     1614      90,    91,   692,    92,   263,    93,    94,   183,   979,   666,
     1615     403,   125,    95,   494,   495,   496,   184,   258,   186,   187,
     1616     188,   259,    98,    99,   100,   101,   102,   103,   104,   191,
     1617     192,   193,   194,   195,   795,   593,   594,   595,   596,   196,
     1618     598,   599,   600,   562,   563,   564,   565,  1044,   105,   602,
     1619     603,   604,   605,   606,   607,  1045,  1046,  1047,  1048,   583,
     1620     357,   358,   359,   360,   321,   161,   107,   108,   109,   362,
     1621     702,   699
    16241622};
    16251623
    16261624/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    16271625   STATE-NUM.  */
    1628 #define YYPACT_NINF -1310
     1626#define YYPACT_NINF -1276
    16291627static const yytype_int16 yypact[] =
    16301628{
    1631     7432,  9239, -1310,   -42, -1310, -1310, -1310, -1310, -1310, -1310,
    1632    -1310,    44, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1633    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,   149, -1310,
    1634    -1310,  1382,   763,   211,  7674,   214, -1310, -1310, -1310, -1310,
    1635    -1310,   245, -1310, -1310, -1310,   606,   257, -1310, -1310, -1310,
    1636    -1310,  4978, -1310, -1310, -1310,    40,   278, -1310,  1536, -1310,
    1637    -1310, -1310, -1310,  1664,   381,    37,  7795, -1310, -1310,  4978,
    1638      814, -1310, -1310,  1171,   401,  6966,   718,   988,  1171,  1209,
    1639    -1310, -1310,   149, -1310,  1171,  1411, -1310,   294, -1310,   441,
    1640      471, -1310, -1310, -1310, -1310,   367,   278,   149, -1310,   149,
    1641    -1310, -1310, -1310, -1310,  7829,  1536, -1310, -1310,  1536, -1310,
    1642      353, -1310,  7949, -1310, -1310,  2111,  8264, -1310,   865,   865,
    1643      865, -1310, -1310,   898,   149, -1310,   370,   384,   387, -1310,
    1644    -1310, -1310,   392, -1310, -1310, -1310, -1310, -1310,   410,   415,
    1645    -1310,   475,  8805,  1075,   585,   424,   449,   461,   472,   501,
    1646      537,  9479,  7056,   453, -1310,  9199, -1310, -1310, -1310, -1310,
    1647      526, -1310,   268,  5151,  5151, -1310,   549,   298, -1310, -1310,
    1648    -1310, -1310,   560,   437,   445,   452, -1310, -1310,  1664,  2742,
    1649      571,   644, -1310,   248, -1310,   149,   149,   278, -1310, -1310,
    1650      269, -1310,   149,   149, -1310,  3298,   636,   641,   865,  6718,
    1651    -1310, -1310, -1310,  4978, -1310, -1310,  1171, -1310, -1310, -1310,
    1652      278, -1310,  1536,    40, -1310,  7915, -1310,   865,   865,   865,
    1653      278, -1310,  1382, -1310,  5120, -1310, -1310,   649,   865, -1310,
    1654      865, -1310,   820,   865, -1310,  1382,   657,   665, -1310,  7674,
    1655      627, -1310, -1310, -1310,  9166, -1310, -1310,  8721, -1310,   644,
    1656      267, 10207,  8264,  2111,  3298, -1310,   309, -1310, -1310,  7949,
    1657     1536,   645, 10880,   763,   654, -1310, -1310,   318, -1310,   333,
    1658    -1310,   692,   733, 10266,   719, 10207, 10325, -1310,   758, -1310,
    1659    -1310, -1310, -1310, -1310, 10384, 10384,  8569,   257, -1310, -1310,
    1660    -1310, -1310, -1310, -1310, -1310, -1310,  2184,  1919,  8805, 10207,
    1661    -1310,   632,   617,   734,   418,   922,   757,   751,   754,   792,
    1662      176, -1310, -1310, -1310,   681, -1310, -1310,   140, -1310, -1310,
    1663     1075, -1310, -1310,   136,   780, -1310,   778,   780, -1310, -1310,
    1664     7829, -1310,   788,   795,  8923, -1310, -1310,  1034,  1178,  8350,
    1665     6718,  1171, -1310,  1171,   865,   865, -1310, -1310, -1310, -1310,
    1666    -1310, -1310,   865,  7829,  1536, -1310, -1310,  9479,  1304, -1310,
    1667    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,  4692, 10207,
    1668    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1669    -1310, -1310, -1310, -1310,   618,   810,   815,   817,   939,   833,
    1670      838,   842,  2742, -1310, -1310,   149,   823,   858,    40,   866,
    1671    -1310, -1310,   877, -1310, -1310, -1310,  9166, -1310, -1310, -1310,
    1672    -1310, -1310,  3298, -1310,  8805,  8805, -1310,   865,  2111,  6842,
    1673     8425, -1310, -1310, -1310, -1310,  9166,   267, -1310, -1310,  1171,
    1674      278, -1310, -1310,  9166, -1310,  5284, -1310, -1310,   865,   865,
    1675      245,  8805, -1310,   893, -1310,   865, -1310, -1310, -1310, -1310,
    1676     9637, -1310,   315, 10620, -1310,   278,   905, -1310,  2111, 10660,
    1677    10443, -1310, -1310, -1310, -1310,   951,  3298, -1310,  8425,   644,
    1678     7553, -1310, -1310, -1310, -1310,   712,   404,   878,   763,   908,
    1679      899,   912, 10880,   840,  7949, -1310, 10880, -1310, -1310, -1310,
    1680    -1310,   431, -1310,   924,   920, -1310,  8569, -1310,  9512, -1310,
    1681    -1310,  8569, -1310,  8687,  8569, -1310, -1310,   257, -1310,   476,
    1682      928,   934, -1310,  6808, -1310,   506, -1310, -1310, 10207, -1310,
    1683      825, 10207, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1684    -1310, -1310, -1310, -1310, 10207, -1310, -1310, 10207, 10207, 10207,
    1685    10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207,
    1686    10207, 10207, 10207, 10207, 10207,  3915,   681,  1833, -1310, -1310,
    1687      149,   149, -1310, -1310,  8805, -1310, -1310,   877, -1310, -1310,
    1688      877, 10502, -1310, -1310,  9479,  6808,   964, -1310,  8264, -1310,
    1689    -1310,   526, -1310,   967,   629,   986,  2026,   331,   878, -1310,
    1690      149,   149,   878,   374, -1310,   149,   149,   877, -1310, -1310,
    1691      149,   149, -1310,   780,  9597,  1536, 10811,   359,   543,  9597,
    1692    -1310,  8721, -1310,   878, -1310,  7829, -1310,    84,  8035,  8035,
    1693     1536,  5625,   990, -1310,  1501,   991,   995, -1310,  1011,  5151,
    1694      412, -1310,  1102,  1536,  8035,   627,  2111,   627,   407,   780,
    1695    -1310, -1310,   419,   780, -1310, -1310, -1310,  2111, -1310,   475,
    1696    -1310,   780,   278,  9637, -1310,   517,  1020,   546,  1021, -1310,
    1697      788,   278, -1310, -1310,  9166,   278,   557,  9324,  1019, 10811,
    1698    -1310, -1310,  1025, -1310, -1310, -1310,   627, -1310, 10736,   795,
    1699    -1310,  8035,   848,  8350, -1310, -1310,   526,  1022,  1023,   712,
    1700     1691, -1310, -1310, 10880, 10207, -1310, -1310,   763,  1024, 10207,
    1701    -1310,   763,  1026, -1310, -1310,  1035, -1310,  1026,  1040,   333,
    1702    10207, -1310,  1046,   257,  1044,  1051,  1052, -1310,  1053,  1054,
    1703     6808, -1310, 10207, -1310, 10148, 10207,  1063, -1310, -1310,   615,
    1704    -1310, 10207, -1310, -1310,   906, -1310, -1310, -1310, -1310,   632,
    1705      632,   617,   617,   734,   734,   734,   734,   418,   418,   922,
    1706      757,   751,   754,   792, 10207,   231,  9637,  1058,  1059,  1070,
    1707     1833, -1310, -1310, -1310, -1310, -1310,  9637,  9637, -1310,  7829,
    1708    -1310,  7180,  9041, -1310, -1310, -1310,   629,  9637,   960,  1073,
    1709     1076,  1078,  1079,  1080,  1081,  1084, -1310,  2169,  2026, -1310,
    1710    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1711    -1310, -1310, -1310, -1310, -1310, -1310,   877, -1310, -1310, -1310,
    1712      878, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1713    -1310,  1086,  1087, -1310,    40,  1063,  5625, -1310, -1310, -1310,
    1714     4692,  1066, -1310, -1310, -1310, -1310,   763,  6230,  1159, -1310,
    1715    -1310, -1310, -1310,  1069, -1310, -1310, -1310,   877, -1310, -1310,
    1716    -1310,   877,   644,  1093,   877, -1310, -1310, -1310, -1310, -1310,
    1717    -1310,  7056, -1310,   278, -1310,  1091,  9512, -1310,  1575, -1310,
    1718      494,   763, -1310,  1101,  1103, -1310, -1310,  1110,  1113, -1310,
    1719      848,  1897, -1310,   593, -1310,  1691,   878, -1310, -1310,   899,
    1720    -1310, -1310, -1310,   908,  1116, 10880,  7949,  8805,  1118, -1310,
    1721    -1310,   647,  1115,  7056,   627,  1115, -1310, -1310,  1115, -1310,
    1722     4692, -1310, -1310, -1310,  1114, 10207,  1183, -1310, 10207, -1310,
    1723     1183, -1310, -1310, 10207, -1310,   455,   780, -1310, -1310, -1310,
    1724    -1310, -1310, -1310, -1310,   795,  8923, -1310, -1310,  7304,  1121,
    1725    -1310,   463,   780, -1310,   474,   490,   780, -1310,   865,  3741,
    1726    -1310, -1310, -1310,  9637,  9637, -1310,  8425,  8425,  1123,  1119,
    1727     1125,  1124, -1310,   668,   173,  1063, -1310,  1183, -1310,  5151,
    1728    -1310, 10207,   508, -1310,  6684,  1128,  1134, 10089,  1135,  1138,
    1729      736,   994,   973, 10207,  1140,   278, 10207, 10207,  1248,  1139,
    1730     1142,   245,   114,   849,  1145,  1154,  1149, -1310, -1310, -1310,
    1731     1162, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,  1155,
    1732    -1310,   763,  1174, 10207,  9637,  9637,    40,   149,  1176, -1310,
    1733    -1310,  1575,   513,  1885, 10207,  2419,   522, -1310, -1310,  1163,
    1734       70,  1163, -1310, -1310, -1310,   149,   149,   763, -1310, -1310,
    1735     9364, -1310, -1310, -1310, -1310,  1184,  1897, -1310, -1310,  1127,
    1736    -1310,  1187, -1310,  1026, -1310, -1310,  2111,  1189, -1310, -1310,
    1737    -1310,   659,  1197, -1310,  1188,  1011, 10207,  1205,  1114, -1310,
    1738      525, -1310, -1310,  1204, -1310,    50, -1310,  1212,  1204, -1310,
    1739     1219, -1310, -1310, -1310,   877,  1220,  1222,  6932,  1221,  1223,
    1740     1224, -1310,   149,  1232, -1310, -1310, -1310,   877, -1310, -1310,
    1741    -1310, -1310, -1310, -1310,   877, 10207, 10207,   795,  1234, -1310,
    1742    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1743    10207, 10207,  1237,  1238,  1204, -1310, -1310,   763, -1310, -1310,
    1744    -1310, 10207, 10207,  1308, 10207, -1310, -1310,  1225, -1310,  1226,
    1745    10207,  1230,  1235, 10207,  1038,  1240,   232, -1310,    20,  2239,
    1746    -1310, -1310,  6230,  1241,   149,   528, -1310, -1310, -1310, -1310,
    1747    -1310, -1310, -1310,  9439,   534, -1310,   925,  1249,  1256,  1260,
    1748    -1310,  2419, -1310,   149, -1310, -1310, -1310, -1310, -1310, -1310,
    1749    -1310, -1310,  9905, -1310,  8425, -1310,  1270, -1310, -1310,  7949,
    1750      561,   570, -1310,  1266, -1310,  1267, -1310, -1310,  1271,  1303,
    1751    -1310, -1310,  1303,  1303,  1183,  1274,   690,  1071, -1310,  1277,
    1752    -1310,  9637, -1310, -1310, -1310, -1310, -1310,  1280, -1310,  9637,
    1753     9637,  9637, -1310, -1310,  1281, -1310,  1283,  1286,  1289,   691,
    1754     8110,  8230, -1310, -1310, -1310, -1310,  1288, -1310,   746,   769,
    1755     1292,   828,  6537, -1310, -1310,   575, -1310, -1310,   829,  1294,
    1756     1295,   278,  1347,   985, -1310, -1310, 10207, -1310,  1297,   475,
    1757    10207, -1310, -1310, 10089, -1310,  1301,  1302, -1310, -1310,   495,
    1758      780, -1310, -1310,  1575, -1310, -1310, -1310,  1293, -1310, -1310,
    1759    -1310, -1310, -1310, -1310,  7949, -1310, -1310, -1310,  1183, -1310,
    1760    -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1761    -1310,  1310,  1312, -1310, -1310, -1310, -1310, -1310, -1310, -1310,
    1762     1321, -1310,  1320, -1310, 10089,    73, 10207, 10089, -1310,  1326,
    1763    10207, -1310,  6452,  7949, -1310,   348,  1318,  1341, -1310, -1310,
    1764     1329,  1330,  1309,   475,   220,   958, -1310, -1310, -1310, -1310,
    1765    -1310, -1310,   877, -1310, -1310,  1536,  2111,  1331,  1204,  1183,
    1766     1183,  1335,  1340,  1348,  1349, -1310, -1310,  8425,  1344, -1310,
    1767     1417, 10207,  1334, -1310, -1310,  9999, -1310,   864, -1310,  1337,
    1768    10089,  1338,  8500, -1310, -1310,  1351, -1310,  1357, -1310,  1383,
    1769     1386, -1310,  1353,  1346,    66,  1354,  9637,  7949, -1310, -1310,
    1770    -1310,  1376,  1204,  1204, -1310, -1310, -1310, -1310, -1310, 10089,
    1771      240, -1310,   305, -1310, -1310,  6145, -1310, -1310,  1362, 10207,
    1772    -1310, 10207,  6145,   278,  9512,   278,  9512,  1385, -1310,  1388,
    1773    -1310,  1369, -1310, 10207,  1392,   265,  1387, -1310, -1310, -1310,
    1774     1390, -1310,  1395,  1397, -1310, 10207, 10207, -1310, -1310,  1043,
    1775       89, -1310, -1310,  1379, -1310,  1043, -1310, -1310,  1975,   627,
    1776    -1310, -1310,   278,  9512,   278,  9512,    66,  1400, 10207,  1384,
    1777       66,    66,  1408,  1412, -1310, -1310, -1310, -1310,  9999,  1410,
    1778     1043,  6373, 10207,  9909,  1415,  1043,  1413,  1975,  2924, -1310,
    1779    -1310, -1310,  1424, -1310, -1310, -1310, -1310,  1406,   475,  1427,
    1780    -1310,   292, -1310, -1310,  8805, -1310,  9771, -1310,  9999, -1310,
    1781    -1310,  1409,  9681, -1310, -1310,  9909,   278,  2924,   278,  1430,
    1782     1434,   475,  1436, -1310,  1418,   475,   875, -1310,  9771, -1310,
    1783    -1310, -1310,  9681, -1310, -1310, -1310,   278,   278, -1310,   313,
    1784    10207, -1310,   894, -1310, -1310, -1310, -1310, -1310, -1310,   475,
    1785      627,  1439,  1422, -1310, -1310, -1310, -1310,   895, -1310, -1310,
    1786     1423,   627, -1310, -1310
     1629    7275,  9192, -1276,    31, -1276, -1276, -1276, -1276, -1276, -1276,
     1630   -1276,    12, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,
     1631   -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,    99, -1276,
     1632   -1276,  1603,   681,    89,  7517,   210, -1276, -1276, -1276, -1276,
     1633   -1276,   116, -1276, -1276, -1276,   429,   144, -1276, -1276, -1276,
     1634   -1276,  4252, -1276, -1276, -1276, -1276,    32,   152, -1276,  1816,
     1635   -1276, -1276, -1276, -1276,  1962,   287,    93,  5921, -1276, -1276,
     1636    4252,  1910, -1276, -1276,  1592,   306,  3283,   540,   736,  1592,
     1637    1249, -1276, -1276,    99, -1276,  1592,  1618, -1276,   235, -1276,
     1638     384,   511, -1276, -1276, -1276, -1276,   414,   152,    99, -1276,
     1639      99, -1276, -1276, -1276, -1276,  8217,  1816, -1276, -1276,  1816,
     1640   -1276,   362, -1276,  9392, -1276, -1276,  2239,  9432, -1276,  1003,
     1641    1003,  1003, -1276, -1276,  1463,    99, -1276,   471,   504,   530,
     1642   -1276, -1276, -1276,   542, -1276, -1276, -1276, -1276, -1276,   556,
     1643     565, -1276, -1276,    28,  8758,  2572,   309,   566,   591,   602,
     1644     611,   630,   646,  9465,  6899,   621, -1276,  9152, -1276, -1276,
     1645   -1276, -1276,   649, -1276,   146,  5718,  5718, -1276,   655,   206,
     1646   -1276, -1276, -1276, -1276,   679,   277,   321,   326, -1276, -1276,
     1647    1962,  2534,   677,   743, -1276,    23, -1276,    99,    99,   152,
     1648   -1276, -1276,    55, -1276,    99,    99, -1276,  3049,   700,   703,
     1649    1003,  6685, -1276, -1276, -1276,  4252, -1276, -1276,  1592, -1276,
     1650   -1276, -1276,   152, -1276,  1816,    32, -1276,  7868, -1276,  1003,
     1651    1003,  1003,   152, -1276,  1603, -1276,  3585, -1276, -1276,   684,
     1652    1003, -1276,  1003, -1276,   652,  1003, -1276,  1603,   709,   712,
     1653   -1276,  7517,   615, -1276, -1276, -1276,  9119, -1276, -1276,  8674,
     1654   -1276,   743,    35,  3690,  9432,  2239,  3049, -1276,    59, -1276,
     1655   -1276,  9392,  1816,   718, 10847,   681,   733, -1276, -1276,   582,
     1656   -1276,   359,   716,   770, 10233,   748,  3690, 10292, -1276,   750,
     1657   -1276, -1276, -1276, -1276, -1276, -1276, 10351, 10351,  8522,   144,
     1658   -1276, -1276, -1276, -1276, -1276, -1276, -1276,   786, -1276,  1681,
     1659    2360,  8758,  3690, -1276,   222,   671,   732,   427,   759,   755,
     1660     741,   747,   784,    38, -1276, -1276, -1276,   667, -1276, -1276,
     1661     145, -1276, -1276,  2572, -1276, -1276,   415,   774, -1276,   509,
     1662     774, -1276, -1276,  8217, -1276,   779,   788,  8876, -1276, -1276,
     1663     810,  1492,  8303,  6685,  1592, -1276,  1592,  1003,  1003, -1276,
     1664   -1276, -1276, -1276, -1276, -1276,  1003,  8217,  1816, -1276, -1276,
     1665    9465,  1201, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,
     1666   -1276,  4829,  3690, -1276, -1276, -1276, -1276, -1276, -1276, -1276,
     1667   -1276, -1276, -1276, -1276, -1276, -1276, -1276,   787,   794,   804,
     1668     807,   858,   830,   835,   845,  2534, -1276, -1276,    99,   827,
     1669     811,    32,   872, -1276, -1276,   876, -1276, -1276, -1276,  9119,
     1670   -1276, -1276, -1276, -1276, -1276,  3049, -1276,  8758,  8758, -1276,
     1671    1003,  2239,  6809,  8378, -1276, -1276, -1276, -1276,  9119,    35,
     1672   -1276, -1276,  1592,   152, -1276, -1276,  9119, -1276,  4366, -1276,
     1673   -1276,  1003,  1003,   116,  8758, -1276,   877, -1276,  1003, -1276,
     1674   -1276, -1276, -1276,  9703, -1276,   336, 10587, -1276,   152,   879,
     1675   -1276,  2239, 10627, 10410, -1276, -1276, -1276, -1276,   862,  3049,
     1676   -1276,  8378,   743,  7396, -1276, -1276, -1276, -1276,   620,   381,
     1677     869,   681,   890,   882,   911, 10847,  1023,  9392, -1276, 10847,
     1678   -1276, -1276, -1276, -1276,   405, -1276,   917,   770,   259,  8522,
     1679   -1276,  9550, -1276, -1276,  8522, -1276,  8640,  8522, -1276, -1276,
     1680     144, -1276,   435,   919,   921, -1276,  6651, -1276, -1276,   329,
     1681   -1276, -1276,  3690, -1276,   450,  3690, -1276, -1276, -1276, -1276,
     1682   -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,  3690, -1276,
     1683   -1276,  3690,  3690,  3690,  3690,  3690,  3690,  3690,  3690,  3690,
     1684    3690,  3690,  3690,  3690,  3690,  3690,  3690,  3690,  3690,  3309,
     1685     667,  1689, -1276, -1276,    99,    99, -1276, -1276,  8758, -1276,
     1686   -1276,   876, -1276, -1276,   876, 10469, -1276, -1276,  9465,  6651,
     1687     923, -1276,  9432, -1276, -1276,   649, -1276,   927,  1763,   929,
     1688    2234,    63,   869, -1276,    99,    99,   869,    76, -1276,    99,
     1689      99,   876, -1276, -1276,    99,    99, -1276,   774,  9583,  1816,
     1690   10778,   446,   465,  9583, -1276,  8674, -1276,   869, -1276,  8217,
     1691   -1276,   294,  7988,  7988,  1816, 10174,   903, -1276,  1168,   913,
     1692     916, -1276,   932,  5718,   550, -1276,  1024,  1816,  7988,   615,
     1693    2239,   615,    79,   774, -1276, -1276,    80,   774, -1276, -1276,
     1694   -1276,  2239, -1276,   770, -1276,   774,   152,  9703, -1276,   498,
     1695     942,   515,   944, -1276,   779,   152, -1276, -1276,  9119,   152,
     1696     563,  5344,   941, 10778, -1276, -1276,   948, -1276, -1276, -1276,
     1697     615, -1276, 10703,   788, -1276,  7988,   693,  8303, -1276, -1276,
     1698     649,   945,   949,   620,  2900, -1276, -1276, 10847,  3690, -1276,
     1699   -1276,   681,   964,  3690, -1276,   681,   943, -1276, -1276,   971,
     1700   -1276,   943,   976,   359,  3690,   957,   956,    62,   980,   144,
     1701     975,   982,   988, -1276,   992,   994,  6651, -1276,  3690, -1276,
     1702    6072,  3690,   993, -1276, -1276,   595, -1276,  3690, -1276, -1276,
     1703     773, -1276, -1276, -1276, -1276,   222,   222,   671,   671,   732,
     1704     732,   732,   732,   427,   427,   759,   755,   741,   747,   784,
     1705    3690,   195,  9703,  1002,  1005,  1010,  1689, -1276, -1276, -1276,
     1706   -1276, -1276,  9703,  9703, -1276,  8217, -1276,  7023,  8994, -1276,
     1707   -1276, -1276,  1763,  9703,   887,  1011,  1012,  1015,  1017,  1018,
     1708    1021,  1029, -1276,  4594,  2234, -1276, -1276, -1276, -1276, -1276,
     1709   -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,
     1710   -1276, -1276,   876, -1276, -1276, -1276,   869, -1276, -1276, -1276,
     1711   -1276, -1276, -1276, -1276, -1276, -1276, -1276,  1031,  1034, -1276,
     1712      32,   993, 10174, -1276, -1276, -1276,  4829,   996, -1276, -1276,
     1713   -1276, -1276,   681,  6383,  1087, -1276, -1276, -1276, -1276,  1014,
     1714   -1276, -1276, -1276,   876, -1276, -1276, -1276,   876,   743,  1037,
     1715     876, -1276, -1276, -1276, -1276, -1276, -1276,  6899, -1276,   152,
     1716   -1276,  1020,  9550, -1276,  1883, -1276,   395,   681, -1276,  1038,
     1717    1036, -1276, -1276,  1042,  1045, -1276,   693,  1694, -1276,   494,
     1718   -1276,  2900,   869, -1276, -1276,   882, -1276, -1276, -1276,   890,
     1719    1048, 10847,  9392,  8758,  1049, -1276, -1276,   599,  1032, -1276,
     1720    3690,  1052,   284,  1050, -1276,  1056,  6899,   615,  1056, -1276,
     1721   -1276,  1056, -1276,  4829, -1276, -1276, -1276,  1055,  3690,  1312,
     1722   -1276,  3690, -1276,  1312, -1276, -1276,  3690, -1276,   265,   774,
     1723   -1276, -1276, -1276, -1276, -1276, -1276, -1276,   788,  8876, -1276,
     1724   -1276,  7147,  1054, -1276,   273,   774, -1276,   289,   296,   774,
     1725   -1276,  1003,  6008, -1276, -1276, -1276,  9703,  9703, -1276,  8378,
     1726    8378,  1062,  1058,  1059,  1069, -1276,   528,    60,   993, -1276,
     1727    1312, -1276,  5718, -1276,  3690,   459, -1276,  6520,  1071,  1075,
     1728   10115,  1076,  1078,   495,   516,  1001,  3690,  1081,   152,  3690,
     1729    3690,  1064,  1066,   116,   161,   546,  1072,  1083,  1060, -1276,
     1730   -1276, -1276,  1086, -1276, -1276, -1276, -1276, -1276, -1276, -1276,
     1731   -1276,  1074, -1276,   681,  1096,  3690,  9703,  9703,    32,    99,
     1732    1099, -1276, -1276,  1883,   479,  1980,  3690,  2331,   485, -1276,
     1733   -1276,  1082,    14,  1082, -1276, -1276, -1276,    99,    99,   681,
     1734   -1276, -1276,  9277, -1276, -1276, -1276, -1276,  1101,  1694, -1276,
     1735   -1276,  1091, -1276,  1100, -1276,   943, -1276, -1276,  2239,  1107,
     1736   -1276, -1276, -1276,   616,  1115, -1276,    62,  1102,  3690,  1103,
     1737      62,    62,  1123,   932,  3690,  1124,  1055, -1276,  1148, -1276,
     1738   -1276,  1121, -1276,   215, -1276,  1127,  1121, -1276,  1134, -1276,
     1739   -1276, -1276,   876,  1135,  1136,  6775,  1150,  1154,  1155, -1276,
     1740      99,  1138, -1276, -1276, -1276,   876, -1276, -1276, -1276, -1276,
     1741   -1276, -1276,   876,  3690,  3690,   788,  1156, -1276, -1276, -1276,
     1742   -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,  3690,  3690,
     1743    1164,  1169,  1121, -1276, -1276,   681, -1276, -1276, -1276,  3690,
     1744    3690,  1238,  3690, -1276, -1276,  1157, -1276,  1159,  3690,  1161,
     1745    1162,  3690,   946,  1166,    25,  2027, -1276, -1276,  6383,  1184,
     1746      99,   527, -1276, -1276, -1276, -1276, -1276, -1276, -1276,  9317,
     1747     534, -1276,   796,  1190,  1192,  1196, -1276,  2331, -1276,    99,
     1748   -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276,  9931, -1276,
     1749    8378, -1276,  1202, -1276, -1276,  9392,   537,   538, -1276,  1209,
     1750    1186,   770,  1207, -1276,   320, -1276, -1276,  1210, -1276, -1276,
     1751    1216,  1257, -1276, -1276,  1257,  1257,  1312,  1218,  2023,  2049,
     1752   -1276,  1227, -1276,  9703, -1276, -1276, -1276, -1276, -1276,  1228,
     1753   -1276,  9703,  9703,  9703, -1276, -1276,  1229, -1276,  1230,  1233,
     1754    1234,   575,  8063,  8183, -1276, -1276, -1276, -1276,  1236, -1276,
     1755     647,   658,  1240,   665,  6215, -1276, -1276,   561, -1276, -1276,
     1756     670,  1241,  1246,   152,  1300,   854, -1276, -1276,  3690, -1276,
     1757    3690, -1276, -1276, 10115, -1276,  1255,  1256, -1276, -1276,   312,
     1758     774, -1276, -1276,  1883, -1276, -1276, -1276,  1245, -1276, -1276,
     1759   -1276, -1276, -1276, -1276,  9392,   770,  1261, -1276,  1239,   770,
     1760   -1276, -1276, -1276,  1312, -1276, -1276, -1276, -1276, -1276, -1276,
     1761   -1276, -1276, -1276, -1276, -1276, -1276,  1262,  1267, -1276, -1276,
     1762   -1276, -1276, -1276, -1276, -1276,  1270, -1276,  1273, -1276, 10115,
     1763     240,  3690, 10115, -1276,  1276,  3690, -1276,  7793,  9392, -1276,
     1764     271,  1291,  1294, -1276, -1276,  1282,  1288,  1272,   818, -1276,
     1765   -1276, -1276, -1276, -1276, -1276,   876, -1276, -1276,  1816,  2239,
     1766    1287, -1276,   339,  3690, -1276,   690,  1121,  1312,  1312,  1289,
     1767    1296,  1299,  1304, -1276, -1276,  8378,  1303, -1276,  1370,  3690,
     1768    1286, -1276, -1276, 10025, -1276,   707, -1276,  1293, 10115,  1298,
     1769    8453, -1276, -1276,  1310, -1276,  1311, -1276,  1330,  1335, -1276,
     1770    1302,  9703,  9392, -1276, -1276, -1276,   770,   615,  1322,  1305,
     1771    1323,  1121,  1121, -1276, -1276, -1276, -1276, -1276, 10115,   147,
     1772   -1276,   420, -1276, -1276,  7638, -1276, -1276,  1313,  3690, -1276,
     1773    3690,  7638,   152,  9550,   152,  9550,  1326, -1276,  1332, -1276,
     1774   -1276, -1276,  1328, -1276, -1276,   714, -1276, -1276, -1276,  1337,
     1775    1342, -1276,  3690,  3690, -1276, -1276,   883,    84, -1276, -1276,
     1776    1324, -1276,   883, -1276, -1276,  2177,   615, -1276, -1276,   152,
     1777    9550,   152,  9550,  1334,  1349,  1336,   615, -1276, -1276, -1276,
     1778   -1276, 10025,  1345,   883,  7717,  3690,  9935,  1351,   883,  1357,
     1779    2177,  2664, -1276, -1276, -1276,  1359, -1276, -1276, -1276, -1276,
     1780   -1276,  8758, -1276, -1276, -1276,  9797, -1276, 10025, -1276, -1276,
     1781    1346,  9707, -1276, -1276,  9935,   152,  2664,   152,  1369,  1372,
     1782     730, -1276,  9797, -1276, -1276, -1276,  9707, -1276, -1276, -1276,
     1783     152,   152, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276
    17871784};
    17881785
     
    17901787static const yytype_int16 yypgoto[] =
    17911788{
    1792    -1310,  4698,  1798, -1310,  3042, -1310,     7,     0,  -108, -1310,
    1793    -1310,   559,  -491,  -456,  -838,  -937, -1310,    22,  5065,  1181,
    1794    -1310,  -255,   556,   577,   300,   580,  1012,  1013,  1015,  1010,
    1795     1027, -1310,  -677,  -688,  4947,  -862, -1310, -1310,   660,   -98,
    1796     -855,  -381, -1310,    79, -1310,   417,  -852, -1310, -1310,   138,
    1797    -1310, -1059,  -867,   261, -1310, -1310, -1310, -1310,    60, -1309,
    1798    -1310, -1310, -1310, -1310, -1310, -1310,   336, -1067, -1310, -1310,
    1799     -597, -1310,   130,    77, -1310,   182, -1310,  -236, -1310, -1310,
    1800    -1310,   586,  -813, -1310, -1310,     3, -1167,   287,   687, -1310,
    1801    -1310, -1310,  -226, -1310,    85,  1227,  -181,  2547,  4408, -1310,
    1802    -1310,   131,   160,   578,  1502, -1310,  2174, -1310, -1310,   132,
    1803     2939, -1310,  3219,  1653, -1310, -1310, -1310,  -810, -1310,   732,
    1804      579,   334,   573,  -128, -1310, -1310,   907,   723,  -354, -1310,
    1805     -465,  -217,  -593, -1310, -1310,  -840,  -898,  1306,  -216, -1310,
    1806      -35, -1310,   192,  -156,  -273,  -185,  -137,   706,   789, -1310,
    1807      996, -1310,  3499,  1557,  -387,   935, -1310, -1310,   741, -1310,
    1808     -434, -1310,    57, -1310, -1310, -1310, -1220,   432, -1310, -1310,
    1809    -1310,  1164, -1310,    18, -1310, -1310,  -789,  -105, -1264,  -143,
    1810     3350, -1310,  2123, -1310,   923, -1310,  -165,    93,  -175,  -173,
    1811     -169,     2,   -39,   -32,   -30,   889,    53,    55,    64,  -163,
    1812     -166,  -159,  -157,  -149,  -292,  -483,  -481,  -471,  -529,  -301,
    1813     -508, -1310, -1310,  -496,  1077,  1082,  1089,  1437,  5179,  -551,
    1814     -503,  -501,  -498,  -400, -1310,  -971,  -998,  -984,  -983,  -563,
    1815     -278,  -265, -1310, -1310,    -1,   243,   -49, -1310,  3994,    59,
    1816     -579,  -466
     1789   -1276,  4372,  2980, -1276,  2546, -1276,   133,     0,   353, -1276,
     1790   -1276,   484,  -503,  -488,  -816,  -925, -1276,  -155,  5343,   687,
     1791   -1276,    -8,   438,   439,   406,   473,   936,   937,   938,   940,
     1792     935, -1276,    16,  -629,  5085,  -872, -1276, -1276,   571,   711,
     1793    -953,   442, -1276,   143, -1276,   337, -1218, -1276, -1276,    43,
     1794   -1276, -1095,  -891,   157, -1276, -1276, -1276, -1276,   -28, -1182,
     1795   -1276, -1276, -1276, -1276, -1276, -1276,   239, -1036,    39, -1276,
     1796    -292, -1276,   428,   203, -1276,    73, -1276,  -329, -1276, -1276,
     1797   -1276,   497,  -831, -1276, -1276,     8, -1177,   119,  2152, -1276,
     1798   -1276, -1276,  -200, -1276,   218,   464,  -197,  1593,  4090, -1276,
     1799   -1276,    54,    10,    81,   870, -1276,  1757, -1276, -1276,     4,
     1800    2080, -1276,  2209,   245, -1276, -1276, -1276,  -810, -1276,   651,
     1801     492,   236,   490,  -591, -1276, -1276,   829,   640,  -247, -1276,
     1802    -487,  -338,   961, -1276, -1276,  -885,  -918,  -131,   -60, -1276,
     1803     462, -1276,  1284,  -121,  -305,  -157,  -103,   614,   708, -1276,
     1804     905, -1276,  2602,  1460,  -448,   848, -1276, -1276,   661, -1276,
     1805    -437, -1276,   217, -1276, -1276, -1276, -1269,   341, -1276, -1276,
     1806   -1276,  1085, -1276,     6, -1276, -1276,  -796,   -87, -1275,  -158,
     1807    2622, -1276,  4369, -1276,   843, -1276,    21,   165,  -174,  -172,
     1808    -169,     2,   -40,   -32,   -30,  1684,    26,    53,    66,   110,
     1809    -166,  -163,  -160,  -159,  -293,  -485,  -480,  -434,  -541,  -314,
     1810    -513, -1276, -1276,  -535,  1006,  1008,  1016,  1639,  4667,  -574,
     1811    -533,  -528,  -509,  -421, -1276,  -961, -1011, -1007, -1005,  -575,
     1812    -287,  -299, -1276, -1276,   298,   238,   -63, -1276,  3674,   814,
     1813    -613,  -492
    18171814};
    18181815
     
    18231820static const yytype_int16 yytable[] =
    18241821{
    1825       50,   111,    96,   385,   113,   386,   145,   666,   110,   387,
    1826      255,   892,   388,   146,   393,   147,   394,   416,   457,   389,
    1827      500,   390,   891,   172,  1008,  1167,   371,   372,   427,   391,
    1828      734,   111,   111,   271,    50,   791,    96,   593,   398,  1168,
    1829     1169,   808,   121,   535,   536,    50,   588,   716,  1010,   831,
    1830      158,    50,   140,   156,  1172,   248,   580,   790,    50,  1115,
    1831      856,   761,  1040,    50,  1347,   187,    50,   196,   210,    50,
    1832      249,   220,   213,   250,  1258,  1321,   782,   922,   385,   535,
    1833      386,   783,  1078,   784,   387,    63,   785,   388,   612,   393,
    1834      413,   394,   616,    95,   389,   702,   390,  1403,   148,   707,
    1835      149,   779,   331,   780,   391,    50,   461,   463,    50,   150,
    1836      161,   158,    33,   781,   535,    50,  1113,  1114,   197,    63,
    1837     1361,  1362,   795,   111,  1145,  1146,   798,    95,  1142,  1124,
    1838      511,    69,    76,  1201,  1259,   168,  -240,  -240,   144,   145,
    1839     1206,   656,   658,    50,    95,   156,   146,   815,   147,   963,
    1840      270,   818,   163,   821,   821,    50,   183,   361,   122,    95,
    1841       70,  1129,    95,   924,  1503,    69,    76,  1430,  1207,   821,
    1842      652,   161,  1403,   929,   930,   241,   164,   426,    50,    50,
    1843      457,   156,  1423,   691,   940,  1130,   399,   794,   509,   661,
    1844      685,    33,  1363,   801,    70,    50,  1523,   665,   462,   457,
    1845     1272,   319,   422,    50,  1196,   156,   779,   457,   780,  -240,
    1846     1163,   706,    50,   650,   145,    50,   821,   430,   781,   901,
    1847      694,   146,   111,   147,   138,   469,   206,   645,   503,   646,
    1848      718,   148,   111,   149,   674,   111,    95,   952,  1321,    50,
    1849      111,    96,   150,   105,   105,  1321,  1079,   451,    95,   -10,
    1850      565,   684,   399,    50,    50,   563,   156,   449,   422,   951,
    1851       50,   564,   423,   111,   928,   823,   405,  1289,   939,  1292,
    1852     1294,   384,   183,   783,  1120,   784,   554,   105,   785,   434,
    1853      840,   573,   736,   737,   738,   593,  1115,    57,   114,   424,
    1854       33,   765,   446,   779,   963,   780,    95,   158,  1256,   432,
    1855     1121,   645,   172,   646,  1321,   781,  1407,   654,    95,   770,
    1856      555,    33,   105,   659,  1051,   264,   655,   657,   423,   613,
    1857       50,    57,   361,   617,    63,   139,   580,   879,   141,   458,
    1858      791,   580,    95,  1115,   397,  1383,  1170,    50,    50,  1008,
    1859      712,  1435,   714,   487,   955,   715,   465,   891,   719,  1451,
    1860      817,    33,   722,   204,    50,  1384,   214,   161,    50,   142,
    1861     1110,  1111,   240,  1010,   399,   510,   923,  1121,   625,  1257,
    1862       69,    76,   808,    33,   151,   429,    76,   783,   794,   784,
    1863     1459,   462,   785,   407,   195,   399,  1484,  1318,  1486,   365,
    1864     1113,  1114,    50,   582,   361,  1361,  1362,   166,   509,    70,
    1865     1460,   822,   822,   509,  -295,   366,   509,  1514,   488,  1407,
    1866      489,   490,    50,    95,  1407,   235,    33,   822,    50,   375,
    1867     1048,  1158,  1159,   467,   443,   399,  1436,  1515,   863,  1320,
    1868      675,   587,  1232,  1233,  1539,   376,   676,   674,   457,  1407,
    1869     1437,   238,   685,   891,   891,   792,  1407,   585,  1540,    33,
    1870     1348,   483,   876,   111,   484,   480,   997,   755,    50,  1115,
    1871      110,    33,  1076,  1061,   822,  1371,    50,  1373,   361,   911,
    1872       50,  -523,    96,   319,   319,    50,   811,  1480,   111,  1167,
    1873      812,   240,   105,   111,   -12,   183,  1195,   593,   799,   251,
    1874      585,   458,   832,  1168,  1169,   952,   950,    33,  -448,   206,
    1875      319,  -449,   428,   684,   932,    33,   266,  1172,  1053,   663,
    1876      458,  1392,  1393,   544,   545,   111,    33,  1398,   458,   692,
    1877      111,   844,   728,   399,   268,   693,    57,   733,   833,   269,
    1878      624,   842,    33,   848,   677,   399,  1272,    33,    76,   322,
    1879      674,   853,   852,   319,  1100,  1103,   708,   834,   546,   547,
    1880      674,   674,   709,   682,  1443,    63,  1444,    76,   378,   270,
    1881      626,   674,   319,    95,   323,    76,   380,   360,   587,  1081,
    1882      810,   399,  1468,   382,   379,   510,   324,  1094,  1473,   399,
    1883      510,   109,   381,   510,    50,   824,    50,   325,  1098,   383,
    1884      585,   721,  1441,   950,    43,    44,  1133,   722,   839,  1441,
    1885      109,    69,    76,  1498,  1101,    50,   585,  1069,  1505,  1339,
    1886     1070,   399,  1071,    43,    44,  1037,   326,  1500,  1296,   206,
    1887       50,  1502,   727,   319,   111,   685,  1298,  1299,  1300,  1127,
    1888       70,  1038,   857,    50,  1037,   111,    50,   111,   722,   962,
    1889      364,  1200,   841,  1173,   843,  1128,  1518,    50,   223,  1127,
    1890     1165,   224,   327,  1522,   228,  1173,   230,   580,  1499,  1174,
    1891      813,   859,   233,   809,   814,  1264,   871,   722,   582,   373,
    1892      696,  1268,   865,  1400,   377,   705,   111,   778,   564,   587,
    1893      535,    39,  1279,   875,   891,    42,   684,    58,    58,    50,
    1894       50,  1281,   395,   968,    43,    44,   722,   111,  1280,   240,
    1895      321,   111,   109,  1029,    39,  1031,   772,  1282,    42,  1016,
    1896      813,   397,  1324,   105,  1047,    43,    44,    43,    44,   500,
    1897       45,    58,     2,   200,     4,     5,     6,     7,    47,    48,
    1898      917,   855,   240,   321,   399,  1457,   918,   674,   674,  1112,
    1899      862,   540,   541,   776,   864,   585,   891,  1466,  1400,   458,
    1900      414,    47,    48,    58,   537,   415,    58,    57,   891,   891,
    1901      538,   539,  1063,   458,   470,   109,   429,  1105,   918,  1335,
    1902     1489,   997,  1069,  -401,  1192,  1070,    50,  1071,    43,    44,
    1903      564,   891,   778,   587,   223,  -112,   437,    39,    50,  -112,
    1904       37,    42,    38,  1429,   447,   556,    76,   399,   674,   674,
    1905       43,    44,   448,    47,    48,   682,  1291,   494,  1307,   685,
    1906       76,    39,  1308,   169,   170,    42,   828,   495,     2,   200,
    1907        4,     5,     6,     7,    43,    44,   689,   542,   543,   206,
    1908      625,  1160,  1125,   498,    47,    48,   111,   994,   109,   337,
    1909      136,   137,  1541,   206,   743,   744,   745,   746,   385,   222,
    1910      386,    43,    44,   891,   387,    -3,  1029,   388,  1031,  1487,
    1911      393,  1314,   394,  1491,   389,   871,   390,   722,    50,   778,
    1912      684,   111,   503,  1136,   391,     8,     9,    10,    11,    12,
    1913      550,   587,  1336,   551,  1315,    50,    37,   552,    38,   889,
    1914      722,   553,   568,   480,   399,   109,   328,   136,   440,  1054,
    1915      109,  1176,    58,  1176,   111,   574,   685,    33,    43,    44,
    1916      625,  1064,    -3,    43,    44,   109,   111,   136,   137,   223,
    1917      111,   228,    63,  1072,   277,   638,    58,  1072,    43,    44,
    1918      639,   206,   640,  1360,   441,    36,  1368,    43,    44,   442,
    1919      157,   732,  1019,  1317,  1325,  1137,  1139,  1141,   642,   722,
    1920      722,  1187,   188,   643,   703,   211,   319,   644,   221,   704,
    1921      648,  1030,   880,   504,   585,   367,  1276,   111,    69,    76,
    1922       47,    48,   649,   109,  1072,   136,   137,   994,   587,  1408,
    1923       50,    50,    50,   651,  1406,   722,    43,    44,   682,  1410,
    1924     1533,  -296,   772,   245,   809,   674,   564,    70,     8,     9,
    1925       10,    11,    12,   674,   674,   674,   645,   223,   646,  1542,
    1926     1550,   111,  -373,  1310,   694,  1539,  1551,   263,  1434,   548,
    1927      549,    50,   626,    50,  -244,    50,   921,   918,   973,   697,
    1928       33,   701,   157,  1238,  1239,   699,  1241,   111,   710,   871,
    1929      321,   399,  1245,   723,   362,  1248,  1330,  1331,    39,   724,
    1930      169,   170,    42,   407,   641,   399,    50,   711,    36,    63,
    1931     1516,    43,    44,  1039,  1144,   467,   321,   399,   157,    39,
    1932      111,   169,   170,    42,   792,   321,   585,  1072,  1385,   918,
    1933      105,   773,    43,    44,   775,     8,     9,    10,    11,    12,
    1934     1361,  1362,   157,  1202,  1203,  1140,   739,   740,   429,  1249,
    1935     1250,  1251,   626,   786,   431,    69,    76,   337,  1029,    39,
    1936     1031,   169,   170,    42,  1030,  1517,  1166,    33,  1030,   741,
    1937      742,  1517,    43,    44,    57,   -14,   -15,   111,   747,   748,
    1938      829,  1138,   830,   836,    70,   858,   860,  1517,   872,   105,
    1939     -422,  1517,  -527,   884,   890,    36,   109,   693,   360,   897,
    1940       39,  1334,   994,  1069,    42,   899,  1070,    58,  1071,    43,
    1941       44,   902,   871,    43,    44,   904,   905,   906,   907,   908,
    1942      674,    50,   682,   925,   926,     2,   200,     4,     5,     6,
    1943        7,    51,   112,  1055,   915,   927,   970,  1293,   941,    45,
    1944     1011,   942,  1054,   943,   944,   945,   946,    47,    48,   947,
    1945      337,  -410,  -409,   973,   111,  1013,   111,   111,  1017,   362,
    1946     1020,  1072,  -297,  1072,  1072,    51,  1041,   105,  1367,     8,
    1947        9,    10,    11,    12,  1042,  1382,   143,  1043,   115,  1180,
    1948     1044,  1052,    51,  1062,   910,  1066,  1092,    63,  1116,  1119,
    1949     1117,  1389,  1131,    37,   179,    38,  1118,   203,  1132,  1134,
    1950       51,    33,  1135,    39,  1143,   176,   177,    42,   109,  1147,
    1951      483,    57,   337,   994,  1030,  1069,    43,    44,  1070,   682,
    1952     1071,    43,    44,    50,    -9,   722,  1424,  -445,   154,    36,
    1953      -11,   362,    -3,    69,    76,   112,  1150,  1054,   111,  1156,
    1954     1154,  1162,   584,   112,   585,  1072,   254,   259,  1024,  1183,
    1955       47,    48,   385,  1194,   386,   337,   337,  1185,   387,  1188,
    1956     1388,   388,    70,   393,   994,   394,  1193,   994,   389,  1237,
    1957      390,   337,  1197,   298,   143,  1204,   213,   458,   391,  1208,
    1958     1328,   246,   112,   334,  1210,  1212,   203,  1213,  1214,   154,
    1959     1215,  1216,   645,  1479,   646,    50,    50,  1218,  1424,   111,
    1960      111,  1225,  1424,  1424,  1234,  1235,  1072,  1072,  1240,   179,
    1961      179,  1262,  1243,  1244,  1269,   994,  1030,  1246,   337,   314,
    1962      994,  1270,  1247,  1323,    76,  1271,   254,  1255,   329,    39,
    1963     1512,   169,   170,    42,    51,  1277,  1283,  1285,  1286,  1287,
    1964     1054,  1290,    43,    44,  1295,   105,   203,  1297,  1303,   994,
    1965     1304,  1305,    70,  1528,  1306,  1313,  1316,  1528,  1326,  1327,
    1966     1251,  1333,  1344,  1449,  -298,  1449,  1337,  1338,   364,  1375,
    1967       51,     8,     9,    10,    11,    12,   418,  1355,   259,  1356,
    1968      421,  1545,   105,   259,   254,   254,  -411,  1359,   145,    57,
    1969      112,  1370,  1377,  1379,  1380,   146,  1381,   147,    50,   111,
    1970     1394,  1390,  1449,    33,  1449,  1395,  1481,   126,   350,   127,
    1971      128,   129,  1399,  1396,  1397,  1308,  1413,   298,   994,  1404,
    1972       43,    44,  1415,   994,  1409,  1411,  1055,    50,    50,   298,
    1973      156,    36,   206,  1422,  1417,   105,   421,  1419,  1421,   475,
    1974      458,  1428,  1446,  1431,  1450,   557,   994,   458,   994,  1442,
    1975     1452,   143,   994,  1454,  1456,   994,  1458,    50,  1461,   361,
    1976     1463,   112,  1464,   314,  1465,   334,  1472,  1488,   994,   586,
    1977      604,  1490,   994,  1493,    58,   154,  1494,   105,  1506,    57,
    1978     1497,  1483,   429,  1485,   609,  1504,  1323,    76,   609,  1508,
    1979      111,  1511,  1513,  1323,    76,  1526,  1519,  1546,   337,  1527,
    1980     1530,   111,  1149,   319,  1548,  1531,   458,   572,  1553,  1549,
    1981     1552,   577,   749,   752,   750,    70,   105,   751,   207,  1261,
    1982      465,  1055,    70,   179,  1467,  1068,   109,   226,   136,   137,
    1983      610,   753,  1534,    58,   614,  1524,  1374,  1525,  1329,    43,
    1984       44,  1492,  1532,   254,  1445,   298,   298,  1155,  1022,   254,
    1985     1164,   609,  1323,    76,  1177,  1537,  1538,  1343,   893,   204,
    1986      214,    39,  1050,   169,   170,    42,  1065,   827,   207,   969,
    1987      401,  1278,   298,   209,    43,    44,   835,   409,   886,  1049,
    1988      105,    70,   900,   757,   687,     0,     0,     0,   758,   254,
    1989        0,   314,   314,   337,   337,   759,     0,   254,   105,   609,
    1990       39,    51,   176,   177,    42,   105,   690,   207,     0,   428,
    1991        0,    58,     0,    43,    44,   112,     0,     0,   314,     0,
    1992        0,     0,     0,   209,  1055,     0,     0,   298,     0,   112,
    1993      115,     0,   298,     0,   298,   298,     0,     0,     0,  1023,
    1994        0,   399,    57,   401,   334,     0,     0,    47,    48,    57,
    1995        0,     8,     9,    10,    11,    12,     0,     0,     0,   475,
    1996     1024,   314,   209,   475,   105,     0,     0,   207,     0,   208,
    1997        0,     0,     0,   314,     0,   314,   350,     0,   314,     0,
    1998      314,   314,     0,    33,     0,     0,     0,   557,   557,    39,
    1999        0,   176,   177,    42,     0,   298,     0,     0,     0,   207,
    2000        0,   562,    43,    44,   207,   609,   334,     0,    57,   604,
    2001      566,    36,     0,   569,     0,   586,    39,   586,     0,   208,
    2002       42,     0,   209,     0,     0,     0,     0,     0,   178,    43,
    2003       44,     0,     0,     0,     0,   609,    47,    48,     0,   444,
    2004      609,   314,   604,     0,     0,     0,   609,     0,     0,   609,
    2005      609,   768,     0,     0,   209,   689,     0,     0,   208,   209,
    2006        0,     0,     0,    47,    48,   609,     0,   254,     0,   350,
    2007        0,   401,     0,     0,     0,   409,     0,     0,   254,     0,
    2008        0,   807,     0,     0,     0,     0,   577,     0,     0,    58,
    2009        0,   207,   816,     8,     9,    10,    11,    12,   112,     0,
    2010        0,     0,   162,     0,   167,     0,     0,   173,   174,   175,
    2011        0,     0,   609,   881,   604,     0,     0,     0,   208,     0,
    2012      690,   690,     0,     0,   227,    33,    58,     0,     0,     0,
    2013        0,   350,     0,     0,     0,   236,   237,     0,     0,     0,
    2014        0,     0,     0,     0,   868,     0,   209,     0,     0,     0,
    2015      208,   334,   401,    36,     0,   208,     0,     8,     9,    10,
    2016       11,    12,     0,     0,     0,     0,     0,   337,   337,     0,
    2017      475,   207,     0,     0,   350,   350,     0,     0,     0,    58,
    2018        0,     0,     0,     0,     0,     0,     0,   207,     0,    33,
    2019      350,   557,     0,     0,     0,     0,     0,   556,     0,   399,
    2020      609,     0,   935,     0,     0,    47,    48,   586,     0,     0,
    2021       39,   207,   176,   177,    42,     0,     0,    36,     0,   586,
    2022        0,    58,     0,    43,    44,     0,   209,     0,   396,     0,
    2023        0,     0,     0,     0,     0,     0,     0,   350,     0,     0,
    2024        0,     0,   208,   562,   562,     0,   931,     0,     0,  1023,
    2025        0,   399,     0,     0,     0,     0,     0,    47,    48,    58,
    2026       58,   880,     0,   585,     0,     0,   209,     0,   298,    47,
    2027       48,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    2028      531,   532,     0,     0,     0,     0,     8,     9,    10,    11,
    2029       12,     0,   334,     0,   337,     0,     0,   112,     0,  1025,
    2030       39,     0,   176,   177,    42,   533,     0,     0,     0,    58,
    2031        0,   881,   881,    43,    44,     0,   690,     0,    33,     0,
    2032        0,     0,   208,     0,    58,   846,     0,   112,   298,   850,
    2033      207,     0,     0,     0,   334,     0,     0,     0,     0,  1477,
    2034        0,   399,    58,  1021,     0,     0,    36,    47,    48,    58,
    2035        0,    39,     0,   176,   177,    42,     0,     0,   207,     0,
    2036        0,     0,   208,   207,    43,    44,   334,     0,     0,     0,
    2037        0,     0,   475,  1056,   314,     0,     0,     0,     0,     0,
    2038        0,   576,     0,   583,     0,   209,     0,   609,   609,     0,
    2039      584,     0,   585,     0,   607,   608,     0,     0,    47,    48,
    2040        0,   125,     0,     0,     0,   298,     0,     0,    58,     0,
    2041        0,     0,   807,   209,     0,     0,     0,   350,   209,     0,
    2042        0,   207,     0,     0,    74,     0,   948,     0,     0,     8,
    2043        9,    10,    11,    12,     0,   207,    39,     0,   176,   177,
    2044       42,     0,     0,     0,     0,     0,     0,   562,     0,    43,
    2045       44,     0,  1025,     0,  1025,   125,  1025,     0,    74,   273,
    2046      274,    33,   275,     0,     0,     0,     0,     0,     0,     0,
    2047      125,   112,   125,     0,     0,   253,   209,   881,     0,     0,
    2048        0,   208,     0,    47,    48,     0,     0,   254,   276,    36,
    2049      209,     0,     0,   216,   277,     0,     0,   265,   278,     0,
    2050        0,   279,   280,   270,   281,   282,   283,    43,    44,   208,
    2051      284,   285,   350,   350,   208,     0,     0,   868,   334,     0,
    2052      514,     0,     0,   207,   515,   516,   517,     0,     0,     0,
    2053        0,     0,     0,   286,     0,   367,     0,     0,     0,     0,
    2054        0,   333,    48,   288,   289,   290,   291,     0,   518,     0,
    2055      519,     0,   520,   521,     0,     0,   125,     0,   125,   125,
    2056        0,     0,     0,   125,     0,   125,   125,     0,     0,     0,
    2057        0,     0,   208,     0,     0,   514,   342,     0,   209,   515,
    2058      516,   517,     0,   298,     0,     0,   208,     0,     0,     0,
    2059        0,     0,     0,     0,   112,     0,     0,     0,     0,     0,
    2060        0,     0,  1025,   518,     0,   519,     0,   520,  1260,     0,
    2061        0,     0,  1083,     0,     0,   609,     0,     0,     0,     0,
    2062      112,     0,     0,     0,     0,     0,     0,     0,  1096,   125,
     1822      50,   112,    97,   419,    77,   147,   388,   670,   389,   114,
     1823      71,   390,  1020,   148,   391,   149,   797,   392,   722,   837,
     1824     393,   394,   740,   353,  1183,   401,   767,   597,  1184,   257,
     1825    1185,   112,   112,   814,    50,  1370,    97,   706,    77,    52,
     1826     141,   711,   250,  1160,    71,    50,   460,  1022,   592,   796,
     1827     584,    50,  1133,   158,    70,   789,    33,   616,   430,    50,
     1828     790,   620,   374,   375,    50,    33,   189,    50,  1052,   212,
     1829      50,   150,   222,    52,   898,   788,  1188,   208,   215,   791,
     1830     656,   388,   272,   389,  1131,  1132,   390,  1346,    70,   391,
     1831     334,  1278,   392,   464,   466,   393,   394,    33,   151,   665,
     1832     801,    33,   400,   785,   804,    33,    50,   669,   786,    50,
     1833     416,   152,   660,   662,  1432,   122,    50,  1096,    33,    58,
     1834     115,    33,    33,   198,   112,   821,   123,  1163,  1164,   824,
     1835     402,  -240,  -240,   688,   111,   827,   827,   242,   558,   402,
     1836     147,    33,   273,  1452,   165,    50,   282,   158,   148,   465,
     1837     149,   827,   225,    58,   787,   226,  1147,    50,   230,   364,
     1838     232,  1138,  1279,  1223,  1142,    96,   235,   514,   166,   410,
     1839     800,   402,   559,   470,   199,   402,   807,   798,   910,   589,
     1840      50,    50,   710,   158,   689,   695,   206,  1139,  1432,   216,
     1841     805,  1148,   589,   850,   854,   402,   402,    50,   827,    96,
     1842     170,   724,   396,   140,  -240,    50,   150,   158,   785,   460,
     1843     146,   907,  1218,   786,    50,   147,    96,    50,    64,   433,
     1844     965,   142,  1179,   148,   112,   149,  1292,   432,   460,   185,
     1845     144,   941,    96,   151,   112,    96,   460,   112,   106,   106,
     1846     243,    50,   112,    97,   654,    77,   152,   452,  1462,   789,
     1847      77,    71,    64,   964,   790,    50,    50,  1346,   158,   787,
     1848     567,   153,    50,   771,  1346,   112,   568,   368,   503,   952,
     1849     577,   168,   106,   791,  1139,   506,   597,   396,  1521,   776,
     1850      52,  1077,  1133,   369,   828,   828,  1063,  1389,  1390,   225,
     1851     197,   397,   353,   539,   540,    70,   -10,   785,  1436,  1532,
     1852     828,  1314,   786,  1317,  1319,  1228,  1536,    33,   106,  -295,
     1853      96,  1343,   210,   797,  1522,    33,   728,  1346,  1389,  1390,
     1854     823,   584,    96,    50,   968,   364,   584,   378,   658,   539,
     1855     936,    33,   408,  1229,   663,  1133,   431,  1020,    33,   869,
     1856      50,    50,  1537,   379,   541,   387,   185,   828,   787,   160,
     1857     542,   543,   208,   789,    33,   427,   237,    50,   790,  1391,
     1858      58,    50,   210,   800,   539,   435,   397,  1131,  1132,   490,
     1859      96,   629,  1022,   814,   716,   454,   829,   791,   718,  1099,
     1860     720,   402,    96,   721,   240,   353,   725,  1112,   688,   402,
     1861    1401,   846,  1399,   678,   717,    50,  1436,   364,   381,  1079,
     1862    1060,  1436,   210,  1116,   110,   589,    96,  1186,   465,  1478,
     1863    1119,   160,   589,    77,   382,    50,   649,    43,    44,  1080,
     1864     468,    50,  1436,   242,   324,   225,  1362,   230,   402,  1436,
     1865     698,   513,    77,  1345,   491,  1308,   492,   493,   885,   689,
     1866      77,   437,   383,  1094,  1507,   733,  1509,   385,   353,  1212,
     1867    1192,   679,  1192,  1065,   449,  1309,   112,   680,   384,    64,
     1868    1416,    50,   210,   386,   461,   116,  1073,  1133,   460,    50,
     1869    1217,   364,   208,    50,  1417,    97,   945,    77,    50,   106,
     1870     597,   112,   882,    71,   965,  1470,   112,  1471,    96,  1183,
     1871     649,   353,   353,  1184,   210,  1185,   696,  1376,   253,   210,
     1872    1427,   963,   697,   425,    39,   650,   591,   353,    42,  1254,
     1873    1255,  -523,    52,   225,  1503,   156,  1049,    43,    44,   112,
     1874     712,   174,   548,   549,   112,   110,   713,    70,   242,   569,
     1875     838,   402,  1050,   742,   743,   744,  1118,  1121,    43,    44,
     1876    1188,  1463,  1519,    45,     2,   202,     4,     5,     6,     7,
     1877     727,    47,    48,   848,   353,  1464,   728,   550,   551,   425,
     1878     185,  1421,  1422,   817,   858,  1292,   738,   818,   251,   248,
     1879      39,   252,   171,   172,    42,  1491,   667,   156,   688,   650,
     1880    1145,  1496,   819,    43,    44,   -12,   820,   210,    50,   111,
     1881      50,    39,    58,   171,   172,    42,  1146,   678,   963,   160,
     1882    1049,   681,  1517,  1468,    43,    44,  1189,  1524,   317,    50,
     1883    1468,   819,    37,   863,    38,  1059,  1181,   332,  -448,   728,
     1884     432,   278,  1190,   572,    50,   402,   498,   461,   112,   689,
     1885     865,  1130,  1154,   778,    43,    44,   728,    50,    96,   112,
     1886      50,   112,   513,   591,  -449,  -112,   461,   513,  1145,  -112,
     1887     513,    50,   734,  1156,   461,  1189,   268,   739,  1299,  1301,
     1888     507,   584,   370,  1518,  1284,   421,   839,   210,   628,   424,
     1889     270,  1288,    77,   975,  1300,  1302,   429,    -3,   871,   271,
     1890     112,   325,   728,   208,   568,   840,    77,    51,   113,   686,
     1891     110,    64,  1332,    50,    50,    39,  1333,   208,  1349,    42,
     1892    1028,   112,   678,    43,    44,   112,   326,   210,    43,    44,
     1893     930,   106,   678,   678,  1075,   486,   931,   327,   487,   897,
     1894     931,    51,   924,   678,   472,   424,   328,   110,   478,   137,
     1895     443,  1208,   145,   981,   693,   363,   353,   568,    51,  -296,
     1896      43,    44,    47,    48,  1418,   329,     8,     9,    10,    11,
     1897      12,   181,   317,   784,   205,   591,   110,    51,   137,   138,
     1898    1429,   330,  1339,   367,  1123,   156,   444,   688,   728,    43,
     1899      44,   445,   847,  1340,   849,   376,   935,  1358,    33,   728,
     1900    1342,   560,    50,   402,  1210,  1350,   728,   208,  1214,    47,
     1901      48,   728,   113,   380,    50,   544,   545,   576,   398,   861,
     1902     113,   581,   174,   256,   261,  1419,    36,   886,   868,   589,
     1903     400,  1416,   870,   881,   417,    47,    48,   418,   689,   617,
     1904     614,   440,  1437,   621,   618,   546,   547,   210,   728,  1485,
     1905     497,   301,   145,  1489,  1429,  1486,   629,   473,   353,   353,
     1906     113,   337,   112,  1006,   205,  1542,   450,    77,   976,   451,
     1907     715,   568,  -401,    71,   282,   210,   552,   553,   784,   591,
     1908     210,   388,   501,   389,   506,   163,   390,   181,   181,   391,
     1909     517,  1176,   392,   555,    50,   393,   394,   112,   554,  1143,
     1910     556,   317,   317,   557,   256,    39,   461,   171,   172,    42,
     1911     331,    50,    51,   934,   931,  1041,   578,    70,    43,    44,
     1912     461,   242,   324,   402,   205,    -3,   678,   678,   317,   642,
     1913    1066,   324,   402,   689,  1335,  1355,  1356,   112,   210,   643,
     1914     116,   778,   644,   629,   363,   653,   897,   163,    51,   112,
     1915    1389,  1390,   210,   112,  1224,  1225,   261,   209,  1410,   931,
     1916     539,   261,   256,   256,   686,   646,   228,   784,   113,   478,
     1917     647,   317,  1097,   478,   749,   750,   751,   752,   322,   591,
     1918     648,   432,    58,   317,   652,   317,   678,   678,   317,   877,
     1919     317,   317,   410,   645,   402,   301,   470,   324,   402,   503,
     1920     112,  1203,   745,   746,  1043,   747,   748,   209,   301,   655,
     1921    1006,    77,   247,    50,    50,    50,  -373,    71,  -244,   512,
     1922     976,   798,   324,   589,   561,   698,   859,  1271,  1272,  1273,
     1923     145,   701,  1031,     8,     9,    10,    11,    12,   703,   426,
     1924     113,  1067,   210,   112,   337,   753,   754,   209,   590,   608,
     1925     705,   714,   317,    50,   729,    50,   730,    50,   -14,  1042,
     1926     779,    70,   774,   613,   781,    33,   792,   613,   -15,   112,
     1927    1082,   835,   897,   836,  1041,   842,   591,   864,   396,   866,
     1928     878,    64,  1090,  -422,   697,  -527,  1090,  1295,    50,   890,
     1929     911,   816,   813,    36,  1530,   426,    39,   581,   171,   172,
     1930      42,   106,   181,   822,   896,   903,   830,   209,   112,    43,
     1931      44,   905,   908,   909,   897,   915,   917,   918,   110,   845,
     1932     137,   138,   256,   919,   301,   301,    58,   920,   256,   921,
     1933     613,    43,    44,  1090,   928,   163,   983,   938,  1023,   209,
     1934     939,   353,   353,  1158,   209,   940,   954,   955,   659,   661,
     1935     956,   301,   957,   958,   686,   874,   959,   707,  1296,  1032,
     1936     106,  1162,   708,  1043,   960,   112,  -410,   397,   256,  -409,
     1937    1025,   586,  1029,  1053,   897,   897,   256,  1054,   613,  1055,
     1938      51,   478,  1056,  1064,  1074,   694,  1078,  1076,  1006,  1110,
     1939     877,  1081,    77,   678,   113,   923,  1084,  1134,    71,  1135,
     1940    1136,   678,   678,   678,  1137,  1149,   301,    50,   113,  1150,
     1941    1152,   301,  1153,   301,   301,  1161,   210,  1166,  1042,    -9,
     1942    1182,  -445,  1042,   337,   728,    64,    -3,   -11,   649,  1170,
     1943     512,  1172,   209,  1066,  1178,   512,  1199,  1036,   512,  1211,
     1944    1201,  1090,    70,   110,   486,   106,   112,  1204,   112,   112,
     1945    1087,   322,   322,  1088,  1209,  1089,    43,    44,  1216,   944,
     1946    1213,  1219,  1226,   110,  1230,   137,   138,   561,   561,  1232,
     1947    1234,  1235,  -297,  1240,   353,   301,    43,    44,   322,     8,
     1948       9,    10,    11,    12,  1222,   613,   337,  1236,    77,   608,
     1949     761,  1237,  1238,  1247,    71,   590,    39,   590,   171,   172,
     1950      42,  1256,  1414,  1006,   833,  1009,  1257,    58,  1262,    43,
     1951      44,    33,   209,    50,  1265,   613,  1266,   650,  1268,  1269,
     1952     613,   322,   608,  1277,  1282,  1289,   613,  1290,   209,   613,
     1953     613,  1291,  1066,   112,  1041,   367,   139,  1297,  1348,    36,
     1954     322,  1305,  1307,   686,  1067,   613,   388,   256,   389,  1303,
     1955    1310,   390,   209,  1311,   391,  1315,  1033,   392,   256,  1006,
     1956     393,   394,  1006,  1312,  1320,  1322,  1328,  1329,  1330,  1331,
     1957     877,   678,  1042,  1338,  1341,  1351,   215,   208,   113,  1090,
     1958    1352,  1090,  1090,  1273,  1367,   478,  1068,   317,    50,    50,
     1959    1360,  1361,   613,   887,   608,  1373,  1374,   112,   112,  1383,
     1960     694,   694,   322,    58,  1384,  -411,    64,   110,  1502,   897,
     1961    1387,  1398,  1403,  1006,  1087,  1405,  1407,  1088,  1006,  1089,
     1962      43,    44,  1408,  1043,  1423,   897,   106,  1415,   266,  1409,
     1963     432,  1424,   813,   337,  1425,  1428,  1353,   112,   686,  1426,
     1964    1066,  1433,   815,  1067,  1333,  1442,  1444,   586,  1006,   911,
     1965    1438,  1446,  1151,   911,   911,  1440,  1448,  1456,    77,  1450,
     1966    1458,  1479,  1457,   106,    71,    77,  1090,  1481,  1484,  1510,
     1967    1469,    71,   209,   561,  1487,  1155,  1157,  1159,  1042,  1488,
     1968     147,  1495,   613,  1511,   948,  1516,   206,   216,   148,   590,
     1969     149,  1523,  1525,  1512,  1527,    50,   112,   877,   897,   897,
     1970     209,   590,   461,  1533,  1540,   209,   112,  1541,  1348,  1165,
     1971     755,  1006,   756,   759,   757,  1348,  1006,   758,    77,  1086,
     1972      50,    50,   106,   158,    71,  1281,  1490,  1402,  1543,  1215,
     1973    1090,  1090,  1375,  1354,  1472,  1006,   874,  1006,   446,   431,
     1974    1171,  1006,   396,  1034,  1006,  1180,    50,   211,   364,  1366,
     1975     301,  1067,  1006,  1193,   899,  1062,  1006,  1083,   110,   841,
     1976     137,   138,   106,   209,   982,   892,  1298,   649,  1348,   483,
     1977    1454,    43,    44,    58,   337,  1061,   906,   209,   691,   113,
     1978      58,  1037,     0,     0,  1306,     0,   763,    39,   764,   178,
     1979     179,    42,     0,   887,   887,     0,   765,   211,   694,     0,
     1980      43,    44,   265,     0,     0,  1473,   106,  1477,     0,   113,
     1981     301,     0,   210,    67,   117,     0,     2,   202,     4,     5,
     1982       6,     7,     0,   337,     0,     0,   588,     0,   589,  1504,
     1983    1009,   397,     0,    58,    47,    48,     0,   211,   862,  1513,
     1984       0,  -298,  1506,     0,  1508,     0,     0,    67,     8,     9,
     1985      10,    11,    12,     0,     0,   337,   650,     0,     0,     0,
     1986       0,     0,     0,   874,   157,   210,     0,   209,     0,     0,
     1987     106,     0,   461,     0,     0,   630,   613,   613,  1371,   461,
     1988      33,     0,  1371,   217,    37,   468,    38,     0,  1538,  1068,
     1989    1539,     0,   106,     0,   301,     0,     0,   211,   127,   106,
     1990     128,   129,   130,  1546,  1547,     0,     0,     0,    36,     0,
     1991       0,    43,    44,     0,   447,     0,     0,     0,   249,     8,
     1992       9,    10,    11,    12,     8,     9,    10,    11,    12,   211,
     1993       0,     0,   461,     0,   211,     0,     0,   322,     0,     0,
     1994    1037,     0,  1037,   937,  1037,  1359,     0,     0,     0,     0,
     1995       0,    33,   106,   942,   943,   159,    33,     0,   323,   113,
     1996       0,  1476,     0,  1476,   953,   887,   249,   342,   190,     0,
     1997       0,   213,     0,     0,   223,   256,     0,    75,     0,    36,
     1998       0,     0,   815,     0,    36,   700,     0,   518,  1068,  1453,
     1999     709,   519,   520,   521,   395,     0,     0,     0,  1476,     0,
     2000    1476,  1388,     0,     0,  1396,     0,     0,     0,     0,     0,
     2001     415,    75,   337,   420,   422,   522,     0,   523,   157,   524,
     2002     525,     0,   211,   560,     0,   402,     0,     0,   886,     0,
     2003     589,    47,    48,     0,     0,     0,    47,    48,     0,   438,
     2004       0,   209,     0,   441,   404,   442,     0,   218,   448,   159,
     2005    1413,   412,     0,     0,    67,  1435,     0,     0,    39,   462,
     2006    1439,   365,    42,     0,     0,     0,     0,     0,     0,   469,
     2007       0,    43,    44,     0,     0,   301,     0,   422,     0,     0,
     2008    1260,  1261,     0,  1263,     0,   159,   113,     0,     0,  1267,
     2009    1461,     0,  1270,     0,  1037,     0,  1068,   782,     0,   589,
     2010       0,     0,   211,     0,     0,    47,    48,   613,     0,   159,
     2011       0,    39,   113,   171,   172,    42,     0,   404,     0,     0,
     2012       0,   434,     0,     0,    43,    44,     0,  1475,     0,  1475,
     2013       0,   345,   834,     0,     2,   202,     4,     5,     6,     7,
     2014       0,     0,   211,     0,     0,     0,   249,  1128,  1129,     0,
     2015     582,     0,     0,     0,     0,     0,   610,     0,     0,   613,
     2016     613,     0,     0,     0,  1475,   224,  1475,     0,     0,   615,
     2017       0,   301,     0,   615,     0,     0,   566,  1531,    39,     0,
     2018     178,   179,    42,  1531,     0,   570,     0,     0,   573,     0,
     2019       0,    43,    44,     0,  1531,   317,     0,     0,  1531,     0,
     2020    1037,     0,    37,   439,    38,   895,     0,  1174,  1175,   483,
     2021       0,   113,     0,     0,     0,     0,     0,  1035,    75,   402,
     2022       0,     0,   462,    75,     0,    47,    48,   365,     0,     0,
     2023       0,     0,     0,     0,     0,     0,   342,     0,  1036,     0,
     2024       0,   462,     0,     0,     0,     0,   404,     0,     0,   462,
     2025     412,     0,     0,     0,   261,   113,     0,    39,     0,   178,
     2026     179,    42,   211,     0,     0,     0,   673,     0,     0,   422,
     2027      43,    44,  1395,     0,     0,    39,   256,   178,   179,    42,
     2028       0,     0,     0,     0,   687,     0,    67,     0,    43,    44,
     2029     211,     0,   613,     0,     0,   211,   180,     0,   422,   365,
     2030      78,     0,   422,     0,    47,    48,     0,   261,     0,     0,
     2031       0,     0,     0,     0,  1035,     0,   402,     0,   110,   113,
     2032     218,     0,    47,    48,     0,  1087,     0,   404,  1088,   342,
     2033    1089,    43,    44,   518,    78,     0,     0,   519,   520,   521,
     2034     630,   113,     0,     0,   110,     0,   986,     0,   113,     0,
     2035     113,  1087,   113,   211,  1088,     0,  1089,    43,    44,  1316,
     2036       0,   522,     0,   523,     0,   524,  1280,   211,     0,     0,
     2037     219,     0,    59,    59,   766,     0,     0,     0,     0,     0,
     2038       0,  1051,  1501,     0,     0,  1318,    75,   113,     0,   113,
     2039       0,   615,   777,     0,     0,     0,     0,     0,     0,     0,
     2040     345,   113,     0,   794,     0,    75,    59,  1501,  1501,     0,
     2041       0,     0,     0,    75,  1321,     0,     0,     0,   301,   566,
     2042     566,   582,  1323,  1324,  1325,     0,   582,   630,     0,    80,
     2043     345,     0,   615,  1501,     0,   342,   342,   209,     0,    59,
     2044       0,     0,    59,     0,     0,     0,     0,     0,   345,     0,
     2045      75,   342,     0,     0,   347,     0,     0,   211,     0,     0,
     2046       0,     0,     0,    80,     8,     9,    10,    11,    12,     0,
     2047     673,     0,    39,     0,   178,   179,    42,     0,     0,     0,
     2048       0,   462,     0,     0,     0,    43,    44,     0,     0,     0,
     2049     209,     0,     0,   345,     0,   462,    33,     0,   342,   220,
     2050       0,   852,     0,     0,     0,   856,     0,   891,     0,     0,
     2051     422,  1500,     0,   402,     0,     0,     0,     0,     0,    47,
     2052      48,     0,     0,     0,    36,     0,   340,   986,     0,    39,
     2053       0,   178,   179,    42,    39,     0,   178,   179,    42,   687,
     2054       0,    78,    43,    44,     0,   322,    78,    43,    44,     0,
     2055       0,     0,     0,  1196,     0,     0,   345,     0,     0,     0,
     2056       0,     8,     9,    10,    11,    12,     0,     0,   588,     0,
     2057     589,     0,     0,   255,     0,   673,    47,    48,     0,     0,
     2058       0,    47,    48,   348,     0,   673,   673,     0,   615,    59,
     2059       0,   951,  1451,    33,     0,     0,   673,     0,     0,   345,
     2060     345,     0,     0,     0,     0,     0,   962,     0,     0,     0,
     2061       0,     0,     0,    59,     0,   345,     0,     0,     0,     0,
     2062       0,    36,     0,     0,     0,   566,    39,     0,   178,   179,
     2063      42,   211,     0,     0,   345,     0,     0,     0,     0,    43,
     2064      44,     0,     0,   219,     0,    75,     0,     0,     0,  1259,
     2065       0,     0,     0,     0,     0,     0,    67,     0,     0,    75,
     2066       0,     0,   345,     0,     0,  1035,     0,   402,     0,     0,
     2067      80,     0,     0,    47,    48,    80,     0,     0,     0,     0,
     2068     777,     0,   526,   527,   528,   529,   530,   531,   532,   533,
     2069     534,   535,   536,     0,     0,     0,     0,     0,     0,     0,
     2070    1058,     0,     0,   345,     0,     0,     0,     0,     0,    78,
     2071       0,     0,     0,     0,   422,   117,   537,     0,     0,     0,
     2072       0,     0,     0,   347,     0,     0,     0,     0,    78,   687,
     2073       0,     0,     0,     0,     0,     0,    78,     0,     0,   345,
     2074       0,     0,     0,     0,     0,     0,     0,     0,     0,   345,
     2075     345,     0,     0,   347,     0,   218,     0,     0,     0,     0,
     2076     345,   582,     0,     0,     8,     9,    10,    11,    12,     0,
     2077       0,   347,   220,    78,   420,     0,     0,     0,     0,   673,
     2078     673,     0,   342,   342,     0,     0,     0,     0,     0,     0,
     2079       0,     0,     0,     0,     0,   340,    33,  1101,     0,     0,
     2080      67,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2081       0,     0,     0,  1114,     0,     0,   347,     0,     0,     0,
     2082      75,     0,    86,     0,    36,   173,     0,     0,     0,    39,
     2083       0,   178,   179,    42,    33,     0,     0,     0,    80,   673,
     2084     673,     0,    43,    44,   345,    59,     0,     0,     0,     0,
     2085    1187,     0,   348,     0,     0,     0,    86,    80,     0,     0,
     2086       0,     0,    36,     0,     0,    80,     0,    39,   180,     0,
     2087     124,    42,   173,     0,     0,   173,    47,    48,     0,   347,
     2088      43,    44,   348,     0,     0,     0,     0,     0,   340,     0,
     2089       0,     0,   221,   345,     8,     9,    10,    11,    12,     0,
     2090     348,   404,    80,     0,     0,     0,    45,     0,     0,     0,
     2091       0,     0,     0,     0,    47,    48,     0,     0,   687,     0,
     2092       0,     0,   347,   347,     0,   234,    33,     0,     0,     0,
     2093       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
     2094     244,     0,   245,   345,   345,   348,   345,   345,     0,     0,
     2095       0,   340,     0,     0,    36,     0,     0,   347,     0,    39,
     2096       0,   178,   179,    42,    75,     0,     0,     0,    78,     0,
     2097       0,     0,    43,    44,     0,     0,   355,     0,     0,     0,
     2098     173,    67,    78,     0,     0,   347,     0,     0,     0,     0,
     2099       0,     0,     0,     0,   340,   340,     0,     0,  1500,     0,
     2100     402,     0,     0,   345,   345,     0,    47,    48,   348,     0,
     2101     340,   673,     0,   687,     0,     0,     0,     0,   117,     0,
     2102       0,     0,     0,     0,     0,     0,   347,   211,   173,   406,
     2103     407,     0,     0,     0,   411,     0,   413,   414,     0,     0,
     2104       0,   404,     0,     0,     0,     0,   673,     0,     0,     0,
     2105       0,   348,   348,     0,   673,   673,   673,   340,     0,     0,
     2106       0,     0,   347,    86,     0,   342,   342,   348,    86,     0,
     2107       0,     0,   347,   347,     0,     0,     0,  1347,   219,     0,
     2108     211,     0,   345,   347,     0,     0,   348,     0,     0,     0,
     2109       0,     0,     0,     0,     0,     0,     0,    80,     0,     0,
     2110       0,     0,     0,     0,     0,     0,   173,     0,     0,     0,
     2111       0,    80,     0,     0,   348,     0,     0,   117,     0,     0,
     2112       0,     0,     0,   173,     0,     0,     0,   173,     0,     0,
     2113       8,     9,    10,    11,    12,     0,     0,     0,     0,     0,
     2114       0,     0,     0,    78,     0,    75,     0,     0,  1364,     0,
     2115       0,     0,     0,     0,     0,   348,     0,     0,     0,     0,
     2116       0,  1400,    33,     0,     0,   221,     0,   347,     0,     0,
     2117       0,     0,     0,     0,     0,   345,     0,   345,     0,     0,
    20632118       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2064      868,     0,     0,     0,     0,     0,     0,     0,   436,     0,
     2119      36,   348,     0,     0,     0,    39,     0,     0,   342,    42,
     2120       0,   348,   348,     0,     0,     0,     0,   220,    43,    44,
     2121     345,     0,   348,     0,     0,    59,   347,     0,   345,   345,
     2122     345,     0,     0,     0,   673,   117,     0,     0,     0,   345,
     2123     345,    86,     0,     0,   693,     0,     0,     0,     0,   340,
     2124     651,    75,    47,    48,     0,   355,     0,  1347,     0,     0,
     2125      86,     0,     0,     0,  1347,   164,     0,   169,    86,     0,
     2126     175,   176,   177,     0,     0,     0,   347,   347,     0,   347,
     2127     347,     0,    80,     0,    59,   355,     0,   229,     0,     8,
     2128       9,    10,    11,    12,     0,     0,     0,    78,   238,   239,
     2129       0,     0,     0,   355,     0,    86,   348,     0,     0,     0,
     2130       0,     0,     0,     0,     0,     0,     0,  1347,     0,     0,
     2131       0,    33,     0,     0,  1526,     0,     0,     0,     0,     0,
     2132       0,     0,     0,     0,     0,   218,   347,   347,     0,     0,
     2133       0,     0,     0,     0,     0,     0,     0,     0,   355,    36,
     2134       0,   340,   340,     0,    39,   348,   178,   179,    42,     0,
     2135       0,     0,     0,     0,     0,     0,     0,    43,    44,    59,
     2136       0,     0,   345,     0,     0,     0,     0,     0,     0,     0,
     2137       0,     0,     0,     0,     0,   173,     0,     0,     0,     0,
     2138       0,     0,   399,   255,     0,     0,     0,     0,   345,     0,
     2139     173,    47,    48,     0,     0,   348,   348,     0,   348,   348,
     2140       0,   355,     0,   173,     0,   347,   768,   769,     0,     0,
     2141       0,    75,     0,     0,     0,     0,    80,     0,    75,     0,
    20652142       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2066        0,   609,   609,    74,     0,     0,  1056,     0,    74,     0,
    2067        0,     0,     0,   298,   208,     0,     0,     0,     0,     8,
    2068        9,    10,    11,    12,     0,     0,     0,     0,     0,     0,
    2069      207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2070        0,     0,     0,     0,  1025,     0,     0,     0,     0,     0,
    2071        0,    33,     0,     0,     0,   112,     0,   401,   873,     0,
    2072      874,     0,     0,     0,     0,     0,     0,   877,   878,     0,
    2073        0,     0,   883,     0,     0,     0,     0,     0,  1275,    36,
    2074        0,     0,     0,     0,    39,   209,   176,   177,    42,     0,
    2075      894,     0,     0,   259,   112,   898,     0,    43,    44,     0,
    2076        0,  1056,     0,     0,   216,     0,     0,     0,   125,     0,
    2077        0,     0,     0,     0,   583,     0,     0,   254,     0,     0,
    2078        0,     0,     0,  1023,     0,   399,   350,   350,   609,     0,
    2079        0,    47,    48,     0,     0,     0,     0,    66,   116,     0,
    2080        0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
    2081        0,     0,     0,     0,     0,     0,     0,     0,   112,     0,
     2143       0,     0,     0,   799,     0,     0,   802,   803,     0,   806,
     2144       0,   808,   809,     0,   355,   355,   810,   811,     0,     0,
     2145       0,     0,     0,     0,     0,   348,   348,     0,     0,     0,
     2146     355,     0,     0,     0,     0,     0,     0,     0,    78,     0,
     2147       0,    75,     0,     0,     0,     0,     0,     0,     0,   355,
     2148       0,     0,     0,     0,   851,     0,     0,     0,   855,     0,
     2149      86,     0,     0,     0,     0,     0,     0,     0,   347,     0,
     2150     347,     0,     0,     0,    86,     0,     0,   355,     0,     0,
     2151       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2152      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2153      25,    26,    27,   347,   348,     0,   580,     0,   587,     0,
     2154      59,   347,   347,   347,     0,    33,     0,     0,   355,   611,
     2155     612,     0,   347,   347,     0,     0,     0,     0,     0,     0,
     2156       0,     0,     0,     0,    78,     0,     0,     0,     0,   274,
     2157     275,     0,   276,    36,     0,     0,     0,    59,     0,     0,
     2158       0,     0,     0,     0,   355,     0,     0,     0,     0,     0,
     2159       0,     0,     0,     0,   355,   355,     0,    80,   277,     0,
     2160     221,     0,     0,     0,   278,   355,     0,     0,   279,   173,
     2161       0,   280,   281,   282,   283,   284,   285,    43,    44,     0,
     2162     286,   287,     0,     0,   340,   340,     0,   348,     0,   348,
     2163       0,     0,     0,     0,     0,     0,    59,     0,     0,     0,
     2164       0,     0,     0,   288,     0,   370,     0,     0,   219,     0,
     2165       0,    47,    48,   290,   291,   292,   293,     0,     0,     0,
     2166       0,     0,   348,     0,   760,    86,     0,     0,     0,     0,
     2167     348,   348,   348,     0,     0,     0,    59,     0,     0,     0,
     2168       0,   348,   348,     0,     0,   347,     0,     0,     0,   355,
     2169       0,     0,     0,    80,     0,     0,     0,     0,     0,     0,
    20822170       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2083       74,    66,     0,     0,     0,     0,   112,     0,     0,     0,
    2084        0,   208,     0,   112,   342,   112,     0,   112,   155,    74,
    2085        0,     0,     0,   401,     0,     0,     0,    74,     0,     0,
    2086        0,     0,     0,     0,  1056,     0,   215,   958,     0,   959,
    2087      960,   961,     0,     0,   342,     0,     0,     0,     0,  1478,
    2088        0,     0,     0,     0,   112,     0,   112,     0,  1012,     0,
    2089        0,  1448,   342,  1448,    74,     0,     0,     0,     0,     0,
    2090        0,   247,   112,     0,  1018,     0,     0,     0,  1478,  1478,
    2091        0,     0,     0,   350,     0,     0,     0,     0,     0,     0,
    2092        0,     0,     0,     0,     0,   298,     0,  1045,     0,     0,
    2093     1448,     0,  1448,   125,   125,     0,     0,   342,  1478,     0,
    2094      320,     0,     0,     0,     0,     0,     0,     0,   247,   339,
    2095        0,     0,     0,     0,     0,     0,  1341,     0,     0,     0,
    2096      125,     0,  1067,   125,   125,     0,   125,  1077,   125,   125,
    2097        0,   314,  1080,   125,   125,     0,   392,  1085,  1086,     0,
    2098        0,     0,  1088,     0,  1089,  1090,     0,     0,  1093,     0,
    2099        0,     0,   412,     0,     0,   417,   419,  1108,     0,   342,
    2100      155,     0,     8,     9,    10,    11,    12,     0,     0,     0,
    2101        0,   125,     0,  1122,  1123,   125,     0,     0,     0,     0,
    2102        0,   435,     0,     0,     0,   438,     0,   439,     0,     0,
    2103      445,     0,     0,     0,    33,     0,    66,     0,     0,     0,
    2104        0,   459,   342,   342,     0,  1151,     0,     0,  1153,     0,
    2105        0,   466,     0,     0,     0,     0,     0,     0,   342,   419,
    2106        0,     0,    36,     0,     0,     0,     0,    39,     0,   176,
    2107      177,    42,     0,     0,   207,     0,     0,   342,     0,     0,
    2108       43,    44,     0,     0,     0,     0,     0,     0,    74,     0,
     2171       0,   347,     0,     0,     0,     0,     0,     0,     0,    59,
     2172      59,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2173       0,     0,     0,     0,    78,     0,     0,     0,   355,     0,
     2174       0,    78,     0,     0,     0,     0,     0,     0,     0,     0,
     2175       0,     0,     0,     0,     0,     0,   173,   340,     0,   173,
     2176     173,   173,     0,     0,     0,     0,     0,     0,     0,     0,
     2177       0,     0,    59,     0,     0,     0,     0,   220,     0,     0,
     2178    1100,     0,     0,     0,    59,     0,     0,     0,   355,   355,
     2179       0,   355,   355,     0,    78,     0,  1113,     0,     0,  1117,
     2180    1120,     0,     0,     0,     0,     0,    59,     0,     0,    86,
     2181       0,     0,     0,    59,   348,     8,     9,    10,    11,    12,
     2182      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2183      23,    24,    25,    26,    27,  -299,     0,     0,     0,     0,
     2184     348,     0,     0,     0,     0,     0,     0,    33,   355,   355,
    21092185       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2110        0,  1186,    74,     0,     0,   342,   178,  1190,  1191,     0,
    2111        0,     0,     0,     0,    47,    48,  1198,     0,     0,     0,
    2112        0,  1205,     0,     0,   207,     0,  1209,   247,     0,   209,
    2113        0,   578,     0,     0,     0,     0,     0,   606,     0,  1217,
    2114        0,     0,     0,     0,   342,     0,     0,     0,     0,     0,
    2115      611,     0,     0,     0,   611,  1224,     0,  1226,  1227,  1228,
    2116     1229,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2117        0,     0,  1236,     0,  1122,     0,     0,     0,     0,   209,
    2118      342,     0,     0,     0,     8,     9,    10,    11,    12,    77,
    2119      342,   342,     0,     0,     0,     0,   216,     0,     0,     0,
    2120        0,   342,     0,   459,     0,     0,  1265,  1266,     0,     0,
    2121        0,     0,     0,     0,     0,     0,    33,   339,     0,     0,
    2122        0,     0,   459,    77,     0,   208,     0,     0,     0,     0,
    2123      459,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2124        0,     0,     0,     0,    36,     0,     0,   669,     0,    39,
    2125      419,   176,   177,    42,     0,     0,     0,     0,   217,     0,
    2126        0,    74,    43,    44,     0,   683,     0,    66,     0,     0,
    2127     1301,  1302,     0,     0,     0,   208,     0,     0,     0,   419,
    2128     1312,     0,     0,   419,     0,   342,     0,     0,  1477,     0,
    2129      399,     0,     0,     0,     0,     0,    47,    48,   125,     0,
     2186       0,     0,     0,    80,     0,     0,    59,     0,     0,     0,
     2187      80,  1177,     0,     0,   879,    36,   880,     0,     0,     0,
     2188       0,     0,     0,   883,   884,     0,  -299,     0,   889,  1194,
     2189    1195,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2190       0,     0,     0,     0,     0,     0,   900,     0,     0,     0,
     2191       0,   904,     0,     0,     0,     0,     0,     0,     0,     0,
     2192       0,     0,     0,    80,     0,     0,     0,   355,     0,     0,
     2193       0,     0,   587,     0,   173,     0,     0,     0,     0,     0,
     2194       0,     0,     0,     0,     0,   162,     0,     0,     0,     0,
     2195     274,   275,  1117,   276,     0,     0,     0,     0,     0,     0,
     2196       0,   214,     0,     0,     0,     0,     0,     0,     0,     0,
     2197       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
     2198       0,     0,     0,     0,     0,   278,     0,     0,     0,   279,
     2199      86,     0,   280,   281,   282,   283,   284,   285,    43,    44,
     2200       0,   286,   287,     0,     0,     0,     0,   162,     0,     0,
     2201       0,   262,  1283,     0,     0,     0,     0,     0,     0,     0,
     2202     355,     0,   355,     0,   288,   971,   370,   972,   973,   974,
     2203       0,  1293,    47,    48,   290,   291,   292,   293,   162,     0,
     2204       0,     0,     0,     0,     0,     0,  1024,     0,   361,   173,
     2205       0,   366,     0,     0,     0,   355,     0,     0,     0,     0,
     2206       0,     0,  1030,   355,   355,   355,     0,     0,     0,     0,
     2207       0,     0,     0,     0,   355,   355,     0,     0,     0,     0,
     2208       0,     0,     0,     0,     0,  1057,    86,     0,     0,     0,
     2209       0,     0,     0,     0,     0,     0,     0,     0,     0,   162,
     2210       0,     0,     0,     0,     0,   173,     0,     0,   173,     0,
     2211       0,   214,     0,     0,     0,     0,     0,     0,     0,     0,
     2212       0,     0,     0,     0,     0,     0,     0,  1085,     0,     0,
     2213       0,  1363,  1095,     0,   173,     0,     0,  1098,     0,     0,
     2214       0,     0,  1103,  1104,     0,     0,     0,  1106,   366,  1107,
     2215    1108,     0,     0,  1111,     0,   162,     0,     0,     0,   173,
     2216       0,     0,  1126,     0,   173,     0,     0,     0,     0,     0,
     2217     221,     0,     0,     0,     0,     0,     0,     0,  1140,  1141,
     2218       0,     0,   515,     0,     0,     0,     0,     0,     0,     0,
     2219       0,     0,     0,     0,   173,   162,     0,     0,     0,     0,
     2220       0,     0,     0,     0,     0,     0,     0,   355,     0,  1167,
     2221       0,     0,  1169,     0,     0,     0,     0,     0,     0,     0,
    21302222       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2131      339,     0,     0,     0,   125,     0,     0,   125,   125,     0,
    2132        0,     0,     0,     0,     0,     0,     0,   342,     0,     0,
     2223       0,   585,     0,   355,     0,     0,   609,     0,     0,     0,
    21332224       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2134        0,   344,     0,     0,  1351,     0,  1352,  1353,  1354,     0,
    2135      171,     0,     0,     0,   760,     0,     0,     0,  1358,     0,
    2136        0,     0,     0,     0,     0,     0,  1369,     0,     0,   167,
    2137        0,   611,   771,     0,     0,     0,     0,   342,   342,     0,
    2138      342,   342,     0,   788,     0,     0,     0,     0,     0,     0,
    2139      125,     0,     0,     0,     0,     0,  1391,   171,    74,     0,
    2140      171,   578,     0,   125,     0,     0,   578,     0,   125,   125,
    2141        0,     0,   611,     0,     0,   339,   339,     0,     0,     0,
    2142        0,     0,     0,     0,     0,     0,     0,     0,    77,     0,
    2143        0,   339,     0,    77,     0,     0,     0,     0,   342,   342,
    2144     1432,  1433,     0,     0,     0,     0,     0,     0,     0,     0,
    2145      669,     0,     0,  1438,     0,     0,     0,     0,     0,     0,
    2146     1438,   459,     0,     0,     0,   125,     0,     0,     0,    79,
    2147        0,     0,     0,     0,     0,   459,     0,  1462,   339,     0,
    2148        0,     0,     0,     0,     0,     0,     0,   885,     0,     0,
    2149      419,     0,     0,     0,     0,  1476,     0,     0,     0,  1482,
    2150        0,     0,     0,    79,   171,     0,     0,     0,     0,     0,
    2151        0,   342,     0,     0,     0,     0,     0,   683,     0,     0,
    2152        0,     0,     0,     0,     0,     0,     0,   125,     0,   217,
    2153        0,     0,  1509,     0,  1510,     0,     0,     0,   218,     0,
    2154        0,     0,     0,     0,     0,     0,   125,     0,     0,     0,
    2155        0,     0,   171,   669,     0,     0,     0,     0,     8,     9,
    2156       10,    11,    12,   669,   669,     0,   611,     0,     0,   938,
    2157        0,     0,  1535,  1536,   669,     0,    74,     0,     0,     0,
    2158        0,     0,     0,     0,   949,  1543,  1544,     0,     0,     0,
    2159       33,     0,     0,     0,     0,    77,     0,     0,     0,     0,
    2160        0,     0,     0,     0,     0,     0,   342,     0,   342,   344,
    2161        0,     0,     0,     0,    77,     0,     0,     0,    36,     0,
    2162        0,   345,    77,    39,     0,   176,   177,    42,   123,   171,
    2163        0,     0,     0,     0,    66,   342,    43,    44,     0,   344,
    2164        0,     0,   125,   342,   342,   342,   171,     0,     0,     0,
    2165      171,     0,     0,     0,   342,   342,     0,   344,   771,    77,
    2166        0,     0,   253,     0,     0,     0,    74,     0,     0,     0,
    2167       47,    48,     0,     0,     0,     0,     0,     0,  1046,     0,
    2168        0,     0,   232,     0,     0,     0,     0,     0,     0,     0,
    2169        0,     0,   419,   116,     0,     0,     0,   242,     0,   243,
    2170      683,     0,   344,     0,     0,     0,     0,     0,    79,     0,
    2171        0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
     2225       0,     0,     0,     0,     0,     0,    86,   173,     0,     0,
     2226       0,     0,   173,    86,     0,  1202,     0,     0,     0,     0,
     2227       0,  1206,  1207,     0,     0,     0,     0,     0,     0,     0,
     2228       0,   173,     0,   173,     0,     0,  1220,   173,     0,     0,
     2229     173,  1227,     0,     0,     0,     0,  1231,     0,   173,     0,
     2230       0,     0,   173,     0,     0,     0,     0,     0,     0,  1239,
     2231       0,   162,   162,     0,     0,     0,    86,   361,     0,     0,
     2232       0,     0,     0,     0,     0,  1246,     0,  1248,  1249,  1250,
     2233    1251,     0,     0,     0,     0,     0,     0,     0,   162,     0,
     2234       0,     0,  1258,     0,  1140,     0,     0,     0,     0,     0,
    21722235       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2173        0,     0,   578,     0,     0,     0,     0,     0,     0,     0,
    2174        0,     0,     0,     0,     0,   417,     0,   216,     0,    85,
    2175      669,   669,     0,   339,   339,     0,     0,     0,     0,     0,
    2176        0,     0,     0,     0,   344,     0,     0,     0,     0,     0,
    2177        0,    66,     0,     0,     0,     0,     0,     0,     0,     0,
    2178        0,   342,     0,    85,     0,   403,   404,     0,     0,     0,
    2179      408,     0,   410,   411,     0,     0,     0,     0,     0,     0,
    2180        0,     0,     0,     0,     0,     0,     0,   344,   344,   218,
    2181      342,   669,   669,     0,     0,     0,     0,     0,   219,     0,
    2182        0,     0,  1171,   344,     0,     0,     0,     0,     0,    74,
    2183        0,     0,     0,     0,     0,     0,    74,     0,     0,     0,
    2184        0,     0,   344,     0,     0,     0,     0,     0,     0,     0,
    2185        0,     0,     0,    77,     0,     0,     0,     0,     0,     0,
    2186        0,     0,     0,     0,     0,     0,     0,    77,     0,     0,
    2187      344,     0,     0,     0,     0,    79,     0,     0,     0,     0,
    2188        0,     0,     0,     0,   683,     0,     0,     0,     0,   345,
    2189        0,     0,     0,     0,    79,    74,     0,   171,     0,     0,
    2190        0,   352,    79,     0,     0,     0,     0,     0,     0,   344,
    2191        0,     0,   171,     0,     0,     0,     0,     0,     0,   345,
    2192        0,     0,     0,     0,     0,   171,     0,     0,     0,     0,
    2193        0,     0,     0,     0,     0,     0,     0,   345,     0,    79,
    2194        0,     0,     0,     0,     0,   344,     0,     0,     0,    66,
    2195        0,     0,     0,     0,     0,   344,   344,     0,     0,     0,
    2196        0,   217,     0,     0,     0,     0,   344,     0,     0,     0,
    2197        0,     0,     0,     0,     0,     0,     0,     0,     0,   669,
    2198        0,   683,   345,     0,     0,     0,   116,     0,    85,     0,
    2199        0,     0,     0,    85,     0,   647,     0,     0,  1106,     0,
    2200        0,     8,     9,    10,    11,    12,     0,     0,   669,     0,
    2201        0,     0,     0,     0,     0,     0,   669,   669,   669,     0,
    2202        0,     0,     0,     0,     0,     0,    77,   339,   339,     0,
    2203        0,   273,   274,    33,   275,     0,     0,     0,     0,  1322,
    2204        0,     0,     0,     0,   345,     0,     0,     0,     0,     0,
    2205      344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2206      276,    36,     0,     0,     0,     0,   277,     0,     0,     0,
    2207      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2208       44,   116,   284,   285,     0,     0,     0,   345,   345,   219,
    2209        0,     0,   344,     0,     0,     0,     0,     0,     0,     0,
    2210        0,     0,     0,   345,     0,   286,     0,   367,     0,     0,
    2211        0,     0,     0,  1107,    48,   288,   289,   290,   291,     0,
    2212     1372,     0,   345,     0,     0,     0,     0,     0,     0,   171,
    2213        0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
    2214        0,     0,   344,   344,     0,   344,   344,    79,     0,     0,
    2215      345,     0,     0,     0,   339,    85,     0,     0,     0,     0,
    2216      762,   763,     0,    77,     0,     0,     0,     0,     0,   352,
    2217        0,     0,     0,     0,    85,     0,     0,     0,     0,     0,
    2218        0,     0,    85,   669,   116,     0,     0,   793,     0,   345,
    2219      796,   797,     0,   800,     0,   802,   803,     0,     0,   352,
    2220      804,   805,  1322,   344,   344,   273,   274,     0,   275,  1322,
    2221        0,     0,     0,     0,     0,     0,     0,   352,     0,    85,
    2222        0,     0,     0,     0,     0,   345,     0,     0,     0,     0,
    2223        0,     0,     0,     0,   276,   345,   345,     0,   845,     0,
    2224      277,   218,   849,     0,   278,     0,   345,   279,   280,   270,
    2225      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2226        0,     0,   352,     0,     0,     0,     0,     0,  1322,   171,
    2227        0,     0,   171,   171,   171,  1507,   344,     0,     0,   286,
    2228        0,   367,     0,     0,     0,     0,     0,    47,    48,   288,
    2229      289,   290,   291,     0,     0,   160,     0,     0,     0,     0,
    2230      754,     0,     0,     0,     0,     0,    79,     0,     0,     0,
    2231      212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2232        0,     0,     0,     0,   352,     0,     0,     0,     0,     0,
    2233      345,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2234        0,    77,     0,     0,     0,     0,     0,     0,     0,     0,
    2235        0,     0,     0,     0,     0,     0,   160,     0,     0,     0,
    2236      260,     0,     0,     0,     0,     0,     0,   352,   352,     0,
    2237        0,   344,   345,   344,     0,     0,     0,     0,     0,     0,
    2238        0,     0,     0,   352,     0,     0,   160,     0,     0,     0,
    2239        0,     0,     0,     0,     0,     0,   358,     0,     0,   363,
    2240      344,     0,   352,     0,     0,     0,     0,     0,   344,   344,
    2241      344,     0,     0,    85,     0,     0,     0,     0,     0,   344,
    2242      344,     0,   345,   345,     0,   345,   345,    85,     0,     0,
    2243      352,    77,     0,     0,     0,     0,     0,     0,     0,     0,
    2244        0,     0,     0,    79,   171,     0,     0,   160,     0,     0,
    2245        0,     0,     0,     0,     0,     0,     0,     0,     0,   212,
    2246        0,     0,     0,     0,     0,     0,     0,     0,     0,   352,
     2236       0,     0,     0,     0,     0,   690,     0,     0,     0,     0,
     2237       0,     0,     0,     0,  1285,  1286,     0,   207,     0,     0,
     2238       0,   162,     0,     0,     0,     0,   227,     0,   231,     0,
     2239     233,     0,     0,   515,     0,   515,   236,     0,   515,     0,
     2240     162,   515,     0,     0,     0,     0,     0,     0,     0,     0,
     2241     361,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2242       0,     0,     0,     0,     0,     0,     0,   207,     0,   231,
     2243     233,   236,     0,     0,     0,     0,     0,     0,     0,     0,
     2244       0,     0,     0,     0,  1326,  1327,     0,     0,     0,     0,
     2245       0,     0,     0,     0,  1337,     0,     0,     0,     0,     0,
     2246       0,     0,   162,     0,     0,     0,     0,   207,     0,     0,
     2247       0,     0,     0,   361,     0,     0,   780,     0,     0,     0,
     2248       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2249      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2250      26,    27,   585,     0,    28,    29,    30,   585,     0,     0,
     2251       0,     0,     0,     0,    33,     0,   361,   361,     0,     0,
     2252       0,  1379,     0,  1380,  1381,  1382,     0,   207,     0,   231,
     2253     233,   236,   361,     0,     0,  1386,     0,     0,     0,     0,
     2254       0,     0,    36,  1397,     0,     0,   169,    39,     0,    40,
     2255      41,    42,     0,     0,     0,     0,     0,     0,     0,   207,
     2256      43,    44,     0,     0,   207,   515,     0,     0,     0,     0,
     2257       0,     0,     0,     0,     0,     0,  1420,     0,     0,   361,
     2258       0,   888,     0,     0,     0,     0,    45,     0,    46,     0,
     2259       0,     0,     0,     0,    47,    48,     8,     9,    10,    11,
     2260      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2261      22,    23,    24,    25,    26,    27,  -300,   126,     0,     0,
     2262     690,  1459,  1460,     0,     0,     0,     0,     0,    33,     0,
     2263       0,     0,     0,   207,  1465,     0,     0,     0,   154,     0,
     2264       0,  1465,     0,     0,     0,     0,     0,     0,     0,     0,
     2265       0,  1483,   207,     0,     0,     0,    36,   231,   233,     0,
     2266       0,     0,     0,     0,     0,   236,     0,  -300,     0,     0,
     2267       0,   609,   126,     0,  1499,     0,     0,     0,  1505,     0,
     2268       0,     0,     0,   241,     0,     0,     0,   126,     0,   126,
     2269       0,     0,     0,   246,     0,     0,     0,     0,     0,     0,
     2270       0,     0,     0,     0,     0,   207,     0,  1528,     0,  1529,
     2271       0,     0,     0,     0,   267,     0,     0,     0,     0,     0,
     2272       0,     0,     0,     0,     0,   207,     0,     0,     0,     0,
     2273     207,     0,   207,     0,     0,     0,     0,     0,  1544,  1545,
     2274       0,     0,     0,     0,     0,     0,  1548,  1549,   207,     0,
     2275       0,   207,   207,     0,     0,     0,     0,     0,   207,     0,
     2276     377,   361,     0,     0,     0,     0,   515,     0,     0,     0,
     2277       0,     0,   207,     0,   126,     0,   126,   126,     0,   207,
     2278       0,   126,   409,   126,   126,     0,     0,     0,     0,     0,
     2279       0,     0,     0,     0,     0,     0,   423,   162,     0,     0,
     2280       0,     0,     0,     0,     0,   428,     0,     0,     0,     0,
     2281     690,     0,     0,     0,     0,   436,     0,     0,     0,     0,
     2282       0,   961,     0,     0,     8,     9,    10,    11,    12,     0,
     2283       0,     0,     0,     0,   453,     0,     0,     0,     0,   463,
     2284       0,     0,   585,     0,     0,     0,     0,   126,     0,     0,
     2285       0,     0,   471,     0,   274,   275,    33,   276,     0,     0,
     2286     485,     0,   489,   361,   361,     0,     0,     0,     0,     0,
    22472287       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2248        0,     0,     0,   345,   345,     0,     0,     0,     0,     0,
    2249        0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
    2250        0,     0,     0,   160,     0,   352,     0,     0,     0,     0,
    2251        0,     0,   217,     0,     0,   352,   352,     0,     0,     0,
    2252        0,   219,     0,     0,     0,  1082,   352,     0,     0,     0,
    2253      512,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2254        0,  1095,   160,     0,  1099,  1102,   344,     0,     0,     0,
    2255        0,     0,     0,     0,     0,   171,   345,     0,     0,     0,
     2288       0,   516,     0,   277,    36,     0,     0,     0,     0,   278,
     2289       0,     0,   207,   279,     0,     0,   280,   281,   282,   283,
     2290     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
    22562291       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2257        0,     0,     0,     0,     0,   344,     0,     0,   581,     0,
    2258        0,     0,     0,   605,     0,     0,    85,     0,     0,     0,
    2259        0,     0,     0,     0,    77,     0,     0,     0,     0,     0,
    2260        0,    77,     0,     0,     0,     0,   171,     0,     0,   171,
    2261      352,     0,     0,     0,     0,     0,     0,  1161,     0,     0,
    2262        0,    79,     0,     0,     0,     0,     0,     0,     0,     0,
    2263        0,     0,     0,     0,     0,  1178,  1179,   171,     0,     0,
     2292     207,     0,     0,   575,     0,   207,     0,   579,   288,     0,
     2293     370,     0,     0,     0,     0,     0,   336,    48,   290,   291,
     2294     292,   293,     0,     0,     0,     0,   515,     0,     0,     0,
     2295       0,     0,     0,     0,     0,   622,     0,     0,     0,   623,
     2296     624,     0,   625,     0,     0,     0,     0,     0,     0,   636,
     2297     637,     0,   638,   639,     0,   640,     0,   641,     0,     0,
     2298       0,     0,     0,   207,     0,     0,     0,   126,     0,     0,
     2299       0,     0,     0,     0,   575,     0,     0,   207,     0,   690,
     2300       0,     0,   657,     0,     0,     0,     0,     0,     0,     0,
    22642301       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2265        0,   345,   352,   345,     0,     0,     0,   171,   160,   160,
    2266       77,     0,   171,     0,   358,     0,     0,     0,     0,     0,
     2302       0,     0,     0,     0,     0,     0,   668,     0,     0,     0,
    22672303       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2268      345,     0,     0,     0,     0,   160,     0,     0,   345,   345,
    2269      345,   171,  1099,     0,     0,     0,     0,     0,     0,   345,
    2270      345,     0,   352,   352,     0,   352,   352,     0,     0,     0,
    2271        0,    79,   686,     0,     0,     0,     0,     0,     0,     0,
    2272        0,     0,     0,    85,   205,     0,     0,     0,   160,     0,
    2273        0,     0,     0,   225,     0,   229,     0,   231,     0,     0,
    2274      512,     0,   512,   234,     0,   512,     0,   160,   512,     0,
    2275        0,     0,     0,     0,  1263,     0,     0,   358,     0,     0,
    2276      171,     0,     0,   352,   352,   171,     0,     0,     0,     0,
    2277        0,     0,     0,  1273,   205,     0,   229,   231,   234,     0,
    2278        0,     0,     0,     0,     0,     0,     0,     0,   171,     0,
    2279      171,     0,   218,     0,   171,     0,     0,   171,     0,     0,
    2280        0,     0,     0,     0,     0,     0,     0,     0,   160,     0,
    2281      171,     0,     0,   205,   171,     0,     0,     0,     0,   358,
    2282        0,     0,   774,     0,     0,     0,   345,     0,     0,     0,
    2283        0,     0,     0,     0,     0,     0,   352,     0,     0,     0,
    2284        0,     0,     0,     0,     0,     0,     0,     0,   581,     0,
    2285        0,     0,     0,   581,     0,   345,     0,     0,     0,     0,
    2286        0,     0,   358,   358,     0,     0,     0,     0,     0,  1340,
    2287        0,     0,     0,   205,    79,   229,   231,   234,   358,     0,
    2288        0,    79,     0,     0,     0,     0,     0,     0,     0,     0,
     2304     333,   356,     0,     0,     0,     0,     0,     0,     0,     0,
     2305       0,   682,     0,     0,     0,     0,     0,   685,     0,     0,
     2306       0,     0,   453,     0,     0,     0,     0,     0,     0,     0,
     2307       0,     0,   405,   515,     0,     0,   207,     0,     0,   405,
     2308       0,     0,     0,     0,     0,     0,     0,   207,     0,   274,
     2309     275,     0,   276,     0,   690,     0,     0,     0,     0,     0,
     2310       0,     0,   726,     0,   207,     0,     0,     0,     0,     0,
     2311       0,     0,     0,     0,     0,   737,     0,     0,   277,     0,
     2312       0,     0,     0,     0,   626,     0,   137,   138,   279,     0,
     2313       0,   280,   281,   282,   283,   284,   285,    43,    44,     0,
     2314     286,   287,     0,     0,     0,   405,   361,   361,     0,     0,
     2315       0,     0,   762,   126,   126,     0,     0,     0,     0,     0,
     2316       0,   772,     0,   288,   773,   627,     0,   628,   371,     0,
     2317       0,    47,    48,   290,   291,   292,   293,     0,     0,     0,
     2318     126,   793,     0,   126,   126,     0,   126,     0,   126,   126,
     2319       0,     0,     0,   126,   126,     0,     0,     0,     0,     0,
     2320       0,   207,     0,     0,   405,     0,     0,     0,     0,     0,
     2321       0,     0,     0,   405,   571,     0,   405,   574,     0,   832,
     2322       0,     0,     0,     0,   356,     0,     0,     0,   601,     0,
     2323       0,   126,     0,     0,     0,   126,     0,     0,     0,     0,
     2324       0,   214,     0,     0,     0,     0,     0,   619,     0,     0,
     2325       0,     0,     0,     0,     0,     0,   867,     0,     0,     0,
     2326       0,   207,     0,     0,     0,     0,     0,     0,     0,     0,
     2327       0,     0,   207,     0,   405,     0,     0,     0,   405,   361,
     2328       0,     0,     0,   241,     0,     0,     0,     0,     0,     0,
     2329       0,     0,     0,     0,   214,     0,     0,     0,     0,   901,
     2330     902,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2331     356,   916,     0,     0,     0,     0,     0,     0,     0,     0,
     2332       0,     0,     0,     0,     0,   929,     0,     0,     0,     0,
     2333     933,     0,     0,     0,     0,     0,     0,   515,     0,   515,
    22892334       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2290        0,    85,     0,     0,     0,   205,     0,     0,     0,     0,
    2291      205,   512,     0,     0,     0,     0,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,   358,     0,   882,     0,     0,
    2293        0,   352,     0,   352,     0,     0,     0,     0,     0,     0,
    2294       79,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2335       0,     0,     0,     0,     0,   405,     0,     0,   356,     0,
     2336       0,     0,     0,     0,     0,     0,     0,     0,   207,     0,
     2337       0,     0,     0,     0,   515,     0,   515,     0,     0,     0,
    22952338       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2296      352,     0,     0,     0,   686,     0,     0,     0,   352,   352,
    2297      352,     0,     0,     0,     0,     0,     0,     0,   205,   352,
    2298      352,     0,   273,   274,     0,   275,     0,     0,     0,     0,
    2299        0,    85,     0,     0,   152,     0,     0,   205,     0,     0,
    2300        0,     0,   229,   231,     0,     0,     0,     0,     0,     0,
    2301      234,   276,     0,     0,     0,   605,     0,   622,     0,   136,
    2302      137,   278,     0,     0,   279,   280,   270,   281,   282,   283,
    2303       43,    44,     0,   284,   285,     0,     0,     0,   239,     0,
    2304        0,     0,     0,     0,     0,     0,     0,     0,   244,     0,
    2305      205,     0,     0,     0,     0,     0,   286,     0,   623,     0,
    2306      624,   368,     0,     0,    47,    48,   288,   289,   290,   291,
    2307      205,     0,   219,     0,     0,   205,     0,   205,     0,     0,
     2339     966,     0,     0,     0,     0,     0,     0,   967,     0,     0,
     2340       0,     0,     0,   356,     0,   162,     0,     0,     0,     0,
     2341     969,     0,   970,     0,     0,     0,     0,     0,     0,     0,
     2342       0,     0,     0,     0,     0,   980,     0,     0,     0,     0,
     2343       0,   984,     0,     0,     0,     0,     0,     0,     0,     0,
     2344       0,     0,  1026,     0,     0,     0,  1027,   405,   405,   315,
     2345       0,     0,     0,     0,     0,     0,     0,     0,     0,   338,
     2346       0,     0,     0,     0,     0,   775,   356,     0,     0,     0,
     2347     373,   373,     0,     0,     0,   601,     0,   601,   601,     0,
     2348       0,     0,     0,     0,   601,     0,     0,     0,     0,     0,
     2349       0,     0,     0,     0,   812,   356,     0,   207,     0,     0,
     2350     356,     0,     0,     0,     0,     0,     0,     0,     0,   356,
     2351     356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2352       0,     0,     0,     0,     0,   356,     0,   126,     0,   405,
     2353     853,     0,     0,   405,   857,     0,     0,     0,  1105,     0,
     2354       0,     0,   860,   126,     0,     0,   126,   126,     0,     0,
     2355       0,     0,     0,     0,     0,     0,     0,     0,   467,     0,
    23082356       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2309        0,     0,     0,   205,     0,     0,   205,   205,     0,     0,
    2310        0,     0,     0,   205,     0,   358,   352,     0,     0,     0,
    2311      512,     0,     0,     0,   374,     0,     0,   205,     0,     0,
    2312        0,     0,     0,     0,   205,     0,     0,     0,     0,     0,
    2313        0,     0,     0,     0,     0,   352,   406,     0,     0,     0,
    2314        0,   160,     0,     0,     0,     0,     0,   686,     0,     0,
    2315      420,     0,     0,     0,    85,     0,     0,     0,     0,   425,
    2316        0,    85,     0,     0,     0,     0,     0,     0,     0,   433,
    2317        0,     0,     0,     0,     0,     0,     0,     0,     0,   581,
    2318        0,     0,     0,     0,     0,     0,     0,     0,   450,     0,
    2319        0,     0,     0,   460,     0,     0,     0,     0,     0,     0,
    2320      358,   358,     0,     0,     0,     0,   468,     0,     0,     0,
    2321        0,     0,     0,     0,   482,     0,   486,     0,     0,     0,
    2322       85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2323        0,     0,     0,     0,     0,   513,   205,     0,     8,     9,
     2357       0,     0,   356,   601,     8,     9,    10,    11,    12,    13,
     2358      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2359      24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
     2360       0,     0,     0,     0,  1168,     0,    33,   872,     0,     0,
     2361       0,     0,     0,   356,     0,     0,     0,     0,   126,     0,
     2362       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2363       0,   126,     0,     0,    36,     0,   126,   126,     0,     0,
     2364       0,    40,    41,     0,     0,     0,  1198,     0,     0,     0,
     2365       0,  1200,     0,   405,     0,     0,     0,   207,     0,     0,
     2366       0,  1205,     0,     0,     0,     0,     0,     0,     0,   601,
     2367       0,   601,     0,     0,     0,     0,   373,     0,     0,     0,
     2368     719,   601,     0,     0,   873,     0,    47,    48,     0,     0,
     2369       0,  1233,     0,     0,     0,     0,     0,     0,     0,   126,
     2370       0,     0,     0,     0,  1241,     0,     0,     0,  1242,     0,
     2371     207,  1243,     0,     0,     0,     0,     0,     0,     0,     0,
     2372       0,     0,     0,     0,     0,     0,     0,  1252,  1253,     0,
     2373       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2374       0,     0,     0,     0,     0,  1264,     0,     0,     0,   315,
     2375       0,     0,     0,     0,   356,     0,     0,     0,     0,   126,
     2376       0,   405,     0,     0,     0,     0,     0,     0,   684,     0,
     2377       0,     0,     0,   601,   601,     0,     0,     0,   126,     0,
     2378       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2379       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,   356,     0,     0,     0,     0,     0,     0,
     2381       0,   723,     0,     0,  1313,     0,     0,     0,     0,     0,
     2382       0,   732,     0,     0,     0,   405,  1102,   723,     0,     0,
     2383     723,     0,     0,     0,     0,   356,   207,   500,     0,   502,
     2384     505,   405,  1115,   741,   601,   601,  1122,     0,     0,   508,
     2385     509,     0,     0,     0,     0,     0,   356,   356,     0,     0,
     2386       0,     0,     0,     0,   502,   502,     0,     0,     0,     0,
     2387       0,     0,     0,   770,     0,     0,     0,     0,   126,     0,
     2388     338,     0,     0,     0,   732,     0,     0,     0,     0,     0,
     2389       0,  1368,     0,  1369,     0,     0,     0,     0,     0,     0,
     2390     502,     0,     0,     0,     0,     0,     0,     0,  1377,     0,
     2391    1378,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2392     405,     0,   405,     0,   405,  1385,     0,     0,     0,   405,
     2393     831,     0,     0,     0,     0,   502,     0,     0,   373,     0,
     2394       0,     0,     0,  1404,  1406,   601,     0,     0,     0,     0,
     2395       0,     0,     0,     0,  1411,     0,     0,     0,     0,  1412,
     2396       0,     0,  1205,     0,     0,     0,     0,     0,     0,     0,
     2397       0,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     2398       0,   276,     0,  1434,     0,     0,     0,     0,     0,     0,
     2399       0,     0,   356,  1441,     0,     0,  1443,     0,  1445,  1447,
     2400    1449,     0,     0,   893,     0,     0,     0,   277,     0,     0,
     2401       0,     0,     0,   278,     0,     0,     0,   279,     0,   723,
     2402     280,   281,   282,   283,   284,   285,    43,    44,     0,   286,
     2403     287,   732,     0,   922,     0,     0,   925,     0,     0,  1480,
     2404       0,  1482,   932,     0,  1205,     0,     0,     0,     0,     0,
     2405       0,     0,   288,     0,   370,     0,     0,   371,     0,  1494,
     2406      47,    48,   290,   291,   292,   293,     0,     0,     0,   405,
     2407       0,     0,     0,     0,   405,     0,     0,     0,     0,     0,
     2408       0,     0,   949,   950,     0,     0,     0,   356,     0,     0,
     2409       0,     0,     0,     0,     0,     0,     0,     0,   338,     0,
     2410       0,     0,     0,     0,   502,   502,   502,   502,   502,   502,
     2411     502,   502,   502,   502,   502,   502,   502,   502,   502,   502,
     2412     502,   502,     0,     0,     0,     0,     0,     0,     0,     0,
     2413       0,     0,     0,     0,     0,     0,     0,   978,     0,   356,
     2414     356,   373,     0,     0,   201,     2,   202,     4,     5,     6,
     2415       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2416      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2417      27,     0,   338,    28,    29,    30,   405,  1365,     0,     0,
     2418     405,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2419       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2420       0,     0,     0,     0,     0,     0,     0,     0,   315,     0,
     2421       0,    36,     0,    37,     0,    38,    39,     0,   203,    41,
     2422      42,   338,     0,     0,     0,     0,     0,     0,   373,    43,
     2423      44,     0,     0,   925,     0,  1124,   723,     0,     8,     9,
     2424      10,    11,    12,     0,     0,     0,     0,     0,     0,     0,
     2425       0,     0,     0,     0,     0,    45,  1109,   204,     0,     0,
     2426       0,     0,     0,    47,    48,     0,   502,  1127,   274,   275,
     2427      33,   276,   356,     0,     0,     0,     0,     0,     0,     0,
     2428       0,     0,     0,     0,     0,     0,     0,   373,     0,  1144,
     2429       0,     0,     0,   502,     0,     0,     0,   277,    36,     0,
     2430       0,     0,     0,   278,   925,   925,     0,   279,     0,     0,
     2431     280,   281,   282,   283,   284,   285,    43,    44,     0,   286,
     2432     287,     0,     0,   502,     0,     0,     0,     0,     0,     0,
     2433    1173,     0,   274,   275,     0,   276,     0,     0,     0,     0,
     2434       0,     0,   288,     0,   370,     0,     0,     0,     0,     0,
     2435    1125,    48,   290,   291,   292,   293,     0,     0,     0,     0,
     2436       0,   277,   405,     0,     0,     0,     0,   278,     0,     0,
     2437       0,   279,     0,     0,   280,   281,   282,   283,   284,   285,
     2438      43,    44,     0,   286,   287,     0,     0,   405,   405,   925,
     2439       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2440       0,     0,     0,     0,     0,     0,   288,     0,   370,     0,
     2441     831,   923,     0,   405,    47,    48,   290,   291,   292,   293,
     2442       0,     0,     0,     0,     0,     0,     0,     0,  1244,  1245,
     2443       0,     0,     0,     0,     0,     0,     0,     0,     1,     2,
     2444     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2445      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2446      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2447      31,     0,     0,   502,    32,   274,   275,    33,   276,     0,
     2448       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2449       0,     0,     0,     0,     0,     0,     0,     0,     0,   502,
     2450       0,     0,     0,     0,   277,    36,     0,    37,     0,    38,
     2451     278,   502,    40,    41,   279,     0,     0,   280,   281,   282,
     2452     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2453       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2454       0,     0,     0,     0,     0,     0,     0,     0,     0,   288,
     2455     502,   289,     0,     0,     0,     0,     0,    47,    48,   290,
     2456     291,   292,   293,     0,     0,     0,     0,     0,     0,     0,
     2457       0,     0,  -134,     0,     0,     0,     0,     0,     0,     0,
     2458       0,     0,     0,  1357,     0,   723,     0,     0,     0,     0,
     2459       0,     0,     0,     0,     0,     0,     0,     0,     0,   502,
     2460       0,     0,     0,     0,     0,     0,     1,     2,   202,     4,
     2461       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2462      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2463      25,    26,    27,     0,     0,    28,    29,    30,    31,     0,
     2464       0,   502,    32,   274,   275,    33,   987,   988,     0,   989,
     2465       0,     0,   990,   991,   992,   993,   994,   995,   996,   997,
     2466       0,     0,     0,   998,     0,     0,     0,   999,  1000,     0,
     2467      35,     0,   277,    36,     0,    37,     0,    38,  1001,     0,
     2468    1002,  1003,  1004,     0,     0,   280,   281,   282,   283,   284,
     2469     285,    43,    44,     0,   286,   287,     0,     0,     0,     0,
     2470       0,   502,   502,     0,     0,     0,     0,     0,     0,     0,
     2471       0,     0,     0,     0,     0,     0,     0,   288,     0,   289,
     2472       0,     0,   168,     0,     0,    47,    48,   290,   291,   292,
     2473     293,     0,     0,     0,     0,  1005,     0,     0,     0,     0,
     2474    -134,     0,     0,     1,     2,   202,     4,     5,     6,     7,
     2475       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2476      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2477       0,     0,    28,    29,    30,    31,     0,     0,     0,    32,
     2478     274,   275,    33,   276,     0,     0,     0,     0,     0,     0,
     2479       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2480       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
     2481      36,     0,    37,     0,    38,   278,   315,    40,    41,   279,
     2482       0,     0,   280,   281,   282,   283,   284,   285,    43,    44,
     2483       0,   286,   287,     0,     0,     0,     0,     0,     0,     0,
     2484       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2485       0,     0,     0,     0,   288,     0,   289,     0,     0,     0,
     2486       0,     0,    47,    48,   290,   291,   292,   293,     0,     0,
     2487       0,     0,     0,     0,     0,     2,   202,     4,     5,     6,
     2488       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2489      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2490      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
     2491       0,   274,   275,    33,   276,     8,     9,    10,    11,    12,
     2492      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2493      23,    24,    25,    26,    27,     0,   502,    28,    29,    30,
     2494     277,    36,     0,    37,     0,    38,   278,    33,    40,    41,
     2495     279,     0,   502,   280,   281,   282,   283,   284,   285,    43,
     2496      44,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2497       0,     0,     0,     0,     0,    36,     0,     0,     0,     0,
     2498       0,     0,    40,    41,     0,   288,     0,   335,     0,     0,
     2499       0,     0,   731,   336,    48,   290,   291,   292,   293,     2,
     2500     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2501      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2502      23,    24,    25,    26,    27,   502,   502,    28,    29,    30,
     2503       0,     0,     0,     0,     0,   274,   275,    33,   276,     8,
     2504       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2505      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2506       0,    28,    29,    30,   277,    36,     0,    37,     0,    38,
     2507     278,    33,    40,    41,   279,     0,     0,   280,   281,   282,
     2508     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2510       0,     0,     0,     0,     0,     0,   203,    41,     0,   288,
     2511       0,   335,     0,     0,     0,     0,   731,    47,    48,   290,
     2512     291,   292,   293,     2,   202,     4,     5,     6,     7,     8,
     2513       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2514      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2515       0,    28,    29,    30,     0,     0,     0,     0,     0,   274,
     2516     275,    33,   276,     0,     0,     0,     0,     0,     0,     0,
     2517       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2518       0,     0,     0,     0,     0,     0,     0,     0,   277,    36,
     2519       0,    37,     0,    38,   278,     0,    40,    41,   279,     0,
     2520       0,   280,   281,   282,   283,   284,   285,    43,    44,     0,
     2521     286,   287,     0,     0,     0,     0,     0,     0,     0,     0,
     2522       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2523       0,     0,     0,   288,     0,   335,     0,     0,     0,     0,
     2524       0,   336,    48,   290,   291,   292,   293,     2,   202,     4,
     2525       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2526      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2527      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2528       0,     0,     0,   274,   275,    33,   276,     0,     0,     0,
     2529       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2530       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2531       0,     0,   277,    36,     0,    37,     0,    38,   278,     0,
     2532     203,    41,   279,     0,     0,   280,   281,   282,   283,   284,
     2533     285,    43,    44,     0,   286,   287,     0,     0,     0,     0,
     2534       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2535       0,     0,     0,     0,     0,     0,     0,   288,     0,   946,
     2536       0,     0,     0,     0,     0,   947,    48,   290,   291,   292,
     2537     293,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2538      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2539      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2540      29,    30,     0,     0,     0,     0,     0,   274,   275,    33,
     2541     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2542       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2543       0,     0,     0,     0,     0,     0,   277,    36,     0,    37,
     2544       0,    38,   278,     0,   203,    41,   279,     0,     0,   280,
     2545     281,   282,   283,   284,   285,    43,    44,     0,   286,   287,
     2546       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2547       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2548       0,   288,     0,   370,     0,     0,     0,     0,     0,    47,
     2549      48,   290,   291,   292,   293,  -522,     0,     0,     1,     2,
     2550       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2551      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2552      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2553      31,     0,     0,     0,    32,     0,     0,    33,    34,     0,
     2554       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2555       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2556       0,     0,    35,     0,     0,    36,     0,    37,     0,    38,
     2557      39,     0,    40,    41,    42,     0,     0,     0,     0,     0,
     2558       0,     0,     0,    43,    44,     0,     0,     0,     0,     0,
     2559       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
     2561       0,    46,     0,     0,     0,     0,     0,    47,    48,     1,
     2562       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2563      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2564      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2565      30,    31,     0,     0,     0,    32,     0,     0,    33,    34,
     2566       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,    35,     0,     0,    36,     0,    37,     0,
     2569      38,    39,     0,    40,    41,    42,     0,     0,     0,     0,
     2570       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2571       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2572       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2573      45,     0,    46,     0,     0,     0,  -526,     0,    47,    48,
     2574       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
     2575      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2576      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2577      29,    30,    31,     0,     0,     0,    32,     0,     0,    33,
     2578      34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2579       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,    35,     0,     0,    36,     0,    37,
     2581       0,    38,    39,     0,    40,    41,    42,     0,     0,     0,
     2582       0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
     2583       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2584       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2585       0,    45,     0,    46,     0,     0,     0,     0,     0,    47,
     2586      48,     1,     2,   202,     4,     5,     6,     7,     8,     9,
     2587      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2588      20,    21,    22,    23,    24,    25,    26,    27,  -299,     0,
     2589      28,    29,    30,    31,     0,     0,     0,    32,     0,     0,
     2590      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2591       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2593      37,     0,    38,     0,     0,    40,    41,     0,     0,  -299,
     2594       1,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2595      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2596      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2597      29,    30,    31,     0,    46,     0,    32,     0,     0,    33,
     2598      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2599       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2600       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2601       0,    38,     0,     0,    40,    41,   201,     2,   202,     4,
     2602       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2603      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2604      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2605       0,     0,     0,    46,     0,    33,     0,     0,     0,    47,
     2606      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2609     203,    41,     2,   202,     4,     5,     6,     7,     8,     9,
    23242610      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    23252611      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2326       28,    29,    30,     0,   205,     0,     0,     0,     0,   205,
    2327       33,     0,     0,     0,     0,     0,   571,     0,     0,     0,
    2328      575,     0,     0,     0,   512,     0,     0,     0,     0,     0,
     2612      28,    29,    30,     0,     0,     0,     0,     0,     0,   204,
     2613      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2614       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23292615       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2330        0,     0,     0,    39,     0,    40,    41,    42,   618,     0,
    2331        0,     0,   619,   620,     0,   621,    43,    44,     0,     0,
    2332        0,     0,   632,   633,     0,   634,   635,   205,   636,     0,
    2333      637,   686,     0,     0,     0,     0,     0,     0,     0,   312,
    2334        0,   205,    45,     0,    46,     0,     0,   571,     0,   335,
    2335       47,    48,     0,     0,     0,   653,     0,     0,     0,     0,
    2336      370,   370,     0,     0,     0,     0,     0,     0,     0,     0,
    2337        0,     0,     0,     0,     0,     0,     0,     0,     0,   664,
    2338        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2339       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2340     -299,     0,     0,     0,   678,     0,     0,   512,     0,     0,
    2341      681,     0,    33,     0,     0,   450,     0,     0,   205,     0,
    2342        0,     0,     0,     0,     0,     0,     0,     0,   686,   205,
     2616      37,     0,    38,    39,     0,   203,    41,    42,     0,     0,
     2617       0,     0,     0,     0,     0,     0,    43,    44,     0,     0,
    23432618       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2344       36,   273,   274,     0,   275,     0,   205,     0,   464,     0,
    2345        0,  -299,     0,     0,     0,   720,     0,     0,     0,     0,
    2346        0,     0,     0,     0,     0,     0,     0,   731,     0,     0,
    2347      276,     0,     0,     0,   358,   358,   277,     0,     0,     0,
    2348      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2349       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2350        0,     0,     0,     0,   756,     0,     0,     0,     0,     0,
    2351        0,     0,     0,   766,     0,   286,   767,   367,     0,     0,
    2352      368,     0,     0,    47,    48,   288,   289,   290,   291,     0,
    2353        0,     0,     0,   787,     0,     0,     0,     0,     0,     0,
    2354        0,     0,     0,   205,     8,     9,    10,    11,    12,    13,
    2355       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2356       24,    25,    26,    27,  -300,   370,   212,     0,     0,     0,
    2357        0,   826,     0,     0,     0,     0,    33,     0,     0,     0,
    2358      330,   353,     0,     0,     0,     0,     0,     0,   497,     0,
    2359      499,   502,     0,     0,     0,     0,   205,     0,     0,   505,
    2360      506,   358,     0,     0,    36,     0,     0,   205,   861,     0,
    2361        0,     0,   402,   499,   499,  -300,   212,     0,     0,   402,
    23622619       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2363        0,     0,     0,     0,     0,   239,     0,     0,   312,     0,
    2364        0,     0,     0,     0,     0,     0,     0,     0,     0,   499,
    2365        0,   895,   896,     0,     0,     0,     0,   680,   512,     0,
    2366      512,   903,     0,     0,     0,     0,     0,     0,     0,     0,
    2367        0,     0,     0,     0,     0,   916,     0,     0,     0,     0,
    2368      920,     0,     0,     0,   499,   402,     0,     0,     0,     0,
    2369        0,     0,     0,     0,     0,     0,     0,   512,     0,   512,
    2370      717,     0,     0,     0,   205,     0,     0,     0,     0,     0,
    2371      726,     0,     0,     0,     0,   717,     0,     0,   717,     0,
     2620       0,     0,    45,     0,   204,     0,     0,     0,     0,     0,
     2621      47,    48,     2,   202,     4,     5,     6,     7,     8,     9,
     2622      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2623      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2624      28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2625      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23722626       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373        0,   735,     0,     0,     0,     0,     0,     0,   160,     0,
    2374      953,     0,     0,   402,     0,     0,     0,   954,     0,     0,
    2375        0,     0,   402,   567,     0,   402,   570,     0,     0,     0,
    2376      956,   764,   957,   353,     0,     0,     0,   597,   335,     0,
    2377        0,     0,   726,     0,     0,   967,     0,     0,     0,     0,
    2378        0,   971,     0,     0,     0,     0,   615,     0,     0,     0,
    2379        0,     0,  1014,     0,     0,     0,  1015,     0,     0,     0,
    2380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2381        0,     0,     0,   402,     0,     0,     0,   402,   825,     0,
    2382        0,     0,     0,     0,     0,     0,   370,     0,     0,   205,
    2383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2384        0,     0,     0,     0,     0,     0,     0,     0,     0,   353,
    2385        0,     0,   499,   499,   499,   499,   499,   499,   499,   499,
    2386      499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
    2387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2388        0,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
    2389        0,   887,     0,     0,   402,     0,     0,   353,     0,     0,
    2390        0,     0,     0,     0,     0,     0,     0,   717,     0,     0,
    2391        0,     0,     0,     0,     0,   273,   274,   726,   275,   909,
    2392        0,     0,   912,     0,     0,     0,     0,     0,   919,     0,
    2393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2394        0,     0,   353,     0,   276,     0,     0,     0,  1152,     0,
    2395      277,     0,     0,     0,   278,     0,     0,   279,   280,   270,
    2396      281,   282,   283,    43,    44,     0,   284,   285,   936,   937,
    2397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2398      205,     0,     0,     0,   335,   402,   402,     0,     0,   286,
    2399     1182,   367,     0,     0,     0,  1184,   725,    47,    48,   288,
    2400      289,   290,   291,   769,   353,  1189,     0,     0,     0,     0,
    2401        0,     0,     0,   597,   499,   597,   597,     0,     0,     0,
    2402        0,     0,   597,   965,     0,     0,     0,   370,     0,  1211,
    2403      205,     0,   806,   353,     0,     0,     0,     0,   353,   499,
    2404        0,     0,  1219,     0,     0,     0,  1220,   353,   353,  1221,
    2405        0,     0,     0,     0,     0,     0,     0,     0,   335,     0,
    2406        0,     0,     0,   353,     0,  1230,  1231,   402,   847,   499,
    2407        0,   402,   851,     0,     0,     0,     0,     0,     0,     0,
    2408      854,     0,     0,  1242,     0,     0,     0,     0,     0,     0,
    2409        0,     0,     0,     0,   312,     0,     0,     0,     0,     0,
    2410      335,     0,     0,     0,     0,     0,     0,   370,     0,     0,
    2411      353,   597,   912,     0,     0,   717,     0,     0,     0,     0,
    2412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2413        0,     0,     0,     0,     0,  1091,     0,     0,     0,     0,
    2414        0,     0,     0,     0,     0,     0,  1109,     0,  1288,   353,
    2415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2416        0,     0,     0,     0,     0,   205,   370,     0,  1126,     0,
    2417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2418        0,     0,     0,   912,   912,     0,     0,     0,     0,   402,
    2419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2420        0,     0,     0,     0,     0,   597,     0,   597,     0,     0,
    2421     1157,     0,     0,     0,     0,     0,     0,   597,     0,     0,
    2422        0,     0,     0,     0,     0,     0,     0,  1345,     0,  1346,
    2423        0,     0,     0,     0,     0,     0,     0,     0,   499,  1349,
    2424        0,  1350,     0,     0,     0,     0,     0,     0,     0,     0,
    2425      499,     0,     0,     0,     0,     0,  1357,     0,     0,     0,
    2426        0,     0,     0,   912,     0,     0,     0,     0,     0,     0,
    2427        0,     0,     0,     0,  1376,  1378,     0,     0,     0,     0,
    2428        0,     0,     0,     0,   825,     0,     0,  1386,     0,   499,
    2429      353,     0,  1387,     0,     0,  1189,     0,   402,     0,     0,
    2430        0,     0,  1222,  1223,     0,     0,     0,     0,     0,   597,
    2431      597,  1405,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,  1412,     0,     0,  1414,     0,  1416,  1418,  1420,     0,
    2433        0,     0,   353,     0,     0,     0,     0,     0,     0,   499,
    2434        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2435        0,     0,     0,     0,   402,  1084,     0,     0,     0,     0,
    2436        0,     0,     0,     0,   353,     0,  1453,     0,  1455,     0,
    2437      402,  1097,     0,   597,   597,  1104,     0,     0,  1189,     0,
    2438        0,     0,     0,     0,     0,   353,   353,     0,  1471,     0,
    2439        0,     0,     0,     0,     0,     0,     0,     0,     1,     2,
    2440      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2441       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2442       23,    24,    25,    26,    27,  -299,     0,    28,    29,    30,
    2443       31,     0,     0,     0,    32,   499,   499,    33,     0,     0,
    2444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2445      402,     0,   402,  1332,   402,     0,     0,   717,     0,   402,
    2446        0,     0,     0,     0,     0,    36,     0,    37,     0,    38,
    2447        0,     0,    40,    41,     0,   597,  -299,     0,     0,     0,
    2448        0,     0,     0,     1,     2,   200,     4,     5,     6,     7,
    2449        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2450       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2451        0,    46,    28,    29,    30,    31,   353,    47,    48,    32,
    2452      273,   274,    33,   974,   975,     0,   976,     0,     0,   977,
    2453      978,   979,   980,   981,   982,   983,   984,     0,     0,     0,
    2454      985,     0,     0,     0,   986,   987,     0,   988,     0,   276,
    2455       36,     0,    37,     0,    38,   989,     0,   990,   991,   992,
    2456        0,     0,   279,   280,   270,   281,   282,   283,    43,    44,
    2457        0,   284,   285,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2459        0,     0,     0,     0,   286,   402,   287,     0,     0,   166,
    2460      402,     0,    47,    48,   288,   289,   290,   291,     0,     0,
    2461        0,     0,   993,   353,     0,     0,     0,  -134,     0,     0,
    2462        0,     0,     0,     0,     0,     0,     1,     2,   200,     4,
     2627       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2628      37,     0,    38,     0,     0,    40,    41,     2,   202,     4,
    24632629       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    24642630      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2465       25,    26,    27,     0,     0,    28,    29,    30,    31,   353,
    2466      353,     0,    32,     0,     0,    33,     0,     0,     0,     0,
    2467        0,     0,     0,     0,     0,     0,   499,     0,     0,     0,
     2631      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2632       0,     0,     0,  -407,   664,    33,     0,     0,     0,     0,
     2633      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
    24682634       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2469        0,   312,     0,    36,     0,    37,     0,    38,   402,  1342,
    2470       40,    41,   402,     0,     0,   199,     2,   200,     4,     5,
    2471        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2472       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2473       26,    27,     0,     0,    28,    29,    30,     0,   499,    46,
    2474        0,     0,     0,     0,    33,    47,    48,     0,     0,     0,
    2475      499,   499,     0,     0,     0,     0,     0,     0,     0,     0,
     2635       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2636      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
    24762637       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2477        0,     0,    36,   499,    37,     0,    38,     0,     0,   201,
    2478       41,     0,     0,     0,     0,     0,   353,     0,     0,     0,
    2479        1,     2,   200,     4,     5,     6,     7,     8,     9,    10,
     2638       0,     0,     0,     0,  1334,     0,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,   664,
     2640       0,     0,     0,     0,     0,    47,    48,     2,   202,     4,
     2641       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2642      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2643      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2644       0,     0,     0,     0,     0,    33,     0,     8,     9,    10,
    24802645      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2481       21,    22,    23,    24,    25,    26,    27,     0,   202,    28,
    2482       29,    30,    31,     0,    47,    48,    32,   273,   274,    33,
    2483      275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2484        0,     0,     0,     0,     0,   499,     0,     0,     0,     0,
    2485        0,     0,     0,     0,     0,     0,   276,    36,     0,    37,
    2486        0,    38,   277,     0,    40,    41,   278,     0,     0,   279,
    2487      280,   270,   281,   282,   283,    43,    44,   402,   284,   285,
     2646      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2647      29,    30,     0,    36,     0,    37,     0,    38,     0,    33,
     2648      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2649       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2650       0,     0,     0,     0,  1336,     0,     0,    36,     0,     0,
     2651       0,     0,     0,     0,    40,    41,     0,     0,     0,   664,
     2652       0,     0,     0,     0,     0,    47,    48,     2,   202,     4,
     2653       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2654      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2655      25,    26,    27,   247,     0,    28,    29,    30,     0,    47,
     2656      48,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    24882657       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24892658       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2490        0,   286,     0,   287,     0,     0,   402,   402,     0,    47,
    2491       48,   288,   289,   290,   291,     0,     0,     0,     0,     0,
    2492        0,     0,     0,     0,  -134,     0,     0,     0,     0,     0,
    2493        0,     0,     0,     0,     0,     0,   402,     1,     2,   200,
    2494        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2495       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2496       24,    25,    26,    27,     0,     0,    28,    29,    30,    31,
    2497        0,     0,     0,    32,   273,   274,    33,   275,     8,     9,
     2659       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2660     203,    41,     2,   202,     4,     5,     6,     7,     8,     9,
    24982661      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    24992662      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2500       28,    29,    30,   276,    36,     0,    37,     0,    38,   277,
    2501       33,    40,    41,   278,     0,     0,   279,   280,   270,   281,
    2502      282,   283,    43,    44,     0,   284,   285,     0,     0,     0,
     2663      28,    29,    30,     0,     0,     0,     0,     0,     0,   260,
     2664      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2665       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25032666       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
    2504        0,     0,     0,     0,     0,    40,    41,     0,   286,     0,
    2505      287,     0,     0,     0,     0,     0,    47,    48,   288,   289,
    2506      290,   291,     2,   200,     4,     5,     6,     7,     8,     9,
    2507       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2508       20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
    2509       28,    29,    30,     0,     0,     0,     0,     0,   273,   274,
    2510       33,   275,     8,     9,    10,    11,    12,    13,    14,    15,
    2511       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2512       26,    27,     0,     0,    28,    29,    30,   276,    36,     0,
    2513       37,     0,    38,   277,    33,    40,    41,   278,     0,     0,
    2514      279,   280,   270,   281,   282,   283,    43,    44,     0,   284,
    2515      285,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2516        0,     0,    36,     0,     0,     0,     0,     0,     0,   201,
    2517       41,     0,   286,     0,   332,     0,     0,     0,     0,   725,
    2518      333,    48,   288,   289,   290,   291,     2,   200,     4,     5,
    2519        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2667      37,     0,    38,     0,     0,    40,    41,     2,   202,     4,
     2668       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2669      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2670      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2671       0,     0,     0,     0,   664,    33,     0,     0,     0,     0,
     2672      47,    48,     0,     0,     0,     0,     0,     0,     0,     0,
     2673       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2674       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2675     203,    41,     8,     9,    10,    11,    12,    13,    14,    15,
    25202676      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    25212677      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
    2522        0,     0,   273,   274,    33,   275,     8,     9,    10,    11,
    2523       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2524       22,    23,    24,    25,    26,    27,     0,     0,     0,     0,
    2525        0,   276,    36,     0,    37,     0,    38,   277,    33,    40,
    2526       41,   278,     0,     0,   279,   280,   270,   281,   282,   283,
    2527       43,    44,     0,   284,   285,     0,     0,     0,     0,     0,
    2528        0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
    2529        0,     0,     0,     0,     0,     0,   286,     0,   332,     0,
    2530        0,     0,     0,   725,    47,    48,   288,   289,   290,   291,
    2531        2,   200,     4,     5,     6,     7,     8,     9,    10,    11,
    2532       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2533       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2534       30,     0,     0,     0,     0,     0,   273,   274,    33,   275,
     2678       0,     0,   274,   275,    33,   276,     0,     0,     0,   204,
     2679       0,     0,     0,     0,     0,    47,    48,     0,     0,     0,
    25352680       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2681       0,   277,    36,     0,     0,     0,     0,   278,     0,    40,
     2682      41,   279,     0,     0,   280,   281,   282,   283,   284,   285,
     2683      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
    25362684       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2537        0,     0,     0,     0,     0,   276,    36,     0,    37,     0,
    2538       38,   277,     0,    40,    41,   278,     0,     0,   279,   280,
    2539      270,   281,   282,   283,    43,    44,     0,   284,   285,     0,
    2540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2542      286,     0,   332,     0,     0,     0,     0,     0,   333,    48,
    2543      288,   289,   290,   291,     2,   200,     4,     5,     6,     7,
     2685       0,     0,     0,     0,     0,     0,   288,     0,   510,     0,
     2686       0,   168,     0,     0,    47,    48,   290,   291,   292,   293,
    25442687       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    25452688      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    25462689       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2547      273,   274,    33,   275,     0,     0,     0,     0,     0,     0,
     2690     274,   275,    33,   276,     8,     9,    10,    11,    12,    13,
     2691      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2692      24,    25,    26,    27,     0,     0,    28,    29,    30,   277,
     2693      36,     0,     0,     0,     0,   278,    33,    40,    41,   279,
     2694       0,     0,   280,   281,   282,   283,   284,   285,    43,    44,
     2695       0,   286,   287,     0,     0,     0,     0,     0,     0,     0,
     2696       0,     0,     0,     0,    36,     0,     0,     0,     0,     0,
     2697       0,   203,    41,     0,   288,   -40,   289,     0,     0,     0,
     2698       0,     0,    47,    48,   290,   291,   292,   293,     8,     9,
     2699      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2700      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2701      28,    29,    30,     0,     0,     0,    47,    48,   274,   275,
     2702      33,   276,     0,     0,     0,     0,     0,     0,     0,     0,
    25482703       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,   276,
    2550       36,     0,    37,     0,    38,   277,     0,   201,    41,   278,
    2551        0,     0,   279,   280,   270,   281,   282,   283,    43,    44,
    2552        0,   284,   285,     0,     0,     0,     0,     0,     0,     0,
     2704       0,     0,     0,     0,     0,     0,     0,   277,    36,     0,
     2705       0,     0,     0,   278,     0,    40,    41,   279,     0,     0,
     2706     280,   281,   282,   283,   284,   285,    43,    44,     0,   286,
     2707     287,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25532708       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2554        0,     0,     0,     0,   286,     0,   933,     0,     0,     0,
    2555        0,     0,   934,    48,   288,   289,   290,   291,     2,   200,
    2556        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2709       0,     0,   288,     0,   289,     0,     0,     0,     0,     0,
     2710      47,    48,   290,   291,   292,   293,     8,     9,    10,    11,
     2711      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2712      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2713      30,     0,     0,     0,     0,     0,   274,   275,    33,   276,
     2714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2715       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2716       0,     0,     0,     0,     0,   277,    36,     0,     0,     0,
     2717       0,   278,     0,    40,    41,   279,     0,     0,   280,   281,
     2718     282,   283,   284,   285,    43,    44,     0,   286,   287,     0,
     2719       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2720       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2721     288,     0,   335,     0,     0,     0,     0,     0,    47,    48,
     2722     290,   291,   292,   293,     8,     9,    10,    11,    12,    13,
    25572723      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    25582724      24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
    2559        0,     0,     0,     0,   273,   274,    33,   275,     0,     0,
     2725       0,     0,     0,     0,   274,   275,    33,   276,     0,     0,
    25602726       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25612727       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2562        0,     0,     0,   276,    36,     0,    37,     0,    38,   277,
    2563        0,   201,    41,   278,     0,     0,   279,   280,   270,   281,
    2564      282,   283,    43,    44,     0,   284,   285,     0,     0,     0,
     2728       0,     0,     0,   277,    36,     0,     0,     0,     0,   278,
     2729       0,    40,    41,   279,     0,     0,   280,   281,   282,   283,
     2730     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
    25652731       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2566        0,     0,     0,     0,     0,     0,     0,     0,   286,     0,
    2567      367,     0,     0,     0,     0,     0,    47,    48,   288,   289,
    2568      290,   291,  -522,     0,     0,     1,     2,     3,     4,     5,
    2569        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2570       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2571       26,    27,     0,     0,    28,    29,    30,    31,     0,     0,
    2572        0,    32,     0,     0,    33,    34,     0,     0,     0,     0,
    2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,     0,     0,     0,    35,
    2575        0,     0,    36,     0,    37,     0,    38,    39,     0,    40,
    2576       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
    2577       43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
    2578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2579        0,     0,     0,     0,     0,     0,    45,     0,    46,     0,
    2580        0,     0,     0,     0,    47,    48,     1,     2,     3,     4,
    2581        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2582       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2583       25,    26,    27,     0,     0,    28,    29,    30,    31,     0,
    2584        0,     0,    32,     0,     0,    33,    34,     0,     0,     0,
    2585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2587       35,     0,     0,    36,     0,    37,     0,    38,    39,     0,
    2588       40,    41,    42,     0,     0,     0,     0,     0,     0,     0,
    2589        0,    43,    44,     0,     0,     0,     0,     0,     0,     0,
    2590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2591        0,     0,     0,     0,     0,     0,     0,    45,     0,    46,
    2592        0,     0,     0,  -526,     0,    47,    48,     1,     2,     3,
    2593        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2594       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2595       24,    25,    26,    27,     0,     0,    28,    29,    30,    31,
    2596        0,     0,     0,    32,     0,     0,    33,    34,     0,     0,
    2597        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2599        0,    35,     0,     0,    36,     0,    37,     0,    38,    39,
    2600        0,    40,    41,    42,     0,     0,     0,     0,     0,     0,
    2601        0,     0,    43,    44,     0,     0,     0,     0,     0,     0,
    2602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2603        0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
    2604       46,     0,     0,     0,     0,     0,    47,    48,   199,     2,
    2605      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2606       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2607       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2608        0,     0,     0,     0,     0,     0,     0,    33,     0,     8,
    2609        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2610       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2611        0,    28,    29,    30,     0,    36,     0,    37,     0,    38,
    2612       39,    33,   201,    41,    42,     0,     0,     0,     0,     0,
    2613        0,     0,     0,    43,    44,     0,     0,     0,     0,     0,
    2614        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2615        0,     0,     0,     0,     0,     0,    40,    41,     0,    45,
    2616        0,   202,     0,     0,     0,     0,     0,    47,    48,     2,
    2617      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2618       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2619       23,    24,    25,    26,    27,   245,     0,    28,    29,    30,
    2620        0,    47,    48,     0,     0,     0,     0,    33,     0,     8,
    2621        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2622       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2623        0,    28,    29,    30,     0,    36,     0,    37,     0,    38,
    2624       39,    33,   201,    41,    42,     0,     0,     0,     0,     0,
    2625        0,     0,     0,    43,    44,     0,     0,     0,     0,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2627        0,     0,     0,     0,     0,     0,    40,    41,     0,    45,
    2628        0,   202,     0,     0,     0,     0,     0,    47,    48,     2,
    2629      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2630       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2631       23,    24,    25,    26,    27,    46,     0,    28,    29,    30,
    2632        0,    47,    48,     0,     0,     0,     0,    33,     0,     0,
    2633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2635        0,     0,     0,     0,     0,    36,     0,    37,     0,    38,
    2636        0,     0,    40,    41,     2,   200,     4,     5,     6,     7,
    2637        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2638       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2639        0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2640     -407,   660,    33,     0,     0,     0,     0,    47,    48,     0,
    2641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2643       36,     0,    37,     0,    38,     0,     0,    40,    41,     0,
    2644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2646        0,  1309,     0,     0,     0,     0,     0,     0,     0,     0,
    2647        0,     0,     0,     0,     0,     0,   660,     0,     0,     0,
    2648        0,     0,    47,    48,     2,   200,     4,     5,     6,     7,
    2649        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2650       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2651        0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2652        0,     0,    33,     0,     8,     9,    10,    11,    12,    13,
    2653       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2654       24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
    2655       36,     0,    37,     0,    38,     0,    33,    40,    41,     0,
    2656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2658        0,  1311,     0,     0,    36,     0,     0,     0,     0,     0,
    2659        0,   201,    41,     0,     0,     0,   660,     0,     0,     0,
    2660        0,     0,    47,    48,     2,   200,     4,     5,     6,     7,
    2661        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2662       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2663      258,     0,    28,    29,    30,     0,    47,    48,     0,     0,
    2664        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
    2665        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2667       36,     0,    37,     0,    38,     0,     0,   201,    41,     2,
    2668      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2669       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2670       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2671        0,     0,     0,     0,     0,     0,   258,    33,     0,     0,
    2672        0,     0,    47,    48,     0,     0,     0,     0,     0,     0,
    2673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2674        0,     0,     0,     0,     0,    36,     0,    37,     0,    38,
    2675        0,     0,    40,    41,     2,   200,     4,     5,     6,     7,
    2676        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2677       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2678        0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2679        0,   660,    33,     0,     0,     0,     0,    47,    48,     0,
    2680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2681        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2682       36,     0,    37,     0,    38,     0,     0,   201,    41,     8,
    2683        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2684       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2685        0,    28,    29,    30,     0,     0,     0,     0,     0,   273,
    2686      274,    33,   275,     0,     0,     0,   202,     0,     0,     0,
    2687        0,     0,    47,    48,     0,     0,     0,     0,     0,     0,
    2688        0,     0,     0,     0,     0,     0,     0,     0,   276,    36,
    2689        0,     0,     0,     0,   277,     0,    40,    41,   278,     0,
    2690        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2691      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2693        0,     0,     0,   286,     0,   507,     0,     0,   166,     0,
    2694        0,    47,    48,   288,   289,   290,   291,     8,     9,    10,
    2695       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2696       21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
    2697       29,    30,     0,     0,     0,     0,     0,   273,   274,    33,
    2698      275,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2699       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2700       27,     0,     0,    28,    29,    30,   276,    36,     0,     0,
    2701        0,     0,   277,    33,    40,    41,   278,     0,     0,   279,
    2702      280,   270,   281,   282,   283,    43,    44,     0,   284,   285,
    2703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2704        0,    36,     0,     0,     0,     0,     0,     0,   201,    41,
    2705        0,   286,   -40,   287,     0,     0,     0,     0,     0,    47,
    2706       48,   288,   289,   290,   291,     8,     9,    10,    11,    12,
    2707       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2708       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2709        0,     0,     0,    47,    48,   273,   274,    33,   275,     0,
    2710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2712        0,     0,     0,     0,   276,    36,     0,     0,     0,     0,
    2713      277,     0,    40,    41,   278,     0,     0,   279,   280,   270,
    2714      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2716        0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
    2717        0,   287,     0,     0,     0,     0,     0,    47,    48,   288,
    2718      289,   290,   291,     8,     9,    10,    11,    12,    13,    14,
    2719       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2720       25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
    2721        0,     0,     0,   273,   274,    33,   275,     0,     0,     0,
    2722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2723        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2724        0,     0,   276,    36,     0,     0,     0,     0,   277,     0,
    2725       40,    41,   278,     0,     0,   279,   280,   270,   281,   282,
    2726      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2728        0,     0,     0,     0,     0,     0,     0,   286,     0,   332,
    2729        0,     0,     0,     0,     0,    47,    48,   288,   289,   290,
    2730      291,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2731       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    2732       27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2733        0,   273,   274,    33,   275,     0,     0,     0,     0,     0,
    2734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2736      276,    36,     0,     0,     0,     0,   277,     0,    40,    41,
    2737      278,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2738       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
    2739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2740        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2741        0,     0,     0,    47,    48,   288,   289,   290,   291,   453,
    2742        2,   200,     4,     5,     6,     7,     8,     9,    10,    11,
    2743       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2744       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2745       30,     0,     0,     0,     0,     0,     0,     0,    33,     8,
    2746        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2747       19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    2748        0,    28,    29,    30,     0,     0,    36,     0,    37,     0,
    2749       38,    33,     0,    40,    41,     0,     0,     0,     0,     8,
    2750        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2751       19,    20,    21,    22,    23,    24,    25,    26,    27,    36,
    2752        0,    28,    29,    30,    39,     0,   201,    41,    42,     0,
    2753        0,    33,     0,     0,     0,    -3,     0,    43,    44,     0,
    2754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2755        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
    2756        0,     0,     0,    45,   109,   258,    40,    41,     0,     0,
    2757        0,    47,    48,     0,     0,     0,     0,    43,    44,     0,
    2758        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2759       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2760       24,    25,    26,    27,     0,    46,    28,    29,    30,     0,
    2761        0,    47,    48,     0,     0,     0,    33,   866,     0,     0,
    2762        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2763       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2764       24,    25,    26,    27,    36,     0,    28,    29,    30,     0,
    2765        0,    40,    41,     0,     0,     0,    33,   866,     0,     0,
    2766        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2767        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2768        0,     0,     0,     0,    36,     0,     0,     0,     0,     0,
    2769      713,    40,    41,     0,   867,     0,    47,    48,     0,     8,
     2732       0,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2733     370,     0,     0,     0,     0,     0,    47,    48,   290,   291,
     2734     292,   293,   456,     2,   202,     4,     5,     6,     7,     8,
    27702735       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    27712736      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
    27722737       0,    28,    29,    30,     0,     0,     0,     0,     0,     0,
    2773      713,    33,   866,     0,  1181,     0,    47,    48,     0,     8,
    2774        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2775       19,    20,    21,    22,    23,    24,    25,    26,    27,    36,
    2776        0,    28,    29,    30,     0,     0,    40,    41,     0,     0,
    27772738       0,    33,     8,     9,    10,    11,    12,    13,    14,    15,
    27782739      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    27792740      26,    27,     0,     0,    28,    29,    30,     0,     0,    36,
    2780        0,     0,     0,     0,    33,   713,    40,    41,     0,  1267,
    2781        0,    47,    48,     0,     0,     0,     0,     0,     0,     0,
     2741       0,    37,     0,    38,    33,     0,    40,    41,     0,     0,
     2742       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2743      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2744      26,    27,    36,     0,    28,    29,    30,    39,     0,   203,
     2745      41,    42,     0,     0,    33,     0,     0,     0,    -3,     0,
     2746      43,    44,     0,     0,     0,     0,     0,     0,     0,     0,
    27822747       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2783        0,     0,    36,     0,     0,     0,     0,     0,     0,    40,
    2784       41,     0,     0,     0,     0,   328,     0,     0,     0,     0,
    2785        0,    47,    48,     0,     0,     0,     0,     8,     9,    10,
     2748       0,     0,    36,     0,     0,     0,    45,   110,   260,    40,
     2749      41,     0,     0,     0,    47,    48,     0,     0,     0,     0,
     2750      43,    44,     0,     0,     0,     0,     0,     8,     9,    10,
    27862751      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2787       21,    22,    23,    24,    25,    26,    27,     0,   713,    28,
     2752      21,    22,    23,    24,    25,    26,    27,     0,    46,    28,
    27882753      29,    30,     0,     0,    47,    48,     0,     0,     0,    33,
    2789        0,     2,   200,     4,     5,     6,     7,     8,     9,    10,
     2754     872,     0,     0,     0,     0,     0,     0,     8,     9,    10,
    27902755      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    27912756      21,    22,    23,    24,    25,    26,    27,    36,     0,    28,
    27922757      29,    30,     0,     0,    40,    41,     0,     0,     0,    33,
     2758     872,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2759       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2760       0,     0,     0,     0,     0,     0,     0,    36,     0,     0,
     2761       0,     0,     0,   719,    40,    41,     0,  1197,     0,    47,
     2762      48,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2763      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2764      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2765       0,     0,     0,   719,    33,     0,     0,  1287,     0,    47,
     2766      48,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2767      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2768      26,    27,    36,     0,    28,    29,    30,     0,     0,    40,
     2769      41,     0,     0,     0,    33,     8,     9,    10,    11,    12,
     2770      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2771      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2772       0,     0,    36,     0,     0,     0,     0,    33,    46,   203,
     2773      41,     0,     0,     0,    47,    48,     0,     0,     0,     0,
     2774       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2775       0,     0,     0,     0,     0,    36,     0,     0,     0,     0,
     2776       0,     0,    40,    41,     0,     0,     0,     0,   260,     0,
     2777       0,     0,     0,     0,    47,    48,     0,     0,     0,     0,
     2778       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2779      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2780       0,   331,    28,    29,    30,     0,     0,    47,    48,     0,
     2781       0,     0,    33,     8,     9,    10,    11,    12,    13,    14,
     2782      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2783      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2784      36,     0,     0,     0,     0,    33,     0,    40,    41,     0,
    27932785       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    27942786       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
    2796        0,    38,     0,   660,    40,    41,     0,     0,     0,    47,
    2797       48,   273,   274,     0,   275,   975,     0,   976,     0,     0,
    2798      977,   978,   979,   980,   981,   982,   983,   984,     0,     0,
    2799     1501,   985,     0,     0,     0,   986,   987,     0,   988,     0,
    2800      276,     0,  -420,     0,     0,     0,   989,     0,   169,   170,
    2801      992,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2802       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
     2787       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
     2788      40,    41,     0,     0,     0,     0,   719,     0,     0,     0,
     2789       0,     0,    47,    48,     0,     0,     0,     0,     0,     0,
    28032790       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2804        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2805      166,     0,     0,    47,    48,   288,   289,   290,   291,     0,
    2806        0,   273,   274,   993,   275,   975,     0,   976,  -134,     0,
    2807      977,   978,   979,   980,   981,   982,   983,   984,     0,     0,
    2808        0,   985,     0,     0,     0,   986,   987,     0,   988,     0,
    2809      276,     0,     0,     0,     0,     0,   989,     0,   169,   170,
    2810      992,     0,     0,   279,   280,   270,   281,   282,   283,    43,
    2811       44,     0,   284,   285,     0,     0,     0,     0,     0,     0,
     2791       0,     0,     0,     0,     0,     0,     0,     0,     0,   664,
     2792       0,     0,     0,     0,     0,    47,    48,     2,   202,     4,
     2793       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2794      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2795      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2796       0,     0,     0,     0,     0,    33,     0,   274,   275,     0,
     2797     276,   988,     0,   989,     0,     0,   990,   991,   992,   993,
     2798     994,   995,   996,   997,     0,     0,  1520,   998,     0,     0,
     2799       0,   999,  1000,    36,    35,    37,   277,    38,     0,     0,
     2800      40,    41,  1001,     0,   171,   172,  1004,     0,     0,   280,
     2801     281,   282,   283,   284,   285,    43,    44,     0,   286,   287,
    28122802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2813        0,     0,     0,     0,     0,   286,     0,   367,     0,     0,
    2814      166,     0,     0,    47,    48,   288,   289,   290,   291,     0,
    2815        0,     0,     0,   993,     0,     0,     0,     0,  -134,     2,
    2816      200,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2817       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2818       23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
    2819        0,     0,     0,     0,     0,     0,     0,    33,     0,   273,
    2820      274,     0,   275,   975,     0,   976,  1361,  1362,   977,   978,
    2821      979,   980,   981,   982,   983,   984,     0,     0,  1501,   985,
    2822        0,     0,     0,   986,   987,    36,   988,    37,   276,    38,
    2823        0,     0,    40,    41,   989,     0,   169,   170,   992,     0,
    2824        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2825      284,   285,     0,     0,     0,     0,  1274,     0,     0,     0,
    2826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2827        0,     0,     0,   286,     0,   367,     0,     0,   166,     0,
    2828        0,    47,    48,   288,   289,   290,   291,     0,     0,   273,
    2829      274,   993,   275,   975,     0,   976,  1361,  1362,   977,   978,
    2830      979,   980,   981,   982,   983,   984,     0,     0,     0,   985,
    2831        0,     0,     0,   986,   987,     0,   988,     0,   276,     0,
    2832        0,     0,     0,     0,   989,     0,   169,   170,   992,     0,
    2833        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2834      284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
    2835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2836        0,     0,     0,   286,     0,   367,     0,     0,   166,     0,
    2837        0,    47,    48,   288,   289,   290,   291,     0,     0,   273,
    2838      274,   993,   275,   975,     0,   976,     0,     0,   977,   978,
    2839      979,   980,   981,   982,   983,   984,     0,     0,     0,   985,
    2840        0,     0,     0,   986,   987,     0,   988,     0,   276,     0,
    2841        0,     0,     0,     0,   989,     0,   169,   170,   992,     0,
    2842        0,   279,   280,   270,   281,   282,   283,    43,    44,     0,
    2843      284,   285,     0,     0,     0,     0,     0,     0,   273,   274,
    2844        0,   275,     0,     0,     0,     0,     0,     0,     0,     0,
    2845        0,     0,     0,   286,     0,   367,     0,     0,   166,     0,
    2846        0,    47,    48,   288,   289,   290,   291,   276,     0,     0,
    2847        0,   993,     0,   277,     0,     0,     0,   278,     0,     0,
    2848      279,   280,   270,   281,   282,   283,    43,    44,     0,   284,
    2849      285,     0,     0,     0,     0,     0,     0,   273,   274,     0,
    2850      275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2851        0,     0,   286,     0,   367,     0,     0,   910,     0,     0,
    2852       47,    48,   288,   289,   290,   291,   276,     0,     0,     0,
    2853        0,     0,   277,     0,     0,     0,   278,     0,     0,   279,
    2854      280,   270,   281,   282,   283,    43,    44,     0,   284,   285,
    2855        0,     0,     0,     0,     0,     0,   273,   274,     0,   275,
    2856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2857        0,   286,     0,   367,     0,     0,     0,     0,     0,    47,
    2858       48,   288,   289,   290,   291,   276,     0,     0,     0,     0,
    2859        0,   277,     0,     0,     0,   278,     0,     0,   279,   280,
    2860      270,   281,   282,   283,    43,    44,     0,   284,   285,     0,
    2861        0,     0,     0,     0,     0,   273,   274,     0,   275,     0,
    2862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2863      496,     0,   367,     0,     0,     0,     0,     0,    47,    48,
    2864      288,   289,   290,   291,   276,     0,     0,     0,     0,     0,
    2865      277,     0,     0,     0,   278,     0,     0,   279,   280,   270,
    2866      281,   282,   283,    43,    44,     0,   284,   285,     0,     0,
    2867        0,     0,     0,     0,   273,   274,     0,   275,     0,     0,
    2868        0,     0,     0,     0,     0,     0,     0,     0,     0,   501,
    2869        0,   367,     0,     0,     0,     0,     0,    47,    48,   288,
    2870      289,   290,   291,   276,     0,     0,     0,     0,     0,   277,
    2871        0,     0,     0,   278,     0,     0,   279,   280,   270,   281,
    2872      282,   283,    43,    44,     0,   284,   285,     0,     0,     0,
    2873        0,     0,     0,   273,   274,     0,   275,     0,     0,     0,
    2874        0,     0,     0,     0,     0,     0,     0,     0,   504,     0,
    2875      367,     0,     0,     0,     0,     0,    47,    48,   288,   289,
    2876      290,   291,   276,     0,     0,     0,     0,     0,   277,     0,
    2877        0,     0,   278,     0,     0,   279,   280,   270,   281,   282,
    2878      283,    43,    44,     0,   284,   285,     0,     0,     0,     0,
    2879        0,     0,   273,   274,     0,   275,     0,     0,     0,     0,
    2880        0,     0,     0,     0,     0,     0,     0,   286,     0,   367,
    2881        0,     0,     0,     0,     0,   679,    48,   288,   289,   290,
    2882      291,   276,     0,     0,     0,     0,     0,   277,     0,     0,
    2883        0,   278,     0,     0,   279,   280,   270,   281,   282,   283,
    2884       43,    44,     0,   284,   285,     0,     0,     0,     0,     0,
    2885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2886        0,     0,     0,     0,     0,     0,   286,     0,   367,     0,
    2887        0,     0,     0,     0,   333,    48,   288,   289,   290,   291,
    2888        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2889       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2890        0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
    2891        0,     0,    33,   199,     2,   200,     4,     5,     6,     7,
    2892        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2893       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2894       36,     0,    28,    29,    30,   109,     0,    40,    41,     0,
    2895        0,     0,    33,     0,     0,     0,     0,     0,    43,    44,
     2803       0,     0,     0,     0,     0,     0,     0,     0,  -420,     0,
     2804       0,   288,     0,   370,     0,     0,   168,     0,     0,    47,
     2805      48,   290,   291,   292,   293,     0,     0,   274,   275,  1005,
     2806     276,   988,     0,   989,  -134,     0,   990,   991,   992,   993,
     2807     994,   995,   996,   997,     0,     0,     0,   998,     0,     0,
     2808       0,   999,  1000,     0,    35,     0,   277,     0,     0,     0,
     2809       0,     0,  1001,     0,   171,   172,  1004,     0,     0,   280,
     2810     281,   282,   283,   284,   285,    43,    44,     0,   286,   287,
    28962811       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28972812       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2898       36,     0,    37,     0,    38,     0,     0,   201,    41,   453,
    2899        2,   200,     4,     5,     6,     7,     8,     9,    10,    11,
    2900       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2901       22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
    2902       30,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2905        0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
    2906       38,     0,     0,    40,    41,     2,   200,     4,     5,     6,
     2813       0,   288,     0,   370,     0,     0,   168,     0,     0,    47,
     2814      48,   290,   291,   292,   293,     0,     0,     0,     0,  1005,
     2815       0,     0,     0,     0,  -134,     2,   202,     4,     5,     6,
    29072816       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    29082817      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    29092818      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
    2910        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2819       0,     0,     0,    33,     0,   274,   275,     0,   276,   988,
     2820       0,   989,  1389,  1390,   990,   991,   992,   993,   994,   995,
     2821     996,   997,     0,     0,  1520,   998,     0,     0,     0,   999,
     2822    1000,    36,    35,    37,   277,    38,     0,     0,    40,    41,
     2823    1001,     0,   171,   172,  1004,     0,     0,   280,   281,   282,
     2824     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2825       0,     0,  1294,     0,     0,     0,     0,     0,     0,     0,
     2826       0,     0,     0,     0,     0,     0,     0,     0,     0,   288,
     2827       0,   370,     0,     0,   168,     0,     0,    47,    48,   290,
     2828     291,   292,   293,     0,     0,   274,   275,  1005,   276,   988,
     2829       0,   989,  1389,  1390,   990,   991,   992,   993,   994,   995,
     2830     996,   997,     0,     0,     0,   998,     0,     0,     0,   999,
     2831    1000,     0,    35,     0,   277,     0,     0,     0,     0,     0,
     2832    1001,     0,   171,   172,  1004,     0,     0,   280,   281,   282,
     2833     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2834       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2835       0,     0,     0,     0,     0,     0,     0,     0,     0,   288,
     2836       0,   370,     0,     0,   168,     0,     0,    47,    48,   290,
     2837     291,   292,   293,     0,     0,   274,   275,  1005,   276,   988,
     2838       0,   989,     0,     0,   990,   991,   992,   993,   994,   995,
     2839     996,   997,     0,     0,     0,   998,     0,     0,     0,   999,
     2840    1000,     0,    35,     0,   277,     0,     0,     0,     0,     0,
     2841    1001,     0,   171,   172,  1004,     0,     0,   280,   281,   282,
     2842     283,   284,   285,    43,    44,     0,   286,   287,     0,     0,
     2843       0,     0,     0,     0,   274,   275,     0,   276,     0,     0,
     2844       0,     0,     0,     0,     0,     0,     0,     0,     0,   288,
     2845       0,   370,     0,     0,   168,     0,     0,    47,    48,   290,
     2846     291,   292,   293,   277,     0,     0,     0,  1005,     0,   278,
     2847       0,     0,     0,   279,     0,     0,   280,   281,   282,   283,
     2848     284,   285,    43,    44,     0,   286,   287,     0,     0,     0,
     2849       0,     0,     0,   274,   275,     0,   276,     0,     0,     0,
     2850       0,     0,     0,     0,     0,     0,     0,     0,   288,     0,
     2851     370,     0,     0,     0,     0,   731,    47,    48,   290,   291,
     2852     292,   293,   277,     0,     0,     0,     0,     0,   278,     0,
     2853       0,     0,   279,     0,     0,   280,   281,   282,   283,   284,
     2854     285,    43,    44,     0,   286,   287,     0,     0,     0,     0,
     2855       0,     0,   274,   275,     0,   276,     0,     0,     0,     0,
     2856       0,     0,     0,     0,     0,     0,     0,   499,     0,   370,
     2857       0,     0,     0,     0,     0,    47,    48,   290,   291,   292,
     2858     293,   277,     0,     0,     0,     0,     0,   278,     0,     0,
     2859       0,   279,     0,     0,   280,   281,   282,   283,   284,   285,
     2860      43,    44,     0,   286,   287,     0,     0,     0,     0,     0,
     2861       0,   274,   275,     0,   276,     0,     0,     0,     0,     0,
     2862       0,     0,     0,     0,     0,     0,   504,     0,   370,     0,
     2863       0,     0,     0,     0,    47,    48,   290,   291,   292,   293,
     2864     277,     0,     0,     0,     0,     0,   278,     0,     0,     0,
     2865     279,     0,     0,   280,   281,   282,   283,   284,   285,    43,
     2866      44,     0,   286,   287,     0,     0,     0,     0,     0,     0,
     2867     274,   275,     0,   276,     0,     0,     0,     0,     0,     0,
     2868       0,     0,     0,     0,     0,   507,     0,   370,     0,     0,
     2869       0,     0,     0,    47,    48,   290,   291,   292,   293,   277,
     2870       0,     0,     0,     0,     0,   278,     0,     0,     0,   279,
     2871       0,     0,   280,   281,   282,   283,   284,   285,    43,    44,
     2872       0,   286,   287,     0,     0,     0,     0,     0,     0,   274,
     2873     275,     0,   276,     0,     0,     0,     0,     0,     0,     0,
     2874       0,     0,     0,     0,   288,     0,   370,     0,     0,     0,
     2875       0,     0,   683,    48,   290,   291,   292,   293,   277,     0,
     2876       0,     0,     0,     0,   278,     0,     0,     0,   279,     0,
     2877       0,   280,   281,   282,   283,   284,   285,    43,    44,     0,
     2878     286,   287,     0,     0,     0,     0,     0,     0,     0,     0,
     2879       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2880       0,     0,     0,   288,     0,   370,     0,     0,     0,     0,
     2881       0,   336,    48,   290,   291,   292,   293,     8,     9,    10,
     2882      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2883      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2884      29,    30,     0,     0,     0,     0,     0,     0,     0,    33,
     2885     201,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2886      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2887      21,    22,    23,    24,    25,    26,    27,    36,     0,    28,
     2888      29,    30,   110,     0,    40,    41,     0,     0,     0,    33,
     2889       0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
     2890       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2891       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2892       0,    38,     0,     0,   203,    41,   456,     2,   202,     4,
     2893       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2894      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2895      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2896       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    29112897       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29122898       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2913        0,    36,     0,    37,     0,    38,     0,     0,   201,    41,
    2914        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2915       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    2916        0,     0,    28,    29,    30,   471,   472,   473,   474,     0,
    2917        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
     2899       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2900      40,    41,     2,   202,     4,     5,     6,     7,     8,     9,
     2901      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2902      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2903      28,    29,    30,     0,     0,     0,     0,     0,     0,     0,
     2904      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2905       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2906       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2907      37,     0,    38,     0,     0,   203,    41,     8,     9,    10,
     2908      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2909      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2910      29,    30,   474,   475,   476,   477,     0,     0,     0,    33,
    29182911       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29192912       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2920       36,     0,     0,     0,     0,     0,     0,    40,    41
     2913       0,     0,     0,     0,     0,     0,     0,    36,     0,     0,
     2914       0,     0,     0,     0,    40,    41
    29212915};
    29222916
    29232917#define yypact_value_is_default(yystate) \
    2924   ((yystate) == (-1310))
     2918  ((yystate) == (-1276))
    29252919
    29262920#define yytable_value_is_error(yytable_value) \
     
    29292923static const yytype_int16 yycheck[] =
    29302924{
    2931        0,     1,     0,   178,     1,   178,    45,   441,     1,   178,
    2932      115,   699,   178,    45,   179,    45,   179,   198,   244,   178,
    2933      275,   178,   699,    58,   837,  1023,   163,   164,   213,   178,
    2934      521,    31,    32,   141,    34,   586,    34,   338,   181,  1023,
    2935     1023,   604,    84,   298,   299,    45,   338,   503,   837,   628,
    2936       51,    51,    34,    51,  1025,   104,   334,   586,    58,   957,
    2937      653,   557,   872,    63,  1284,    63,    66,    30,    66,    69,
    2938      105,    69,    69,   108,    54,  1242,   584,   754,   253,   334,
    2939      253,   584,   920,   584,   253,     0,   584,   253,   353,   254,
    2940      195,   254,   357,     0,   253,   482,   253,  1361,    45,   486,
    2941       45,   584,   151,   584,   253,   105,   249,   250,   108,    45,
    2942       51,   112,    42,   584,   369,   115,   956,   957,    81,    34,
    2943       47,    48,   588,   123,   986,   987,   592,    34,   983,   967,
    2944      286,     0,     0,  1070,   114,    56,    47,    48,    45,   178,
    2945       90,   414,   415,   143,    51,   143,   178,   613,   178,   826,
    2946       84,   617,   112,   618,   619,   155,    63,   155,   114,    66,
    2947        0,   974,    69,   756,  1473,    34,    34,  1387,   118,   634,
    2948      406,   112,  1436,   766,   767,    96,   136,   212,   178,   179,
    2949      406,   179,   116,   475,   777,   974,   116,   587,   286,   425,
    2950      468,    42,   119,   593,    34,   195,  1505,   433,   114,   425,
    2951     1171,   142,   203,   203,  1066,   203,   689,   433,   689,   120,
    2952     1020,   484,   212,   398,   253,   215,   681,   215,   689,   710,
    2953      136,   253,   222,   253,    32,   260,    66,   392,   114,   392,
    2954      503,   178,   232,   178,   450,   235,   143,   788,  1405,   239,
    2955      240,   239,   178,     0,     1,  1412,   923,   240,   155,   135,
    2956      114,   468,   116,   253,   254,   115,   254,   239,   259,   788,
    2957      260,   121,   203,   263,   760,   619,   187,  1204,   776,  1206,
    2958     1207,   178,   179,   776,   101,   776,   100,    34,   776,   222,
    2959      634,   330,   537,   538,   539,   586,  1184,     0,     1,   210,
    2960       42,   564,   235,   776,   971,   776,   203,   298,    66,   220,
    2961      127,   466,   337,   466,  1471,   776,  1365,   412,   215,   574,
    2962      134,    42,    69,   418,   893,   123,   414,   415,   259,   354,
    2963      320,    34,   320,   358,   239,   114,   604,   681,   114,   244,
    2964      881,   609,   239,  1231,    67,   115,  1024,   337,   338,  1152,
    2965      496,   101,   498,    10,   810,   501,   253,  1024,   504,  1416,
    2966      615,    42,   121,    66,   354,   135,    69,   298,   358,   114,
    2967      953,   954,   114,  1152,   116,   286,   135,   127,   368,   137,
    2968      239,   239,   935,    42,   117,   215,   244,   880,   778,   880,
    2969      115,   114,   880,   114,     3,   116,  1453,  1242,  1455,   121,
    2970     1230,  1231,   392,   334,   392,    47,    48,   119,   496,   239,
    2971      135,   618,   619,   501,     3,   137,   504,   115,    75,  1468,
    2972       77,    78,   412,   320,  1473,   121,    42,   634,   418,   121,
    2973      886,  1014,  1015,   114,   232,   116,   121,   135,   664,  1242,
    2974      115,   338,  1120,  1121,   121,   137,   121,   653,   664,  1498,
    2975      135,     0,   720,  1120,  1121,   114,  1505,   116,   135,    42,
    2976     1288,   133,   678,   453,   136,   263,   837,   555,   458,  1357,
    2977      453,    42,   918,   897,   681,  1320,   466,   119,   466,   724,
    2978      470,     0,   470,   414,   415,   475,   117,  1448,   478,  1477,
    2979      121,   114,   239,   483,   114,   392,  1065,   788,   114,   136,
    2980      116,   406,   629,  1477,  1477,  1046,   788,    42,   114,   339,
    2981      441,   114,   215,   720,   769,    42,   114,  1478,   895,   430,
    2982      425,  1349,  1350,    95,    96,   515,    42,  1357,   433,   115,
    2983      520,   114,   515,   116,   114,   121,   239,   520,   116,   114,
    2984      118,   636,    42,   114,   455,   116,  1507,    42,   406,   115,
    2985      756,   649,   647,   484,   944,   945,   115,   135,   130,   131,
    2986      766,   767,   121,   468,  1409,   470,  1411,   425,   121,    84,
    2987      368,   777,   503,   470,   115,   433,   121,   114,   475,   114,
    2988      605,   116,  1439,   121,   137,   496,   115,   114,  1445,   116,
    2989      501,    75,   137,   504,   584,   620,   586,   115,   114,   137,
    2990      116,   115,  1405,   885,    88,    89,   977,   121,   633,  1412,
    2991       75,   470,   470,  1470,   114,   605,   116,    82,  1475,   114,
    2992       85,   116,    87,    88,    89,   121,   115,  1472,  1211,   459,
    2993      620,  1473,   116,   564,   624,   903,  1219,  1220,  1221,   121,
    2994      470,   137,   115,   633,   121,   635,   636,   637,   121,   824,
    2995      114,   116,   635,   121,   637,   137,  1498,   647,    70,   121,
    2996      137,    73,   115,  1505,    76,   121,    78,   935,  1471,   137,
    2997      117,   115,    84,   604,   121,   137,   667,   121,   609,   120,
    2998      478,   137,   115,  1361,   114,   483,   676,   584,   121,   586,
    2999      935,    75,   121,   676,  1361,    79,   903,     0,     1,   689,
    3000      690,   121,   121,   830,    88,    89,   121,   697,   137,   114,
    3001      115,   701,    75,   868,    75,   868,   575,   137,    79,   852,
    3002      117,    67,   137,   470,   121,    88,    89,    88,    89,   974,
    3003      114,    34,     4,     5,     6,     7,     8,     9,   122,   123,
    3004      115,   652,   114,   115,   116,  1423,   121,   953,   954,   956,
    3005      661,   124,   125,   114,   665,   116,  1423,  1435,  1436,   664,
    3006      114,   122,   123,    66,   122,   114,    69,   470,  1435,  1436,
    3007      128,   129,   115,   678,   119,    75,   606,   948,   121,  1260,
    3008     1458,  1152,    82,   119,   115,    85,   776,    87,    88,    89,
    3009      121,  1458,   689,   690,   206,   117,   137,    75,   788,   121,
    3010       72,    79,    74,  1386,   137,   114,   664,   116,  1014,  1015,
    3011       88,    89,   137,   122,   123,   720,   116,   115,   117,  1087,
    3012      678,    75,   121,    77,    78,    79,   624,    84,     4,     5,
    3013        6,     7,     8,     9,    88,    89,   114,    93,    94,   669,
    3014      830,  1016,   969,   114,   122,   123,   836,   837,    75,   152,
    3015       77,    78,  1530,   683,   544,   545,   546,   547,  1023,    35,
    3016     1023,    88,    89,  1530,  1023,   137,  1021,  1023,  1021,  1456,
    3017     1025,   115,  1025,  1460,  1023,   866,  1023,   121,   868,   776,
    3018     1087,   871,   114,   137,  1023,    10,    11,    12,    13,    14,
    3019      123,   788,  1263,   132,   115,   885,    72,   133,    74,   697,
    3020      121,    99,   114,   701,   116,    75,   116,    77,    78,   896,
    3021       75,  1029,   215,  1031,   904,   117,  1184,    42,    88,    89,
    3022      910,   904,   117,    88,    89,    75,   916,    77,    78,   341,
    3023      920,   343,   837,   916,    75,   115,   239,   920,    88,    89,
    3024      115,   771,   115,  1314,   114,    70,  1317,    88,    89,   119,
    3025       51,   116,   863,   115,   115,   980,   981,   982,   115,   121,
    3026      121,  1056,    63,   115,   114,    66,   897,   115,    69,   119,
    3027      137,   868,   114,   114,   116,   116,  1182,   967,   837,   837,
    3028      122,   123,   114,    75,   967,    77,    78,   977,   885,   115,
    3029      980,   981,   982,   117,  1365,   121,    88,    89,   903,  1370,
    3030      115,     3,   861,   116,   935,  1211,   121,   837,    10,    11,
    3031       12,    13,    14,  1219,  1220,  1221,  1171,   429,  1171,   115,
    3032      115,  1011,   119,  1230,   136,   121,   121,   119,  1399,    97,
    3033       98,  1021,   830,  1023,   119,  1025,   120,   121,   836,   121,
    3034       42,   119,   143,  1131,  1132,   136,  1134,  1037,   114,  1040,
    3035      115,   116,  1140,   115,   155,  1143,    61,    62,    75,   115,
    3036       77,    78,    79,   114,   115,   116,  1056,   137,    70,   974,
    3037     1494,    88,    89,   871,   985,   114,   115,   116,   179,    75,
    3038     1070,    77,    78,    79,   114,   115,   116,  1070,   120,   121,
    3039      837,   117,    88,    89,   117,    10,    11,    12,    13,    14,
    3040       47,    48,   203,  1071,  1072,   122,   540,   541,   938,    61,
    3041       62,    63,   910,   117,   215,   974,   974,   420,  1273,    75,
    3042     1273,    77,    78,    79,  1021,  1496,  1023,    42,  1025,   542,
    3043      543,  1502,    88,    89,   837,   135,   135,  1127,   548,   549,
    3044      135,   137,   121,    31,   974,   115,   115,  1518,   119,   896,
    3045      115,  1522,   120,   120,   120,    70,    75,   121,   114,   114,
    3046       75,  1259,  1152,    82,    79,   115,    85,   470,    87,    88,
    3047       89,   115,  1163,    88,    89,   121,   115,   115,   115,   115,
    3048     1386,  1171,  1087,   115,   115,     4,     5,     6,     7,     8,
    3049        9,     0,     1,   896,   121,   115,   120,   116,   115,   114,
    3050       31,   115,  1189,   115,   115,   115,   115,   122,   123,   115,
    3051      513,   115,   115,  1011,  1204,   136,  1206,  1207,   115,   320,
    3052      119,  1204,     3,  1206,  1207,    34,   115,   974,  1316,    10,
    3053       11,    12,    13,    14,   121,  1333,    45,   117,     1,  1037,
    3054      117,   115,    51,   115,   119,   121,   115,  1152,   115,   115,
    3055      121,  1346,   114,    72,    63,    74,   121,    66,   114,   114,
    3056       69,    42,   114,    75,   114,    77,    78,    79,    75,    11,
    3057      133,   974,   575,  1263,  1171,    82,    88,    89,    85,  1184,
    3058       87,    88,    89,  1273,   135,   121,  1384,   135,    51,    70,
    3059      135,   392,   120,  1152,  1152,   104,   137,  1284,  1288,   115,
    3060      135,   115,   114,   112,   116,  1288,   115,   116,   135,   115,
    3061      122,   123,  1477,   115,  1477,   618,   619,   120,  1477,   120,
    3062     1345,  1477,  1152,  1478,  1314,  1478,   119,  1317,  1477,  1127,
    3063     1477,   634,   117,   142,   143,   121,  1323,  1242,  1477,   117,
    3064     1251,   104,   151,   152,   115,   115,   155,   115,   117,   112,
    3065      117,   117,  1507,  1448,  1507,  1345,  1346,   115,  1456,  1349,
    3066     1350,   117,  1460,  1461,   117,   117,  1349,  1350,    50,   178,
    3067      179,   120,   137,   137,   115,  1365,  1273,   137,   681,   142,
    3068     1370,   115,   137,  1242,  1242,   115,   195,   137,   151,    75,
    3069     1488,    77,    78,    79,   203,   115,   120,   120,   117,    86,
    3070     1387,   117,    88,    89,   117,  1152,   215,   117,   117,  1399,
    3071      117,   115,  1242,  1511,   115,   117,   114,  1515,   114,   114,
    3072       63,   114,   119,  1414,     3,  1416,   115,   115,   114,   101,
    3073      239,    10,    11,    12,    13,    14,   199,   117,   247,   117,
    3074      203,  1539,  1189,   252,   253,   254,   115,   117,  1477,  1152,
    3075      259,   115,   101,   114,   114,  1477,   137,  1477,  1448,  1449,
    3076      115,   120,  1453,    42,  1455,   115,  1449,    75,   152,    77,
    3077       78,    79,    45,   115,   115,   121,   115,   286,  1468,   135,
    3078       88,    89,   115,  1473,   137,   137,  1189,  1477,  1478,   298,
    3079     1478,    70,  1322,   137,   101,  1242,   259,   101,   135,   262,
    3080     1405,   137,  1413,   117,  1415,   314,  1496,  1412,  1498,   137,
    3081      115,   320,  1502,   115,   135,  1505,   114,  1507,   121,  1507,
    3082      120,   330,   117,   286,   117,   334,   137,   117,  1518,   338,
    3083      339,   137,  1522,   115,   837,   298,   114,  1284,   115,  1242,
    3084      120,  1452,  1372,  1454,   353,   120,  1405,  1405,   357,   115,
    3085     1540,   135,   115,  1412,  1412,   115,   137,  1540,   861,   115,
    3086      114,  1551,   993,  1494,   115,   137,  1471,   330,  1551,   137,
    3087      137,   334,   550,   553,   551,  1405,  1323,   552,    66,  1152,
    3088     1477,  1284,  1412,   392,  1436,   915,    75,    75,    77,    78,
    3089      353,   554,  1522,   896,   357,  1506,  1325,  1508,  1252,    88,
    3090       89,  1461,  1515,   412,  1412,   414,   415,  1011,   866,   418,
    3091     1021,   420,  1471,  1471,  1031,  1526,  1527,  1273,   701,  1322,
    3092     1323,    75,   889,    77,    78,    79,   910,   116,   116,   830,
    3093      183,  1189,   441,    66,    88,    89,   630,   190,   693,   888,
    3094     1387,  1471,   709,   556,   470,    -1,    -1,    -1,   556,   458,
    3095       -1,   414,   415,   956,   957,   556,    -1,   466,  1405,   468,
    3096       75,   470,    77,    78,    79,  1412,   475,   155,    -1,  1372,
    3097       -1,   974,    -1,    88,    89,   484,    -1,    -1,   441,    -1,
    3098       -1,    -1,    -1,   116,  1387,    -1,    -1,   496,    -1,   498,
    3099      453,    -1,   501,    -1,   503,   504,    -1,    -1,    -1,   114,
    3100       -1,   116,  1405,   256,   513,    -1,    -1,   122,   123,  1412,
    3101       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,   482,
    3102      135,   484,   155,   486,  1471,    -1,    -1,   215,    -1,    66,
    3103       -1,    -1,    -1,   496,    -1,   498,   420,    -1,   501,    -1,
    3104      503,   504,    -1,    42,    -1,    -1,    -1,   556,   557,    75,
    3105       -1,    77,    78,    79,    -1,   564,    -1,    -1,    -1,   247,
    3106       -1,   314,    88,    89,   252,   574,   575,    -1,  1471,   578,
    3107      323,    70,    -1,   326,    -1,   584,    75,   586,    -1,   116,
    3108       79,    -1,   215,    -1,    -1,    -1,    -1,    -1,   114,    88,
    3109       89,    -1,    -1,    -1,    -1,   604,   122,   123,    -1,   232,
    3110      609,   564,   611,    -1,    -1,    -1,   615,    -1,    -1,   618,
    3111      619,   574,    -1,    -1,   247,   114,    -1,    -1,   155,   252,
    3112       -1,    -1,    -1,   122,   123,   634,    -1,   636,    -1,   513,
    3113       -1,   384,    -1,    -1,    -1,   388,    -1,    -1,   647,    -1,
    3114       -1,   604,    -1,    -1,    -1,    -1,   609,    -1,    -1,  1152,
    3115       -1,   339,   615,    10,    11,    12,    13,    14,   667,    -1,
    3116       -1,    -1,    54,    -1,    56,    -1,    -1,    59,    60,    61,
    3117       -1,    -1,   681,   682,   683,    -1,    -1,    -1,   215,    -1,
    3118      689,   690,    -1,    -1,    76,    42,  1189,    -1,    -1,    -1,
    3119       -1,   575,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,
    3120       -1,    -1,    -1,    -1,   667,    -1,   339,    -1,    -1,    -1,
    3121      247,   720,   465,    70,    -1,   252,    -1,    10,    11,    12,
    3122       13,    14,    -1,    -1,    -1,    -1,    -1,  1230,  1231,    -1,
    3123      693,   419,    -1,    -1,   618,   619,    -1,    -1,    -1,  1242,
    3124       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,    42,
    3125      634,   760,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3126      769,    -1,   771,    -1,    -1,   122,   123,   776,    -1,    -1,
    3127       75,   459,    77,    78,    79,    -1,    -1,    70,    -1,   788,
    3128       -1,  1284,    -1,    88,    89,    -1,   419,    -1,   180,    -1,
    3129       -1,    -1,    -1,    -1,    -1,    -1,    -1,   681,    -1,    -1,
    3130       -1,    -1,   339,   556,   557,    -1,   769,    -1,    -1,   114,
    3131       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,  1322,
    3132     1323,   114,    -1,   116,    -1,    -1,   459,    -1,   837,   122,
    3133      123,   102,   103,   104,   105,   106,   107,   108,   109,   110,
    3134      111,   112,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3135       14,    -1,   861,    -1,  1357,    -1,    -1,   866,    -1,   868,
    3136       75,    -1,    77,    78,    79,   136,    -1,    -1,    -1,  1372,
    3137       -1,   880,   881,    88,    89,    -1,   885,    -1,    42,    -1,
    3138       -1,    -1,   419,    -1,  1387,   638,    -1,   896,   897,   642,
    3139      578,    -1,    -1,    -1,   903,    -1,    -1,    -1,    -1,   114,
    3140       -1,   116,  1405,   866,    -1,    -1,    70,   122,   123,  1412,
    3141       -1,    75,    -1,    77,    78,    79,    -1,    -1,   606,    -1,
    3142       -1,    -1,   459,   611,    88,    89,   935,    -1,    -1,    -1,
    3143       -1,    -1,   895,   896,   897,    -1,    -1,    -1,    -1,    -1,
    3144       -1,   333,    -1,   335,    -1,   578,    -1,   956,   957,    -1,
    3145      114,    -1,   116,    -1,   346,   347,    -1,    -1,   122,   123,
    3146       -1,    28,    -1,    -1,    -1,   974,    -1,    -1,  1471,    -1,
    3147       -1,    -1,   935,   606,    -1,    -1,    -1,   861,   611,    -1,
    3148       -1,   669,    -1,    -1,     0,    -1,     7,    -1,    -1,    10,
    3149       11,    12,    13,    14,    -1,   683,    75,    -1,    77,    78,
    3150       79,    -1,    -1,    -1,    -1,    -1,    -1,   760,    -1,    88,
    3151       89,    -1,  1021,    -1,  1023,    82,  1025,    -1,    34,    40,
    3152       41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3153       97,  1040,    99,    -1,    -1,   114,   669,  1046,    -1,    -1,
    3154       -1,   578,    -1,   122,   123,    -1,    -1,  1056,    69,    70,
    3155      683,    -1,    -1,    69,    75,    -1,    -1,   124,    79,    -1,
    3156       -1,    82,    83,    84,    85,    86,    87,    88,    89,   606,
    3157       91,    92,   956,   957,   611,    -1,    -1,  1040,  1087,    -1,
    3158       86,    -1,    -1,   771,    90,    91,    92,    -1,    -1,    -1,
    3159       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
    3160       -1,   122,   123,   124,   125,   126,   127,    -1,   114,    -1,
    3161      116,    -1,   118,   119,    -1,    -1,   183,    -1,   185,   186,
    3162       -1,    -1,    -1,   190,    -1,   192,   193,    -1,    -1,    -1,
    3163       -1,    -1,   669,    -1,    -1,    86,   152,    -1,   771,    90,
    3164       91,    92,    -1,  1152,    -1,    -1,   683,    -1,    -1,    -1,
    3165       -1,    -1,    -1,    -1,  1163,    -1,    -1,    -1,    -1,    -1,
    3166       -1,    -1,  1171,   114,    -1,   116,    -1,   118,   119,    -1,
    3167       -1,    -1,   925,    -1,    -1,  1184,    -1,    -1,    -1,    -1,
    3168     1189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   941,   256,
     2925       0,     1,     0,   200,     0,    45,   180,   444,   180,     1,
     2926       0,   180,   843,    45,   180,    45,   590,   180,   506,   632,
     2927     180,   180,   525,   154,  1035,   183,   561,   341,  1035,   116,
     2928    1035,    31,    32,   608,    34,  1304,    34,   485,    34,     0,
     2929      34,   489,   105,   996,    34,    45,   246,   843,   341,   590,
     2930     337,    51,   970,    51,     0,   588,    42,   356,   215,    59,
     2931     588,   360,   165,   166,    64,    42,    64,    67,   878,    67,
     2932      70,    45,    70,    34,   703,   588,  1037,    67,    70,   588,
     2933     409,   255,    54,   255,   969,   970,   255,  1264,    34,   255,
     2934     153,    66,   255,   251,   252,   255,   255,    42,    45,   428,
     2935     592,    42,    67,   588,   596,    42,   106,   436,   588,   109,
     2936     197,    45,   417,   418,  1389,    84,   116,   933,    42,     0,
     2937       1,    42,    42,    30,   124,   617,   114,   999,  1000,   621,
     2938     116,    47,    48,   471,     1,   622,   623,   114,   100,   116,
     2939     180,    42,   114,  1412,   112,   145,    84,   145,   180,   114,
     2940     180,   638,    71,    34,   588,    74,   987,   157,    77,   157,
     2941      79,   101,   137,  1088,   980,     0,    85,   288,   136,   114,
     2942     591,   116,   134,   114,    81,   116,   597,   114,   116,   116,
     2943     180,   181,   487,   181,   471,   478,    67,   127,  1463,    70,
     2944     114,   987,   116,   114,   114,   116,   116,   197,   685,    34,
     2945      57,   506,   181,   114,   120,   205,   180,   205,   693,   409,
     2946      45,   714,  1084,   693,   214,   255,    51,   217,     0,   217,
     2947     794,    11,  1032,   255,   224,   255,  1187,   217,   428,    64,
     2948     114,   766,    67,   180,   234,    70,   436,   237,     0,     1,
     2949      97,   241,   242,   241,   401,   241,   180,   241,   101,   782,
     2950     246,   241,    34,   794,   782,   255,   256,  1434,   256,   693,
     2951     115,   117,   262,   568,  1441,   265,   121,   121,   276,   782,
     2952     333,   119,    34,   782,   127,   114,   590,   256,  1496,   578,
     2953     241,   910,  1200,   137,   622,   623,   899,    47,    48,   208,
     2954       3,   181,   423,   301,   302,   241,   135,   782,  1393,  1517,
     2955     638,  1226,   782,  1228,  1229,    90,  1524,    42,    70,     3,
     2956     145,  1264,    67,   887,  1496,    42,   121,  1494,    47,    48,
     2957     619,   608,   157,   323,   816,   323,   613,   121,   415,   337,
     2958     135,    42,   189,   118,   421,  1253,   217,  1168,    42,   668,
     2959     340,   341,  1524,   137,   122,   180,   181,   685,   782,    51,
     2960     128,   129,   342,   886,    42,   212,   121,   357,   886,   119,
     2961     241,   361,   117,   784,   372,   222,   256,  1252,  1253,    10,
     2962     205,   371,  1168,   948,   115,   242,   623,   886,   499,   114,
     2963     501,   116,   217,   504,     0,   516,   507,   114,   726,   116,
     2964     119,   638,  1345,   453,   135,   395,  1491,   395,   121,   115,
     2965     892,  1496,   157,   114,    75,   116,   241,  1036,   114,  1445,
     2966     114,   113,   116,   409,   137,   415,   395,    88,    89,   135,
     2967     255,   421,  1517,   114,   115,   344,   114,   346,   116,  1524,
     2968     136,   288,   428,  1264,    75,   115,    77,    78,   685,   726,
     2969     436,   224,   121,   931,  1480,   116,  1482,   121,   579,  1078,
     2970    1041,   115,  1043,   901,   237,   135,   456,   121,   137,   241,
     2971     121,   461,   217,   137,   246,     1,   903,  1385,   668,   469,
     2972    1083,   469,   462,   473,   135,   473,   775,   473,   478,   241,
     2973     794,   481,   682,   473,  1058,  1438,   486,  1440,   323,  1500,
     2974     469,   622,   623,  1500,   249,  1500,   115,  1313,   136,   254,
     2975    1385,   794,   121,   205,    75,   395,   341,   638,    79,  1138,
     2976    1139,     0,   473,   432,  1475,    51,   121,    88,    89,   519,
     2977     115,    59,    95,    96,   524,    75,   121,   473,   114,   114,
     2978     633,   116,   137,   541,   542,   543,   957,   958,    88,    89,
     2979    1501,   121,  1495,   114,     4,     5,     6,     7,     8,     9,
     2980     115,   122,   123,   640,   685,   135,   121,   130,   131,   261,
     2981     395,  1377,  1378,   117,   651,  1526,   116,   121,   106,   105,
     2982      75,   109,    77,    78,    79,  1466,   433,   113,   916,   469,
     2983     121,  1472,   117,    88,    89,   114,   121,   342,   588,   456,
     2984     590,    75,   473,    77,    78,    79,   137,   657,   891,   301,
     2985     121,   458,  1493,  1434,    88,    89,   121,  1498,   144,   609,
     2986    1441,   117,    72,   115,    74,   121,   137,   153,   114,   121,
     2987     610,    75,   137,   114,   624,   116,   273,   409,   628,   916,
     2988     115,   969,   137,   579,    88,    89,   121,   637,   473,   639,
     2989     640,   641,   499,   478,   114,   117,   428,   504,   121,   121,
     2990     507,   651,   519,   137,   436,   121,   114,   524,   121,   121,
     2991     114,   948,   116,  1494,   137,   201,   116,   422,   118,   205,
     2992     114,   137,   668,   830,   137,   137,   214,   137,   115,   114,
     2993     680,   115,   121,   673,   121,   135,   682,     0,     1,   471,
     2994      75,   473,   117,   693,   694,    75,   121,   687,   137,    79,
     2995     858,   701,   762,    88,    89,   705,   115,   462,    88,    89,
     2996     115,   473,   772,   773,   115,   133,   121,   115,   136,   703,
     2997     121,    34,   730,   783,   262,   261,   115,    75,   264,    77,
     2998      78,   115,    45,   836,   114,   114,   867,   121,    51,     3,
     2999      88,    89,   122,   123,  1373,   115,    10,    11,    12,    13,
     3000      14,    64,   288,   588,    67,   590,    75,    70,    77,    78,
     3001    1389,   115,   115,   114,   961,   301,   114,  1105,   121,    88,
     3002      89,   119,   639,   115,   641,   120,   760,  1280,    42,   121,
     3003     115,   114,   782,   116,  1076,   115,   121,   777,  1080,   122,
     3004     123,   121,   105,   114,   794,   124,   125,   333,   121,   656,
     3005     113,   337,   340,   116,   117,   115,    70,   114,   665,   116,
     3006      67,   121,   669,   680,   114,   122,   123,   114,  1105,   357,
     3007     356,   137,   115,   361,   360,    93,    94,   582,   121,   115,
     3008     114,   144,   145,  1462,  1463,   121,   836,   119,   969,   970,
     3009     153,   154,   842,   843,   157,   115,   137,   843,   832,   137,
     3010     497,   121,   119,   843,    84,   610,    97,    98,   693,   694,
     3011     615,  1035,   114,  1035,   114,    51,  1035,   180,   181,  1035,
     3012      84,  1028,  1035,   132,   874,  1035,  1035,   877,   123,   982,
     3013     133,   417,   418,    99,   197,    75,   668,    77,    78,    79,
     3014     116,   891,   205,   120,   121,   874,   117,   843,    88,    89,
     3015     682,   114,   115,   116,   217,   117,   966,   967,   444,   115,
     3016     902,   115,   116,  1200,  1252,    61,    62,   917,   673,   115,
     3017     456,   867,   115,   923,   114,   114,   910,   113,   241,   929,
     3018      47,    48,   687,   933,  1089,  1090,   249,    67,   120,   121,
     3019     948,   254,   255,   256,   726,   115,    76,   782,   261,   485,
     3020     115,   487,   936,   489,   548,   549,   550,   551,   144,   794,
     3021     115,   951,   843,   499,   137,   501,  1026,  1027,   504,   671,
     3022     506,   507,   114,   115,   116,   288,   114,   115,   116,   987,
     3023     980,  1068,   544,   545,   874,   546,   547,   117,   301,   117,
     3024     990,   987,   116,   993,   994,   995,   119,   987,   119,   288,
     3025     984,   114,   115,   116,   317,   136,   653,    61,    62,    63,
     3026     323,   121,   869,    10,    11,    12,    13,    14,   136,   205,
     3027     333,   902,   777,  1023,   337,   552,   553,   157,   341,   342,
     3028     119,   114,   568,  1033,   115,  1035,   115,  1037,   135,   874,
     3029     117,   987,   578,   356,   117,    42,   117,   360,   135,  1049,
     3030     917,   135,  1036,   121,  1033,    31,   891,   115,  1037,   115,
     3031     119,   843,   929,   115,   121,   120,   933,  1198,  1068,   120,
     3032     717,   609,   608,    70,  1511,   261,    75,   613,    77,    78,
     3033      79,   843,   395,   619,   120,   114,   624,   217,  1088,    88,
     3034      89,   115,   135,   137,  1078,   115,   121,   115,    75,   637,
     3035      77,    78,   415,   115,   417,   418,   987,   115,   421,   115,
     3036     423,    88,    89,   980,   121,   301,   120,   115,    31,   249,
     3037     115,  1252,  1253,   122,   254,   115,   115,   115,   417,   418,
     3038     115,   444,   115,   115,   916,   671,   115,   114,  1198,   119,
     3039     902,   998,   119,  1033,   115,  1145,   115,  1037,   461,   115,
     3040     136,   337,   115,   115,  1138,  1139,   469,   121,   471,   117,
     3041     473,   697,   117,   115,   115,   478,   114,   135,  1168,   115,
     3042     872,   121,  1168,  1233,   487,   119,   121,   115,  1168,   121,
     3043     121,  1241,  1242,  1243,   115,   114,   499,  1187,   501,   114,
     3044     114,   504,   114,   506,   507,   114,   951,   137,  1033,   135,
     3045    1035,   135,  1037,   516,   121,   987,   120,   135,  1187,   135,
     3046     499,   115,   342,  1205,   115,   504,   115,   135,   507,   117,
     3047     120,  1088,  1168,    75,   133,   987,  1226,   120,  1228,  1229,
     3048      82,   417,   418,    85,   119,    87,    88,    89,   115,   775,
     3049     137,   117,   121,    75,   117,    77,    78,   560,   561,   115,
     3050     115,   115,     3,   115,  1385,   568,    88,    89,   444,    10,
     3051      11,    12,    13,    14,   116,   578,   579,   117,  1264,   582,
     3052     559,   117,   117,   117,  1264,   588,    75,   590,    77,    78,
     3053      79,   117,  1369,  1283,   116,   843,   117,  1168,    50,    88,
     3054      89,    42,   422,  1293,   137,   608,   137,  1187,   137,   137,
     3055     613,   487,   615,   137,   120,   115,   619,   115,   438,   622,
     3056     623,   115,  1304,  1313,  1293,   114,    32,   115,  1264,    70,
     3057     506,   135,   115,  1105,  1205,   638,  1500,   640,  1500,   120,
     3058     120,  1500,   462,   117,  1500,   117,   872,  1500,   651,  1339,
     3059    1500,  1500,  1342,    86,   117,   117,   117,   117,   115,   115,
     3060    1052,  1411,  1187,   117,   114,   114,  1348,  1347,   671,  1226,
     3061     114,  1228,  1229,    63,   119,   901,   902,   903,  1368,  1369,
     3062     115,   115,   685,   686,   687,   114,   137,  1377,  1378,   117,
     3063     693,   694,   568,  1264,   117,   115,  1168,    75,  1475,  1373,
     3064     117,   115,   101,  1393,    82,   101,   114,    85,  1398,    87,
     3065      88,    89,   114,  1293,   115,  1389,  1168,   120,   124,   137,
     3066    1400,   115,   948,   726,   115,    45,  1273,  1417,  1200,   115,
     3067    1412,   135,   608,  1304,   121,   115,   115,   613,  1428,  1076,
     3068     137,   101,   990,  1080,  1081,   137,   101,   115,  1434,   137,
     3069     117,   115,   137,  1205,  1434,  1441,  1313,   115,   120,   115,
     3070     137,  1441,   582,   766,   117,   993,   994,   995,  1293,   117,
     3071    1500,   137,   775,   114,   777,   120,  1347,  1348,  1500,   782,
     3072    1500,   120,   115,   137,   115,  1475,  1476,  1179,  1462,  1463,
     3073     610,   794,  1264,   137,   115,   615,  1486,   115,  1434,  1005,
     3074     554,  1491,   555,   558,   556,  1441,  1496,   557,  1494,   928,
     3075    1500,  1501,  1264,  1501,  1494,  1168,  1463,  1350,  1536,  1081,
     3076    1377,  1378,  1309,  1274,  1441,  1515,  1052,  1517,   234,  1400,
     3077    1023,  1521,  1501,   872,  1524,  1033,  1526,    67,  1526,  1293,
     3078     843,  1412,  1532,  1043,   705,   895,  1536,   923,    75,   634,
     3079      77,    78,  1304,   673,   836,   697,  1205,  1526,  1494,   265,
     3080    1417,    88,    89,  1434,   867,   894,   713,   687,   473,   872,
     3081    1441,   874,    -1,    -1,  1211,    -1,   560,    75,   560,    77,
     3082      78,    79,    -1,   886,   887,    -1,   560,   117,   891,    -1,
     3083      88,    89,   119,    -1,    -1,  1442,  1348,  1444,    -1,   902,
     3084     903,    -1,  1347,     0,     1,    -1,     4,     5,     6,     7,
     3085       8,     9,    -1,   916,    -1,    -1,   114,    -1,   116,  1476,
     3086    1168,  1501,    -1,  1494,   122,   123,    -1,   157,   657,  1486,
     3087      -1,     3,  1479,    -1,  1481,    -1,    -1,    34,    10,    11,
     3088      12,    13,    14,    -1,    -1,   948,  1526,    -1,    -1,    -1,
     3089      -1,    -1,    -1,  1179,    51,  1400,    -1,   777,    -1,    -1,
     3090    1412,    -1,  1434,    -1,    -1,   371,   969,   970,  1305,  1441,
     3091      42,    -1,  1309,    70,    72,  1500,    74,    -1,  1525,  1205,
     3092    1527,    -1,  1434,    -1,   987,    -1,    -1,   217,    75,  1441,
     3093      77,    78,    79,  1540,  1541,    -1,    -1,    -1,    70,    -1,
     3094      -1,    88,    89,    -1,   234,    -1,    -1,    -1,   105,    10,
     3095      11,    12,    13,    14,    10,    11,    12,    13,    14,   249,
     3096      -1,    -1,  1494,    -1,   254,    -1,    -1,   903,    -1,    -1,
     3097    1033,    -1,  1035,   762,  1037,  1283,    -1,    -1,    -1,    -1,
     3098      -1,    42,  1494,   772,   773,    51,    42,    -1,   145,  1052,
     3099      -1,  1443,    -1,  1445,   783,  1058,   153,   154,    64,    -1,
     3100      -1,    67,    -1,    -1,    70,  1068,    -1,     0,    -1,    70,
     3101      -1,    -1,   948,    -1,    70,   481,    -1,    86,  1304,  1416,
     3102     486,    90,    91,    92,   181,    -1,    -1,    -1,  1480,    -1,
     3103    1482,  1339,    -1,    -1,  1342,    -1,    -1,    -1,    -1,    -1,
     3104     197,    34,  1105,   200,   201,   114,    -1,   116,   205,   118,
     3105     119,    -1,   342,   114,    -1,   116,    -1,    -1,   114,    -1,
     3106     116,   122,   123,    -1,    -1,    -1,   122,   123,    -1,   226,
     3107      -1,   951,    -1,   230,   185,   232,    -1,    70,   235,   145,
     3108    1368,   192,    -1,    -1,   241,  1393,    -1,    -1,    75,   246,
     3109    1398,   157,    79,    -1,    -1,    -1,    -1,    -1,    -1,   256,
     3110      -1,    88,    89,    -1,    -1,  1168,    -1,   264,    -1,    -1,
     3111    1149,  1150,    -1,  1152,    -1,   181,  1179,    -1,    -1,  1158,
     3112    1428,    -1,  1161,    -1,  1187,    -1,  1412,   114,    -1,   116,
     3113      -1,    -1,   422,    -1,    -1,   122,   123,  1200,    -1,   205,
     3114      -1,    75,  1205,    77,    78,    79,    -1,   258,    -1,    -1,
     3115      -1,   217,    -1,    -1,    88,    89,    -1,  1443,    -1,  1445,
     3116      -1,   154,   628,    -1,     4,     5,     6,     7,     8,     9,
     3117      -1,    -1,   462,    -1,    -1,    -1,   333,   966,   967,    -1,
     3118     337,    -1,    -1,    -1,    -1,    -1,   343,    -1,    -1,  1252,
     3119    1253,    -1,    -1,    -1,  1480,    35,  1482,    -1,    -1,   356,
     3120      -1,  1264,    -1,   360,    -1,    -1,   317,  1515,    75,    -1,
     3121      77,    78,    79,  1521,    -1,   326,    -1,    -1,   329,    -1,
     3122      -1,    88,    89,    -1,  1532,  1511,    -1,    -1,  1536,    -1,
     3123    1293,    -1,    72,   226,    74,   701,    -1,  1026,  1027,   705,
     3124      -1,  1304,    -1,    -1,    -1,    -1,    -1,   114,   241,   116,
     3125      -1,    -1,   409,   246,    -1,   122,   123,   323,    -1,    -1,
     3126      -1,    -1,    -1,    -1,    -1,    -1,   423,    -1,   135,    -1,
     3127      -1,   428,    -1,    -1,    -1,    -1,   387,    -1,    -1,   436,
     3128     391,    -1,    -1,    -1,  1347,  1348,    -1,    75,    -1,    77,
     3129      78,    79,   582,    -1,    -1,    -1,   453,    -1,    -1,   456,
     3130      88,    89,  1341,    -1,    -1,    75,  1369,    77,    78,    79,
     3131      -1,    -1,    -1,    -1,   471,    -1,   473,    -1,    88,    89,
     3132     610,    -1,  1385,    -1,    -1,   615,   114,    -1,   485,   395,
     3133       0,    -1,   489,    -1,   122,   123,    -1,  1400,    -1,    -1,
     3134      -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    75,  1412,
     3135     343,    -1,   122,   123,    -1,    82,    -1,   468,    85,   516,
     3136      87,    88,    89,    86,    34,    -1,    -1,    90,    91,    92,
     3137     836,  1434,    -1,    -1,    75,    -1,   842,    -1,  1441,    -1,
     3138    1443,    82,  1445,   673,    85,    -1,    87,    88,    89,   116,
     3139      -1,   114,    -1,   116,    -1,   118,   119,   687,    -1,    -1,
     3140      70,    -1,     0,     1,   561,    -1,    -1,    -1,    -1,    -1,
     3141      -1,   877,  1475,    -1,    -1,   116,   409,  1480,    -1,  1482,
     3142      -1,   578,   579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3143     423,  1494,    -1,   590,    -1,   428,    34,  1500,  1501,    -1,
     3144      -1,    -1,    -1,   436,  1233,    -1,    -1,    -1,  1511,   560,
     3145     561,   608,  1241,  1242,  1243,    -1,   613,   923,    -1,     0,
     3146     453,    -1,   619,  1526,    -1,   622,   623,  1347,    -1,    67,
     3147      -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,   471,    -1,
     3148     473,   638,    -1,    -1,   154,    -1,    -1,   777,    -1,    -1,
     3149      -1,    -1,    -1,    34,    10,    11,    12,    13,    14,    -1,
     3150     657,    -1,    75,    -1,    77,    78,    79,    -1,    -1,    -1,
     3151      -1,   668,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
     3152    1400,    -1,    -1,   516,    -1,   682,    42,    -1,   685,    70,
     3153      -1,   642,    -1,    -1,    -1,   646,    -1,   694,    -1,    -1,
     3154     697,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3155     123,    -1,    -1,    -1,    70,    -1,   154,  1023,    -1,    75,
     3156      -1,    77,    78,    79,    75,    -1,    77,    78,    79,   726,
     3157      -1,   241,    88,    89,    -1,  1511,   246,    88,    89,    -1,
     3158      -1,    -1,    -1,  1049,    -1,    -1,   579,    -1,    -1,    -1,
     3159      -1,    10,    11,    12,    13,    14,    -1,    -1,   114,    -1,
     3160     116,    -1,    -1,   114,    -1,   762,   122,   123,    -1,    -1,
     3161      -1,   122,   123,   154,    -1,   772,   773,    -1,   775,   217,
     3162      -1,   778,  1411,    42,    -1,    -1,   783,    -1,    -1,   622,
     3163     623,    -1,    -1,    -1,    -1,    -1,   793,    -1,    -1,    -1,
     3164      -1,    -1,    -1,   241,    -1,   638,    -1,    -1,    -1,    -1,
     3165      -1,    70,    -1,    -1,    -1,   766,    75,    -1,    77,    78,
     3166      79,   951,    -1,    -1,   657,    -1,    -1,    -1,    -1,    88,
     3167      89,    -1,    -1,   343,    -1,   668,    -1,    -1,    -1,  1145,
     3168      -1,    -1,    -1,    -1,    -1,    -1,   843,    -1,    -1,   682,
     3169      -1,    -1,   685,    -1,    -1,   114,    -1,   116,    -1,    -1,
     3170     241,    -1,    -1,   122,   123,   246,    -1,    -1,    -1,    -1,
     3171     867,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
     3172     110,   111,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3173     887,    -1,    -1,   726,    -1,    -1,    -1,    -1,    -1,   409,
     3174      -1,    -1,    -1,    -1,   901,   902,   136,    -1,    -1,    -1,
     3175      -1,    -1,    -1,   423,    -1,    -1,    -1,    -1,   428,   916,
     3176      -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,    -1,   762,
     3177      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   772,
     3178     773,    -1,    -1,   453,    -1,   778,    -1,    -1,    -1,    -1,
     3179     783,   948,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3180      -1,   471,   343,   473,   961,    -1,    -1,    -1,    -1,   966,
     3181     967,    -1,   969,   970,    -1,    -1,    -1,    -1,    -1,    -1,
     3182      -1,    -1,    -1,    -1,    -1,   423,    42,   938,    -1,    -1,
     3183     987,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3184      -1,    -1,    -1,   954,    -1,    -1,   516,    -1,    -1,    -1,
     3185     843,    -1,     0,    -1,    70,    59,    -1,    -1,    -1,    75,
     3186      -1,    77,    78,    79,    42,    -1,    -1,    -1,   409,  1026,
     3187    1027,    -1,    88,    89,   867,   473,    -1,    -1,    -1,    -1,
     3188    1037,    -1,   423,    -1,    -1,    -1,    34,   428,    -1,    -1,
     3189      -1,    -1,    70,    -1,    -1,   436,    -1,    75,   114,    -1,
     3190      28,    79,   106,    -1,    -1,   109,   122,   123,    -1,   579,
     3191      88,    89,   453,    -1,    -1,    -1,    -1,    -1,   516,    -1,
     3192      -1,    -1,    70,   916,    10,    11,    12,    13,    14,    -1,
     3193     471,  1042,   473,    -1,    -1,    -1,   114,    -1,    -1,    -1,
     3194      -1,    -1,    -1,    -1,   122,   123,    -1,    -1,  1105,    -1,
     3195      -1,    -1,   622,   623,    -1,    83,    42,    -1,    -1,    -1,
     3196      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   638,    -1,
     3197      98,    -1,   100,   966,   967,   516,   969,   970,    -1,    -1,
     3198      -1,   579,    -1,    -1,    70,    -1,    -1,   657,    -1,    75,
     3199      -1,    77,    78,    79,   987,    -1,    -1,    -1,   668,    -1,
     3200      -1,    -1,    88,    89,    -1,    -1,   154,    -1,    -1,    -1,
     3201     214,  1168,   682,    -1,    -1,   685,    -1,    -1,    -1,    -1,
     3202      -1,    -1,    -1,    -1,   622,   623,    -1,    -1,   114,    -1,
     3203     116,    -1,    -1,  1026,  1027,    -1,   122,   123,   579,    -1,
     3204     638,  1198,    -1,  1200,    -1,    -1,    -1,    -1,  1205,    -1,
     3205      -1,    -1,    -1,    -1,    -1,    -1,   726,  1347,   262,   187,
     3206     188,    -1,    -1,    -1,   192,    -1,   194,   195,    -1,    -1,
     3207      -1,  1182,    -1,    -1,    -1,    -1,  1233,    -1,    -1,    -1,
     3208      -1,   622,   623,    -1,  1241,  1242,  1243,   685,    -1,    -1,
     3209      -1,    -1,   762,   241,    -1,  1252,  1253,   638,   246,    -1,
     3210      -1,    -1,   772,   773,    -1,    -1,    -1,  1264,   778,    -1,
     3211    1400,    -1,  1105,   783,    -1,    -1,   657,    -1,    -1,    -1,
     3212      -1,    -1,    -1,    -1,    -1,    -1,    -1,   668,    -1,    -1,
     3213      -1,    -1,    -1,    -1,    -1,    -1,   340,    -1,    -1,    -1,
     3214      -1,   682,    -1,    -1,   685,    -1,    -1,  1304,    -1,    -1,
     3215      -1,    -1,    -1,   357,    -1,    -1,    -1,   361,    -1,    -1,
     3216      10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
     3217      -1,    -1,    -1,   843,    -1,  1168,    -1,    -1,  1289,    -1,
     3218      -1,    -1,    -1,    -1,    -1,   726,    -1,    -1,    -1,    -1,
     3219      -1,  1348,    42,    -1,    -1,   343,    -1,   867,    -1,    -1,
     3220      -1,    -1,    -1,    -1,    -1,  1198,    -1,  1200,    -1,    -1,
    31693221      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3170     1163,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,    -1,
     3222      70,   762,    -1,    -1,    -1,    75,    -1,    -1,  1385,    79,
     3223      -1,   772,   773,    -1,    -1,    -1,    -1,   778,    88,    89,
     3224    1233,    -1,   783,    -1,    -1,   843,   916,    -1,  1241,  1242,
     3225    1243,    -1,    -1,    -1,  1411,  1412,    -1,    -1,    -1,  1252,
     3226    1253,   409,    -1,    -1,   114,    -1,    -1,    -1,    -1,   867,
     3227     398,  1264,   122,   123,    -1,   423,    -1,  1434,    -1,    -1,
     3228     428,    -1,    -1,    -1,  1441,    55,    -1,    57,   436,    -1,
     3229      60,    61,    62,    -1,    -1,    -1,   966,   967,    -1,   969,
     3230     970,    -1,   843,    -1,   902,   453,    -1,    77,    -1,    10,
     3231      11,    12,    13,    14,    -1,    -1,    -1,   987,    88,    89,
     3232      -1,    -1,    -1,   471,    -1,   473,   867,    -1,    -1,    -1,
     3233      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1494,    -1,    -1,
     3234      -1,    42,    -1,    -1,  1501,    -1,    -1,    -1,    -1,    -1,
     3235      -1,    -1,    -1,    -1,    -1,  1348,  1026,  1027,    -1,    -1,
     3236      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   516,    70,
     3237      -1,   969,   970,    -1,    75,   916,    77,    78,    79,    -1,
     3238      -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,   987,
     3239      -1,    -1,  1385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3240      -1,    -1,    -1,    -1,    -1,   609,    -1,    -1,    -1,    -1,
     3241      -1,    -1,   182,   114,    -1,    -1,    -1,    -1,  1411,    -1,
     3242     624,   122,   123,    -1,    -1,   966,   967,    -1,   969,   970,
     3243      -1,   579,    -1,   637,    -1,  1105,   564,   565,    -1,    -1,
     3244      -1,  1434,    -1,    -1,    -1,    -1,   987,    -1,  1441,    -1,
    31713245      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3172       -1,  1230,  1231,   239,    -1,    -1,  1189,    -1,   244,    -1,
    3173       -1,    -1,    -1,  1242,   771,    -1,    -1,    -1,    -1,    10,
    3174       11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
    3175      938,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3176       -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
    3177       -1,    42,    -1,    -1,    -1,  1284,    -1,  1030,   670,    -1,
    3178      672,    -1,    -1,    -1,    -1,    -1,    -1,   679,   680,    -1,
    3179       -1,    -1,   684,    -1,    -1,    -1,    -1,    -1,  1182,    70,
    3180       -1,    -1,    -1,    -1,    75,   938,    77,    78,    79,    -1,
    3181      702,    -1,    -1,  1322,  1323,   707,    -1,    88,    89,    -1,
    3182       -1,  1284,    -1,    -1,   340,    -1,    -1,    -1,   395,    -1,
    3183       -1,    -1,    -1,    -1,   726,    -1,    -1,  1346,    -1,    -1,
    3184       -1,    -1,    -1,   114,    -1,   116,  1230,  1231,  1357,    -1,
    3185       -1,   122,   123,    -1,    -1,    -1,    -1,     0,     1,    -1,
    3186       -1,    -1,    -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,
    3187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1387,    -1,
     3246      -1,    -1,    -1,   591,    -1,    -1,   594,   595,    -1,   597,
     3247      -1,   599,   600,    -1,   622,   623,   604,   605,    -1,    -1,
     3248      -1,    -1,    -1,    -1,    -1,  1026,  1027,    -1,    -1,    -1,
     3249     638,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1168,    -1,
     3250      -1,  1494,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   657,
     3251      -1,    -1,    -1,    -1,   642,    -1,    -1,    -1,   646,    -1,
     3252     668,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1198,    -1,
     3253    1200,    -1,    -1,    -1,   682,    -1,    -1,   685,    -1,    -1,
     3254      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3255      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3256      27,    28,    29,  1233,  1105,    -1,   336,    -1,   338,    -1,
     3257    1168,  1241,  1242,  1243,    -1,    42,    -1,    -1,   726,   349,
     3258     350,    -1,  1252,  1253,    -1,    -1,    -1,    -1,    -1,    -1,
     3259      -1,    -1,    -1,    -1,  1264,    -1,    -1,    -1,    -1,    40,
     3260      41,    -1,    43,    70,    -1,    -1,    -1,  1205,    -1,    -1,
     3261      -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,    -1,    -1,
     3262      -1,    -1,    -1,    -1,   772,   773,    -1,  1168,    69,    -1,
     3263     778,    -1,    -1,    -1,    75,   783,    -1,    -1,    79,   843,
     3264      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3265      91,    92,    -1,    -1,  1252,  1253,    -1,  1198,    -1,  1200,
     3266      -1,    -1,    -1,    -1,    -1,    -1,  1264,    -1,    -1,    -1,
     3267      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,  1348,    -1,
     3268      -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
     3269      -1,    -1,  1233,    -1,   135,   843,    -1,    -1,    -1,    -1,
     3270    1241,  1242,  1243,    -1,    -1,    -1,  1304,    -1,    -1,    -1,
     3271      -1,  1252,  1253,    -1,    -1,  1385,    -1,    -1,    -1,   867,
     3272      -1,    -1,    -1,  1264,    -1,    -1,    -1,    -1,    -1,    -1,
    31883273      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3189      406,    34,    -1,    -1,    -1,    -1,  1405,    -1,    -1,    -1,
    3190       -1,   938,    -1,  1412,   420,  1414,    -1,  1416,    51,   425,
    3191       -1,    -1,    -1,  1166,    -1,    -1,    -1,   433,    -1,    -1,
    3192       -1,    -1,    -1,    -1,  1387,    -1,    69,   819,    -1,   821,
    3193      822,   823,    -1,    -1,   450,    -1,    -1,    -1,    -1,  1448,
    3194       -1,    -1,    -1,    -1,  1453,    -1,  1455,    -1,   840,    -1,
    3195       -1,  1414,   468,  1416,   470,    -1,    -1,    -1,    -1,    -1,
    3196       -1,   104,  1471,    -1,   856,    -1,    -1,    -1,  1477,  1478,
    3197       -1,    -1,    -1,  1357,    -1,    -1,    -1,    -1,    -1,    -1,
    3198       -1,    -1,    -1,    -1,    -1,  1494,    -1,   879,    -1,    -1,
    3199     1453,    -1,  1455,   560,   561,    -1,    -1,   513,  1507,    -1,
    3200      143,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,   152,
    3201       -1,    -1,    -1,    -1,    -1,    -1,  1269,    -1,    -1,    -1,
    3202      587,    -1,   914,   590,   591,    -1,   593,   919,   595,   596,
    3203       -1,  1494,   924,   600,   601,    -1,   179,   929,   930,    -1,
    3204       -1,    -1,   934,    -1,   936,   937,    -1,    -1,   940,    -1,
    3205       -1,    -1,   195,    -1,    -1,   198,   199,   949,    -1,   575,
    3206      203,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3207       -1,   638,    -1,   965,   966,   642,    -1,    -1,    -1,    -1,
    3208       -1,   224,    -1,    -1,    -1,   228,    -1,   230,    -1,    -1,
    3209      233,    -1,    -1,    -1,    42,    -1,   239,    -1,    -1,    -1,
    3210       -1,   244,   618,   619,    -1,   997,    -1,    -1,  1000,    -1,
    3211       -1,   254,    -1,    -1,    -1,    -1,    -1,    -1,   634,   262,
    3212       -1,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,
    3213       78,    79,    -1,    -1,  1322,    -1,    -1,   653,    -1,    -1,
    3214       88,    89,    -1,    -1,    -1,    -1,    -1,    -1,   664,    -1,
     3274      -1,  1411,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1347,
     3275    1348,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3276      -1,    -1,    -1,    -1,  1434,    -1,    -1,    -1,   916,    -1,
     3277      -1,  1441,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3278      -1,    -1,    -1,    -1,    -1,    -1,   990,  1385,    -1,   993,
     3279     994,   995,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3280      -1,    -1,  1400,    -1,    -1,    -1,    -1,  1348,    -1,    -1,
     3281     938,    -1,    -1,    -1,  1412,    -1,    -1,    -1,   966,   967,
     3282      -1,   969,   970,    -1,  1494,    -1,   954,    -1,    -1,   957,
     3283     958,    -1,    -1,    -1,    -1,    -1,  1434,    -1,    -1,   987,
     3284      -1,    -1,    -1,  1441,  1385,    10,    11,    12,    13,    14,
     3285      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3286      25,    26,    27,    28,    29,    30,    -1,    -1,    -1,    -1,
     3287    1411,    -1,    -1,    -1,    -1,    -1,    -1,    42,  1026,  1027,
    32153288      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3216       -1,  1053,   678,    -1,    -1,   681,   114,  1059,  1060,    -1,
    3217       -1,    -1,    -1,    -1,   122,   123,  1068,    -1,    -1,    -1,
    3218       -1,  1073,    -1,    -1,  1372,    -1,  1078,   330,    -1,  1322,
    3219       -1,   334,    -1,    -1,    -1,    -1,    -1,   340,    -1,  1091,
    3220       -1,    -1,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,
    3221      353,    -1,    -1,    -1,   357,  1107,    -1,  1109,  1110,  1111,
    3222     1112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3223       -1,    -1,  1124,    -1,  1126,    -1,    -1,    -1,    -1,  1372,
    3224      756,    -1,    -1,    -1,    10,    11,    12,    13,    14,     0,
    3225      766,   767,    -1,    -1,    -1,    -1,   772,    -1,    -1,    -1,
    3226       -1,   777,    -1,   406,    -1,    -1,  1158,  1159,    -1,    -1,
    3227       -1,    -1,    -1,    -1,    -1,    -1,    42,   420,    -1,    -1,
    3228       -1,    -1,   425,    34,    -1,  1322,    -1,    -1,    -1,    -1,
    3229      433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3230       -1,    -1,    -1,    -1,    70,    -1,    -1,   450,    -1,    75,
    3231      453,    77,    78,    79,    -1,    -1,    -1,    -1,    69,    -1,
    3232       -1,   837,    88,    89,    -1,   468,    -1,   470,    -1,    -1,
    3233     1222,  1223,    -1,    -1,    -1,  1372,    -1,    -1,    -1,   482,
    3234     1232,    -1,    -1,   486,    -1,   861,    -1,    -1,   114,    -1,
    3235      116,    -1,    -1,    -1,    -1,    -1,   122,   123,   925,    -1,
     3289      -1,    -1,    -1,  1434,    -1,    -1,  1494,    -1,    -1,    -1,
     3290    1441,  1029,    -1,    -1,   674,    70,   676,    -1,    -1,    -1,
     3291      -1,    -1,    -1,   683,   684,    -1,    81,    -1,   688,  1047,
     3292    1048,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3293      -1,    -1,    -1,    -1,    -1,    -1,   706,    -1,    -1,    -1,
     3294      -1,   711,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3295      -1,    -1,    -1,  1494,    -1,    -1,    -1,  1105,    -1,    -1,
     3296      -1,    -1,   732,    -1,  1168,    -1,    -1,    -1,    -1,    -1,
     3297      -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,
     3298      40,    41,  1110,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     3299      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3300      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3301      -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,
     3302    1168,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3303      -1,    91,    92,    -1,    -1,    -1,    -1,   113,    -1,    -1,
     3304      -1,   117,  1170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3305    1198,    -1,  1200,    -1,   114,   825,   116,   827,   828,   829,
     3306      -1,  1189,   122,   123,   124,   125,   126,   127,   144,    -1,
     3307      -1,    -1,    -1,    -1,    -1,    -1,   846,    -1,   154,  1283,
     3308      -1,   157,    -1,    -1,    -1,  1233,    -1,    -1,    -1,    -1,
     3309      -1,    -1,   862,  1241,  1242,  1243,    -1,    -1,    -1,    -1,
     3310      -1,    -1,    -1,    -1,  1252,  1253,    -1,    -1,    -1,    -1,
     3311      -1,    -1,    -1,    -1,    -1,   885,  1264,    -1,    -1,    -1,
     3312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   205,
     3313      -1,    -1,    -1,    -1,    -1,  1339,    -1,    -1,  1342,    -1,
     3314      -1,   217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3315      -1,    -1,    -1,    -1,    -1,    -1,    -1,   927,    -1,    -1,
     3316      -1,  1289,   932,    -1,  1368,    -1,    -1,   937,    -1,    -1,
     3317      -1,    -1,   942,   943,    -1,    -1,    -1,   947,   254,   949,
     3318     950,    -1,    -1,   953,    -1,   261,    -1,    -1,    -1,  1393,
     3319      -1,    -1,   962,    -1,  1398,    -1,    -1,    -1,    -1,    -1,
     3320    1348,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   978,   979,
     3321      -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3322      -1,    -1,    -1,    -1,  1428,   301,    -1,    -1,    -1,    -1,
     3323      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1385,    -1,  1009,
     3324      -1,    -1,  1012,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    32363325      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3237      513,    -1,    -1,    -1,   941,    -1,    -1,   944,   945,    -1,
    3238       -1,    -1,    -1,    -1,    -1,    -1,    -1,   903,    -1,    -1,
     3326      -1,   337,    -1,  1411,    -1,    -1,   342,    -1,    -1,    -1,
    32393327      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3240       -1,   152,    -1,    -1,  1296,    -1,  1298,  1299,  1300,    -1,
    3241       58,    -1,    -1,    -1,   557,    -1,    -1,    -1,  1310,    -1,
    3242       -1,    -1,    -1,    -1,    -1,    -1,  1318,    -1,    -1,  1321,
    3243       -1,   574,   575,    -1,    -1,    -1,    -1,   953,   954,    -1,
    3244      956,   957,    -1,   586,    -1,    -1,    -1,    -1,    -1,    -1,
    3245     1017,    -1,    -1,    -1,    -1,    -1,  1348,   105,   974,    -1,
    3246      108,   604,    -1,  1030,    -1,    -1,   609,    -1,  1035,  1036,
    3247       -1,    -1,   615,    -1,    -1,   618,   619,    -1,    -1,    -1,
    3248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,    -1,
    3249       -1,   634,    -1,   244,    -1,    -1,    -1,    -1,  1014,  1015,
    3250     1392,  1393,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3251      653,    -1,    -1,  1405,    -1,    -1,    -1,    -1,    -1,    -1,
    3252     1412,   664,    -1,    -1,    -1,  1092,    -1,    -1,    -1,     0,
    3253       -1,    -1,    -1,    -1,    -1,   678,    -1,  1429,   681,    -1,
    3254       -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,    -1,    -1,
    3255      693,    -1,    -1,    -1,    -1,  1447,    -1,    -1,    -1,  1451,
    3256       -1,    -1,    -1,    34,   212,    -1,    -1,    -1,    -1,    -1,
    3257       -1,  1087,    -1,    -1,    -1,    -1,    -1,   720,    -1,    -1,
    3258       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1154,    -1,   340,
    3259       -1,    -1,  1484,    -1,  1486,    -1,    -1,    -1,    69,    -1,
    3260       -1,    -1,    -1,    -1,    -1,    -1,  1173,    -1,    -1,    -1,
    3261       -1,    -1,   260,   756,    -1,    -1,    -1,    -1,    10,    11,
    3262       12,    13,    14,   766,   767,    -1,   769,    -1,    -1,   772,
    3263       -1,    -1,  1524,  1525,   777,    -1,  1152,    -1,    -1,    -1,
    3264       -1,    -1,    -1,    -1,   787,  1537,  1538,    -1,    -1,    -1,
    3265       42,    -1,    -1,    -1,    -1,   406,    -1,    -1,    -1,    -1,
    3266       -1,    -1,    -1,    -1,    -1,    -1,  1182,    -1,  1184,   420,
    3267       -1,    -1,    -1,    -1,   425,    -1,    -1,    -1,    70,    -1,
    3268       -1,   152,   433,    75,    -1,    77,    78,    79,    28,   337,
    3269       -1,    -1,    -1,    -1,   837,  1211,    88,    89,    -1,   450,
    3270       -1,    -1,  1269,  1219,  1220,  1221,   354,    -1,    -1,    -1,
    3271      358,    -1,    -1,    -1,  1230,  1231,    -1,   468,   861,   470,
    3272       -1,    -1,   114,    -1,    -1,    -1,  1242,    -1,    -1,    -1,
    3273      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,   881,    -1,
    3274       -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3275       -1,    -1,   895,   896,    -1,    -1,    -1,    97,    -1,    99,
    3276      903,    -1,   513,    -1,    -1,    -1,    -1,    -1,   239,    -1,
    3277       -1,    -1,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,
     3328      -1,    -1,    -1,    -1,    -1,    -1,  1434,  1491,    -1,    -1,
     3329      -1,    -1,  1496,  1441,    -1,  1065,    -1,    -1,    -1,    -1,
     3330      -1,  1071,  1072,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3331      -1,  1515,    -1,  1517,    -1,    -1,  1086,  1521,    -1,    -1,
     3332    1524,  1091,    -1,    -1,    -1,    -1,  1096,    -1,  1532,    -1,
     3333      -1,    -1,  1536,    -1,    -1,    -1,    -1,    -1,    -1,  1109,
     3334      -1,   417,   418,    -1,    -1,    -1,  1494,   423,    -1,    -1,
     3335      -1,    -1,    -1,    -1,    -1,  1125,    -1,  1127,  1128,  1129,
     3336    1130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   444,    -1,
     3337      -1,    -1,  1142,    -1,  1144,    -1,    -1,    -1,    -1,    -1,
    32783338      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3279       -1,    -1,   935,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3280       -1,    -1,    -1,    -1,    -1,   948,    -1,  1323,    -1,     0,
    3281      953,   954,    -1,   956,   957,    -1,    -1,    -1,    -1,    -1,
    3282       -1,    -1,    -1,    -1,   575,    -1,    -1,    -1,    -1,    -1,
    3283       -1,   974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3284       -1,  1357,    -1,    34,    -1,   185,   186,    -1,    -1,    -1,
    3285      190,    -1,   192,   193,    -1,    -1,    -1,    -1,    -1,    -1,
    3286       -1,    -1,    -1,    -1,    -1,    -1,    -1,   618,   619,   340,
    3287     1386,  1014,  1015,    -1,    -1,    -1,    -1,    -1,    69,    -1,
    3288       -1,    -1,  1025,   634,    -1,    -1,    -1,    -1,    -1,  1405,
    3289       -1,    -1,    -1,    -1,    -1,    -1,  1412,    -1,    -1,    -1,
    3290       -1,    -1,   653,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291       -1,    -1,    -1,   664,    -1,    -1,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,    -1,    -1,   678,    -1,    -1,
    3293      681,    -1,    -1,    -1,    -1,   406,    -1,    -1,    -1,    -1,
    3294       -1,    -1,    -1,    -1,  1087,    -1,    -1,    -1,    -1,   420,
    3295       -1,    -1,    -1,    -1,   425,  1471,    -1,   605,    -1,    -1,
    3296       -1,   152,   433,    -1,    -1,    -1,    -1,    -1,    -1,   720,
    3297       -1,    -1,   620,    -1,    -1,    -1,    -1,    -1,    -1,   450,
    3298       -1,    -1,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
    3299       -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,    -1,   470,
    3300       -1,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,  1152,
    3301       -1,    -1,    -1,    -1,    -1,   766,   767,    -1,    -1,    -1,
    3302       -1,   772,    -1,    -1,    -1,    -1,   777,    -1,    -1,    -1,
    3303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1182,
    3304       -1,  1184,   513,    -1,    -1,    -1,  1189,    -1,   239,    -1,
    3305       -1,    -1,    -1,   244,    -1,   395,    -1,    -1,     7,    -1,
    3306       -1,    10,    11,    12,    13,    14,    -1,    -1,  1211,    -1,
    3307       -1,    -1,    -1,    -1,    -1,    -1,  1219,  1220,  1221,    -1,
    3308       -1,    -1,    -1,    -1,    -1,    -1,   837,  1230,  1231,    -1,
    3309       -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,  1242,
    3310       -1,    -1,    -1,    -1,   575,    -1,    -1,    -1,    -1,    -1,
    3311      861,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3312       69,    70,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
    3313       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3314       89,  1284,    91,    92,    -1,    -1,    -1,   618,   619,   340,
    3315       -1,    -1,   903,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3316       -1,    -1,    -1,   634,    -1,   114,    -1,   116,    -1,    -1,
    3317       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3318     1323,    -1,   653,    -1,    -1,    -1,    -1,    -1,    -1,   837,
    3319       -1,    -1,    -1,   664,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,   953,   954,    -1,   956,   957,   678,    -1,    -1,
    3321      681,    -1,    -1,    -1,  1357,   406,    -1,    -1,    -1,    -1,
    3322      560,   561,    -1,   974,    -1,    -1,    -1,    -1,    -1,   420,
    3323       -1,    -1,    -1,    -1,   425,    -1,    -1,    -1,    -1,    -1,
    3324       -1,    -1,   433,  1386,  1387,    -1,    -1,   587,    -1,   720,
    3325      590,   591,    -1,   593,    -1,   595,   596,    -1,    -1,   450,
    3326      600,   601,  1405,  1014,  1015,    40,    41,    -1,    43,  1412,
    3327       -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,    -1,   470,
    3328       -1,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,    -1,    69,   766,   767,    -1,   638,    -1,
    3330       75,   772,   642,    -1,    79,    -1,   777,    82,    83,    84,
    3331       85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    3332       -1,    -1,   513,    -1,    -1,    -1,    -1,    -1,  1471,   977,
    3333       -1,    -1,   980,   981,   982,  1478,  1087,    -1,    -1,   114,
    3334       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3335      125,   126,   127,    -1,    -1,    51,    -1,    -1,    -1,    -1,
    3336      135,    -1,    -1,    -1,    -1,    -1,   837,    -1,    -1,    -1,
    3337       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3338       -1,    -1,    -1,    -1,   575,    -1,    -1,    -1,    -1,    -1,
    3339      861,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340       -1,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3341       -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,    -1,    -1,
    3342      116,    -1,    -1,    -1,    -1,    -1,    -1,   618,   619,    -1,
    3343       -1,  1182,   903,  1184,    -1,    -1,    -1,    -1,    -1,    -1,
    3344       -1,    -1,    -1,   634,    -1,    -1,   142,    -1,    -1,    -1,
    3345       -1,    -1,    -1,    -1,    -1,    -1,   152,    -1,    -1,   155,
    3346     1211,    -1,   653,    -1,    -1,    -1,    -1,    -1,  1219,  1220,
    3347     1221,    -1,    -1,   664,    -1,    -1,    -1,    -1,    -1,  1230,
    3348     1231,    -1,   953,   954,    -1,   956,   957,   678,    -1,    -1,
    3349      681,  1242,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3350       -1,    -1,    -1,   974,  1152,    -1,    -1,   203,    -1,    -1,
    3351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   215,
    3352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   720,
     3339      -1,    -1,    -1,    -1,    -1,   471,    -1,    -1,    -1,    -1,
     3340      -1,    -1,    -1,    -1,  1174,  1175,    -1,    67,    -1,    -1,
     3341      -1,   487,    -1,    -1,    -1,    -1,    76,    -1,    78,    -1,
     3342      80,    -1,    -1,   499,    -1,   501,    86,    -1,   504,    -1,
     3343     506,   507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3344     516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3345      -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,    -1,   119,
     3346     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3347      -1,    -1,    -1,    -1,  1244,  1245,    -1,    -1,    -1,    -1,
     3348      -1,    -1,    -1,    -1,  1254,    -1,    -1,    -1,    -1,    -1,
     3349      -1,    -1,   568,    -1,    -1,    -1,    -1,   157,    -1,    -1,
     3350      -1,    -1,    -1,   579,    -1,    -1,   582,    -1,    -1,    -1,
     3351      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3352      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3353      28,    29,   608,    -1,    32,    33,    34,   613,    -1,    -1,
     3354      -1,    -1,    -1,    -1,    42,    -1,   622,   623,    -1,    -1,
     3355      -1,  1321,    -1,  1323,  1324,  1325,    -1,   217,    -1,   219,
     3356     220,   221,   638,    -1,    -1,  1335,    -1,    -1,    -1,    -1,
     3357      -1,    -1,    70,  1343,    -1,    -1,  1346,    75,    -1,    77,
     3358      78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,
     3359      88,    89,    -1,    -1,   254,   671,    -1,    -1,    -1,    -1,
     3360      -1,    -1,    -1,    -1,    -1,    -1,  1376,    -1,    -1,   685,
     3361      -1,   687,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3362      -1,    -1,    -1,    -1,   122,   123,    10,    11,    12,    13,
     3363      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3364      24,    25,    26,    27,    28,    29,    30,    28,    -1,    -1,
     3365     726,  1421,  1422,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     3366      -1,    -1,    -1,   323,  1434,    -1,    -1,    -1,    46,    -1,
     3367      -1,  1441,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3368      -1,  1451,   342,    -1,    -1,    -1,    70,   347,   348,    -1,
     3369      -1,    -1,    -1,    -1,    -1,   355,    -1,    81,    -1,    -1,
     3370      -1,   777,    83,    -1,  1474,    -1,    -1,    -1,  1478,    -1,
     3371      -1,    -1,    -1,    91,    -1,    -1,    -1,    98,    -1,   100,
     3372      -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3373      -1,    -1,    -1,    -1,    -1,   395,    -1,  1507,    -1,  1509,
     3374      -1,    -1,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,
     3375      -1,    -1,    -1,    -1,    -1,   415,    -1,    -1,    -1,    -1,
     3376     420,    -1,   422,    -1,    -1,    -1,    -1,    -1,  1538,  1539,
     3377      -1,    -1,    -1,    -1,    -1,    -1,  1546,  1547,   438,    -1,
     3378      -1,   441,   442,    -1,    -1,    -1,    -1,    -1,   448,    -1,
     3379     168,   867,    -1,    -1,    -1,    -1,   872,    -1,    -1,    -1,
     3380      -1,    -1,   462,    -1,   185,    -1,   187,   188,    -1,   469,
     3381      -1,   192,   190,   194,   195,    -1,    -1,    -1,    -1,    -1,
     3382      -1,    -1,    -1,    -1,    -1,    -1,   204,   903,    -1,    -1,
     3383      -1,    -1,    -1,    -1,    -1,   213,    -1,    -1,    -1,    -1,
     3384     916,    -1,    -1,    -1,    -1,   223,    -1,    -1,    -1,    -1,
     3385      -1,     7,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3386      -1,    -1,    -1,    -1,   242,    -1,    -1,    -1,    -1,   247,
     3387      -1,    -1,   948,    -1,    -1,    -1,    -1,   258,    -1,    -1,
     3388      -1,    -1,   260,    -1,    40,    41,    42,    43,    -1,    -1,
     3389     268,    -1,   270,   969,   970,    -1,    -1,    -1,    -1,    -1,
    33533390      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3354       -1,    -1,    -1,  1014,  1015,    -1,    -1,    -1,    -1,    -1,
    3355       -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,    -1,    -1,
    3356       -1,    -1,    -1,   259,    -1,   756,    -1,    -1,    -1,    -1,
    3357       -1,    -1,  1323,    -1,    -1,   766,   767,    -1,    -1,    -1,
    3358       -1,   772,    -1,    -1,    -1,   925,   777,    -1,    -1,    -1,
    3359      286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3360       -1,   941,   298,    -1,   944,   945,  1357,    -1,    -1,    -1,
    3361       -1,    -1,    -1,    -1,    -1,  1263,  1087,    -1,    -1,    -1,
     3391      -1,   289,    -1,    69,    70,    -1,    -1,    -1,    -1,    75,
     3392      -1,    -1,   582,    79,    -1,    -1,    82,    83,    84,    85,
     3393      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
    33623394      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3363       -1,    -1,    -1,    -1,    -1,  1386,    -1,    -1,   334,    -1,
    3364       -1,    -1,    -1,   339,    -1,    -1,   837,    -1,    -1,    -1,
    3365       -1,    -1,    -1,    -1,  1405,    -1,    -1,    -1,    -1,    -1,
    3366       -1,  1412,    -1,    -1,    -1,    -1,  1314,    -1,    -1,  1317,
    3367      861,    -1,    -1,    -1,    -1,    -1,    -1,  1017,    -1,    -1,
    3368       -1,  1152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3369       -1,    -1,    -1,    -1,    -1,  1035,  1036,  1345,    -1,    -1,
     3395     610,    -1,    -1,   331,    -1,   615,    -1,   335,   114,    -1,
     3396     116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
     3397     126,   127,    -1,    -1,    -1,    -1,  1052,    -1,    -1,    -1,
     3398      -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,    -1,   367,
     3399     368,    -1,   370,    -1,    -1,    -1,    -1,    -1,    -1,   377,
     3400     378,    -1,   380,   381,    -1,   383,    -1,   385,    -1,    -1,
     3401      -1,    -1,    -1,   673,    -1,    -1,    -1,   398,    -1,    -1,
     3402      -1,    -1,    -1,    -1,   402,    -1,    -1,   687,    -1,  1105,
     3403      -1,    -1,   410,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    33703404      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,  1182,   903,  1184,    -1,    -1,    -1,  1365,   414,   415,
    3372     1471,    -1,  1370,    -1,   420,    -1,    -1,    -1,    -1,    -1,
     3405      -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
    33733406      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3374     1211,    -1,    -1,    -1,    -1,   441,    -1,    -1,  1219,  1220,
    3375     1221,  1399,  1092,    -1,    -1,    -1,    -1,    -1,    -1,  1230,
    3376     1231,    -1,   953,   954,    -1,   956,   957,    -1,    -1,    -1,
    3377       -1,  1242,   468,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3378       -1,    -1,    -1,   974,    66,    -1,    -1,    -1,   484,    -1,
    3379       -1,    -1,    -1,    75,    -1,    77,    -1,    79,    -1,    -1,
    3380      496,    -1,   498,    85,    -1,   501,    -1,   503,   504,    -1,
    3381       -1,    -1,    -1,    -1,  1154,    -1,    -1,   513,    -1,    -1,
    3382     1468,    -1,    -1,  1014,  1015,  1473,    -1,    -1,    -1,    -1,
    3383       -1,    -1,    -1,  1173,   116,    -1,   118,   119,   120,    -1,
    3384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1496,    -1,
    3385     1498,    -1,  1323,    -1,  1502,    -1,    -1,  1505,    -1,    -1,
    3386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   564,    -1,
    3387     1518,    -1,    -1,   155,  1522,    -1,    -1,    -1,    -1,   575,
    3388       -1,    -1,   578,    -1,    -1,    -1,  1357,    -1,    -1,    -1,
    3389       -1,    -1,    -1,    -1,    -1,    -1,  1087,    -1,    -1,    -1,
    3390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   604,    -1,
    3391       -1,    -1,    -1,   609,    -1,  1386,    -1,    -1,    -1,    -1,
    3392       -1,    -1,   618,   619,    -1,    -1,    -1,    -1,    -1,  1269,
    3393       -1,    -1,    -1,   215,  1405,   217,   218,   219,   634,    -1,
    3394       -1,  1412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3407     153,   154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3408      -1,   459,    -1,    -1,    -1,    -1,    -1,   465,    -1,    -1,
     3409      -1,    -1,   470,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,   185,  1179,    -1,    -1,   766,    -1,    -1,   192,
     3411      -1,    -1,    -1,    -1,    -1,    -1,    -1,   777,    -1,    40,
     3412      41,    -1,    43,    -1,  1200,    -1,    -1,    -1,    -1,    -1,
     3413      -1,    -1,   510,    -1,   794,    -1,    -1,    -1,    -1,    -1,
     3414      -1,    -1,    -1,    -1,    -1,   523,    -1,    -1,    69,    -1,
     3415      -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
     3416      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3417      91,    92,    -1,    -1,    -1,   258,  1252,  1253,    -1,    -1,
     3418      -1,    -1,   560,   564,   565,    -1,    -1,    -1,    -1,    -1,
     3419      -1,   569,    -1,   114,   572,   116,    -1,   118,   119,    -1,
     3420      -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    -1,
     3421     591,   589,    -1,   594,   595,    -1,   597,    -1,   599,   600,
     3422      -1,    -1,    -1,   604,   605,    -1,    -1,    -1,    -1,    -1,
     3423      -1,   891,    -1,    -1,   317,    -1,    -1,    -1,    -1,    -1,
     3424      -1,    -1,    -1,   326,   327,    -1,   329,   330,    -1,   627,
     3425      -1,    -1,    -1,    -1,   337,    -1,    -1,    -1,   341,    -1,
     3426      -1,   642,    -1,    -1,    -1,   646,    -1,    -1,    -1,    -1,
     3427      -1,  1347,    -1,    -1,    -1,    -1,    -1,   360,    -1,    -1,
     3428      -1,    -1,    -1,    -1,    -1,    -1,   664,    -1,    -1,    -1,
     3429      -1,   951,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3430      -1,    -1,   962,    -1,   387,    -1,    -1,    -1,   391,  1385,
     3431      -1,    -1,    -1,   691,    -1,    -1,    -1,    -1,    -1,    -1,
     3432      -1,    -1,    -1,    -1,  1400,    -1,    -1,    -1,    -1,   707,
     3433     708,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3434     423,   719,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3435      -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,    -1,    -1,
     3436     738,    -1,    -1,    -1,    -1,    -1,    -1,  1443,    -1,  1445,
    33953437      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       -1,  1152,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
    3397      252,   667,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3398       -1,    -1,    -1,    -1,    -1,   681,    -1,   683,    -1,    -1,
    3399       -1,  1182,    -1,  1184,    -1,    -1,    -1,    -1,    -1,    -1,
    3400     1471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3438      -1,    -1,    -1,    -1,    -1,   468,    -1,    -1,   471,    -1,
     3439      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1058,    -1,
     3440      -1,    -1,    -1,    -1,  1480,    -1,  1482,    -1,    -1,    -1,
    34013441      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3402     1211,    -1,    -1,    -1,   720,    -1,    -1,    -1,  1219,  1220,
    3403     1221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   320,  1230,
    3404     1231,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,
    3405       -1,  1242,    -1,    -1,    46,    -1,    -1,   339,    -1,    -1,
    3406       -1,    -1,   344,   345,    -1,    -1,    -1,    -1,    -1,    -1,
    3407      352,    69,    -1,    -1,    -1,   771,    -1,    75,    -1,    77,
    3408       78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
    3409       88,    89,    -1,    91,    92,    -1,    -1,    -1,    90,    -1,
    3410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
    3411      392,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    3412      118,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
    3413      412,    -1,  1323,    -1,    -1,   417,    -1,   419,    -1,    -1,
     3442     798,    -1,    -1,    -1,    -1,    -1,    -1,   805,    -1,    -1,
     3443      -1,    -1,    -1,   516,    -1,  1511,    -1,    -1,    -1,    -1,
     3444     818,    -1,   820,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3445      -1,    -1,    -1,    -1,    -1,   833,    -1,    -1,    -1,    -1,
     3446      -1,   839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3447      -1,    -1,   850,    -1,    -1,    -1,   854,   560,   561,   144,
     3448      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   154,
     3449      -1,    -1,    -1,    -1,    -1,   578,   579,    -1,    -1,    -1,
     3450     165,   166,    -1,    -1,    -1,   588,    -1,   590,   591,    -1,
     3451      -1,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,    -1,
     3452      -1,    -1,    -1,    -1,   607,   608,    -1,  1187,    -1,    -1,
     3453     613,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,
     3454     623,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3455      -1,    -1,    -1,    -1,    -1,   638,    -1,   938,    -1,   642,
     3456     643,    -1,    -1,   646,   647,    -1,    -1,    -1,   946,    -1,
     3457      -1,    -1,   655,   954,    -1,    -1,   957,   958,    -1,    -1,
     3458      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,
    34143459      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3415       -1,    -1,    -1,   435,    -1,    -1,   438,   439,    -1,    -1,
    3416       -1,    -1,    -1,   445,    -1,   861,  1357,    -1,    -1,    -1,
    3417      866,    -1,    -1,    -1,   166,    -1,    -1,   459,    -1,    -1,
    3418       -1,    -1,    -1,    -1,   466,    -1,    -1,    -1,    -1,    -1,
    3419       -1,    -1,    -1,    -1,    -1,  1386,   188,    -1,    -1,    -1,
    3420       -1,   897,    -1,    -1,    -1,    -1,    -1,   903,    -1,    -1,
    3421      202,    -1,    -1,    -1,  1405,    -1,    -1,    -1,    -1,   211,
    3422       -1,  1412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   221,
    3423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   935,
    3424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,    -1,
    3425       -1,    -1,    -1,   245,    -1,    -1,    -1,    -1,    -1,    -1,
    3426      956,   957,    -1,    -1,    -1,    -1,   258,    -1,    -1,    -1,
    3427       -1,    -1,    -1,    -1,   266,    -1,   268,    -1,    -1,    -1,
    3428     1471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3429       -1,    -1,    -1,    -1,    -1,   287,   578,    -1,    10,    11,
    3430       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3431       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3432       32,    33,    34,    -1,   606,    -1,    -1,    -1,    -1,   611,
    3433       42,    -1,    -1,    -1,    -1,    -1,   328,    -1,    -1,    -1,
    3434      332,    -1,    -1,    -1,  1040,    -1,    -1,    -1,    -1,    -1,
    3435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3436       -1,    -1,    -1,    75,    -1,    77,    78,    79,   360,    -1,
    3437       -1,    -1,   364,   365,    -1,   367,    88,    89,    -1,    -1,
    3438       -1,    -1,   374,   375,    -1,   377,   378,   669,   380,    -1,
    3439      382,  1087,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,
    3440       -1,   683,   114,    -1,   116,    -1,    -1,   399,    -1,   152,
    3441      122,   123,    -1,    -1,    -1,   407,    -1,    -1,    -1,    -1,
    3442      163,   164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   431,
    3444       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3445       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3446       30,    -1,    -1,    -1,   456,    -1,    -1,  1163,    -1,    -1,
    3447      462,    -1,    42,    -1,    -1,   467,    -1,    -1,   760,    -1,
    3448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,   771,
     3460      -1,    -1,   685,   686,    10,    11,    12,    13,    14,    15,
     3461      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3462      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     3463      -1,    -1,    -1,    -1,  1012,    -1,    42,    43,    -1,    -1,
     3464      -1,    -1,    -1,   726,    -1,    -1,    -1,    -1,  1029,    -1,
    34493465      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3450       70,    40,    41,    -1,    43,    -1,   788,    -1,   251,    -1,
    3451       -1,    81,    -1,    -1,    -1,   507,    -1,    -1,    -1,    -1,
    3452       -1,    -1,    -1,    -1,    -1,    -1,    -1,   519,    -1,    -1,
    3453       69,    -1,    -1,    -1,  1230,  1231,    75,    -1,    -1,    -1,
    3454       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3455       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3456       -1,    -1,    -1,    -1,   556,    -1,    -1,    -1,    -1,    -1,
    3457       -1,    -1,    -1,   565,    -1,   114,   568,   116,    -1,    -1,
    3458      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3459       -1,    -1,    -1,   585,    -1,    -1,    -1,    -1,    -1,    -1,
    3460       -1,    -1,    -1,   885,    10,    11,    12,    13,    14,    15,
    3461       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3462       26,    27,    28,    29,    30,   368,  1322,    -1,    -1,    -1,
    3463       -1,   623,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,
    3464      151,   152,    -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,
    3465      275,   276,    -1,    -1,    -1,    -1,   938,    -1,    -1,   284,
    3466      285,  1357,    -1,    -1,    70,    -1,    -1,   949,   660,    -1,
    3467       -1,    -1,   183,   298,   299,    81,  1372,    -1,    -1,   190,
     3466      -1,  1042,    -1,    -1,    70,    -1,  1047,  1048,    -1,    -1,
     3467      -1,    77,    78,    -1,    -1,    -1,  1054,    -1,    -1,    -1,
     3468      -1,  1059,    -1,   766,    -1,    -1,    -1,  1347,    -1,    -1,
     3469      -1,  1069,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   782,
     3470      -1,   784,    -1,    -1,    -1,    -1,   371,    -1,    -1,    -1,
     3471     116,   794,    -1,    -1,   120,    -1,   122,   123,    -1,    -1,
     3472      -1,  1099,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1110,
     3473      -1,    -1,    -1,    -1,  1112,    -1,    -1,    -1,  1116,    -1,
     3474    1400,  1119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3475      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1135,  1136,    -1,
    34683476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3469       -1,    -1,    -1,    -1,    -1,   687,    -1,    -1,   441,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   334,
    3471       -1,   703,   704,    -1,    -1,    -1,    -1,   460,  1414,    -1,
    3472     1416,   713,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3473       -1,    -1,    -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,
    3474      732,    -1,    -1,    -1,   369,   256,    -1,    -1,    -1,    -1,
    3475       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1453,    -1,  1455,
    3476      503,    -1,    -1,    -1,  1046,    -1,    -1,    -1,    -1,    -1,
    3477      513,    -1,    -1,    -1,    -1,   518,    -1,    -1,   521,    -1,
     3477      -1,    -1,    -1,    -1,    -1,  1153,    -1,    -1,    -1,   444,
     3478      -1,    -1,    -1,    -1,   867,    -1,    -1,    -1,    -1,  1170,
     3479      -1,   874,    -1,    -1,    -1,    -1,    -1,    -1,   463,    -1,
     3480      -1,    -1,    -1,   886,   887,    -1,    -1,    -1,  1189,    -1,
    34783481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3479       -1,   534,    -1,    -1,    -1,    -1,    -1,    -1,  1494,    -1,
    3480      792,    -1,    -1,   314,    -1,    -1,    -1,   799,    -1,    -1,
    3481       -1,    -1,   323,   324,    -1,   326,   327,    -1,    -1,    -1,
    3482      812,   564,   814,   334,    -1,    -1,    -1,   338,   571,    -1,
    3483       -1,    -1,   575,    -1,    -1,   827,    -1,    -1,    -1,    -1,
    3484       -1,   833,    -1,    -1,    -1,    -1,   357,    -1,    -1,    -1,
    3485       -1,    -1,   844,    -1,    -1,    -1,   848,    -1,    -1,    -1,
    34863482      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3487       -1,    -1,    -1,   384,    -1,    -1,    -1,   388,   621,    -1,
    3488       -1,    -1,    -1,    -1,    -1,    -1,   629,    -1,    -1,  1171,
     3483      -1,    -1,    -1,   916,    -1,    -1,    -1,    -1,    -1,    -1,
     3484      -1,   506,    -1,    -1,  1222,    -1,    -1,    -1,    -1,    -1,
     3485      -1,   516,    -1,    -1,    -1,   938,   939,   522,    -1,    -1,
     3486     525,    -1,    -1,    -1,    -1,   948,  1526,   274,    -1,   276,
     3487     277,   954,   955,   538,   957,   958,   959,    -1,    -1,   286,
     3488     287,    -1,    -1,    -1,    -1,    -1,   969,   970,    -1,    -1,
     3489      -1,    -1,    -1,    -1,   301,   302,    -1,    -1,    -1,    -1,
     3490      -1,    -1,    -1,   568,    -1,    -1,    -1,    -1,  1289,    -1,
     3491     575,    -1,    -1,    -1,   579,    -1,    -1,    -1,    -1,    -1,
     3492      -1,  1299,    -1,  1301,    -1,    -1,    -1,    -1,    -1,    -1,
     3493     337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1316,    -1,
     3494    1318,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3495    1033,    -1,  1035,    -1,  1037,  1333,    -1,    -1,    -1,  1042,
     3496     625,    -1,    -1,    -1,    -1,   372,    -1,    -1,   633,    -1,
     3497      -1,    -1,    -1,  1351,  1352,  1058,    -1,    -1,    -1,    -1,
     3498      -1,    -1,    -1,    -1,  1362,    -1,    -1,    -1,    -1,  1367,
     3499      -1,    -1,  1370,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3500      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
     3501      -1,    43,    -1,  1391,    -1,    -1,    -1,    -1,    -1,    -1,
     3502      -1,    -1,  1105,  1401,    -1,    -1,  1404,    -1,  1406,  1407,
     3503    1408,    -1,    -1,   698,    -1,    -1,    -1,    69,    -1,    -1,
     3504      -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,   714,
     3505      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     3506      92,   726,    -1,   728,    -1,    -1,   731,    -1,    -1,  1447,
     3507      -1,  1449,   737,    -1,  1452,    -1,    -1,    -1,    -1,    -1,
     3508      -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,  1467,
     3509     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,  1182,
     3510      -1,    -1,    -1,    -1,  1187,    -1,    -1,    -1,    -1,    -1,
     3511      -1,    -1,   777,   778,    -1,    -1,    -1,  1200,    -1,    -1,
     3512      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   793,    -1,
     3513      -1,    -1,    -1,    -1,   541,   542,   543,   544,   545,   546,
     3514     547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
     3515     557,   558,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3516      -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,    -1,  1252,
     3517    1253,   836,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3518       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3519      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3520      29,    -1,   867,    32,    33,    34,  1289,  1290,    -1,    -1,
     3521    1293,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
    34893522      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   420,
    3491       -1,    -1,   537,   538,   539,   540,   541,   542,   543,   544,
    3492      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
     3523      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   903,    -1,
     3524      -1,    70,    -1,    72,    -1,    74,    75,    -1,    77,    78,
     3525      79,   916,    -1,    -1,    -1,    -1,    -1,    -1,   923,    88,
     3526      89,    -1,    -1,   928,    -1,     7,   931,    -1,    10,    11,
     3527      12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3528      -1,    -1,    -1,    -1,    -1,   114,   951,   116,    -1,    -1,
     3529      -1,    -1,    -1,   122,   123,    -1,   703,   962,    40,    41,
     3530      42,    43,  1385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3531      -1,    -1,    -1,    -1,    -1,    -1,    -1,   982,    -1,   984,
     3532      -1,    -1,    -1,   730,    -1,    -1,    -1,    69,    70,    -1,
     3533      -1,    -1,    -1,    75,   999,  1000,    -1,    79,    -1,    -1,
     3534      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
     3535      92,    -1,    -1,   760,    -1,    -1,    -1,    -1,    -1,    -1,
     3536    1025,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,
     3537      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3538     122,   123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,
     3539      -1,    69,  1475,    -1,    -1,    -1,    -1,    75,    -1,    -1,
     3540      -1,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     3541      88,    89,    -1,    91,    92,    -1,    -1,  1500,  1501,  1084,
    34933542      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3494       -1,   933,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3495       -1,   694,    -1,    -1,   465,    -1,    -1,   468,    -1,    -1,
    3496       -1,    -1,    -1,    -1,    -1,    -1,    -1,   710,    -1,    -1,
    3497       -1,    -1,    -1,    -1,    -1,    40,    41,   720,    43,   722,
    3498       -1,    -1,   725,    -1,    -1,    -1,    -1,    -1,   731,    -1,
    3499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3500       -1,    -1,   513,    -1,    69,    -1,    -1,    -1,  1000,    -1,
    3501       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
    3502       85,    86,    87,    88,    89,    -1,    91,    92,   771,   772,
    3503       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3504     1322,    -1,    -1,    -1,   787,   556,   557,    -1,    -1,   114,
    3505     1042,   116,    -1,    -1,    -1,  1047,   121,   122,   123,   124,
    3506      125,   126,   127,   574,   575,  1057,    -1,    -1,    -1,    -1,
    3507       -1,    -1,    -1,   584,   699,   586,   587,    -1,    -1,    -1,
    3508       -1,    -1,   593,   826,    -1,    -1,    -1,   830,    -1,  1081,
    3509     1372,    -1,   603,   604,    -1,    -1,    -1,    -1,   609,   724,
    3510       -1,    -1,  1094,    -1,    -1,    -1,  1098,   618,   619,  1101,
    3511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   861,    -1,
    3512       -1,    -1,    -1,   634,    -1,  1117,  1118,   638,   639,   754,
    3513       -1,   642,   643,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3514      651,    -1,    -1,  1135,    -1,    -1,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,   897,    -1,    -1,    -1,    -1,    -1,
    3516      903,    -1,    -1,    -1,    -1,    -1,    -1,   910,    -1,    -1,
    3517      681,   682,   915,    -1,    -1,   918,    -1,    -1,    -1,    -1,
    3518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3519       -1,    -1,    -1,    -1,    -1,   938,    -1,    -1,    -1,    -1,
    3520       -1,    -1,    -1,    -1,    -1,    -1,   949,    -1,  1200,   720,
    3521       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3522       -1,    -1,    -1,    -1,    -1,  1507,   969,    -1,   971,    -1,
    3523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3524       -1,    -1,    -1,   986,   987,    -1,    -1,    -1,    -1,   760,
    3525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526       -1,    -1,    -1,    -1,    -1,   776,    -1,   778,    -1,    -1,
    3527     1013,    -1,    -1,    -1,    -1,    -1,    -1,   788,    -1,    -1,
    3528       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1279,    -1,  1281,
    3529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   923,  1291,
    3530       -1,  1293,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3531      935,    -1,    -1,    -1,    -1,    -1,  1308,    -1,    -1,    -1,
    3532       -1,    -1,    -1,  1066,    -1,    -1,    -1,    -1,    -1,    -1,
    3533       -1,    -1,    -1,    -1,  1326,  1327,    -1,    -1,    -1,    -1,
    3534       -1,    -1,    -1,    -1,  1087,    -1,    -1,  1339,    -1,   974,
    3535      861,    -1,  1344,    -1,    -1,  1347,    -1,   868,    -1,    -1,
    3536       -1,    -1,  1105,  1106,    -1,    -1,    -1,    -1,    -1,   880,
    3537      881,  1363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3538       -1,  1373,    -1,    -1,  1376,    -1,  1378,  1379,  1380,    -1,
    3539       -1,    -1,   903,    -1,    -1,    -1,    -1,    -1,    -1,  1024,
    3540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3541       -1,    -1,    -1,    -1,   925,   926,    -1,    -1,    -1,    -1,
    3542       -1,    -1,    -1,    -1,   935,    -1,  1418,    -1,  1420,    -1,
    3543      941,   942,    -1,   944,   945,   946,    -1,    -1,  1430,    -1,
    3544       -1,    -1,    -1,    -1,    -1,   956,   957,    -1,  1440,    -1,
     3543      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3544    1105,   119,    -1,  1526,   122,   123,   124,   125,   126,   127,
     3545      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1123,  1124,
    35453546      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
    35463547       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    35473548      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3548       25,    26,    27,    28,    29,    30,    -1,    32,    33,    34,
    3549       35,    -1,    -1,    -1,    39,  1120,  1121,    42,    -1,    -1,
     3549      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3550      35,    -1,    -1,   910,    39,    40,    41,    42,    43,    -1,
    35503551      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3551     1021,    -1,  1023,  1256,  1025,    -1,    -1,  1260,    -1,  1030,
    3552       -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,    74,
    3553       -1,    -1,    77,    78,    -1,  1046,    81,    -1,    -1,    -1,
    3554       -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
     3552      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   936,
     3553      -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,    74,
     3554      75,   948,    77,    78,    79,    -1,    -1,    82,    83,    84,
     3555      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
     3556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3557      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3558     987,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
     3559     125,   126,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3560      -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3561      -1,    -1,    -1,  1278,    -1,  1280,    -1,    -1,    -1,    -1,
     3562      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1036,
     3563      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
     3564       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3565      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3566      27,    28,    29,    -1,    -1,    32,    33,    34,    35,    -1,
     3567      -1,  1078,    39,    40,    41,    42,    43,    44,    -1,    46,
     3568      -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56,
     3569      -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,    -1,
     3570      67,    -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,
     3571      77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
     3572      87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
     3573      -1,  1138,  1139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3574      -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
     3575      -1,    -1,   119,    -1,    -1,   122,   123,   124,   125,   126,
     3576     127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,
     3577     137,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
    35553578      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    35563579      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3557       -1,   116,    32,    33,    34,    35,  1087,   122,   123,    39,
    3558       40,    41,    42,    43,    44,    -1,    46,    -1,    -1,    49,
    3559       50,    51,    52,    53,    54,    55,    56,    -1,    -1,    -1,
    3560       60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,
    3561       70,    -1,    72,    -1,    74,    75,    -1,    77,    78,    79,
     3580      -1,    -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,
     3581      40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     3582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3583      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3584      70,    -1,    72,    -1,    74,    75,  1511,    77,    78,    79,
    35623585      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
    35633586      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35643587      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3565       -1,    -1,    -1,    -1,   114,  1166,   116,    -1,    -1,   119,
    3566     1171,    -1,   122,   123,   124,   125,   126,   127,    -1,    -1,
    3567       -1,    -1,   132,  1184,    -1,    -1,    -1,   137,    -1,    -1,
    3568       -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
     3588      -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3589      -1,    -1,   122,   123,   124,   125,   126,   127,    -1,    -1,
     3590      -1,    -1,    -1,    -1,    -1,     4,     5,     6,     7,     8,
     3591       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3592      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3593      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     3594      -1,    40,    41,    42,    43,    10,    11,    12,    13,    14,
     3595      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3596      25,    26,    27,    28,    29,    -1,  1373,    32,    33,    34,
     3597      69,    70,    -1,    72,    -1,    74,    75,    42,    77,    78,
     3598      79,    -1,  1389,    82,    83,    84,    85,    86,    87,    88,
     3599      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
     3600      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
     3601      -1,    -1,    77,    78,    -1,   114,    -1,   116,    -1,    -1,
     3602      -1,    -1,   121,   122,   123,   124,   125,   126,   127,     4,
     3603       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3604      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3605      25,    26,    27,    28,    29,  1462,  1463,    32,    33,    34,
     3606      -1,    -1,    -1,    -1,    -1,    40,    41,    42,    43,    10,
     3607      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3608      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3609      -1,    32,    33,    34,    69,    70,    -1,    72,    -1,    74,
     3610      75,    42,    77,    78,    79,    -1,    -1,    82,    83,    84,
     3611      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
     3612      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,
     3614      -1,   116,    -1,    -1,    -1,    -1,   121,   122,   123,   124,
     3615     125,   126,   127,     4,     5,     6,     7,     8,     9,    10,
     3616      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3617      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3618      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
     3619      41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3620      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3621      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
     3622      -1,    72,    -1,    74,    75,    -1,    77,    78,    79,    -1,
     3623      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3624      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3625      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3626      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
     3627      -1,   122,   123,   124,   125,   126,   127,     4,     5,     6,
    35693628       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    35703629      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3571       27,    28,    29,    -1,    -1,    32,    33,    34,    35,  1230,
    3572     1231,    -1,    39,    -1,    -1,    42,    -1,    -1,    -1,    -1,
    3573       -1,    -1,    -1,    -1,    -1,    -1,  1361,    -1,    -1,    -1,
     3630      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3631      -1,    -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,
    35743632      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3575       -1,  1494,    -1,    70,    -1,    72,    -1,    74,  1269,  1270,
    3576       77,    78,  1273,    -1,    -1,     3,     4,     5,     6,     7,
    3577        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3578       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3579       28,    29,    -1,    -1,    32,    33,    34,    -1,  1423,   116,
    3580       -1,    -1,    -1,    -1,    42,   122,   123,    -1,    -1,    -1,
    3581     1435,  1436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35823633      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3583       -1,    -1,    70,  1458,    72,    -1,    74,    -1,    -1,    77,
    3584       78,    -1,    -1,    -1,    -1,    -1,  1357,    -1,    -1,    -1,
     3634      -1,    -1,    69,    70,    -1,    72,    -1,    74,    75,    -1,
     3635      77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
     3636      87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
     3637      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3638      -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
     3639      -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
     3640     127,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3641      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3642      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3643      33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
     3644      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3645      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3646      -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,
     3647      -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,    82,
     3648      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
     3649      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3650      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3651      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3652     123,   124,   125,   126,   127,     0,    -1,    -1,     3,     4,
     3653       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3654      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3655      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3656      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    -1,
     3657      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3658      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3659      -1,    -1,    67,    -1,    -1,    70,    -1,    72,    -1,    74,
     3660      75,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
     3662      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3663      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3664      -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,     3,
     3665       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3666      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3667      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3668      34,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
     3669      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3670      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3671      -1,    -1,    -1,    67,    -1,    -1,    70,    -1,    72,    -1,
     3672      74,    75,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
     3673      -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,
     3674      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3676     114,    -1,   116,    -1,    -1,    -1,   120,    -1,   122,   123,
    35853677       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    35863678      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3587       23,    24,    25,    26,    27,    28,    29,    -1,   116,    32,
    3588       33,    34,    35,    -1,   122,   123,    39,    40,    41,    42,
     3679      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3680      33,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
    35893681      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3590       -1,    -1,    -1,    -1,    -1,  1530,    -1,    -1,    -1,    -1,
    3591       -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,
    3592       -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,    82,
    3593       83,    84,    85,    86,    87,    88,    89,  1448,    91,    92,
     3682      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3683      -1,    -1,    -1,    -1,    67,    -1,    -1,    70,    -1,    72,
     3684      -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,    -1,
     3685      -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
    35943686      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35953687      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       -1,   114,    -1,   116,    -1,    -1,  1477,  1478,    -1,   122,
    3597      123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,    -1,
    3598       -1,    -1,    -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,
    3599       -1,    -1,    -1,    -1,    -1,    -1,  1507,     3,     4,     5,
    3600        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3601       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3602       26,    27,    28,    29,    -1,    -1,    32,    33,    34,    35,
    3603       -1,    -1,    -1,    39,    40,    41,    42,    43,    10,    11,
     3688      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
     3689     123,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3690      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3691      22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
     3692      32,    33,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,
     3693      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3694      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3695      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3696      72,    -1,    74,    -1,    -1,    77,    78,    -1,    -1,    81,
     3697       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3698      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3699      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3700      33,    34,    35,    -1,   116,    -1,    39,    -1,    -1,    42,
     3701     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3702      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3703      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     3704      -1,    74,    -1,    -1,    77,    78,     3,     4,     5,     6,
     3705       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3706      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3707      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3708      -1,    -1,    -1,   116,    -1,    42,    -1,    -1,    -1,   122,
     3709     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3710      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3712      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
    36043713      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    36053714      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3606       32,    33,    34,    69,    70,    -1,    72,    -1,    74,    75,
    3607       42,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
    3608       86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
     3715      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3716      42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3717      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36093718      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
    3610       -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,    -1,
    3611      116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
    3612      126,   127,     4,     5,     6,     7,     8,     9,    10,    11,
     3719      72,    -1,    74,    75,    -1,    77,    78,    79,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,
     3721      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3722      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3723      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3724     122,   123,     4,     5,     6,     7,     8,     9,    10,    11,
    36133725      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    36143726      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
    3615       32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
    3616       42,    43,    10,    11,    12,    13,    14,    15,    16,    17,
     3727      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3728      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3729      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3730      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3731      72,    -1,    74,    -1,    -1,    77,    78,     4,     5,     6,
     3732       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3733      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3734      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3735      -1,    -1,    -1,   115,   116,    42,    -1,    -1,    -1,    -1,
     3736     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3738      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3739      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3740      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3741      -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3742      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3743      -1,    -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,
     3744       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3745      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3746      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3747      -1,    -1,    -1,    -1,    -1,    42,    -1,    10,    11,    12,
     3748      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3749      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3750      33,    34,    -1,    70,    -1,    72,    -1,    74,    -1,    42,
     3751      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3752      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3753      -1,    -1,    -1,    -1,   101,    -1,    -1,    70,    -1,    -1,
     3754      -1,    -1,    -1,    -1,    77,    78,    -1,    -1,    -1,   116,
     3755      -1,    -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,
     3756       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3757      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3758      27,    28,    29,   116,    -1,    32,    33,    34,    -1,   122,
     3759     123,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
     3760      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3761      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3762      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3763      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     3764      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3765      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3766      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3767      42,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3768      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3769      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     3770      72,    -1,    74,    -1,    -1,    77,    78,     4,     5,     6,
     3771       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3772      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3773      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3774      -1,    -1,    -1,    -1,   116,    42,    -1,    -1,    -1,    -1,
     3775     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3776      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3777      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     3778      77,    78,    10,    11,    12,    13,    14,    15,    16,    17,
    36173779      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3618       28,    29,    -1,    -1,    32,    33,    34,    69,    70,    -1,
    3619       72,    -1,    74,    75,    42,    77,    78,    79,    -1,    -1,
     3780      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3781      -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,   116,
     3782      -1,    -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,
     3783      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3784      -1,    69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,
     3785      78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
     3786      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
     3787      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3788      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
     3789      -1,   119,    -1,    -1,   122,   123,   124,   125,   126,   127,
     3790      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3791      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3792      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
     3793      40,    41,    42,    43,    10,    11,    12,    13,    14,    15,
     3794      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3795      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    69,
     3796      70,    -1,    -1,    -1,    -1,    75,    42,    77,    78,    79,
     3797      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3798      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3799      -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
     3800      -1,    77,    78,    -1,   114,   115,   116,    -1,    -1,    -1,
     3801      -1,    -1,   122,   123,   124,   125,   126,   127,    10,    11,
     3802      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3803      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3804      32,    33,    34,    -1,    -1,    -1,   122,   123,    40,    41,
     3805      42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3806      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3807      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    -1,
     3808      -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,
    36203809      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    36213810      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3622       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
    3623       78,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,   121,
    3624      122,   123,   124,   125,   126,   127,     4,     5,     6,     7,
    3625        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3626       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3627       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
    3628       -1,    -1,    40,    41,    42,    43,    10,    11,    12,    13,
    3629       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3630       24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
    3631       -1,    69,    70,    -1,    72,    -1,    74,    75,    42,    77,
    3632       78,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
    3633       88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
    3634       -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
    3635       -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    3636       -1,    -1,    -1,   121,   122,   123,   124,   125,   126,   127,
    3637        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3811      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3812      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
     3813     122,   123,   124,   125,   126,   127,    10,    11,    12,    13,
    36383814      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    36393815      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     
    36413817      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36423818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3643       -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    72,    -1,
    3644       74,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
     3819      -1,    -1,    -1,    -1,    -1,    69,    70,    -1,    -1,    -1,
     3820      -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,    83,
    36453821      84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    36463822      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36473823      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36483824     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    3649      124,   125,   126,   127,     4,     5,     6,     7,     8,     9,
    3650       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3651       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3652       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3653       40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
    3654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
    3656       70,    -1,    72,    -1,    74,    75,    -1,    77,    78,    79,
    3657       -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
    3658       -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3660       -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
    3661       -1,    -1,   122,   123,   124,   125,   126,   127,     4,     5,
    3662        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3825     124,   125,   126,   127,    10,    11,    12,    13,    14,    15,
    36633826      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    36643827      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     
    36663829      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36673830      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3668       -1,    -1,    -1,    69,    70,    -1,    72,    -1,    74,    75,
     3831      -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    -1,    75,
    36693832      -1,    77,    78,    79,    -1,    -1,    82,    83,    84,    85,
    36703833      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
     
    36723835      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    36733836     116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
    3674      126,   127,     0,    -1,    -1,     3,     4,     5,     6,     7,
    3675        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3837     126,   127,     3,     4,     5,     6,     7,     8,     9,    10,
     3838      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3839      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3840      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
     3841      -1,    42,    10,    11,    12,    13,    14,    15,    16,    17,
    36763842      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3677       28,    29,    -1,    -1,    32,    33,    34,    35,    -1,    -1,
    3678       -1,    39,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
    3679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3681       -1,    -1,    70,    -1,    72,    -1,    74,    75,    -1,    77,
    3682       78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3843      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,
     3844      -1,    72,    -1,    74,    42,    -1,    77,    78,    -1,    -1,
     3845      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3846      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3847      28,    29,    70,    -1,    32,    33,    34,    75,    -1,    77,
     3848      78,    79,    -1,    -1,    42,    -1,    -1,    -1,   119,    -1,
    36833849      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36843850      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    3686       -1,    -1,    -1,    -1,   122,   123,     3,     4,     5,     6,
     3851      -1,    -1,    70,    -1,    -1,    -1,   114,    75,   116,    77,
     3852      78,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     3853      88,    89,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3854      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3855      23,    24,    25,    26,    27,    28,    29,    -1,   116,    32,
     3856      33,    34,    -1,    -1,   122,   123,    -1,    -1,    -1,    42,
     3857      43,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3858      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3859      23,    24,    25,    26,    27,    28,    29,    70,    -1,    32,
     3860      33,    34,    -1,    -1,    77,    78,    -1,    -1,    -1,    42,
     3861      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3862      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3863      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
     3864      -1,    -1,    -1,   116,    77,    78,    -1,   120,    -1,   122,
     3865     123,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3866      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3867      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3868      -1,    -1,    -1,   116,    42,    -1,    -1,   120,    -1,   122,
     3869     123,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3870      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3871      28,    29,    70,    -1,    32,    33,    34,    -1,    -1,    77,
     3872      78,    -1,    -1,    -1,    42,    10,    11,    12,    13,    14,
     3873      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3874      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3875      -1,    -1,    70,    -1,    -1,    -1,    -1,    42,   116,    77,
     3876      78,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     3877      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3878      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
     3879      -1,    -1,    77,    78,    -1,    -1,    -1,    -1,   116,    -1,
     3880      -1,    -1,    -1,    -1,   122,   123,    -1,    -1,    -1,    -1,
     3881      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3882      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3883      -1,   116,    32,    33,    34,    -1,    -1,   122,   123,    -1,
     3884      -1,    -1,    42,    10,    11,    12,    13,    14,    15,    16,
     3885      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3886      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3887      70,    -1,    -1,    -1,    -1,    42,    -1,    77,    78,    -1,
     3888      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3889      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3890      -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
     3891      77,    78,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,
     3892      -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
     3893      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,
     3895      -1,    -1,    -1,    -1,    -1,   122,   123,     4,     5,     6,
    36873896       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    36883897      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3689       27,    28,    29,    -1,    -1,    32,    33,    34,    35,    -1,
    3690       -1,    -1,    39,    -1,    -1,    42,    43,    -1,    -1,    -1,
     3898      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3899      -1,    -1,    -1,    -1,    -1,    42,    -1,    40,    41,    -1,
     3900      43,    44,    -1,    46,    -1,    -1,    49,    50,    51,    52,
     3901      53,    54,    55,    56,    -1,    -1,    59,    60,    -1,    -1,
     3902      -1,    64,    65,    70,    67,    72,    69,    74,    -1,    -1,
     3903      77,    78,    75,    -1,    77,    78,    79,    -1,    -1,    82,
     3904      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
     3905      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3906      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,
     3907      -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,
     3908     123,   124,   125,   126,   127,    -1,    -1,    40,    41,   132,
     3909      43,    44,    -1,    46,   137,    -1,    49,    50,    51,    52,
     3910      53,    54,    55,    56,    -1,    -1,    -1,    60,    -1,    -1,
     3911      -1,    64,    65,    -1,    67,    -1,    69,    -1,    -1,    -1,
     3912      -1,    -1,    75,    -1,    77,    78,    79,    -1,    -1,    82,
     3913      83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    36913914      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36923915      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       67,    -1,    -1,    70,    -1,    72,    -1,    74,    75,    -1,
    3694       77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3695       -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3697       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3698       -1,    -1,    -1,   120,    -1,   122,   123,     3,     4,     5,
    3699        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3700       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3701       26,    27,    28,    29,    -1,    -1,    32,    33,    34,    35,
    3702       -1,    -1,    -1,    39,    -1,    -1,    42,    43,    -1,    -1,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3705       -1,    67,    -1,    -1,    70,    -1,    72,    -1,    74,    75,
    3706       -1,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,    -1,
    3707       -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    3710      116,    -1,    -1,    -1,    -1,    -1,   122,   123,     3,     4,
    3711        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3712       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3713       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    10,
    3715       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3716       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3717       -1,    32,    33,    34,    -1,    70,    -1,    72,    -1,    74,
    3718       75,    42,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
    3719       -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3721       -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,
    3722       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,     4,
    3723        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3724       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3725       25,    26,    27,    28,    29,   116,    -1,    32,    33,    34,
    3726       -1,   122,   123,    -1,    -1,    -1,    -1,    42,    -1,    10,
    3727       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3728       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3729       -1,    32,    33,    34,    -1,    70,    -1,    72,    -1,    74,
    3730       75,    42,    77,    78,    79,    -1,    -1,    -1,    -1,    -1,
    3731       -1,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3733       -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,   114,
    3734       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,     4,
    3735        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3736       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3737       25,    26,    27,    28,    29,   116,    -1,    32,    33,    34,
    3738       -1,   122,   123,    -1,    -1,    -1,    -1,    42,    -1,    -1,
    3739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3741       -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,    74,
    3742       -1,    -1,    77,    78,     4,     5,     6,     7,     8,     9,
    3743       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3744       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3745       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3746      115,   116,    42,    -1,    -1,    -1,    -1,   122,   123,    -1,
    3747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3749       70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,    -1,
    3750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3752       -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3753       -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,
    3754       -1,    -1,   122,   123,     4,     5,     6,     7,     8,     9,
    3755       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3756       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3757       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3758       -1,    -1,    42,    -1,    10,    11,    12,    13,    14,    15,
    3759       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3760       26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
    3761       70,    -1,    72,    -1,    74,    -1,    42,    77,    78,    -1,
    3762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3764       -1,   101,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
    3765       -1,    77,    78,    -1,    -1,    -1,   116,    -1,    -1,    -1,
    3766       -1,    -1,   122,   123,     4,     5,     6,     7,     8,     9,
    3767       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3768       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3769      116,    -1,    32,    33,    34,    -1,   122,   123,    -1,    -1,
    3770       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3773       70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,     4,
    3774        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3775       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3776       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3777       -1,    -1,    -1,    -1,    -1,    -1,   116,    42,    -1,    -1,
    3778       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3780       -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,    74,
    3781       -1,    -1,    77,    78,     4,     5,     6,     7,     8,     9,
    3782       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3783       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3784       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3785       -1,   116,    42,    -1,    -1,    -1,    -1,   122,   123,    -1,
    3786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3788       70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,    10,
    3789       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3790       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3791       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    40,
    3792       41,    42,    43,    -1,    -1,    -1,   116,    -1,    -1,    -1,
    3793       -1,    -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
    3794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
    3795       -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3796       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3797       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3799       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3800       -1,   122,   123,   124,   125,   126,   127,    10,    11,    12,
    3801       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3802       23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
    3803       33,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
    3804       43,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3916      -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,   122,
     3917     123,   124,   125,   126,   127,    -1,    -1,    -1,    -1,   132,
     3918      -1,    -1,    -1,    -1,   137,     4,     5,     6,     7,     8,
     3919       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38053920      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3806       29,    -1,    -1,    32,    33,    34,    69,    70,    -1,    -1,
    3807       -1,    -1,    75,    42,    77,    78,    79,    -1,    -1,    82,
    3808       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3810       -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78,
    3811       -1,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3812      123,   124,   125,   126,   127,    10,    11,    12,    13,    14,
    3813       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3814       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3815       -1,    -1,    -1,   122,   123,    40,    41,    42,    43,    -1,
    3816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3818       -1,    -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    -1,
     3921      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     3922      -1,    -1,    -1,    42,    -1,    40,    41,    -1,    43,    44,
     3923      -1,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     3924      55,    56,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,
     3925      65,    70,    67,    72,    69,    74,    -1,    -1,    77,    78,
     3926      75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
     3927      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
     3928      -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3929      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
     3930      -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,   124,
     3931     125,   126,   127,    -1,    -1,    40,    41,   132,    43,    44,
     3932      -1,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     3933      55,    56,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,
     3934      65,    -1,    67,    -1,    69,    -1,    -1,    -1,    -1,    -1,
    38193935      75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
    38203936      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    38213937      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38223938      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    3823       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3824      125,   126,   127,    10,    11,    12,    13,    14,    15,    16,
    3825       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3826       27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
    3827       -1,    -1,    -1,    40,    41,    42,    43,    -1,    -1,    -1,
    3828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3830       -1,    -1,    69,    70,    -1,    -1,    -1,    -1,    75,    -1,
    3831       77,    78,    79,    -1,    -1,    82,    83,    84,    85,    86,
    3832       87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,
    3833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3834       -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,
    3835       -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,
    3836      127,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3837       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3838       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    3839       -1,    40,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3842       69,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3843       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3844       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3846       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3847       -1,    -1,    -1,   122,   123,   124,   125,   126,   127,     3,
    3848        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3849       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3850       24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    3851       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    10,
    3852       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3853       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3854       -1,    32,    33,    34,    -1,    -1,    70,    -1,    72,    -1,
    3855       74,    42,    -1,    77,    78,    -1,    -1,    -1,    -1,    10,
    3856       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3857       21,    22,    23,    24,    25,    26,    27,    28,    29,    70,
    3858       -1,    32,    33,    34,    75,    -1,    77,    78,    79,    -1,
    3859       -1,    42,    -1,    -1,    -1,   119,    -1,    88,    89,    -1,
    3860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
    3862       -1,    -1,    -1,   114,    75,   116,    77,    78,    -1,    -1,
    3863       -1,   122,   123,    -1,    -1,    -1,    -1,    88,    89,    -1,
    3864       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3865       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3866       26,    27,    28,    29,    -1,   116,    32,    33,    34,    -1,
    3867       -1,   122,   123,    -1,    -1,    -1,    42,    43,    -1,    -1,
    3868       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3869       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3870       26,    27,    28,    29,    70,    -1,    32,    33,    34,    -1,
    3871       -1,    77,    78,    -1,    -1,    -1,    42,    43,    -1,    -1,
    3872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3874       -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
    3875      116,    77,    78,    -1,   120,    -1,   122,   123,    -1,    10,
    3876       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3877       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
    3878       -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
    3879      116,    42,    43,    -1,   120,    -1,   122,   123,    -1,    10,
    3880       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3881       21,    22,    23,    24,    25,    26,    27,    28,    29,    70,
    3882       -1,    32,    33,    34,    -1,    -1,    77,    78,    -1,    -1,
    3883       -1,    42,    10,    11,    12,    13,    14,    15,    16,    17,
    3884       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3885       28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    70,
    3886       -1,    -1,    -1,    -1,    42,   116,    77,    78,    -1,   120,
    3887       -1,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
    3890       78,    -1,    -1,    -1,    -1,   116,    -1,    -1,    -1,    -1,
    3891       -1,   122,   123,    -1,    -1,    -1,    -1,    10,    11,    12,
    3892       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3893       23,    24,    25,    26,    27,    28,    29,    -1,   116,    32,
    3894       33,    34,    -1,    -1,   122,   123,    -1,    -1,    -1,    42,
    3895       -1,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3896       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3897       23,    24,    25,    26,    27,    28,    29,    70,    -1,    32,
    3898       33,    34,    -1,    -1,    77,    78,    -1,    -1,    -1,    42,
    3899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3900       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
    3902       -1,    74,    -1,   116,    77,    78,    -1,    -1,    -1,   122,
    3903      123,    40,    41,    -1,    43,    44,    -1,    46,    -1,    -1,
    3904       49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
    3905       59,    60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,
    3906       69,    -1,   115,    -1,    -1,    -1,    75,    -1,    77,    78,
    3907       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3908       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3910       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3911      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3912       -1,    40,    41,   132,    43,    44,    -1,    46,   137,    -1,
    3913       49,    50,    51,    52,    53,    54,    55,    56,    -1,    -1,
    3914       -1,    60,    -1,    -1,    -1,    64,    65,    -1,    67,    -1,
    3915       69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    77,    78,
    3916       79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
    3917       89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
    3918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3919       -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
    3920      119,    -1,    -1,   122,   123,   124,   125,   126,   127,    -1,
    3921       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,   137,     4,
    3922        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3923       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3924       25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
    3925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    40,
    3926       41,    -1,    43,    44,    -1,    46,    47,    48,    49,    50,
    3927       51,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
    3928       -1,    -1,    -1,    64,    65,    70,    67,    72,    69,    74,
    3929       -1,    -1,    77,    78,    75,    -1,    77,    78,    79,    -1,
    3930       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3931       91,    92,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,
    3932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3933       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3934       -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    40,
    3935       41,   132,    43,    44,    -1,    46,    47,    48,    49,    50,
    3936       51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
    3937       -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,    -1,
    3938       -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3939       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3940       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3942       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3943       -1,   122,   123,   124,   125,   126,   127,    -1,    -1,    40,
    3944       41,   132,    43,    44,    -1,    46,    -1,    -1,    49,    50,
    3945       51,    52,    53,    54,    55,    56,    -1,    -1,    -1,    60,
    3946       -1,    -1,    -1,    64,    65,    -1,    67,    -1,    69,    -1,
    3947       -1,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    -1,
    3948       -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
    3949       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
    3950       -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3951       -1,    -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,
    3952       -1,   122,   123,   124,   125,   126,   127,    69,    -1,    -1,
    3953       -1,   132,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,
    3954       82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
    3955       92,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,
    3956       43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3957       -1,    -1,   114,    -1,   116,    -1,    -1,   119,    -1,    -1,
    3958      122,   123,   124,   125,   126,   127,    69,    -1,    -1,    -1,
    3959       -1,    -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
    3960       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
    3961       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,
    3962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3963       -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,
    3964      123,   124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,
    3965       -1,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
    3966       84,    85,    86,    87,    88,    89,    -1,    91,    92,    -1,
    3967       -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,
    3968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3969      114,    -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,
    3970      124,   125,   126,   127,    69,    -1,    -1,    -1,    -1,    -1,
    3971       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
     3939      -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,   124,
     3940     125,   126,   127,    -1,    -1,    40,    41,   132,    43,    44,
     3941      -1,    46,    -1,    -1,    49,    50,    51,    52,    53,    54,
     3942      55,    56,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,
     3943      65,    -1,    67,    -1,    69,    -1,    -1,    -1,    -1,    -1,
     3944      75,    -1,    77,    78,    79,    -1,    -1,    82,    83,    84,
    39723945      85,    86,    87,    88,    89,    -1,    91,    92,    -1,    -1,
    39733946      -1,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,    -1,
    39743947      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
    3975       -1,   116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,
    3976      125,   126,   127,    69,    -1,    -1,    -1,    -1,    -1,    75,
     3948      -1,   116,    -1,    -1,   119,    -1,    -1,   122,   123,   124,
     3949     125,   126,   127,    69,    -1,    -1,    -1,   132,    -1,    75,
    39773950      -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
    39783951      86,    87,    88,    89,    -1,    91,    92,    -1,    -1,    -1,
    39793952      -1,    -1,    -1,    40,    41,    -1,    43,    -1,    -1,    -1,
    39803953      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    3981      116,    -1,    -1,    -1,    -1,    -1,   122,   123,   124,   125,
     3954     116,    -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,
    39823955     126,   127,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,
    39833956      -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,    86,
     
    39893962      -1,    79,    -1,    -1,    82,    83,    84,    85,    86,    87,
    39903963      88,    89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
    3991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3964      -1,    40,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,
    39923965      -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,
    39933966      -1,    -1,    -1,    -1,   122,   123,   124,   125,   126,   127,
    3994       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3995       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    3996       -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
    3997       -1,    -1,    42,     3,     4,     5,     6,     7,     8,     9,
    3998       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3999       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    4000       70,    -1,    32,    33,    34,    75,    -1,    77,    78,    -1,
    4001       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    88,    89,
     3967      69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
     3968      79,    -1,    -1,    82,    83,    84,    85,    86,    87,    88,
     3969      89,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
     3970      40,    41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,
     3972      -1,    -1,    -1,   122,   123,   124,   125,   126,   127,    69,
     3973      -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,
     3974      -1,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
     3975      -1,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    40,
     3976      41,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3977      -1,    -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
     3978      -1,    -1,   122,   123,   124,   125,   126,   127,    69,    -1,
     3979      -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
     3980      -1,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
     3981      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3982      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3983      -1,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
     3984      -1,   122,   123,   124,   125,   126,   127,    10,    11,    12,
     3985      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3986      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3987      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
     3988       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3989      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3990      23,    24,    25,    26,    27,    28,    29,    70,    -1,    32,
     3991      33,    34,    75,    -1,    77,    78,    -1,    -1,    -1,    42,
     3992      -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
     3993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,
     3995      -1,    74,    -1,    -1,    77,    78,     3,     4,     5,     6,
     3996       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3997      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3998      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3999      -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,
    40024000      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40034001      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4004       70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,     3,
    4005        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    4006       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    4007       24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
    4008       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
     4002      -1,    -1,    -1,    70,    -1,    72,    -1,    74,    -1,    -1,
     4003      77,    78,     4,     5,     6,     7,     8,     9,    10,    11,
     4004      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4005      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     4006      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4007      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4008      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4009      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
     4010      72,    -1,    74,    -1,    -1,    77,    78,    10,    11,    12,
     4011      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     4012      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     4013      33,    34,    35,    36,    37,    38,    -1,    -1,    -1,    42,
    40094014      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40104015      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4011       -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    72,    -1,
    4012       74,    -1,    -1,    77,    78,     4,     5,     6,     7,     8,
    4013        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4014       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    4015       29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
    4016       -1,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
    4017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4019       -1,    70,    -1,    72,    -1,    74,    -1,    -1,    77,    78,
    4020       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    4021       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    4022       -1,    -1,    32,    33,    34,    35,    36,    37,    38,    -1,
    4023       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4026       70,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78
     4016      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
     4017      -1,    -1,    -1,    -1,    77,    78
    40274018};
    40284019
     
    40364027      34,    35,    39,    42,    43,    67,    70,    72,    74,    75,
    40374028      77,    78,    79,    88,    89,   114,   116,   122,   123,   142,
    4038      145,   157,   220,   221,   222,   223,   224,   225,   226,   227,
    4039      228,   229,   230,   232,   233,   234,   235,   236,   237,   239,
    4040      240,   241,   242,   243,   244,   245,   247,   248,   249,   250,
    4041      251,   252,   254,   262,   289,   290,   291,   299,   302,   308,
    4042      309,   311,   313,   314,   320,   325,   329,   330,   331,   332,
    4043      333,   334,   335,   336,   356,   373,   374,   375,   376,    75,
    4044      144,   145,   157,   223,   225,   233,   235,   244,   248,   250,
    4045      290,    84,   114,   318,   319,   320,    75,    77,    78,    79,
    4046      143,   144,   279,   280,   300,   301,    77,    78,   280,   114,
    4047      311,   114,   114,   157,   325,   330,   331,   332,   334,   335,
    4048      336,   117,   139,   226,   233,   235,   329,   333,   372,   373,
    4049      376,   377,   140,   112,   136,   283,   119,   140,   181,    77,
    4050       78,   142,   278,   140,   140,   140,    77,    78,   114,   157,
    4051      231,   315,   324,   325,   326,   327,   328,   329,   333,   337,
    4052      338,   339,   340,   341,   347,     3,    30,    81,   246,     3,
    4053        5,    77,   116,   157,   225,   236,   240,   242,   251,   291,
    4054      329,   333,   376,   223,   225,   235,   244,   248,   250,   290,
    4055      329,   333,    35,   241,   241,   236,   242,   140,   241,   236,
    4056      241,   236,   318,   241,   236,   121,   140,   140,     0,   139,
    4057      114,   181,   318,   318,   139,   116,   233,   235,   374,   278,
    4058      278,   136,   235,   114,   157,   315,   325,   329,   116,   157,
    4059      376,   312,   238,   119,   280,   320,   114,   296,   114,   114,
    4060       84,   146,   147,    40,    41,    43,    69,    75,    79,    82,
    4061       83,    85,    86,    87,    91,    92,   114,   116,   124,   125,
    4062      126,   127,   141,   145,   146,   148,   149,   156,   157,   158,
    4063      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
    4064      169,   170,   172,   175,   233,   281,   282,   298,   372,   377,
    4065      235,   115,   115,   115,   115,   115,   115,   115,   116,   233,
    4066      356,   374,   116,   122,   157,   172,   225,   226,   232,   235,
    4067      239,   240,   244,   247,   248,   250,   268,   269,   273,   274,
    4068      275,   276,   290,   356,   368,   369,   370,   371,   376,   377,
    4069      114,   329,   333,   376,   114,   121,   137,   116,   119,   157,
    4070      172,   284,   284,   120,   139,   121,   137,   114,   121,   137,
    4071      121,   137,   121,   137,   325,   326,   327,   328,   338,   339,
    4072      340,   341,   235,   324,   337,   121,   140,    67,   317,   116,
    4073      318,   355,   356,   318,   318,   181,   139,   114,   318,   355,
    4074      318,   318,   235,   315,   114,   114,   234,   235,   233,   235,
    4075      139,   233,   372,   377,   181,   139,   278,   283,   225,   240,
    4076      329,   333,   181,   139,   300,   235,   244,   137,   235,   235,
    4077       78,   114,   119,   280,   291,   235,   300,   137,   137,   311,
    4078      139,   144,   277,     3,   140,   215,   216,   230,   232,   235,
    4079      139,   317,   114,   317,   172,   325,   235,   114,   139,   278,
    4080      119,    35,    36,    37,    38,   233,   292,   293,   295,   264,
    4081      280,   263,   139,   133,   136,   297,   139,    10,    75,    77,
    4082       78,   321,   322,   323,   115,    84,   114,   156,   114,   156,
    4083      159,   114,   156,   114,   114,   156,   156,   116,   172,   177,
    4084      181,   281,   376,   139,    86,    90,    91,    92,   114,   116,
    4085      118,   119,   102,   103,   104,   105,   106,   107,   108,   109,
    4086      110,   111,   112,   136,   174,   159,   159,   122,   128,   129,
    4087      124,   125,    93,    94,    95,    96,   130,   131,    97,    98,
    4088      123,   132,   133,    99,   100,   134,   114,   157,   351,   352,
    4089      353,   354,   355,   115,   121,   114,   355,   356,   114,   355,
    4090      356,   139,   233,   374,   117,   139,   140,   233,   235,   367,
    4091      368,   376,   377,   140,   114,   116,   157,   325,   342,   343,
    4092      344,   345,   346,   347,   348,   349,   350,   356,   357,   358,
    4093      359,   360,   361,   362,   157,   376,   235,   140,   140,   157,
    4094      233,   235,   369,   278,   233,   356,   369,   278,   139,   139,
    4095      139,   139,    75,   116,   118,   145,   280,   284,   285,   286,
    4096      287,   288,   139,   139,   139,   139,   139,   139,   115,   115,
    4097      115,   115,   115,   115,   115,   324,   337,   318,   137,   114,
    4098      283,   117,   215,   139,   315,   177,   282,   177,   282,   315,
    4099      116,   215,   317,   181,   139,   215,   298,   255,   253,   235,
    4100      270,   271,   272,   275,   276,   115,   121,   181,   139,   122,
    4101      172,   139,   232,   235,   269,   368,   376,   309,   310,   114,
    4102      157,   342,   115,   121,   136,   379,   280,   121,   378,   136,
    4103      265,   119,   292,   114,   119,   280,   282,   292,   115,   121,
    4104      114,   137,   281,   116,   281,   281,   151,   172,   282,   281,
    4105      139,   115,   121,   115,   115,   121,   172,   116,   144,   150,
    4106      151,   139,   116,   144,   150,   172,   159,   159,   159,   160,
    4107      160,   161,   161,   162,   162,   162,   162,   163,   163,   164,
    4108      165,   166,   167,   168,   135,   177,   139,   352,   353,   354,
    4109      235,   351,   318,   318,   172,   282,   139,   139,   233,   356,
    4110      369,   235,   239,   117,   376,   117,   114,   139,   325,   343,
    4111      344,   345,   348,   358,   359,   360,   117,   139,   235,   342,
    4112      346,   357,   114,   318,   361,   379,   318,   318,   379,   114,
    4113      318,   361,   318,   318,   318,   318,   356,   233,   367,   377,
    4114      278,   117,   121,   117,   121,   379,   233,   369,   379,   266,
    4115      267,   268,   269,   266,   278,   172,   139,   116,   280,   135,
    4116      121,   378,   284,   116,   135,   288,    31,   217,   218,   278,
    4117      266,   144,   315,   144,   114,   318,   355,   356,   114,   318,
    4118      355,   356,   315,   146,   356,   181,   270,   115,   115,   115,
    4119      115,   139,   181,   215,   181,   115,    43,   120,   233,   256,
    4120      257,   372,   119,   140,   140,   144,   230,   140,   140,   266,
    4121      114,   157,   376,   140,   120,   235,   293,   172,   294,   280,
    4122      120,   170,   171,   264,   140,   139,   139,   114,   140,   115,
    4123      322,   150,   115,   139,   121,   115,   115,   115,   115,   172,
    4124      119,   159,   172,   173,   176,   121,   139,   115,   121,   172,
    4125      139,   120,   170,   135,   270,   115,   115,   115,   351,   270,
    4126      270,   233,   369,   116,   122,   157,   172,   172,   235,   348,
    4127      270,   115,   115,   115,   115,   115,   115,   115,     7,   235,
    4128      342,   346,   357,   139,   139,   379,   139,   139,   140,   140,
    4129      140,   140,   283,   170,   171,   172,   316,   139,   284,   286,
    4130      120,   139,   219,   280,    43,    44,    46,    49,    50,    51,
    4131       52,    53,    54,    55,    56,    60,    64,    65,    67,    75,
    4132       77,    78,    79,   132,   145,   177,   178,   179,   180,   181,
    4133      182,   183,   185,   186,   198,   200,   201,   206,   220,   278,
    4134      314,    31,   140,   136,   139,   139,   317,   115,   140,   181,
    4135      119,   233,   257,   114,   135,   157,   258,   259,   261,   324,
    4136      325,   337,   355,   363,   364,   365,   366,   121,   137,   280,
    4137      255,   115,   121,   117,   117,   140,   235,   121,   379,   296,
    4138      265,   378,   115,   292,   223,   225,   233,   304,   305,   306,
    4139      307,   298,   115,   115,   144,   285,   121,   140,   176,    82,
    4140       85,    87,   144,   152,   153,   154,   151,   140,   152,   170,
    4141      140,   114,   318,   355,   356,   140,   140,   139,   140,   140,
    4142      140,   172,   115,   140,   114,   318,   355,   356,   114,   318,
    4143      361,   114,   318,   361,   356,   234,     7,   122,   140,   172,
    4144      270,   270,   269,   273,   273,   274,   115,   121,   121,   115,
    4145      101,   127,   140,   140,   152,   284,   172,   121,   137,   220,
    4146      314,   114,   114,   179,   114,   114,   137,   278,   137,   278,
    4147      122,   278,   178,   114,   181,   173,   173,    11,   207,   149,
    4148      137,   140,   139,   140,   135,   219,   115,   172,   270,   270,
    4149      283,   318,   115,   255,   258,   137,   325,   364,   365,   366,
    4150      171,   235,   363,   121,   137,   260,   261,   260,   318,   318,
    4151      280,   120,   139,   115,   139,   120,   140,   315,   120,   139,
    4152      140,   140,   115,   119,   115,   378,   173,   117,   140,   155,
    4153      116,   153,   155,   155,   121,   140,    90,   118,   117,   140,
    4154      115,   139,   115,   115,   117,   117,   117,   140,   115,   139,
    4155      139,   139,   172,   172,   140,   117,   140,   140,   140,   140,
    4156      139,   139,   171,   171,   117,   117,   140,   280,   177,   177,
    4157       50,   177,   139,   137,   137,   177,   137,   137,   177,    61,
    4158       62,    63,   202,   203,   204,   137,    66,   137,    54,   114,
     4029     145,   157,   206,   220,   221,   222,   223,   224,   225,   226,
     4030     227,   228,   229,   230,   232,   233,   234,   235,   236,   237,
     4031     239,   240,   241,   242,   243,   244,   245,   247,   248,   249,
     4032     250,   251,   252,   254,   262,   289,   290,   291,   299,   302,
     4033     308,   309,   311,   313,   314,   320,   325,   329,   330,   331,
     4034     332,   333,   334,   335,   336,   356,   373,   374,   375,   376,
     4035      75,   144,   145,   157,   223,   225,   233,   235,   244,   248,
     4036     250,   290,    84,   114,   318,   319,   320,    75,    77,    78,
     4037      79,   143,   144,   279,   280,   300,   301,    77,    78,   280,
     4038     114,   311,    11,   207,   114,   157,   325,   330,   331,   332,
     4039     334,   335,   336,   117,   139,   226,   233,   235,   329,   333,
     4040     372,   373,   376,   377,   140,   112,   136,   283,   119,   140,
     4041     181,    77,    78,   142,   278,   140,   140,   140,    77,    78,
     4042     114,   157,   231,   315,   324,   325,   326,   327,   328,   329,
     4043     333,   337,   338,   339,   340,   341,   347,     3,    30,    81,
     4044     246,     3,     5,    77,   116,   157,   225,   236,   240,   242,
     4045     251,   291,   329,   333,   376,   223,   225,   235,   244,   248,
     4046     250,   290,   329,   333,    35,   241,   241,   236,   242,   140,
     4047     241,   236,   241,   236,   318,   241,   236,   121,   140,   140,
     4048       0,   139,   114,   181,   318,   318,   139,   116,   233,   235,
     4049     374,   278,   278,   136,   235,   114,   157,   315,   325,   329,
     4050     116,   157,   376,   312,   238,   119,   280,   320,   114,   296,
     4051     114,   114,    54,   114,    40,    41,    43,    69,    75,    79,
     4052      82,    83,    84,    85,    86,    87,    91,    92,   114,   116,
     4053     124,   125,   126,   127,   141,   145,   146,   147,   148,   149,
     4054     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
     4055     166,   167,   168,   169,   170,   172,   175,   233,   281,   282,
     4056     298,   372,   377,   235,   115,   115,   115,   115,   115,   115,
     4057     115,   116,   233,   356,   374,   116,   122,   157,   172,   225,
     4058     226,   232,   235,   239,   240,   244,   247,   248,   250,   268,
     4059     269,   273,   274,   275,   276,   290,   356,   368,   369,   370,
     4060     371,   376,   377,   114,   329,   333,   376,   114,   121,   137,
     4061     116,   119,   157,   172,   284,   284,   120,   139,   121,   137,
     4062     114,   121,   137,   121,   137,   121,   137,   325,   326,   327,
     4063     328,   338,   339,   340,   341,   235,   324,   337,   121,   140,
     4064      67,   317,   116,   318,   355,   356,   318,   318,   181,   139,
     4065     114,   318,   355,   318,   318,   235,   315,   114,   114,   234,
     4066     235,   233,   235,   139,   233,   372,   377,   181,   139,   278,
     4067     283,   225,   240,   329,   333,   181,   139,   300,   235,   244,
     4068     137,   235,   235,    78,   114,   119,   280,   291,   235,   300,
     4069     137,   137,   311,   139,   144,   277,     3,   140,   215,   216,
     4070     230,   232,   235,   139,   317,   114,   317,   172,   325,   235,
     4071     114,   139,   278,   119,    35,    36,    37,    38,   233,   292,
     4072     293,   295,   264,   280,   263,   139,   133,   136,   297,   139,
     4073      10,    75,    77,    78,   321,   322,   323,   114,   146,   114,
     4074     156,   114,   156,   159,   114,   156,   114,   114,   156,   156,
     4075     116,   172,   177,   181,   281,   376,   139,    84,    86,    90,
     4076      91,    92,   114,   116,   118,   119,   102,   103,   104,   105,
     4077     106,   107,   108,   109,   110,   111,   112,   136,   174,   159,
     4078     159,   122,   128,   129,   124,   125,    93,    94,    95,    96,
     4079     130,   131,    97,    98,   123,   132,   133,    99,   100,   134,
     4080     114,   157,   351,   352,   353,   354,   355,   115,   121,   114,
     4081     355,   356,   114,   355,   356,   139,   233,   374,   117,   139,
     4082     140,   233,   235,   367,   368,   376,   377,   140,   114,   116,
     4083     157,   325,   342,   343,   344,   345,   346,   347,   348,   349,
     4084     350,   356,   357,   358,   359,   360,   361,   362,   157,   376,
     4085     235,   140,   140,   157,   233,   235,   369,   278,   233,   356,
     4086     369,   278,   139,   139,   139,   139,    75,   116,   118,   145,
     4087     280,   284,   285,   286,   287,   288,   139,   139,   139,   139,
     4088     139,   139,   115,   115,   115,   115,   115,   115,   115,   324,
     4089     337,   318,   137,   114,   283,   117,   215,   139,   315,   177,
     4090     282,   177,   282,   315,   116,   215,   317,   181,   139,   215,
     4091     298,   255,   253,   235,   270,   271,   272,   275,   276,   115,
     4092     121,   181,   139,   122,   172,   139,   232,   235,   269,   368,
     4093     376,   309,   310,   114,   157,   342,   115,   121,   136,   379,
     4094     280,   121,   378,   136,   265,   119,   292,   114,   119,   280,
     4095     282,   292,   115,   121,   114,   146,   115,   135,   281,   116,
     4096     281,   281,   151,   172,   282,   281,   139,   115,   121,   115,
     4097     115,   121,   172,   116,   144,   150,   151,   139,   116,   144,
     4098     150,   172,   159,   159,   159,   160,   160,   161,   161,   162,
     4099     162,   162,   162,   163,   163,   164,   165,   166,   167,   168,
     4100     135,   177,   139,   352,   353,   354,   235,   351,   318,   318,
     4101     172,   282,   139,   139,   233,   356,   369,   235,   239,   117,
     4102     376,   117,   114,   139,   325,   343,   344,   345,   348,   358,
     4103     359,   360,   117,   139,   235,   342,   346,   357,   114,   318,
     4104     361,   379,   318,   318,   379,   114,   318,   361,   318,   318,
     4105     318,   318,   356,   233,   367,   377,   278,   117,   121,   117,
     4106     121,   379,   233,   369,   379,   266,   267,   268,   269,   266,
     4107     278,   172,   139,   116,   280,   135,   121,   378,   284,   116,
     4108     135,   288,    31,   217,   218,   278,   266,   144,   315,   144,
     4109     114,   318,   355,   356,   114,   318,   355,   356,   315,   146,
     4110     356,   181,   270,   115,   115,   115,   115,   139,   181,   215,
     4111     181,   115,    43,   120,   233,   256,   257,   372,   119,   140,
     4112     140,   144,   230,   140,   140,   266,   114,   157,   376,   140,
     4113     120,   235,   293,   172,   294,   280,   120,   170,   171,   264,
     4114     140,   139,   139,   114,   140,   115,   322,   150,   135,   137,
     4115     116,   146,   208,   209,   210,   115,   139,   121,   115,   115,
     4116     115,   115,   172,   119,   159,   172,   173,   176,   121,   139,
     4117     115,   121,   172,   139,   120,   170,   135,   270,   115,   115,
     4118     115,   351,   270,   270,   233,   369,   116,   122,   157,   172,
     4119     172,   235,   348,   270,   115,   115,   115,   115,   115,   115,
     4120     115,     7,   235,   342,   346,   357,   139,   139,   379,   139,
     4121     139,   140,   140,   140,   140,   283,   170,   171,   172,   316,
     4122     139,   284,   286,   120,   139,   219,   280,    43,    44,    46,
     4123      49,    50,    51,    52,    53,    54,    55,    56,    60,    64,
     4124      65,    75,    77,    78,    79,   132,   145,   177,   178,   179,
     4125     180,   181,   182,   183,   185,   186,   198,   200,   201,   206,
     4126     220,   278,   314,    31,   140,   136,   139,   139,   317,   115,
     4127     140,   181,   119,   233,   257,   114,   135,   157,   258,   259,
     4128     261,   324,   325,   337,   355,   363,   364,   365,   366,   121,
     4129     137,   280,   255,   115,   121,   117,   117,   140,   235,   121,
     4130     379,   296,   265,   378,   115,   292,   223,   225,   233,   304,
     4131     305,   306,   307,   298,   115,   115,   135,   171,   114,   115,
     4132     135,   121,   144,   285,   121,   140,   176,    82,    85,    87,
     4133     144,   152,   153,   154,   151,   140,   152,   170,   140,   114,
     4134     318,   355,   356,   140,   140,   139,   140,   140,   140,   172,
     4135     115,   140,   114,   318,   355,   356,   114,   318,   361,   114,
     4136     318,   361,   356,   234,     7,   122,   140,   172,   270,   270,
     4137     269,   273,   273,   274,   115,   121,   121,   115,   101,   127,
     4138     140,   140,   152,   284,   172,   121,   137,   220,   314,   114,
     4139     114,   179,   114,   114,   137,   278,   137,   278,   122,   278,
     4140     178,   114,   181,   173,   173,   149,   137,   140,   139,   140,
     4141     135,   219,   115,   172,   270,   270,   283,   318,   115,   255,
     4142     258,   137,   325,   364,   365,   366,   171,   235,   363,   121,
     4143     137,   260,   261,   260,   318,   318,   280,   120,   139,   115,
     4144     139,   120,   140,   315,   120,   139,   140,   140,   115,   119,
     4145     208,   117,   171,   137,   208,   210,   115,   378,   173,   117,
     4146     140,   155,   116,   153,   155,   155,   121,   140,    90,   118,
     4147     117,   140,   115,   139,   115,   115,   117,   117,   117,   140,
     4148     115,   139,   139,   139,   172,   172,   140,   117,   140,   140,
     4149     140,   140,   139,   139,   171,   171,   117,   117,   140,   280,
     4150     177,   177,    50,   177,   139,   137,   137,   177,   137,   137,
     4151     177,    61,    62,    63,   202,   203,   204,   137,    66,   137,
    41594152     119,   183,   120,   318,   137,   140,   140,   120,   137,   115,
    41604153     115,   115,   363,   318,   101,   275,   276,   115,   305,   121,
    4161      137,   121,   137,   120,   303,   120,   117,    86,   139,   153,
    4162      117,   116,   153,   116,   153,   117,   270,   117,   270,   270,
    4163      270,   140,   140,   117,   117,   115,   115,   117,   121,   101,
    4164      269,   101,   140,   117,   115,   115,   114,   115,   178,   199,
    4165      220,   224,   235,   239,   137,   115,   114,   114,   181,   204,
    4166       61,    62,   172,   114,   146,   150,   179,   115,   115,   114,
    4167      318,   355,   356,   259,   119,   139,   139,   304,   152,   139,
    4168      139,   140,   140,   140,   140,   117,   117,   139,   140,   117,
    4169      179,    47,    48,   119,   189,   190,   191,   177,   179,   140,
    4170      115,   178,   235,   119,   191,   101,   139,   101,   139,   114,
    4171      114,   137,   146,   115,   135,   120,   139,   139,   278,   315,
    4172      120,   140,   152,   152,   115,   115,   115,   115,   273,    45,
    4173      171,   187,   188,   316,   135,   139,   179,   189,   115,   137,
    4174      179,   137,   139,   115,   139,   115,   139,   101,   139,   101,
    4175      139,   135,   137,   116,   146,   208,   209,   210,   137,   270,
    4176      304,   117,   140,   140,   179,   101,   121,   135,   140,   213,
    4177      214,   220,   137,   178,   178,   213,   181,   205,   233,   372,
    4178      181,   205,   115,   139,   115,   139,   135,   171,   114,   115,
    4179      135,   121,   140,   120,   117,   117,   171,   187,   190,   192,
    4180      193,   139,   137,   190,   194,   195,   140,   114,   157,   315,
    4181      363,   144,   140,   181,   205,   181,   205,   208,   117,   171,
    4182      137,   208,   210,   115,   114,   179,   184,   120,   190,   220,
    4183      178,    59,   184,   197,   120,   190,   115,   235,   115,   140,
    4184      140,   135,   146,   115,   115,   135,   298,   179,   184,   137,
    4185      196,   197,   184,   197,   181,   181,   115,   115,   146,   211,
    4186      114,   137,   211,   115,   196,   140,   140,   181,   181,   121,
    4187      135,   171,   115,   140,   140,   146,   144,   212,   115,   137,
    4188      115,   121,   137,   144
     4154     137,   121,   137,   120,   303,   135,   146,   115,   115,   135,
     4155     120,   117,    86,   139,   153,   117,   116,   153,   116,   153,
     4156     117,   270,   117,   270,   270,   270,   140,   140,   117,   117,
     4157     115,   115,   117,   121,   101,   269,   101,   140,   117,   115,
     4158     115,   114,   115,   178,   199,   220,   224,   235,   239,   137,
     4159     115,   114,   114,   181,   204,    61,    62,   172,   150,   179,
     4160     115,   115,   114,   318,   355,   356,   259,   119,   139,   139,
     4161     304,   146,   211,   114,   137,   211,   152,   139,   139,   140,
     4162     140,   140,   140,   117,   117,   139,   140,   117,   179,    47,
     4163      48,   119,   189,   190,   191,   177,   179,   140,   115,   178,
     4164     235,   119,   191,   101,   139,   101,   139,   114,   114,   137,
     4165     120,   139,   139,   278,   315,   120,   121,   135,   171,   115,
     4166     140,   152,   152,   115,   115,   115,   115,   273,    45,   171,
     4167     187,   188,   316,   135,   139,   179,   189,   115,   137,   179,
     4168     137,   139,   115,   139,   115,   139,   101,   139,   101,   139,
     4169     137,   270,   304,   146,   144,   212,   115,   137,   117,   140,
     4170     140,   179,   101,   121,   135,   140,   213,   214,   220,   137,
     4171     178,   178,   213,   181,   205,   233,   372,   181,   205,   115,
     4172     139,   115,   139,   140,   120,   115,   121,   117,   117,   171,
     4173     187,   190,   192,   193,   139,   137,   190,   194,   195,   140,
     4174     114,   157,   315,   363,   144,   140,   181,   205,   181,   205,
     4175     115,   114,   137,   144,   179,   184,   120,   190,   220,   178,
     4176      59,   184,   197,   120,   190,   115,   235,   115,   140,   140,
     4177     298,   179,   184,   137,   196,   197,   184,   197,   181,   181,
     4178     115,   115,   115,   196,   140,   140,   181,   181,   140,   140
    41894179};
    41904180
     
    79247914/* Line 1806 of yacc.c  */
    79257915#line 2091 "parser.yy"
    7926     {
    7927                         (yyval.decl) = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, (yyvsp[(3) - (5)].constant), 0 ) ) );
    7928                 }
     7916    {}
    79297917    break;
    79307918
     
    79327920
    79337921/* Line 1806 of yacc.c  */
    7934 #line 2095 "parser.yy"
     7922#line 2093 "parser.yy"
    79357923    {
    79367924                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
     
    79427930
    79437931/* Line 1806 of yacc.c  */
    7944 #line 2100 "parser.yy"
     7932#line 2098 "parser.yy"
    79457933    {
    79467934                        linkage = linkageStack.top();
     
    79537941
    79547942/* Line 1806 of yacc.c  */
    7955 #line 2106 "parser.yy"
     7943#line 2104 "parser.yy"
    79567944    {
    79577945                        distExt( (yyvsp[(2) - (2)].decl) );                                                             // mark all fields in list
     
    79637951
    79647952/* Line 1806 of yacc.c  */
    7965 #line 2120 "parser.yy"
     7953#line 2118 "parser.yy"
    79667954    {
    79677955                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79747962
    79757963/* Line 1806 of yacc.c  */
    7976 #line 2126 "parser.yy"
     7964#line 2124 "parser.yy"
    79777965    {
    79787966                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79857973
    79867974/* Line 1806 of yacc.c  */
    7987 #line 2135 "parser.yy"
     7975#line 2133 "parser.yy"
    79887976    {
    79897977                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79967984
    79977985/* Line 1806 of yacc.c  */
    7998 #line 2141 "parser.yy"
     7986#line 2139 "parser.yy"
    79997987    {
    80007988                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80077995
    80087996/* Line 1806 of yacc.c  */
    8009 #line 2147 "parser.yy"
     7997#line 2145 "parser.yy"
    80107998    {
    80117999                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80188006
    80198007/* Line 1806 of yacc.c  */
    8020 #line 2153 "parser.yy"
     8008#line 2151 "parser.yy"
    80218009    {
    80228010                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80298017
    80308018/* Line 1806 of yacc.c  */
    8031 #line 2159 "parser.yy"
     8019#line 2157 "parser.yy"
    80328020    {
    80338021                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80408028
    80418029/* Line 1806 of yacc.c  */
    8042 #line 2167 "parser.yy"
     8030#line 2165 "parser.yy"
    80438031    {
    80448032                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80518039
    80528040/* Line 1806 of yacc.c  */
    8053 #line 2173 "parser.yy"
     8041#line 2171 "parser.yy"
    80548042    {
    80558043                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80628050
    80638051/* Line 1806 of yacc.c  */
    8064 #line 2181 "parser.yy"
     8052#line 2179 "parser.yy"
    80658053    {
    80668054                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80738061
    80748062/* Line 1806 of yacc.c  */
    8075 #line 2187 "parser.yy"
     8063#line 2185 "parser.yy"
    80768064    {
    80778065                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80848072
    80858073/* Line 1806 of yacc.c  */
    8086 #line 2202 "parser.yy"
     8074#line 2200 "parser.yy"
    80878075    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    80888076    break;
     
    80918079
    80928080/* Line 1806 of yacc.c  */
     8081#line 2205 "parser.yy"
     8082    { (yyval.decl) = nullptr; }
     8083    break;
     8084
     8085  case 551:
     8086
     8087/* Line 1806 of yacc.c  */
    80938088#line 2207 "parser.yy"
    8094     { (yyval.decl) = nullptr; }
    8095     break;
    8096 
    8097   case 551:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2209 "parser.yy"
    81018089    {
    81028090                        DeclarationNode * name = new DeclarationNode();
     
    81098097
    81108098/* Line 1806 of yacc.c  */
    8111 #line 2218 "parser.yy"
     8099#line 2216 "parser.yy"
    81128100    { (yyval.decl) = nullptr; }
    81138101    break;
     
    81168104
    81178105/* Line 1806 of yacc.c  */
    8118 #line 2225 "parser.yy"
     8106#line 2223 "parser.yy"
    81198107    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    81208108    break;
     
    81238111
    81248112/* Line 1806 of yacc.c  */
    8125 #line 2230 "parser.yy"
     8113#line 2228 "parser.yy"
    81268114    { (yyval.decl) = (yyvsp[(4) - (6)].decl); }
    81278115    break;
     
    81308118
    81318119/* Line 1806 of yacc.c  */
    8132 #line 2236 "parser.yy"
     8120#line 2234 "parser.yy"
    81338121    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    81348122    break;
     
    81378125
    81388126/* Line 1806 of yacc.c  */
     8127#line 2239 "parser.yy"
     8128    { (yyval.decl) = nullptr; }
     8129    break;
     8130
     8131  case 560:
     8132
     8133/* Line 1806 of yacc.c  */
    81398134#line 2241 "parser.yy"
    8140     { (yyval.decl) = nullptr; }
    8141     break;
    8142 
    8143   case 560:
     8135    { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); }
     8136    break;
     8137
     8138  case 561:
    81448139
    81458140/* Line 1806 of yacc.c  */
    81468141#line 2243 "parser.yy"
    8147     { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); }
    8148     break;
    8149 
    8150   case 561:
    8151 
    8152 /* Line 1806 of yacc.c  */
    8153 #line 2245 "parser.yy"
    81548142    { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    81558143    break;
     
    81588146
    81598147/* Line 1806 of yacc.c  */
    8160 #line 2253 "parser.yy"
     8148#line 2251 "parser.yy"
    81618149    { (yyval.tok) = Token{ new string( "__const__" ) }; }
    81628150    break;
     
    81658153
    81668154/* Line 1806 of yacc.c  */
    8167 #line 2288 "parser.yy"
     8155#line 2286 "parser.yy"
    81688156    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81698157    break;
    81708158
    81718159  case 568:
     8160
     8161/* Line 1806 of yacc.c  */
     8162#line 2289 "parser.yy"
     8163    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8164    break;
     8165
     8166  case 569:
    81728167
    81738168/* Line 1806 of yacc.c  */
     
    81768171    break;
    81778172
    8178   case 569:
    8179 
    8180 /* Line 1806 of yacc.c  */
    8181 #line 2293 "parser.yy"
    8182     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8183     break;
    8184 
    81858173  case 570:
    81868174
    81878175/* Line 1806 of yacc.c  */
    8188 #line 2298 "parser.yy"
     8176#line 2296 "parser.yy"
    81898177    {
    81908178                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    81968184
    81978185/* Line 1806 of yacc.c  */
    8198 #line 2303 "parser.yy"
     8186#line 2301 "parser.yy"
    81998187    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82008188    break;
     
    82038191
    82048192/* Line 1806 of yacc.c  */
     8193#line 2306 "parser.yy"
     8194    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8195    break;
     8196
     8197  case 573:
     8198
     8199/* Line 1806 of yacc.c  */
    82058200#line 2308 "parser.yy"
    8206     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8207     break;
    8208 
    8209   case 573:
     8201    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8202    break;
     8203
     8204  case 574:
    82108205
    82118206/* Line 1806 of yacc.c  */
    82128207#line 2310 "parser.yy"
    8213     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8214     break;
    8215 
    8216   case 574:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2312 "parser.yy"
    82208208    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    82218209    break;
     
    82248212
    82258213/* Line 1806 of yacc.c  */
     8214#line 2315 "parser.yy"
     8215    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8216    break;
     8217
     8218  case 576:
     8219
     8220/* Line 1806 of yacc.c  */
    82268221#line 2317 "parser.yy"
    8227     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8228     break;
    8229 
    8230   case 576:
     8222    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8223    break;
     8224
     8225  case 577:
    82318226
    82328227/* Line 1806 of yacc.c  */
     
    82358230    break;
    82368231
    8237   case 577:
     8232  case 578:
    82388233
    82398234/* Line 1806 of yacc.c  */
    82408235#line 2321 "parser.yy"
     8236    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8237    break;
     8238
     8239  case 579:
     8240
     8241/* Line 1806 of yacc.c  */
     8242#line 2326 "parser.yy"
     8243    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8244    break;
     8245
     8246  case 580:
     8247
     8248/* Line 1806 of yacc.c  */
     8249#line 2328 "parser.yy"
     8250    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8251    break;
     8252
     8253  case 581:
     8254
     8255/* Line 1806 of yacc.c  */
     8256#line 2337 "parser.yy"
     8257    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8258    break;
     8259
     8260  case 583:
     8261
     8262/* Line 1806 of yacc.c  */
     8263#line 2340 "parser.yy"
     8264    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8265    break;
     8266
     8267  case 584:
     8268
     8269/* Line 1806 of yacc.c  */
     8270#line 2345 "parser.yy"
     8271    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8272    break;
     8273
     8274  case 585:
     8275
     8276/* Line 1806 of yacc.c  */
     8277#line 2347 "parser.yy"
     8278    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8279    break;
     8280
     8281  case 586:
     8282
     8283/* Line 1806 of yacc.c  */
     8284#line 2349 "parser.yy"
     8285    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8286    break;
     8287
     8288  case 587:
     8289
     8290/* Line 1806 of yacc.c  */
     8291#line 2354 "parser.yy"
     8292    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8293    break;
     8294
     8295  case 588:
     8296
     8297/* Line 1806 of yacc.c  */
     8298#line 2356 "parser.yy"
     8299    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8300    break;
     8301
     8302  case 589:
     8303
     8304/* Line 1806 of yacc.c  */
     8305#line 2358 "parser.yy"
     8306    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8307    break;
     8308
     8309  case 590:
     8310
     8311/* Line 1806 of yacc.c  */
     8312#line 2363 "parser.yy"
    82418313    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82428314    break;
    82438315
    8244   case 578:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2323 "parser.yy"
    8248     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8249     break;
    8250 
    8251   case 579:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2328 "parser.yy"
    8255     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8256     break;
    8257 
    8258   case 580:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2330 "parser.yy"
    8262     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8263     break;
    8264 
    8265   case 581:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2339 "parser.yy"
    8269     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8270     break;
    8271 
    8272   case 583:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2342 "parser.yy"
    8276     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8277     break;
    8278 
    8279   case 584:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2347 "parser.yy"
    8283     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8284     break;
    8285 
    8286   case 585:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2349 "parser.yy"
    8290     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8291     break;
    8292 
    8293   case 586:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2351 "parser.yy"
    8297     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8298     break;
    8299 
    8300   case 587:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2356 "parser.yy"
    8304     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8305     break;
    8306 
    8307   case 588:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2358 "parser.yy"
    8311     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8312     break;
    8313 
    8314   case 589:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2360 "parser.yy"
    8318     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8319     break;
    8320 
    8321   case 590:
     8316  case 591:
    83228317
    83238318/* Line 1806 of yacc.c  */
     
    83268321    break;
    83278322
    8328   case 591:
     8323  case 592:
    83298324
    83308325/* Line 1806 of yacc.c  */
    83318326#line 2367 "parser.yy"
     8327    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8328    break;
     8329
     8330  case 596:
     8331
     8332/* Line 1806 of yacc.c  */
     8333#line 2385 "parser.yy"
     8334    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8335    break;
     8336
     8337  case 597:
     8338
     8339/* Line 1806 of yacc.c  */
     8340#line 2387 "parser.yy"
     8341    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8342    break;
     8343
     8344  case 598:
     8345
     8346/* Line 1806 of yacc.c  */
     8347#line 2389 "parser.yy"
     8348    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8349    break;
     8350
     8351  case 599:
     8352
     8353/* Line 1806 of yacc.c  */
     8354#line 2394 "parser.yy"
     8355    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8356    break;
     8357
     8358  case 600:
     8359
     8360/* Line 1806 of yacc.c  */
     8361#line 2396 "parser.yy"
     8362    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8363    break;
     8364
     8365  case 601:
     8366
     8367/* Line 1806 of yacc.c  */
     8368#line 2398 "parser.yy"
     8369    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8370    break;
     8371
     8372  case 602:
     8373
     8374/* Line 1806 of yacc.c  */
     8375#line 2403 "parser.yy"
    83328376    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83338377    break;
    83348378
    8335   case 592:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2369 "parser.yy"
    8339     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8340     break;
    8341 
    8342   case 596:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2387 "parser.yy"
    8346     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8347     break;
    8348 
    8349   case 597:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2389 "parser.yy"
    8353     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8354     break;
    8355 
    8356   case 598:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2391 "parser.yy"
    8360     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8361     break;
    8362 
    8363   case 599:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2396 "parser.yy"
    8367     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8368     break;
    8369 
    8370   case 600:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2398 "parser.yy"
    8374     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8375     break;
    8376 
    8377   case 601:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2400 "parser.yy"
    8381     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8382     break;
    8383 
    8384   case 602:
     8379  case 603:
    83858380
    83868381/* Line 1806 of yacc.c  */
     
    83898384    break;
    83908385
    8391   case 603:
     8386  case 604:
    83928387
    83938388/* Line 1806 of yacc.c  */
    83948389#line 2407 "parser.yy"
    8395     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8396     break;
    8397 
    8398   case 604:
    8399 
    8400 /* Line 1806 of yacc.c  */
    8401 #line 2409 "parser.yy"
    84028390    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84038391    break;
     
    84068394
    84078395/* Line 1806 of yacc.c  */
    8408 #line 2424 "parser.yy"
     8396#line 2422 "parser.yy"
    84098397    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84108398    break;
    84118399
    84128400  case 607:
     8401
     8402/* Line 1806 of yacc.c  */
     8403#line 2425 "parser.yy"
     8404    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8405    break;
     8406
     8407  case 608:
    84138408
    84148409/* Line 1806 of yacc.c  */
     
    84178412    break;
    84188413
    8419   case 608:
    8420 
    8421 /* Line 1806 of yacc.c  */
    8422 #line 2429 "parser.yy"
    8423     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8424     break;
    8425 
    84268414  case 610:
    84278415
    84288416/* Line 1806 of yacc.c  */
    8429 #line 2435 "parser.yy"
     8417#line 2433 "parser.yy"
    84308418    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84318419    break;
     
    84348422
    84358423/* Line 1806 of yacc.c  */
     8424#line 2438 "parser.yy"
     8425    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8426    break;
     8427
     8428  case 612:
     8429
     8430/* Line 1806 of yacc.c  */
    84368431#line 2440 "parser.yy"
    8437     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8438     break;
    8439 
    8440   case 612:
     8432    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8433    break;
     8434
     8435  case 613:
    84418436
    84428437/* Line 1806 of yacc.c  */
    84438438#line 2442 "parser.yy"
    8444     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8445     break;
    8446 
    8447   case 613:
    8448 
    8449 /* Line 1806 of yacc.c  */
    8450 #line 2444 "parser.yy"
    84518439    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    84528440    break;
     
    84558443
    84568444/* Line 1806 of yacc.c  */
     8445#line 2447 "parser.yy"
     8446    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8447    break;
     8448
     8449  case 615:
     8450
     8451/* Line 1806 of yacc.c  */
    84578452#line 2449 "parser.yy"
    8458     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8459     break;
    8460 
    8461   case 615:
     8453    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8454    break;
     8455
     8456  case 616:
    84628457
    84638458/* Line 1806 of yacc.c  */
     
    84668461    break;
    84678462
    8468   case 616:
     8463  case 617:
    84698464
    84708465/* Line 1806 of yacc.c  */
    84718466#line 2453 "parser.yy"
    8472     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8473     break;
    8474 
    8475   case 617:
    8476 
    8477 /* Line 1806 of yacc.c  */
    8478 #line 2455 "parser.yy"
    84798467    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84808468    break;
     
    84838471
    84848472/* Line 1806 of yacc.c  */
     8473#line 2458 "parser.yy"
     8474    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8475    break;
     8476
     8477  case 619:
     8478
     8479/* Line 1806 of yacc.c  */
    84858480#line 2460 "parser.yy"
    8486     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8487     break;
    8488 
    8489   case 619:
     8481    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8482    break;
     8483
     8484  case 620:
    84908485
    84918486/* Line 1806 of yacc.c  */
    84928487#line 2462 "parser.yy"
    8493     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8494     break;
    8495 
    8496   case 620:
    8497 
    8498 /* Line 1806 of yacc.c  */
    8499 #line 2464 "parser.yy"
    85008488    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85018489    break;
     
    85048492
    85058493/* Line 1806 of yacc.c  */
    8506 #line 2474 "parser.yy"
     8494#line 2472 "parser.yy"
    85078495    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85088496    break;
    85098497
    85108498  case 623:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2475 "parser.yy"
     8502    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8503    break;
     8504
     8505  case 624:
    85118506
    85128507/* Line 1806 of yacc.c  */
     
    85158510    break;
    85168511
    8517   case 624:
    8518 
    8519 /* Line 1806 of yacc.c  */
    8520 #line 2479 "parser.yy"
    8521     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8522     break;
    8523 
    85248512  case 625:
    85258513
    85268514/* Line 1806 of yacc.c  */
     8515#line 2482 "parser.yy"
     8516    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8517    break;
     8518
     8519  case 626:
     8520
     8521/* Line 1806 of yacc.c  */
    85278522#line 2484 "parser.yy"
    8528     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8529     break;
    8530 
    8531   case 626:
     8523    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8524    break;
     8525
     8526  case 627:
    85328527
    85338528/* Line 1806 of yacc.c  */
    85348529#line 2486 "parser.yy"
    8535     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8536     break;
    8537 
    8538   case 627:
    8539 
    8540 /* Line 1806 of yacc.c  */
    8541 #line 2488 "parser.yy"
    85428530    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    85438531    break;
     
    85468534
    85478535/* Line 1806 of yacc.c  */
     8536#line 2491 "parser.yy"
     8537    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8538    break;
     8539
     8540  case 629:
     8541
     8542/* Line 1806 of yacc.c  */
    85488543#line 2493 "parser.yy"
    8549     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8550     break;
    8551 
    8552   case 629:
     8544    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8545    break;
     8546
     8547  case 630:
    85538548
    85548549/* Line 1806 of yacc.c  */
     
    85578552    break;
    85588553
    8559   case 630:
     8554  case 631:
    85608555
    85618556/* Line 1806 of yacc.c  */
    85628557#line 2497 "parser.yy"
    8563     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8564     break;
    8565 
    8566   case 631:
    8567 
    8568 /* Line 1806 of yacc.c  */
    8569 #line 2499 "parser.yy"
    85708558    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85718559    break;
     
    85748562
    85758563/* Line 1806 of yacc.c  */
     8564#line 2502 "parser.yy"
     8565    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8566    break;
     8567
     8568  case 633:
     8569
     8570/* Line 1806 of yacc.c  */
    85768571#line 2504 "parser.yy"
    8577     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8578     break;
    8579 
    8580   case 633:
     8572    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8573    break;
     8574
     8575  case 634:
    85818576
    85828577/* Line 1806 of yacc.c  */
    85838578#line 2506 "parser.yy"
    8584     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8585     break;
    8586 
    8587   case 634:
    8588 
    8589 /* Line 1806 of yacc.c  */
    8590 #line 2508 "parser.yy"
    85918579    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85928580    break;
     
    85958583
    85968584/* Line 1806 of yacc.c  */
    8597 #line 2521 "parser.yy"
     8585#line 2519 "parser.yy"
    85988586    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85998587    break;
    86008588
    86018589  case 637:
     8590
     8591/* Line 1806 of yacc.c  */
     8592#line 2522 "parser.yy"
     8593    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8594    break;
     8595
     8596  case 638:
    86028597
    86038598/* Line 1806 of yacc.c  */
     
    86068601    break;
    86078602
    8608   case 638:
    8609 
    8610 /* Line 1806 of yacc.c  */
    8611 #line 2526 "parser.yy"
    8612     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8613     break;
    8614 
    86158603  case 639:
    86168604
    86178605/* Line 1806 of yacc.c  */
    8618 #line 2531 "parser.yy"
     8606#line 2529 "parser.yy"
    86198607    {
    86208608                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    86268614
    86278615/* Line 1806 of yacc.c  */
    8628 #line 2536 "parser.yy"
     8616#line 2534 "parser.yy"
    86298617    {
    86308618                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    86368624
    86378625/* Line 1806 of yacc.c  */
     8626#line 2542 "parser.yy"
     8627    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8628    break;
     8629
     8630  case 642:
     8631
     8632/* Line 1806 of yacc.c  */
    86388633#line 2544 "parser.yy"
    8639     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8640     break;
    8641 
    8642   case 642:
     8634    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8635    break;
     8636
     8637  case 643:
    86438638
    86448639/* Line 1806 of yacc.c  */
    86458640#line 2546 "parser.yy"
    8646     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8647     break;
    8648 
    8649   case 643:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2548 "parser.yy"
    86538641    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    86548642    break;
     
    86578645
    86588646/* Line 1806 of yacc.c  */
     8647#line 2551 "parser.yy"
     8648    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8649    break;
     8650
     8651  case 645:
     8652
     8653/* Line 1806 of yacc.c  */
    86598654#line 2553 "parser.yy"
    8660     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8661     break;
    8662 
    8663   case 645:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2555 "parser.yy"
    86678655    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86688656    break;
     
    86718659
    86728660/* Line 1806 of yacc.c  */
     8661#line 2558 "parser.yy"
     8662    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8663    break;
     8664
     8665  case 647:
     8666
     8667/* Line 1806 of yacc.c  */
    86738668#line 2560 "parser.yy"
    8674     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8675     break;
    8676 
    8677   case 647:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2562 "parser.yy"
    86818669    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86828670    break;
    86838671
    86848672  case 649:
     8673
     8674/* Line 1806 of yacc.c  */
     8675#line 2578 "parser.yy"
     8676    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8677    break;
     8678
     8679  case 650:
    86858680
    86868681/* Line 1806 of yacc.c  */
     
    86898684    break;
    86908685
    8691   case 650:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2582 "parser.yy"
    8695     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8696     break;
    8697 
    86988686  case 651:
    86998687
    87008688/* Line 1806 of yacc.c  */
     8689#line 2585 "parser.yy"
     8690    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8691    break;
     8692
     8693  case 652:
     8694
     8695/* Line 1806 of yacc.c  */
    87018696#line 2587 "parser.yy"
    8702     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8703     break;
    8704 
    8705   case 652:
     8697    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8698    break;
     8699
     8700  case 653:
    87068701
    87078702/* Line 1806 of yacc.c  */
    87088703#line 2589 "parser.yy"
    8709     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8710     break;
    8711 
    8712   case 653:
     8704    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8705    break;
     8706
     8707  case 654:
    87138708
    87148709/* Line 1806 of yacc.c  */
    87158710#line 2591 "parser.yy"
    8716     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8717     break;
    8718 
    8719   case 654:
     8711    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8712    break;
     8713
     8714  case 655:
    87208715
    87218716/* Line 1806 of yacc.c  */
    87228717#line 2593 "parser.yy"
    8723     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8724     break;
    8725 
    8726   case 655:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2595 "parser.yy"
    87308718    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    87318719    break;
    87328720
    87338721  case 657:
     8722
     8723/* Line 1806 of yacc.c  */
     8724#line 2599 "parser.yy"
     8725    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8726    break;
     8727
     8728  case 658:
    87348729
    87358730/* Line 1806 of yacc.c  */
     
    87388733    break;
    87398734
    8740   case 658:
     8735  case 659:
    87418736
    87428737/* Line 1806 of yacc.c  */
    87438738#line 2603 "parser.yy"
    8744     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8745     break;
    8746 
    8747   case 659:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2605 "parser.yy"
    87518739    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87528740    break;
     
    87558743
    87568744/* Line 1806 of yacc.c  */
     8745#line 2608 "parser.yy"
     8746    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
     8747    break;
     8748
     8749  case 661:
     8750
     8751/* Line 1806 of yacc.c  */
    87578752#line 2610 "parser.yy"
    8758     { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    8759     break;
    8760 
    8761   case 661:
     8753    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8754    break;
     8755
     8756  case 662:
    87628757
    87638758/* Line 1806 of yacc.c  */
    87648759#line 2612 "parser.yy"
    8765     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8766     break;
    8767 
    8768   case 662:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2614 "parser.yy"
    87728760    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87738761    break;
     
    87768764
    87778765/* Line 1806 of yacc.c  */
     8766#line 2618 "parser.yy"
     8767    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8768    break;
     8769
     8770  case 664:
     8771
     8772/* Line 1806 of yacc.c  */
    87788773#line 2620 "parser.yy"
    8779     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8780     break;
    8781 
    8782   case 664:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2622 "parser.yy"
    87868774    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    87878775    break;
     
    87908778
    87918779/* Line 1806 of yacc.c  */
     8780#line 2626 "parser.yy"
     8781    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8782    break;
     8783
     8784  case 667:
     8785
     8786/* Line 1806 of yacc.c  */
    87928787#line 2628 "parser.yy"
    8793     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8794     break;
    8795 
    8796   case 667:
     8788    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8789    break;
     8790
     8791  case 668:
    87978792
    87988793/* Line 1806 of yacc.c  */
    87998794#line 2630 "parser.yy"
    8800     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8801     break;
    8802 
    8803   case 668:
     8795    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8796    break;
     8797
     8798  case 669:
    88048799
    88058800/* Line 1806 of yacc.c  */
    88068801#line 2632 "parser.yy"
    8807     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8808     break;
    8809 
    8810   case 669:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2634 "parser.yy"
    88148802    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    88158803    break;
    88168804
    88178805  case 671:
     8806
     8807/* Line 1806 of yacc.c  */
     8808#line 2667 "parser.yy"
     8809    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8810    break;
     8811
     8812  case 672:
    88188813
    88198814/* Line 1806 of yacc.c  */
     
    88228817    break;
    88238818
    8824   case 672:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2671 "parser.yy"
    8828     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8829     break;
    8830 
    88318819  case 673:
    88328820
    88338821/* Line 1806 of yacc.c  */
     8822#line 2674 "parser.yy"
     8823    { (yyval.decl) = DeclarationNode::newPointer( nullptr ); }
     8824    break;
     8825
     8826  case 674:
     8827
     8828/* Line 1806 of yacc.c  */
    88348829#line 2676 "parser.yy"
    8835     { (yyval.decl) = DeclarationNode::newPointer( nullptr ); }
    8836     break;
    8837 
    8838   case 674:
     8830    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8831    break;
     8832
     8833  case 675:
    88398834
    88408835/* Line 1806 of yacc.c  */
    88418836#line 2678 "parser.yy"
    8842     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8843     break;
    8844 
    8845   case 675:
     8837    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( nullptr ) ); }
     8838    break;
     8839
     8840  case 676:
    88468841
    88478842/* Line 1806 of yacc.c  */
    88488843#line 2680 "parser.yy"
    8849     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( nullptr ) ); }
    8850     break;
    8851 
    8852   case 676:
     8844    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8845    break;
     8846
     8847  case 677:
    88538848
    88548849/* Line 1806 of yacc.c  */
    88558850#line 2682 "parser.yy"
    8856     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8857     break;
    8858 
    8859   case 677:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2684 "parser.yy"
    88638851    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    88648852    break;
    88658853
    88668854  case 679:
     8855
     8856/* Line 1806 of yacc.c  */
     8857#line 2688 "parser.yy"
     8858    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8859    break;
     8860
     8861  case 680:
    88678862
    88688863/* Line 1806 of yacc.c  */
     
    88718866    break;
    88728867
    8873   case 680:
     8868  case 681:
    88748869
    88758870/* Line 1806 of yacc.c  */
    88768871#line 2692 "parser.yy"
    8877     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8878     break;
    8879 
    8880   case 681:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2694 "parser.yy"
    88848872    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88858873    break;
     
    88888876
    88898877/* Line 1806 of yacc.c  */
     8878#line 2697 "parser.yy"
     8879    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
     8880    break;
     8881
     8882  case 683:
     8883
     8884/* Line 1806 of yacc.c  */
    88908885#line 2699 "parser.yy"
    8891     { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    8892     break;
    8893 
    8894   case 683:
     8886    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8887    break;
     8888
     8889  case 684:
    88958890
    88968891/* Line 1806 of yacc.c  */
    88978892#line 2701 "parser.yy"
    8898     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8899     break;
    8900 
    8901   case 684:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2703 "parser.yy"
    89058893    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89068894    break;
     
    89098897
    89108898/* Line 1806 of yacc.c  */
    8911 #line 2710 "parser.yy"
     8899#line 2708 "parser.yy"
    89128900    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    89138901    break;
     
    89168904
    89178905/* Line 1806 of yacc.c  */
    8918 #line 2721 "parser.yy"
     8906#line 2719 "parser.yy"
    89198907    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    89208908    break;
     
    89238911
    89248912/* Line 1806 of yacc.c  */
     8913#line 2722 "parser.yy"
     8914    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8915    break;
     8916
     8917  case 690:
     8918
     8919/* Line 1806 of yacc.c  */
    89258920#line 2724 "parser.yy"
    8926     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8927     break;
    8928 
    8929   case 690:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2726 "parser.yy"
    89338921    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    89348922    break;
     
    89378925
    89388926/* Line 1806 of yacc.c  */
     8927#line 2727 "parser.yy"
     8928    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8929    break;
     8930
     8931  case 692:
     8932
     8933/* Line 1806 of yacc.c  */
    89398934#line 2729 "parser.yy"
    8940     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    8941     break;
    8942 
    8943   case 692:
     8935    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8936    break;
     8937
     8938  case 693:
    89448939
    89458940/* Line 1806 of yacc.c  */
    89468941#line 2731 "parser.yy"
    8947     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8948     break;
    8949 
    8950   case 693:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2733 "parser.yy"
    89548942    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    89558943    break;
    89568944
    89578945  case 695:
     8946
     8947/* Line 1806 of yacc.c  */
     8948#line 2746 "parser.yy"
     8949    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8950    break;
     8951
     8952  case 696:
    89588953
    89598954/* Line 1806 of yacc.c  */
     
    89628957    break;
    89638958
    8964   case 696:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2750 "parser.yy"
    8968     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8969     break;
    8970 
    89718959  case 697:
    89728960
    89738961/* Line 1806 of yacc.c  */
     8962#line 2753 "parser.yy"
     8963    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8964    break;
     8965
     8966  case 698:
     8967
     8968/* Line 1806 of yacc.c  */
    89748969#line 2755 "parser.yy"
    8975     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8976     break;
    8977 
    8978   case 698:
     8970    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8971    break;
     8972
     8973  case 699:
    89798974
    89808975/* Line 1806 of yacc.c  */
    89818976#line 2757 "parser.yy"
    8982     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8983     break;
    8984 
    8985   case 699:
     8977    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8978    break;
     8979
     8980  case 700:
    89868981
    89878982/* Line 1806 of yacc.c  */
    89888983#line 2759 "parser.yy"
    8989     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8990     break;
    8991 
    8992   case 700:
     8984    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8985    break;
     8986
     8987  case 701:
    89938988
    89948989/* Line 1806 of yacc.c  */
    89958990#line 2761 "parser.yy"
    8996     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8997     break;
    8998 
    8999   case 701:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2763 "parser.yy"
    90038991    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); }
    90048992    break;
    90058993
    90068994  case 703:
     8995
     8996/* Line 1806 of yacc.c  */
     8997#line 2767 "parser.yy"
     8998    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8999    break;
     9000
     9001  case 704:
    90079002
    90089003/* Line 1806 of yacc.c  */
     
    90119006    break;
    90129007
    9013   case 704:
     9008  case 705:
    90149009
    90159010/* Line 1806 of yacc.c  */
    90169011#line 2771 "parser.yy"
    9017     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    9018     break;
    9019 
    9020   case 705:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2773 "parser.yy"
    90249012    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    90259013    break;
     
    90289016
    90299017/* Line 1806 of yacc.c  */
     9018#line 2776 "parser.yy"
     9019    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     9020    break;
     9021
     9022  case 707:
     9023
     9024/* Line 1806 of yacc.c  */
    90309025#line 2778 "parser.yy"
    9031     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    9032     break;
    9033 
    9034   case 707:
    9035 
    9036 /* Line 1806 of yacc.c  */
    9037 #line 2780 "parser.yy"
    90389026    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    90399027    break;
     
    90429030
    90439031/* Line 1806 of yacc.c  */
    9044 #line 2790 "parser.yy"
     9032#line 2788 "parser.yy"
    90459033    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90469034    break;
     
    90499037
    90509038/* Line 1806 of yacc.c  */
     9039#line 2798 "parser.yy"
     9040    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9041    break;
     9042
     9043  case 714:
     9044
     9045/* Line 1806 of yacc.c  */
    90519046#line 2800 "parser.yy"
     9047    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9048    break;
     9049
     9050  case 715:
     9051
     9052/* Line 1806 of yacc.c  */
     9053#line 2802 "parser.yy"
    90529054    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90539055    break;
    90549056
    9055   case 714:
    9056 
    9057 /* Line 1806 of yacc.c  */
    9058 #line 2802 "parser.yy"
     9057  case 716:
     9058
     9059/* Line 1806 of yacc.c  */
     9060#line 2804 "parser.yy"
    90599061    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90609062    break;
    90619063
    9062   case 715:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2804 "parser.yy"
     9064  case 717:
     9065
     9066/* Line 1806 of yacc.c  */
     9067#line 2806 "parser.yy"
    90669068    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90679069    break;
    90689070
    9069   case 716:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2806 "parser.yy"
     9071  case 718:
     9072
     9073/* Line 1806 of yacc.c  */
     9074#line 2808 "parser.yy"
    90739075    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90749076    break;
    90759077
    9076   case 717:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2808 "parser.yy"
     9078  case 719:
     9079
     9080/* Line 1806 of yacc.c  */
     9081#line 2815 "parser.yy"
     9082    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9083    break;
     9084
     9085  case 720:
     9086
     9087/* Line 1806 of yacc.c  */
     9088#line 2817 "parser.yy"
     9089    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9090    break;
     9091
     9092  case 721:
     9093
     9094/* Line 1806 of yacc.c  */
     9095#line 2819 "parser.yy"
     9096    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9097    break;
     9098
     9099  case 722:
     9100
     9101/* Line 1806 of yacc.c  */
     9102#line 2821 "parser.yy"
     9103    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9104    break;
     9105
     9106  case 723:
     9107
     9108/* Line 1806 of yacc.c  */
     9109#line 2823 "parser.yy"
     9110    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9111    break;
     9112
     9113  case 724:
     9114
     9115/* Line 1806 of yacc.c  */
     9116#line 2826 "parser.yy"
     9117    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9118    break;
     9119
     9120  case 725:
     9121
     9122/* Line 1806 of yacc.c  */
     9123#line 2828 "parser.yy"
     9124    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9125    break;
     9126
     9127  case 726:
     9128
     9129/* Line 1806 of yacc.c  */
     9130#line 2830 "parser.yy"
     9131    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9132    break;
     9133
     9134  case 727:
     9135
     9136/* Line 1806 of yacc.c  */
     9137#line 2832 "parser.yy"
     9138    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     9139    break;
     9140
     9141  case 728:
     9142
     9143/* Line 1806 of yacc.c  */
     9144#line 2834 "parser.yy"
     9145    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9146    break;
     9147
     9148  case 729:
     9149
     9150/* Line 1806 of yacc.c  */
     9151#line 2839 "parser.yy"
     9152    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     9153    break;
     9154
     9155  case 730:
     9156
     9157/* Line 1806 of yacc.c  */
     9158#line 2841 "parser.yy"
     9159    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     9160    break;
     9161
     9162  case 731:
     9163
     9164/* Line 1806 of yacc.c  */
     9165#line 2846 "parser.yy"
     9166    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     9167    break;
     9168
     9169  case 732:
     9170
     9171/* Line 1806 of yacc.c  */
     9172#line 2848 "parser.yy"
     9173    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     9174    break;
     9175
     9176  case 734:
     9177
     9178/* Line 1806 of yacc.c  */
     9179#line 2875 "parser.yy"
     9180    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     9181    break;
     9182
     9183  case 738:
     9184
     9185/* Line 1806 of yacc.c  */
     9186#line 2886 "parser.yy"
    90809187    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90819188    break;
    90829189
    9083   case 718:
    9084 
    9085 /* Line 1806 of yacc.c  */
    9086 #line 2810 "parser.yy"
     9190  case 739:
     9191
     9192/* Line 1806 of yacc.c  */
     9193#line 2888 "parser.yy"
    90879194    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90889195    break;
    90899196
    9090   case 719:
    9091 
    9092 /* Line 1806 of yacc.c  */
    9093 #line 2817 "parser.yy"
    9094     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9095     break;
    9096 
    9097   case 720:
    9098 
    9099 /* Line 1806 of yacc.c  */
    9100 #line 2819 "parser.yy"
     9197  case 740:
     9198
     9199/* Line 1806 of yacc.c  */
     9200#line 2890 "parser.yy"
     9201    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9202    break;
     9203
     9204  case 741:
     9205
     9206/* Line 1806 of yacc.c  */
     9207#line 2892 "parser.yy"
     9208    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9209    break;
     9210
     9211  case 742:
     9212
     9213/* Line 1806 of yacc.c  */
     9214#line 2894 "parser.yy"
     9215    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9216    break;
     9217
     9218  case 743:
     9219
     9220/* Line 1806 of yacc.c  */
     9221#line 2896 "parser.yy"
     9222    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9223    break;
     9224
     9225  case 744:
     9226
     9227/* Line 1806 of yacc.c  */
     9228#line 2903 "parser.yy"
     9229    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9230    break;
     9231
     9232  case 745:
     9233
     9234/* Line 1806 of yacc.c  */
     9235#line 2905 "parser.yy"
     9236    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9237    break;
     9238
     9239  case 746:
     9240
     9241/* Line 1806 of yacc.c  */
     9242#line 2907 "parser.yy"
    91019243    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91029244    break;
    91039245
    9104   case 721:
    9105 
    9106 /* Line 1806 of yacc.c  */
    9107 #line 2821 "parser.yy"
    9108     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9109     break;
    9110 
    9111   case 722:
    9112 
    9113 /* Line 1806 of yacc.c  */
    9114 #line 2823 "parser.yy"
    9115     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9116     break;
    9117 
    9118   case 723:
    9119 
    9120 /* Line 1806 of yacc.c  */
    9121 #line 2825 "parser.yy"
     9246  case 747:
     9247
     9248/* Line 1806 of yacc.c  */
     9249#line 2909 "parser.yy"
     9250    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9251    break;
     9252
     9253  case 748:
     9254
     9255/* Line 1806 of yacc.c  */
     9256#line 2911 "parser.yy"
     9257    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
     9258    break;
     9259
     9260  case 749:
     9261
     9262/* Line 1806 of yacc.c  */
     9263#line 2913 "parser.yy"
    91229264    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91239265    break;
    91249266
    9125   case 724:
    9126 
    9127 /* Line 1806 of yacc.c  */
    9128 #line 2828 "parser.yy"
    9129     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9130     break;
    9131 
    9132   case 725:
    9133 
    9134 /* Line 1806 of yacc.c  */
    9135 #line 2830 "parser.yy"
    9136     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9137     break;
    9138 
    9139   case 726:
    9140 
    9141 /* Line 1806 of yacc.c  */
    9142 #line 2832 "parser.yy"
    9143     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9144     break;
    9145 
    9146   case 727:
    9147 
    9148 /* Line 1806 of yacc.c  */
    9149 #line 2834 "parser.yy"
    9150     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9151     break;
    9152 
    9153   case 728:
    9154 
    9155 /* Line 1806 of yacc.c  */
    9156 #line 2836 "parser.yy"
    9157     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9158     break;
    9159 
    9160   case 729:
    9161 
    9162 /* Line 1806 of yacc.c  */
    9163 #line 2841 "parser.yy"
    9164     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    9165     break;
    9166 
    9167   case 730:
    9168 
    9169 /* Line 1806 of yacc.c  */
    9170 #line 2843 "parser.yy"
    9171     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9172     break;
    9173 
    9174   case 731:
    9175 
    9176 /* Line 1806 of yacc.c  */
    9177 #line 2848 "parser.yy"
    9178     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9179     break;
    9180 
    9181   case 732:
    9182 
    9183 /* Line 1806 of yacc.c  */
    9184 #line 2850 "parser.yy"
    9185     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9186     break;
    9187 
    9188   case 734:
    9189 
    9190 /* Line 1806 of yacc.c  */
    9191 #line 2877 "parser.yy"
    9192     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9193     break;
    9194 
    9195   case 738:
    9196 
    9197 /* Line 1806 of yacc.c  */
    9198 #line 2888 "parser.yy"
    9199     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9200     break;
    9201 
    9202   case 739:
    9203 
    9204 /* Line 1806 of yacc.c  */
    9205 #line 2890 "parser.yy"
    9206     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9207     break;
    9208 
    9209   case 740:
    9210 
    9211 /* Line 1806 of yacc.c  */
    9212 #line 2892 "parser.yy"
    9213     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9214     break;
    9215 
    9216   case 741:
    9217 
    9218 /* Line 1806 of yacc.c  */
    9219 #line 2894 "parser.yy"
    9220     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9221     break;
    9222 
    9223   case 742:
    9224 
    9225 /* Line 1806 of yacc.c  */
    9226 #line 2896 "parser.yy"
    9227     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9228     break;
    9229 
    9230   case 743:
    9231 
    9232 /* Line 1806 of yacc.c  */
    9233 #line 2898 "parser.yy"
    9234     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9235     break;
    9236 
    9237   case 744:
    9238 
    9239 /* Line 1806 of yacc.c  */
    9240 #line 2905 "parser.yy"
    9241     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9242     break;
    9243 
    9244   case 745:
    9245 
    9246 /* Line 1806 of yacc.c  */
    9247 #line 2907 "parser.yy"
    9248     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9249     break;
    9250 
    9251   case 746:
    9252 
    9253 /* Line 1806 of yacc.c  */
    9254 #line 2909 "parser.yy"
    9255     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9256     break;
    9257 
    9258   case 747:
    9259 
    9260 /* Line 1806 of yacc.c  */
    9261 #line 2911 "parser.yy"
    9262     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9263     break;
    9264 
    9265   case 748:
    9266 
    9267 /* Line 1806 of yacc.c  */
    9268 #line 2913 "parser.yy"
    9269     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    9270     break;
    9271 
    9272   case 749:
    9273 
    9274 /* Line 1806 of yacc.c  */
    9275 #line 2915 "parser.yy"
    9276     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9277     break;
    9278 
    92799267  case 750:
    92809268
    92819269/* Line 1806 of yacc.c  */
    9282 #line 2920 "parser.yy"
     9270#line 2918 "parser.yy"
    92839271    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    92849272    break;
    92859273
    92869274  case 751:
     9275
     9276/* Line 1806 of yacc.c  */
     9277#line 2925 "parser.yy"
     9278    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
     9279    break;
     9280
     9281  case 752:
    92879282
    92889283/* Line 1806 of yacc.c  */
     
    92919286    break;
    92929287
    9293   case 752:
    9294 
    9295 /* Line 1806 of yacc.c  */
    9296 #line 2929 "parser.yy"
    9297     { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    9298     break;
    9299 
    93009288  case 755:
    93019289
    93029290/* Line 1806 of yacc.c  */
     9291#line 2951 "parser.yy"
     9292    { (yyval.en) = nullptr; }
     9293    break;
     9294
     9295  case 756:
     9296
     9297/* Line 1806 of yacc.c  */
    93039298#line 2953 "parser.yy"
    9304     { (yyval.en) = nullptr; }
    9305     break;
    9306 
    9307   case 756:
    9308 
    9309 /* Line 1806 of yacc.c  */
    9310 #line 2955 "parser.yy"
    93119299    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    93129300    break;
     
    93159303
    93169304/* Line 1806 of yacc.c  */
    9317 #line 9318 "Parser/parser.cc"
     9305#line 9306 "Parser/parser.cc"
    93189306      default: break;
    93199307    }
     
    95469534
    95479535/* Line 2067 of yacc.c  */
    9548 #line 2958 "parser.yy"
     9536#line 2956 "parser.yy"
    95499537
    95509538// ----end of grammar----
  • src/Parser/parser.yy

    raa9ee19 rb7b8674  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 15:00:03 2017
    13 // Update Count     : 2184
     12// Last Modified On : Mon Feb  6 16:00:29 2017
     13// Update Count     : 2181
    1414//
    1515
     
    20882088        declaration
    20892089        | external_function_definition
    2090         | ASM '(' string_literal ')' ';'                                        // GCC, global assembler statement
    2091                 {
    2092                         $$ = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, $3, 0 ) ) );
    2093                 }
     2090        | asm_statement                                                                         // GCC, global assembler statement
     2091                {}
    20942092        | EXTERN STRINGliteral                                                          // C++-style linkage specifier
    20952093                {
  • src/SynTree/Declaration.cc

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:28:05 2017
    13 // Update Count     : 16
     12// Last Modified On : Thu Aug 18 23:49:57 2016
     13// Update Count     : 13
    1414//
    1515
     
    6666
    6767
    68 AsmDecl::AsmDecl( AsmStmt *stmt ) : Declaration( "", DeclarationNode::NoStorageClass, LinkageSpec::C ), stmt( stmt ) {
    69 }
    70 
    71 AsmDecl::AsmDecl( const AsmDecl &other ) : Declaration( other ), stmt( maybeClone( other.stmt ) ) {
    72 }
    73 
    74 AsmDecl::~AsmDecl() {
    75         delete stmt;
    76 }
    77 
    78 void AsmDecl::print( std::ostream &os, int indent ) const {
    79         stmt->print( os, indent );
    80 }
    81 
    82 void AsmDecl::printShort( std::ostream &os, int indent ) const {
    83         stmt->print( os, indent );
    84 }
    85 
    86 
    8768// Local Variables: //
    8869// tab-width: 4 //
  • src/SynTree/Declaration.h

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:27:08 2017
    13 // Update Count     : 56
     12// Last Modified On : Fri Jan 20 15:07:29 2017
     13// Update Count     : 53
    1414//
    1515
     
    304304};
    305305
    306 class AsmDecl : public Declaration {
    307   public:
    308         AsmDecl( AsmStmt *stmt );
    309         AsmDecl( const AsmDecl &other );
    310         virtual ~AsmDecl();
    311 
    312         AsmStmt *get_stmt() { return stmt; }
    313         void set_stmt( AsmStmt *newValue ) { stmt = newValue; }
    314 
    315         virtual AsmDecl *clone() const { return new AsmDecl( *this ); }
    316         virtual void accept( Visitor &v ) { v.visit( this ); }
    317         virtual AsmDecl *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    318         virtual void print( std::ostream &os, int indent = 0 ) const;
    319         virtual void printShort( std::ostream &os, int indent = 0 ) const;
    320   private:
    321         AsmStmt *stmt;
    322 };
    323 
    324306std::ostream & operator<<( std::ostream & out, const Declaration * decl );
    325307std::ostream & operator<<( std::ostream & os, const TypeDecl::Data & data );
  • src/SynTree/Mutator.cc

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:22:56 2017
    13 // Update Count     : 20
     12// Last Modified On : Thu Aug  4 11:23:21 2016
     13// Update Count     : 19
    1414//
    1515
     
    8686}
    8787
    88 AsmDecl *Mutator::mutate( AsmDecl *asmDecl ) {
    89         asmDecl->set_stmt( maybeMutate( asmDecl->get_stmt(), *this ) );
    90         return asmDecl;
    91 }
    92 
    93 
    9488CompoundStmt *Mutator::mutate( CompoundStmt *compoundStmt ) {
    9589        mutateAll( compoundStmt->get_kids(), *this );
     
    183177        return impCtorDtorStmt;
    184178}
    185 
    186179
    187180Expression *Mutator::mutate( ApplicationExpr *applicationExpr ) {
     
    440433}
    441434
    442 
    443435Type *Mutator::mutate( VoidType *voidType ) {
    444436        mutateAll( voidType->get_forall(), *this );
     
    541533}
    542534
    543 
    544535Initializer *Mutator::mutate( SingleInit *singleInit ) {
    545536        singleInit->set_value( singleInit->get_value()->acceptMutator( *this ) );
     
    560551}
    561552
    562 
    563553Subrange *Mutator::mutate( Subrange *subrange ) {
    564554        return subrange;
    565555}
    566 
    567556
    568557Constant *Mutator::mutate( Constant *constant ) {
  • src/SynTree/Mutator.h

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:23:23 2017
    13 // Update Count     : 13
     12// Last Modified On : Wed Aug  3 16:59:45 2016
     13// Update Count     : 12
    1414//
    1515#include <cassert>
     
    3434        virtual TypeDecl* mutate( TypeDecl *typeDecl );
    3535        virtual Declaration* mutate( TypedefDecl *typeDecl );
    36         virtual AsmDecl* mutate( AsmDecl *asmDecl );
    3736
    3837        virtual CompoundStmt* mutate( CompoundStmt *compoundStmt );
  • src/SynTree/SynTree.h

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:23:49 2017
    13 // Update Count     : 8
     12// Last Modified On : Wed Aug  3 17:02:34 2016
     13// Update Count     : 7
    1414//
    1515
     
    3636class DtypeDecl;
    3737class TypedefDecl;
    38 class AsmDecl;
    3938
    4039class Statement;
  • src/SynTree/Visitor.cc

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:19:22 2017
    13 // Update Count     : 22
     12// Last Modified On : Thu Aug  4 11:24:25 2016
     13// Update Count     : 21
    1414//
    1515
     
    7474}
    7575
    76 void Visitor::visit( AsmDecl *asmDecl ) {
    77         maybeAccept( asmDecl->get_stmt(), *this );
    78 }
    79 
    80 
    8176void Visitor::visit( CompoundStmt *compoundStmt ) {
    8277        acceptAll( compoundStmt->get_kids(), *this );
     
    153148        maybeAccept( impCtorDtorStmt->get_callStmt(), *this );
    154149}
    155 
    156150
    157151void Visitor::visit( ApplicationExpr *applicationExpr ) {
     
    344338        maybeAccept( uniqueExpr->get_expr(), *this );
    345339}
    346 
    347340
    348341void Visitor::visit( VoidType *voidType ) {
     
    429422}
    430423
    431 
    432424void Visitor::visit( SingleInit *singleInit ) {
    433425        singleInit->get_value()->accept( *this );
     
    445437}
    446438
    447 
    448439void Visitor::visit( Subrange *subrange ) {}
    449 
    450440
    451441void Visitor::visit( Constant *constant ) {}
  • src/SynTree/Visitor.h

    raa9ee19 rb7b8674  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb  9 14:23:24 2017
    13 // Update Count     : 10
     12// Last Modified On : Wed Aug  3 17:01:50 2016
     13// Update Count     : 9
    1414//
    1515
     
    3434        virtual void visit( TypeDecl *typeDecl );
    3535        virtual void visit( TypedefDecl *typeDecl );
    36         virtual void visit( AsmDecl *asmDecl );
    3736
    3837        virtual void visit( CompoundStmt *compoundStmt );
  • src/libcfa/concurrency/coroutines

    raa9ee19 rb7b8674  
    3636void ?{}(coStack_t * this);
    3737void ?{}(coroutine * this);
    38 void ?{}(coroutine * this, const char * name);
    3938void ^?{}(coStack_t * this);
    4039void ^?{}(coroutine * this);
  • src/libcfa/concurrency/coroutines.c

    raa9ee19 rb7b8674  
    6262void ?{}(coroutine* this) {
    6363        this->name = "Anonymous Coroutine";
    64         this->errno_ = 0;
    65         this->state = Start;
    66       this->notHalted = true;
    67         this->starter = NULL;
    68         this->last = NULL;
    69 }
    70 
    71 void ?{}(coroutine* this, const char * name) {
    72         this->name = name;
    7364        this->errno_ = 0;
    7465        this->state = Start;
     
    169160        this->context = this->base;
    170161        this->top = (char *)this->context + cxtSize;
    171 
    172         LIB_DEBUG_PRINTF("Coroutine : created stack %p\n", this->base);
    173162}
    174163
  • src/libcfa/concurrency/kernel

    raa9ee19 rb7b8674  
    3030struct cluster {
    3131        simple_thread_list ready_queue;
    32         // pthread_spinlock_t lock;
     32        pthread_spinlock_t lock;
    3333};
    3434
     
    3838//-----------------------------------------------------------------------------
    3939// Processor
    40 enum ProcessorAction {
    41         Reschedule,
    42         NoAction
    43 };
    44 
    4540struct processor {
    46         struct processorCtx_t * runner;
     41        struct processorCtx_t * ctx;
    4742        cluster * cltr;
    4843        coroutine * current_coroutine;
     
    5146        simple_lock lock;
    5247        volatile bool terminated;
    53         ProcessorAction thread_action;
    5448};
    5549
     
    6862void unlock( simple_lock * );
    6963
     64struct pthread_spinlock_guard {
     65        pthread_spinlock_t * lock;
     66};
     67
     68static inline void ?{}( pthread_spinlock_guard * this, pthread_spinlock_t * lock ) {
     69        this->lock = lock;
     70        pthread_spin_lock( this->lock );
     71}
     72
     73static inline void ^?{}( pthread_spinlock_guard * this ) {
     74        pthread_spin_unlock( this->lock );
     75}
     76
     77// //Simple spinlock implementation from
     78// //http://stackoverflow.com/questions/1383363/is-my-spin-lock-implementation-correct-and-optimal
     79// //Not optimal but correct
     80// #define VOL
     81
     82// struct simple_spinlock {
     83//      VOL int lock;
     84// };
     85
     86// extern VOL int __sync_lock_test_and_set( VOL int *, VOL int);
     87// extern void __sync_synchronize();
     88
     89// static inline void lock( simple_spinlock * this ) {
     90//     while (__sync_lock_test_and_set(&this->lock, 1)) {
     91//         // Do nothing. This GCC builtin instruction
     92//         // ensures memory barrier.
     93//     }
     94// }
     95
     96// static inline void unlock( simple_spinlock * this ) {
     97//     __sync_synchronize(); // Memory barrier.
     98//     this->lock = 0;
     99// }
     100
    70101#endif //KERNEL_H
    71102
  • src/libcfa/concurrency/kernel.c

    raa9ee19 rb7b8674  
    2525#include <stddef.h>
    2626extern "C" {
    27 #include <fenv.h>
    2827#include <sys/resource.h>
    2928}
     
    3635#define __CFA_INVOKE_PRIVATE__
    3736#include "invoke.h"
    38 
    39 static volatile int lock;
    40 
    41 void spin_lock( volatile int *lock ) {
    42         for ( unsigned int i = 1;; i += 1 ) {
    43           if ( *lock == 0 && __sync_lock_test_and_set_4( lock, 1 ) == 0 ) break;
    44         }
    45 }
    46 
    47 void spin_unlock( volatile int *lock ) {
    48         __sync_lock_release_4( lock );
    49 }
    5037
    5138//-----------------------------------------------------------------------------
     
    10592
    10693        rlimit r;
    107         getrlimit( RLIMIT_STACK, &r);
     94        int ret = getrlimit( RLIMIT_STACK, &r);
    10895        this->size = r.rlim_cur;
    10996
     
    140127        (&this->c){};
    141128        this->proc = proc;
    142         proc->runner = this;
     129        proc->ctx = this;
    143130}
    144131
     
    146133        (&this->c){ info };
    147134        this->proc = proc;
    148         proc->runner = this;
     135        proc->ctx = this;
    149136}
    150137
     
    165152}
    166153
    167 void ?{}(processor * this, cluster * cltr, processorCtx_t * runner) {
     154void ?{}(processor * this, cluster * cltr, processorCtx_t * ctx) {
    168155        this->cltr = cltr;
    169156        this->current_coroutine = NULL;
     
    172159        this->terminated = false;
    173160
    174         this->runner = runner;
    175         LIB_DEBUG_PRINTF("Kernel : constructing processor context %p\n", runner);
    176         runner{ this };
     161        this->ctx = ctx;
     162        LIB_DEBUG_PRINTF("Kernel : constructing processor context %p\n", ctx);
     163        ctx{ this };
    177164}
    178165
     
    187174void ?{}(cluster * this) {
    188175        ( &this->ready_queue ){};
    189         lock = 0;
     176        pthread_spin_init( &this->lock, PTHREAD_PROCESS_PRIVATE );
    190177}
    191178
    192179void ^?{}(cluster * this) {
    193        
     180        pthread_spin_destroy( &this->lock );
    194181}
    195182
    196183//-----------------------------------------------------------------------------
    197184// Processor running routines
    198 void main(processorCtx_t *);
     185void main(processorCtx_t * ctx);
    199186thread * nextThread(cluster * this);
    200187void scheduleInternal(processor * this, thread * dst);
    201188void spin(processor * this, unsigned int * spin_count);
    202 void thread_schedule( thread * thrd );
    203 
    204 //Main of the processor contexts
    205 void main(processorCtx_t * runner) {
    206         processor * this = runner->proc;
     189
     190void main(processorCtx_t * ctx) {
     191        processor * this = ctx->proc;
    207192        LIB_DEBUG_PRINTF("Kernel : core %p starting\n", this);
    208 
    209         fenv_t envp;
    210         fegetenv( &envp );
    211         LIB_DEBUG_PRINTF("Kernel : mxcsr %x\n", envp.__mxcsr);
    212193
    213194        thread * readyThread = NULL;
     
    235216// from the processor coroutine to the target thread
    236217void scheduleInternal(processor * this, thread * dst) {
    237         this->thread_action = NoAction;
    238 
    239218        // coroutine * proc_ctx = get_coroutine(this->ctx);
    240219        // coroutine * thrd_ctx = get_coroutine(dst);
     
    247226        // // when ThreadCtxSwitch returns we are back in the processor coroutine
    248227
    249         coroutine * proc_ctx = get_coroutine(this->runner);
     228        coroutine * proc_ctx = get_coroutine(this->ctx);
    250229        coroutine * thrd_ctx = get_coroutine(dst);
    251230      thrd_ctx->last = proc_ctx;
     
    253232      // context switch to specified coroutine
    254233      // Which is now the current_coroutine
    255       // LIB_DEBUG_PRINTF("Kernel : switching to ctx %p (from %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine);
     234      LIB_DEBUG_PRINTF("Kernel : switching to ctx %p (from %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine);
    256235      this->current_thread = dst;
    257236      this->current_coroutine = thrd_ctx;
    258237      CtxSwitch( proc_ctx->stack.context, thrd_ctx->stack.context );
    259238      this->current_coroutine = proc_ctx;
    260       // LIB_DEBUG_PRINTF("Kernel : returned from ctx %p (to %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine);
     239      LIB_DEBUG_PRINTF("Kernel : returned from ctx %p (to %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine);
    261240 
    262241      // when CtxSwitch returns we are back in the processor coroutine
    263         if(this->thread_action == Reschedule) {
    264                 thread_schedule( dst );
    265         }
    266242}
    267243
     
    286262        processorCtx_t proc_cor_storage = { proc, &info };
    287263
    288         LIB_DEBUG_PRINTF("Coroutine : created stack %p\n", proc_cor_storage.c.stack.base);
    289 
    290264        //Set global state
    291         proc->current_coroutine = &proc->runner->c;
     265        proc->current_coroutine = &proc->ctx->c;
    292266        proc->current_thread = NULL;
    293267
    294268        //We now have a proper context from which to schedule threads
    295         LIB_DEBUG_PRINTF("Kernel : core %p created (%p, %p)\n", proc, proc->runner, &ctx);
     269        LIB_DEBUG_PRINTF("Kernel : core %p created (%p)\n", proc, proc->ctx);
    296270
    297271        // SKULLDUGGERY: Since the coroutine doesn't have its own stack, we can't
     
    305279
    306280        // Main routine of the core returned, the core is now fully terminated
    307         LIB_DEBUG_PRINTF("Kernel : core %p main ended (%p)\n", proc, proc->runner);     
     281        LIB_DEBUG_PRINTF("Kernel : core %p main ended (%p)\n", proc, proc->ctx);       
    308282
    309283        return NULL;
     
    313287        LIB_DEBUG_PRINTF("Kernel : Starting core %p\n", this);
    314288       
    315         // pthread_attr_t attributes;
    316         // pthread_attr_init( &attributes );
    317 
    318         pthread_create( &this->kernel_thread, NULL, CtxInvokeProcessor, (void*)this );
    319 
    320         // pthread_attr_destroy( &attributes );
     289        pthread_attr_t attributes;
     290        pthread_attr_init( &attributes );
     291
     292        pthread_create( &this->kernel_thread, &attributes, CtxInvokeProcessor, (void*)this );
     293
     294        pthread_attr_destroy( &attributes );
    321295
    322296        LIB_DEBUG_PRINTF("Kernel : core %p started\n", this);   
     
    328302        assertf( thrd->next == NULL, "Expected null got %p", thrd->next );
    329303       
    330         spin_lock( &lock );
     304        pthread_spinlock_guard guard = { &systemProcessor->cltr->lock };
    331305        append( &systemProcessor->cltr->ready_queue, thrd );
    332         spin_unlock( &lock );
    333306}
    334307
    335308thread * nextThread(cluster * this) {
    336         spin_lock( &lock );
    337         thread * head = pop_head( &this->ready_queue );
    338         spin_unlock( &lock );
    339         return head;
     309        pthread_spinlock_guard guard = { &this->lock };
     310        return pop_head( &this->ready_queue );
    340311}
    341312
     
    343314// Kernel boot procedures
    344315void kernel_startup(void) {
    345         LIB_DEBUG_PRINTF("Kernel : Starting\n");       
    346 
    347         // Start by initializing the main thread
     316
    348317        // SKULLDUGGERY: the mainThread steals the process main thread
    349318        // which will then be scheduled by the systemProcessor normally
     319        LIB_DEBUG_PRINTF("Kernel : Starting\n");       
     320
     321        current_stack_info_t info;
     322
     323        // LIB_DEBUG_PRINTF("Kernel : core    base : %p \n", info.base );
     324        // LIB_DEBUG_PRINTF("Kernel : core storage : %p \n", info.storage );
     325        // LIB_DEBUG_PRINTF("Kernel : core    size : %x \n", info.size );
     326        // LIB_DEBUG_PRINTF("Kernel : core   limit : %p \n", info.limit );
     327        // LIB_DEBUG_PRINTF("Kernel : core context : %p \n", info.context );
     328        // LIB_DEBUG_PRINTF("Kernel : core     top : %p \n", info.top );
     329
     330        // Start by initializing the main thread
    350331        mainThread = (thread *)&mainThread_storage;
    351         current_stack_info_t info;
    352332        mainThread{ &info };
    353333
     
    373353        // context. Hence, the main thread does not begin through CtxInvokeThread, like all other threads. The trick here is that
    374354        // mainThread is on the ready queue when this call is made.
    375         resume(systemProcessor->runner);
     355        resume(systemProcessor->ctx);
    376356
    377357
    378358
    379359        // THE SYSTEM IS NOW COMPLETELY RUNNING
     360
     361
     362
    380363        LIB_DEBUG_PRINTF("Kernel : Started\n--------------------------------------------------\n\n");
    381364}
     
    394377        // Destroy the system processor and its context in reverse order of construction
    395378        // These were manually constructed so we need manually destroy them
    396         ^(systemProcessor->runner){};
     379        ^(systemProcessor->ctx){};
    397380        ^(systemProcessor){};
    398381
     
    416399void lock( simple_lock * this ) {
    417400        {
    418                 spin_lock( &lock );
     401                pthread_spinlock_guard guard = { &systemCluster->lock };        //HUGE TEMP HACK which only works if we have a single cluster and is stupid
    419402                append( &this->blocked, this_thread() );
    420                 spin_unlock( &lock );
    421403        }
    422404        suspend();
  • src/libcfa/concurrency/threads.c

    raa9ee19 rb7b8674  
    2424
    2525extern "C" {
    26         #include <fenv.h>
    2726        #include <stddef.h>
    2827}
     
    9291        CtxSwitch( thrd_c->last->stack.context, thrd_c->stack.context );
    9392
    94         fenv_t envp;
    95         fegetenv( &envp );
    96         LIB_DEBUG_PRINTF("Thread : mxcsr %x\n", envp.__mxcsr);
    9793        LIB_DEBUG_PRINTF("Thread started : %p (t %p, c %p)\n", this, thrd_c, thrd_h);
    9894
     
    109105
    110106void yield( void ) {
    111         get_this_processor()->thread_action = Reschedule;
     107        thread_schedule( this_thread() );
    112108        suspend();
    113109}
  • src/tests/.expect/32/declarationSpecifier.txt

    raa9ee19 rb7b8674  
    1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);
     1__attribute__ ((__malloc__,__nothrow__,__leaf__)) extern void *malloc(unsigned int __size);
    22__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
    3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
    4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void));
    5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
     3__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void abort(void);
     4__attribute__ ((__nonnull__(1),__nothrow__,__leaf__)) extern int atexit(void (*__func)(void));
     5__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void exit(int __status);
    66extern int printf(const char *__restrict __format, ...);
    77volatile const short __x1__CVs_1;
     
    629629}
    630630static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); }
    631 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);
     631__attribute__ ((__malloc__,__nothrow__,__leaf__)) extern void *malloc(unsigned int __size);
    632632__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
    633 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
    634 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void));
    635 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
     633__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void abort(void);
     634__attribute__ ((__nonnull__(1),__nothrow__,__leaf__)) extern int atexit(void (*__func)(void));
     635__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void exit(int __status);
    636636extern int printf(const char *__restrict __format, ...);
    637637static inline int invoke_main(int argc, char **argv, char **envp);
  • src/tests/.expect/32/extension.txt

    raa9ee19 rb7b8674  
    1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);
     1__attribute__ ((__malloc__,__nothrow__,__leaf__)) extern void *malloc(unsigned int __size);
    22__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
    3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
    4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void));
    5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
     3__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void abort(void);
     4__attribute__ ((__nonnull__(1),__nothrow__,__leaf__)) extern int atexit(void (*__func)(void));
     5__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void exit(int __status);
    66extern int printf(const char *__restrict __format, ...);
    77__extension__ int __a__i_1;
     
    7777    __B__C2eE_1,
    7878};
    79 __extension__ int __f__Fi___1();
    80 __extension__ int i;
    81 __extension__ int j;
    8279__extension__ int __fred__Fi_i__1(int __p__i_1){
    8380    int ___retval_fred__i_1;
     
    8683        __extension__ int __b__i_2;
    8784        __extension__ int __c__i_2;
    88         __extension__ int *__x__Pi_2;
    89         __extension__ int *__y__Pi_2;
    90         __extension__ int *__z__Pi_2;
    9185    };
    9286    int __i__i_2 = ((int )(__extension__ __a__i_1+__extension__ 3));
     
    10094    ((void)((_tmp_cp_ret0=__extension__ __fred__Fi_i__1(3)) , _tmp_cp_ret0));
    10195    ((void)((*((int *)(&_tmp_cp_ret0)))) /* ^?{} */);
    102     __extension__ int __mary__Fi_i__2(int __p__i_2){
    103         int ___retval_mary__i_2;
    104     }
    10596    ((void)__extension__ sizeof(3));
    10697    ((void)__extension__ (((int )(3!=((int )0))) || ((int )(4!=((int )0)))));
  • src/tests/.expect/32/gccExtensions.txt

    raa9ee19 rb7b8674  
    1 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);
     1__attribute__ ((__malloc__,__nothrow__,__leaf__)) extern void *malloc(unsigned int __size);
    22__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
    3 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
    4 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void));
    5 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
     3__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void abort(void);
     4__attribute__ ((__nonnull__(1),__nothrow__,__leaf__)) extern int atexit(void (*__func)(void));
     5__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void exit(int __status);
    66extern int printf(const char *__restrict __format, ...);
    77extern int __x__i_1 asm ( "xx" );
     
    166166}
    167167static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return __main__Fi_iPPCc__1(argc, argv); }
    168 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(unsigned int __size);
     168__attribute__ ((__malloc__,__nothrow__,__leaf__)) extern void *malloc(unsigned int __size);
    169169__attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
    170 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
    171 __attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit(void (*__func)(void));
    172 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
     170__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void abort(void);
     171__attribute__ ((__nonnull__(1),__nothrow__,__leaf__)) extern int atexit(void (*__func)(void));
     172__attribute__ ((__noreturn__,__nothrow__,__leaf__)) extern void exit(int __status);
    173173extern int printf(const char *__restrict __format, ...);
    174174static inline int invoke_main(int argc, char **argv, char **envp);
Note: See TracChangeset for help on using the changeset viewer.