Changeset faddbd8


Ignore:
Timestamp:
Oct 5, 2016, 2:29:13 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
d58a39a0
Parents:
4b1fd2c
Message:

more refactoring of parser code, new tuple syntax

Location:
src
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/DeclarationNode.cc

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Sep 26 22:18:40 2016
    13 // Update Count     : 640
     12// Last Modified On : Mon Oct  3 18:03:08 2016
     13// Update Count     : 651
    1414//
    1515
     
    5656                extension( false ) {
    5757
    58         variable.name = nullptr;
    59         variable.tyClass = DeclarationNode::Otype;
     58//      variable.name = nullptr;
     59        variable.tyClass = NoTypeClass;
    6060        variable.assertions = nullptr;
    6161
    62         attr.name = nullptr;
     62//      attr.name = nullptr;
    6363        attr.expr = nullptr;
    6464        attr.type = nullptr;
     
    6666
    6767DeclarationNode::~DeclarationNode() {
    68         delete attr.name;
     68//      delete attr.name;
    6969        delete attr.expr;
    7070        delete attr.type;
    7171
    72         delete variable.name;
     72//      delete variable.name;
    7373        delete variable.assertions;
    7474
     
    9191        newnode->linkage = linkage;
    9292
    93         newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr;
     93//      newnode->variable.name = variable.name ? new string( *variable.name ) : nullptr;
    9494        newnode->variable.tyClass = variable.tyClass;
    9595        newnode->variable.assertions = maybeClone( variable.assertions );
    9696
    97         newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr;
     97//      newnode->attr.name = attr.name ? new string( *attr.name ) : nullptr;
    9898        newnode->attr.expr = maybeClone( attr.expr );
    9999        newnode->attr.type = maybeClone( attr.type );
     
    114114
    115115        if ( linkage != LinkageSpec::Cforall ) {
    116                 os << LinkageSpec::toString( linkage ) << " ";
     116                os << LinkageSpec::linkageName( linkage ) << " ";
    117117        } // if
    118118
     
    283283        DeclarationNode * newnode = new DeclarationNode;
    284284        newnode->type = nullptr;
     285        assert( ! newnode->name );
     286//      newnode->variable.name = name;
     287        newnode->name = name;
    285288        newnode->variable.tyClass = tc;
    286         newnode->variable.name = name;
     289        newnode->variable.assertions = nullptr;
    287290        return newnode;
    288291} // DeclarationNode::newTypeParam
     
    375378        DeclarationNode * newnode = new DeclarationNode;
    376379        newnode->type = nullptr;
    377         newnode->attr.name = name;
     380//      newnode->attr.name = name;
     381        newnode->name = name;
    378382        newnode->attr.expr = expr;
    379383        return newnode;
     
    383387        DeclarationNode * newnode = new DeclarationNode;
    384388        newnode->type = nullptr;
    385         newnode->attr.name = name;
     389//      newnode->attr.name = name;
     390        newnode->name = name;
    386391        newnode->attr.type = type;
    387392        return newnode;
     
    604609
    605610DeclarationNode * DeclarationNode::addAssertions( DeclarationNode * assertions ) {
    606         if ( variable.name ) {
     611        if ( variable.tyClass != NoTypeClass ) {
    607612                if ( variable.assertions ) {
    608613                        variable.assertions->appendList( assertions );
     
    622627                } // if
    623628                break;
    624           // case TypeData::Variable:
    625           //    if ( variable.assertions ) {
    626           //            variable.assertions->appendList( assertions );
    627           //    } else {
    628           //            variable.assertions = assertions;
    629           //    } // if
    630           //    break;
    631629          default:
    632630                assert( false );
     
    938936        if ( ! error.empty() ) throw SemanticError( error + " in declaration of ", this );
    939937
    940         if ( variable.name ) {
     938//      if ( variable.name ) {
     939        if ( variable.tyClass != NoTypeClass ) {
    941940                static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype };
    942                 TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] );
     941//              TypeDecl * ret = new TypeDecl( *variable.name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] );
     942                TypeDecl * ret = new TypeDecl( *name, DeclarationNode::NoStorageClass, nullptr, kindMap[ variable.tyClass ] );
    943943                buildList( variable.assertions, ret->get_assertions() );
    944944                return ret;
     
    960960        assert( type );
    961961
    962         if ( attr.name ) {
    963                 AttrType * ret;
    964                 if ( attr.expr ) {
    965                         ret = new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() );
    966                 } else {
    967                         assert( attr.type );
    968                         ret = new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() );
    969                 } // if
    970                 return ret;
     962        if ( attr.expr ) {
     963//              return new AttrType( buildQualifiers( type ), *attr.name, attr.expr->build() );
     964                return new AttrType( buildQualifiers( type ), *name, attr.expr->build() );
     965        } else if ( attr.type ) {
     966//              return new AttrType( buildQualifiers( type ), *attr.name, attr.type->buildType() );
     967                return new AttrType( buildQualifiers( type ), *name, attr.type->buildType() );
    971968        } // if
    972969
  • src/Parser/InitializerNode.cc

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 13:20:24 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Aug 15 18:27:02 2016
    13 // Update Count     : 20
     12// Last Modified On : Sat Oct  1 23:09:51 2016
     13// Update Count     : 21
    1414//
    1515
     
    2323
    2424InitializerNode::InitializerNode( ExpressionNode *_expr, bool aggrp, ExpressionNode *des )
    25         : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {
     25                : expr( _expr ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {
    2626        if ( aggrp )
    2727                kids = dynamic_cast< InitializerNode * >( get_next() );
     
    3232
    3333InitializerNode::InitializerNode( InitializerNode *init, bool aggrp, ExpressionNode *des )
    34         : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {
     34                : expr( 0 ), aggregate( aggrp ), designator( des ), kids( 0 ), maybeConstructed( true ) {
    3535        if ( init != 0 )
    3636                set_last( init );
     
    7979
    8080Initializer *InitializerNode::build() const {
    81         // if ( get_expression() == 0 ) return 0;  // XXX (?)
    82 
    8381        if ( aggregate ) {
    84                 //assert( next_init() != 0 );
    85 
    8682                std::list< Initializer * > initlist;
    8783                buildList< Initializer, InitializerNode >( next_init(), initlist );
  • src/Parser/LinkageSpec.cc

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 13:22:09 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Aug 21 12:32:53 2016
    13 // Update Count     : 17
     12// Last Modified On : Sun Oct  2 23:16:21 2016
     13// Update Count     : 23
    1414//
    1515
     
    1717#include <string>
    1818#include <cassert>
     19using namespace std;
    1920
    2021#include "LinkageSpec.h"
    2122#include "Common/SemanticError.h"
    2223
    23 LinkageSpec::Spec LinkageSpec::fromString( const std::string &spec ) {
    24         std::unique_ptr<const std::string> guard(&spec);                // allocated by lexer
    25         if ( spec == "\"Cforall\"" ) {
     24LinkageSpec::Spec LinkageSpec::linkageCheck( const string * spec ) {
     25        unique_ptr<const string> guard( spec ); // allocated by lexer
     26        if ( *spec == "\"Cforall\"" ) {
    2627                return Cforall;
    27         } else if ( spec == "\"C\"" ) {
     28        } else if ( *spec == "\"C\"" ) {
    2829                return C;
    2930        } else {
    30                 throw SemanticError( "Invalid linkage specifier " + spec );
     31                throw SemanticError( "Invalid linkage specifier " + *spec );
    3132        } // if
    3233}
    3334
    34 std::string LinkageSpec::toString( LinkageSpec::Spec linkage ) {
    35         assert( linkage >= 0 && linkage < LinkageSpec::NoOfSpecs );
     35string LinkageSpec::linkageName( LinkageSpec::Spec linkage ) {
     36        assert( 0 <= linkage && linkage < LinkageSpec::NoOfSpecs );
    3637        static const char *linkageKinds[LinkageSpec::NoOfSpecs] = {
    3738                "intrinsic", "Cforall", "C", "automatically generated", "compiler built-in",
     
    4142
    4243bool LinkageSpec::isDecoratable( Spec spec ) {
    43         assert( spec >= 0 && spec < LinkageSpec::NoOfSpecs );
     44        assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs );
    4445        static bool decoratable[LinkageSpec::NoOfSpecs] = {
    4546                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
     
    5051
    5152bool LinkageSpec::isGeneratable( Spec spec ) {
    52         assert( spec >= 0 && spec < LinkageSpec::NoOfSpecs );
     53        assert( 0 <= spec && spec < LinkageSpec::NoOfSpecs );
    5354        static bool generatable[LinkageSpec::NoOfSpecs] = {
    5455                //      Intrinsic,      Cforall,        C,              AutoGen,        Compiler
  • src/Parser/LinkageSpec.h

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 13:24:28 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Aug 20 19:22:23 2016
    13 // Update Count     : 8
     12// Last Modified On : Sat Oct  1 23:03:17 2016
     13// Update Count     : 11
    1414//
    1515
     
    2929        };
    3030 
    31         static Spec fromString( const std::string & );
    32         static std::string toString( Spec );
     31        static Spec linkageCheck( const std::string * );
     32        static std::string linkageName( Spec );
    3333 
    3434        static bool isDecoratable( Spec );
  • src/Parser/ParseNode.cc

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 13:26:29 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 17 23:14:16 2016
    13 // Update Count     : 126
     12// Last Modified On : Sat Oct  1 23:10:43 2016
     13// Update Count     : 127
    1414//
    1515
     
    2020
    2121std::ostream & operator<<( std::ostream & out, const ParseNode * node ) {
    22   node->print( out );
    23   return out;
     22        node->print( out );
     23        return out;
    2424}
    2525
  • src/Parser/ParseNode.h

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Sep 24 11:12:04 2016
    13 // Update Count     : 633
     12// Last Modified On : Mon Oct  3 18:03:08 2016
     13// Update Count     : 636
    1414//
    1515
     
    198198        enum Signedness { Signed, Unsigned, NoSignedness };
    199199        enum Length { Short, Long, LongLong, NoLength };
    200         enum Aggregate { Struct, Union, Trait };
    201         enum TypeClass { Otype, Dtype, Ftype };
     200        enum Aggregate { Struct, Union, Trait, NoAggregate };
     201        enum TypeClass { Otype, Dtype, Ftype, NoTypeClass };
    202202        enum BuiltinType { Valist };
    203203
     
    287287  public:
    288288        struct Variable_t {
    289                 const std::string * name;
     289//              const std::string * name;
    290290                DeclarationNode::TypeClass tyClass;
    291291                DeclarationNode * assertions;
     
    294294
    295295        struct Attr_t {
    296                 const std::string * name;
     296//              const std::string * name;
    297297                ExpressionNode * expr;
    298298                DeclarationNode * type;
  • src/Parser/TypeData.h

    r4b1fd2c rfaddbd8  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Sep 24 11:10:38 2016
    13 // Update Count     : 141
     12// Last Modified On : Mon Oct  3 12:34:08 2016
     13// Update Count     : 142
    1414//
    1515
     
    2323
    2424struct TypeData {
    25         enum Kind { Unknown, Basic, Pointer, Array, Function, Aggregate, AggregateInst,
    26                                 Enum, EnumConstant, Symbolic, SymbolicInst, Tuple, Typeof, Builtin };
     25        enum Kind { Basic, Pointer, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic,
     26                                SymbolicInst, Tuple, Typeof, Builtin, Unknown };
    2727
    2828        struct Aggregate_t {
  • src/Parser/parser.cc

    r4b1fd2c rfaddbd8  
    599599#define YYFINAL  250
    600600/* YYLAST -- Last index in YYTABLE.  */
    601 #define YYLAST   10863
     601#define YYLAST   10888
    602602
    603603/* YYNTOKENS -- Number of terminals.  */
    604604#define YYNTOKENS  133
    605605/* YYNNTS -- Number of nonterminals.  */
    606 #define YYNNTS  241
     606#define YYNNTS  242
    607607/* YYNRULES -- Number of rules.  */
    608 #define YYNRULES  751
     608#define YYNRULES  754
    609609/* YYNRULES -- Number of states.  */
    610 #define YYNSTATES  1555
     610#define YYNSTATES  1558
    611611
    612612/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    667667      17,    19,    21,    23,    25,    27,    29,    31,    33,    36,
    668668      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
    669       86,    89,    92,   100,   105,   107,   111,   112,   114,   116,
    670      120,   122,   126,   134,   138,   146,   148,   150,   152,   155,
    671      158,   161,   164,   167,   170,   175,   178,   183,   190,   192,
    672      197,   202,   204,   206,   208,   210,   212,   214,   216,   221,
    673      226,   228,   232,   236,   240,   242,   246,   250,   252,   256,
    674      260,   262,   266,   270,   274,   278,   280,   284,   288,   290,
    675      294,   296,   300,   302,   306,   308,   312,   314,   318,   320,
    676      326,   331,   337,   339,   341,   345,   348,   349,   351,   353,
    677      355,   357,   359,   361,   363,   365,   367,   369,   371,   373,
    678      375,   378,   384,   391,   399,   401,   405,   407,   411,   412,
    679      414,   416,   418,   420,   422,   424,   426,   428,   430,   437,
    680      442,   445,   453,   455,   459,   461,   464,   466,   469,   471,
    681      474,   477,   483,   491,   497,   507,   513,   523,   525,   529,
    682      531,   533,   537,   541,   544,   546,   549,   552,   553,   555,
    683      558,   562,   563,   565,   568,   572,   576,   581,   582,   584,
    684      586,   589,   595,   603,   610,   617,   622,   626,   631,   634,
    685      638,   641,   645,   649,   653,   657,   663,   667,   671,   676,
    686      678,   684,   691,   697,   704,   714,   725,   735,   746,   749,
    687      751,   754,   757,   760,   762,   769,   778,   789,   802,   817,
    688      818,   820,   821,   823,   825,   829,   834,   842,   843,   845,
    689      849,   851,   855,   857,   859,   861,   865,   867,   869,   871,
    690      875,   876,   878,   882,   887,   889,   893,   895,   897,   901,
    691      905,   909,   913,   917,   920,   924,   931,   935,   939,   944,
    692      946,   949,   952,   956,   962,   971,   979,   987,   993,  1003,
    693     1006,  1009,  1015,  1019,  1025,  1030,  1034,  1039,  1044,  1052,
    694     1056,  1060,  1064,  1068,  1073,  1080,  1082,  1084,  1086,  1088,
    695     1090,  1092,  1094,  1096,  1097,  1099,  1101,  1104,  1106,  1108,
    696     1110,  1112,  1114,  1116,  1118,  1119,  1125,  1127,  1130,  1134,
    697     1136,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
    698     1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    699     1177,  1179,  1181,  1183,  1186,  1189,  1193,  1197,  1199,  1203,
    700     1205,  1208,  1211,  1214,  1219,  1224,  1229,  1234,  1236,  1239,
    701     1242,  1246,  1248,  1251,  1254,  1256,  1259,  1262,  1266,  1268,
    702     1271,  1274,  1276,  1278,  1283,  1286,  1287,  1294,  1302,  1305,
    703     1308,  1311,  1312,  1315,  1318,  1322,  1325,  1329,  1331,  1334,
    704     1338,  1341,  1344,  1349,  1350,  1352,  1355,  1358,  1360,  1361,
    705     1363,  1366,  1369,  1375,  1378,  1379,  1387,  1390,  1395,  1396,
    706     1399,  1400,  1402,  1404,  1406,  1412,  1418,  1424,  1426,  1432,
    707     1438,  1448,  1450,  1456,  1457,  1459,  1461,  1467,  1469,  1471,
    708     1477,  1483,  1485,  1489,  1493,  1498,  1500,  1502,  1504,  1506,
    709     1509,  1511,  1515,  1519,  1521,  1524,  1526,  1530,  1532,  1534,
    710     1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1552,  1555,
    711     1557,  1559,  1561,  1564,  1565,  1568,  1571,  1573,  1578,  1579,
    712     1581,  1584,  1588,  1593,  1596,  1599,  1601,  1604,  1607,  1613,
    713     1619,  1627,  1634,  1636,  1639,  1642,  1646,  1648,  1651,  1654,
    714     1659,  1662,  1667,  1668,  1673,  1676,  1678,  1680,  1682,  1683,
    715     1686,  1692,  1698,  1712,  1714,  1716,  1720,  1724,  1727,  1731,
    716     1735,  1738,  1743,  1745,  1752,  1762,  1763,  1775,  1777,  1781,
    717     1785,  1789,  1791,  1793,  1799,  1802,  1808,  1809,  1811,  1813,
    718     1817,  1818,  1820,  1822,  1824,  1826,  1827,  1834,  1837,  1839,
    719     1842,  1847,  1850,  1854,  1858,  1862,  1867,  1873,  1879,  1885,
    720     1892,  1894,  1896,  1898,  1902,  1903,  1909,  1910,  1912,  1914,
    721     1917,  1924,  1926,  1930,  1931,  1933,  1938,  1940,  1942,  1944,
    722     1946,  1949,  1951,  1954,  1957,  1959,  1963,  1966,  1970,  1974,
    723     1977,  1982,  1987,  1991,  2000,  2004,  2007,  2009,  2012,  2019,
    724     2028,  2032,  2035,  2039,  2043,  2048,  2053,  2057,  2059,  2061,
    725     2063,  2068,  2075,  2079,  2082,  2086,  2090,  2095,  2100,  2104,
    726     2107,  2109,  2112,  2115,  2117,  2121,  2124,  2128,  2132,  2135,
    727     2140,  2145,  2149,  2156,  2165,  2169,  2172,  2174,  2177,  2180,
    728     2183,  2187,  2191,  2194,  2199,  2204,  2208,  2215,  2224,  2228,
    729     2231,  2233,  2236,  2239,  2241,  2243,  2246,  2250,  2254,  2257,
    730     2262,  2269,  2278,  2280,  2283,  2286,  2288,  2291,  2294,  2298,
    731     2302,  2304,  2309,  2314,  2318,  2324,  2333,  2337,  2340,  2344,
    732     2346,  2352,  2358,  2365,  2372,  2374,  2377,  2380,  2382,  2385,
    733     2388,  2392,  2396,  2398,  2403,  2408,  2412,  2418,  2427,  2431,
    734     2433,  2436,  2438,  2441,  2448,  2454,  2461,  2469,  2477,  2479,
    735     2482,  2485,  2487,  2490,  2493,  2497,  2501,  2503,  2508,  2513,
    736     2517,  2526,  2530,  2532,  2534,  2537,  2539,  2541,  2544,  2548,
    737     2551,  2555,  2558,  2562,  2566,  2569,  2574,  2578,  2581,  2585,
    738     2588,  2593,  2597,  2600,  2607,  2614,  2621,  2629,  2631,  2634,
    739     2636,  2638,  2640,  2643,  2647,  2650,  2654,  2657,  2661,  2665,
    740     2670,  2673,  2677,  2682,  2685,  2691,  2697,  2704,  2711,  2712,
    741     2714,  2715
     669      82,    90,    93,    96,   104,   109,   111,   115,   116,   118,
     670     120,   124,   126,   130,   138,   142,   150,   152,   154,   156,
     671     158,   160,   163,   166,   169,   172,   175,   178,   183,   186,
     672     191,   198,   200,   205,   210,   212,   214,   216,   218,   220,
     673     222,   224,   229,   234,   236,   240,   244,   248,   250,   254,
     674     258,   260,   264,   268,   270,   274,   278,   282,   286,   288,
     675     292,   296,   298,   302,   304,   308,   310,   314,   316,   320,
     676     322,   326,   328,   334,   339,   345,   347,   349,   353,   356,
     677     357,   359,   361,   363,   365,   367,   369,   371,   373,   375,
     678     377,   379,   381,   383,   386,   392,   399,   407,   409,   413,
     679     415,   419,   420,   422,   424,   426,   428,   430,   432,   434,
     680     436,   438,   445,   450,   453,   461,   463,   467,   469,   472,
     681     474,   477,   479,   482,   485,   491,   499,   505,   515,   521,
     682     531,   533,   537,   539,   541,   545,   549,   552,   554,   557,
     683     560,   561,   563,   566,   570,   571,   573,   576,   580,   584,
     684     589,   590,   592,   594,   597,   603,   611,   618,   625,   630,
     685     634,   639,   642,   646,   649,   653,   657,   661,   665,   671,
     686     675,   679,   684,   686,   692,   699,   705,   712,   722,   733,
     687     743,   754,   757,   759,   762,   765,   768,   770,   777,   786,
     688     797,   810,   825,   826,   828,   829,   831,   833,   837,   842,
     689     850,   851,   853,   857,   859,   863,   865,   867,   869,   873,
     690     875,   877,   879,   883,   884,   886,   890,   895,   897,   901,
     691     903,   905,   909,   913,   917,   921,   925,   928,   932,   939,
     692     943,   947,   952,   954,   957,   960,   964,   970,   979,   987,
     693     995,  1001,  1011,  1014,  1017,  1023,  1027,  1033,  1038,  1042,
     694    1047,  1052,  1060,  1064,  1068,  1072,  1076,  1081,  1088,  1090,
     695    1092,  1094,  1096,  1098,  1100,  1102,  1104,  1105,  1107,  1109,
     696    1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1127,  1133,
     697    1135,  1138,  1142,  1144,  1147,  1149,  1151,  1153,  1155,  1157,
     698    1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,  1177,
     699    1179,  1181,  1183,  1185,  1187,  1189,  1191,  1194,  1197,  1201,
     700    1205,  1207,  1211,  1213,  1216,  1219,  1222,  1227,  1232,  1237,
     701    1242,  1244,  1247,  1250,  1254,  1256,  1259,  1262,  1264,  1267,
     702    1270,  1274,  1276,  1279,  1282,  1284,  1286,  1291,  1294,  1295,
     703    1302,  1310,  1313,  1316,  1319,  1320,  1323,  1326,  1330,  1333,
     704    1337,  1339,  1342,  1346,  1349,  1352,  1357,  1358,  1360,  1363,
     705    1366,  1368,  1369,  1371,  1374,  1377,  1383,  1386,  1387,  1395,
     706    1398,  1403,  1404,  1407,  1408,  1410,  1412,  1414,  1420,  1426,
     707    1432,  1434,  1440,  1446,  1456,  1458,  1464,  1465,  1467,  1469,
     708    1475,  1477,  1479,  1485,  1491,  1493,  1497,  1501,  1506,  1508,
     709    1510,  1512,  1514,  1517,  1519,  1523,  1527,  1529,  1532,  1534,
     710    1538,  1540,  1542,  1544,  1546,  1548,  1550,  1552,  1554,  1556,
     711    1558,  1560,  1563,  1565,  1567,  1569,  1572,  1573,  1576,  1579,
     712    1581,  1586,  1587,  1589,  1592,  1596,  1601,  1604,  1607,  1609,
     713    1612,  1615,  1621,  1627,  1635,  1642,  1644,  1647,  1650,  1654,
     714    1656,  1659,  1662,  1667,  1670,  1675,  1676,  1681,  1684,  1686,
     715    1688,  1690,  1691,  1694,  1700,  1706,  1720,  1722,  1724,  1728,
     716    1732,  1735,  1739,  1743,  1746,  1751,  1753,  1760,  1770,  1771,
     717    1783,  1785,  1789,  1793,  1797,  1799,  1801,  1807,  1810,  1816,
     718    1817,  1819,  1821,  1825,  1826,  1828,  1830,  1832,  1834,  1835,
     719    1842,  1845,  1847,  1850,  1855,  1858,  1862,  1866,  1870,  1875,
     720    1881,  1887,  1893,  1900,  1902,  1904,  1906,  1910,  1911,  1917,
     721    1918,  1920,  1922,  1925,  1932,  1934,  1938,  1939,  1941,  1946,
     722    1948,  1950,  1952,  1954,  1957,  1959,  1962,  1965,  1967,  1971,
     723    1974,  1978,  1982,  1985,  1990,  1995,  1999,  2008,  2012,  2015,
     724    2017,  2020,  2027,  2036,  2040,  2043,  2047,  2051,  2056,  2061,
     725    2065,  2067,  2069,  2071,  2076,  2083,  2087,  2090,  2094,  2098,
     726    2103,  2108,  2112,  2115,  2117,  2120,  2123,  2125,  2129,  2132,
     727    2136,  2140,  2143,  2148,  2153,  2157,  2164,  2173,  2177,  2180,
     728    2182,  2185,  2188,  2191,  2195,  2199,  2202,  2207,  2212,  2216,
     729    2223,  2232,  2236,  2239,  2241,  2244,  2247,  2249,  2251,  2254,
     730    2258,  2262,  2265,  2270,  2277,  2286,  2288,  2291,  2294,  2296,
     731    2299,  2302,  2306,  2310,  2312,  2317,  2322,  2326,  2332,  2341,
     732    2345,  2348,  2352,  2354,  2360,  2366,  2373,  2380,  2382,  2385,
     733    2388,  2390,  2393,  2396,  2400,  2404,  2406,  2411,  2416,  2420,
     734    2426,  2435,  2439,  2441,  2444,  2446,  2449,  2456,  2462,  2469,
     735    2477,  2485,  2487,  2490,  2493,  2495,  2498,  2501,  2505,  2509,
     736    2511,  2516,  2521,  2525,  2534,  2538,  2540,  2542,  2545,  2547,
     737    2549,  2552,  2556,  2559,  2563,  2566,  2570,  2574,  2577,  2582,
     738    2586,  2589,  2593,  2596,  2601,  2605,  2608,  2615,  2622,  2629,
     739    2637,  2639,  2642,  2644,  2646,  2648,  2651,  2655,  2658,  2662,
     740    2665,  2669,  2673,  2678,  2681,  2685,  2690,  2693,  2699,  2705,
     741    2712,  2719,  2720,  2722,  2723
    742742};
    743743
     
    745745static const yytype_int16 yyrhs[] =
    746746{
    747      302,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     747     303,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    748748      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    749749      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,   142,
    750750      -1,    82,    -1,   142,    82,    -1,    72,    -1,   140,    -1,
    751      109,   170,   110,    -1,   109,   174,   110,    -1,   143,    -1,
    752      144,   111,   134,   165,   135,   112,    -1,   144,   109,   145,
     751     109,   171,   110,    -1,   109,   175,   110,    -1,   143,    -1,
     752     144,   111,   134,   166,   135,   112,    -1,   144,   109,   145,
    753753     110,    -1,   144,   113,   139,    -1,   144,   113,   111,   134,
    754      147,   135,   112,    -1,   144,    85,   139,    -1,   144,    85,
    755      111,   134,   147,   135,   112,    -1,   144,    86,    -1,   144,
    756       87,    -1,   109,   275,   110,   114,   279,   372,   115,    -1,
    757      144,   114,   145,   115,    -1,   146,    -1,   145,   116,   146,
    758       -1,    -1,   165,    -1,   148,    -1,   147,   116,   148,    -1,
    759      139,    -1,   139,   113,   148,    -1,   139,   113,   111,   134,
    760      147,   135,   112,    -1,   139,    85,   148,    -1,   139,    85,
    761      111,   134,   147,   135,   112,    -1,   144,    -1,   136,    -1,
    762      141,    -1,    40,   152,    -1,   150,   152,    -1,   151,   152,
    763       -1,    86,   149,    -1,    87,   149,    -1,    37,   149,    -1,
    764       37,   109,   275,   110,    -1,    66,   149,    -1,    66,   109,
    765      275,   110,    -1,    38,   109,   275,   116,   139,   110,    -1,
    766       76,    -1,    76,   109,   146,   110,    -1,    76,   109,   276,
    767      110,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
    768      121,    -1,   122,    -1,   149,    -1,   109,   275,   110,   152,
    769       -1,   109,   275,   110,   168,    -1,   152,    -1,   153,   117,
    770      152,    -1,   153,   123,   152,    -1,   153,   124,   152,    -1,
    771      153,    -1,   154,   119,   153,    -1,   154,   120,   153,    -1,
    772      154,    -1,   155,    88,   154,    -1,   155,    89,   154,    -1,
    773      155,    -1,   156,   125,   155,    -1,   156,   126,   155,    -1,
    774      156,    90,   155,    -1,   156,    91,   155,    -1,   156,    -1,
    775      157,    92,   156,    -1,   157,    93,   156,    -1,   157,    -1,
    776      158,   118,   157,    -1,   158,    -1,   159,   127,   158,    -1,
    777      159,    -1,   160,   128,   159,    -1,   160,    -1,   161,    94,
    778      160,    -1,   161,    -1,   162,    95,   161,    -1,   162,    -1,
    779      162,   129,   170,   130,   163,    -1,   162,   129,   130,   163,
    780       -1,   162,   129,   170,   130,   168,    -1,   163,    -1,   163,
    781       -1,   149,   167,   165,    -1,   168,   373,    -1,    -1,   165,
    782       -1,   131,    -1,   107,    -1,    97,    -1,    98,    -1,    99,
    783       -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
    784       -1,   105,    -1,   106,    -1,   111,   112,    -1,   111,   134,
    785      165,   135,   112,    -1,   111,   134,   116,   169,   135,   112,
    786       -1,   111,   134,   165,   116,   169,   135,   112,    -1,   166,
    787       -1,   169,   116,   166,    -1,   165,    -1,   170,   116,   165,
    788       -1,    -1,   170,    -1,   173,    -1,   174,    -1,   178,    -1,
    789      179,    -1,   191,    -1,   193,    -1,   194,    -1,   199,    -1,
    790      127,   144,   114,   145,   115,   132,    -1,    72,   130,   312,
    791      172,    -1,   114,   115,    -1,   114,   134,   134,   210,   175,
    792      135,   115,    -1,   176,    -1,   175,   134,   176,    -1,   213,
    793       -1,    40,   213,    -1,   308,    -1,   172,   135,    -1,   172,
    794       -1,   177,   172,    -1,   171,   132,    -1,    41,   109,   170,
    795      110,   172,    -1,    41,   109,   170,   110,   172,    42,   172,
    796       -1,    43,   109,   170,   110,   184,    -1,    43,   109,   170,
    797      110,   114,   134,   206,   185,   115,    -1,    53,   109,   170,
    798      110,   184,    -1,    53,   109,   170,   110,   114,   134,   206,
    799      187,   115,    -1,   164,    -1,   164,    96,   164,    -1,   310,
    800       -1,   180,    -1,   181,   116,   180,    -1,    44,   181,   130,
    801       -1,    45,   130,    -1,   182,    -1,   183,   182,    -1,   183,
    802      172,    -1,    -1,   186,    -1,   183,   177,    -1,   186,   183,
    803      177,    -1,    -1,   188,    -1,   183,   190,    -1,   183,   177,
    804      189,    -1,   188,   183,   190,    -1,   188,   183,   177,   189,
    805       -1,    -1,   190,    -1,    56,    -1,    56,   132,    -1,    47,
    806      109,   170,   110,   172,    -1,    46,   172,    47,   109,   170,
    807      110,   132,    -1,    48,   109,   134,   192,   110,   172,    -1,
    808      171,   135,   132,   171,   132,   171,    -1,   213,   171,   132,
    809      171,    -1,    51,    72,   132,    -1,    51,   117,   170,   132,
    810       -1,    50,   132,    -1,    50,    72,   132,    -1,    49,   132,
    811       -1,    49,    72,   132,    -1,    52,   171,   132,    -1,    61,
    812      166,   132,    -1,    62,   166,   132,    -1,    62,   166,    63,
    813      165,   132,    -1,    57,   174,   195,    -1,    57,   174,   197,
    814       -1,    57,   174,   195,   197,    -1,   196,    -1,    58,   109,
    815       96,   110,   174,    -1,   196,    58,   109,    96,   110,   174,
    816       -1,    59,   109,    96,   110,   174,    -1,   196,    59,   109,
    817       96,   110,   174,    -1,    58,   109,   134,   134,   198,   135,
    818      110,   174,   135,    -1,   196,    58,   109,   134,   134,   198,
    819      135,   110,   174,   135,    -1,    59,   109,   134,   134,   198,
    820      135,   110,   174,   135,    -1,   196,    59,   109,   134,   134,
    821      198,   135,   110,   174,   135,    -1,    60,   174,    -1,   226,
    822       -1,   226,   309,    -1,   226,   357,    -1,   366,   139,    -1,
    823      366,    -1,    64,   200,   109,   141,   110,   132,    -1,    64,
    824      200,   109,   141,   130,   201,   110,   132,    -1,    64,   200,
    825      109,   141,   130,   201,   130,   201,   110,   132,    -1,    64,
    826      200,   109,   141,   130,   201,   130,   201,   130,   204,   110,
    827      132,    -1,    64,   200,    51,   109,   141,   130,   130,   201,
    828      130,   204,   130,   205,   110,   132,    -1,    -1,    11,    -1,
    829       -1,   202,    -1,   203,    -1,   202,   116,   203,    -1,   141,
    830      109,   164,   110,    -1,   111,   164,   112,   141,   109,   164,
    831      110,    -1,    -1,   141,    -1,   204,   116,   141,    -1,   139,
    832       -1,   205,   116,   139,    -1,   135,    -1,   207,    -1,   213,
    833       -1,   207,   134,   213,    -1,   135,    -1,   209,    -1,   223,
    834       -1,   209,   134,   223,    -1,    -1,   211,    -1,    29,   212,
    835      132,    -1,   211,    29,   212,   132,    -1,   274,    -1,   212,
    836      116,   274,    -1,   214,    -1,   223,    -1,   215,   135,   132,
    837       -1,   220,   135,   132,    -1,   217,   135,   132,    -1,   293,
    838      135,   132,    -1,   296,   135,   132,    -1,   216,   277,    -1,
    839      232,   216,   277,    -1,   215,   135,   116,   134,   272,   277,
    840       -1,   367,   272,   311,    -1,   370,   272,   311,    -1,   228,
    841      370,   272,   311,    -1,   218,    -1,   228,   218,    -1,   232,
    842      218,    -1,   232,   228,   218,    -1,   217,   135,   116,   134,
    843      272,    -1,   111,   112,   272,   109,   134,   260,   135,   110,
    844       -1,   370,   272,   109,   134,   260,   135,   110,    -1,   219,
    845      272,   109,   134,   260,   135,   110,    -1,   111,   134,   262,
    846      135,   112,    -1,   111,   134,   262,   135,   116,   134,   263,
    847      135,   112,    -1,     3,   216,    -1,     3,   218,    -1,   220,
    848      135,   116,   134,   139,    -1,     3,   226,   309,    -1,   221,
    849      135,   116,   134,   309,    -1,   228,     3,   226,   309,    -1,
    850      226,     3,   309,    -1,   226,     3,   228,   309,    -1,     3,
    851      139,   131,   165,    -1,   222,   135,   116,   134,   139,   131,
    852      165,    -1,   224,   135,   132,    -1,   221,   135,   132,    -1,
    853      222,   135,   132,    -1,   240,   135,   132,    -1,   225,   309,
    854      311,   277,    -1,   224,   116,   312,   309,   311,   277,    -1,
    855      236,    -1,   240,    -1,   242,    -1,   283,    -1,   237,    -1,
    856      241,    -1,   243,    -1,   284,    -1,    -1,   228,    -1,   229,
    857       -1,   228,   229,    -1,   230,    -1,   314,    -1,    10,    -1,
    858       12,    -1,    11,    -1,    14,    -1,    67,    -1,    -1,    13,
    859      109,   231,   286,   110,    -1,   233,    -1,   228,   233,    -1,
    860      232,   228,   233,    -1,   234,    -1,   233,   234,    -1,     5,
    861       -1,     7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,
    862       -1,    69,    -1,    71,    -1,    16,    -1,    21,    -1,    20,
    863       -1,    18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,
    864       -1,    15,    -1,    25,    -1,    26,    -1,    27,    -1,    24,
    865       -1,   237,    -1,   232,   237,    -1,   236,   234,    -1,   236,
    866      234,   228,    -1,   236,   234,   237,    -1,   238,    -1,   227,
    867      239,   227,    -1,   235,    -1,   228,   235,    -1,   238,   229,
    868       -1,   238,   235,    -1,    28,   109,   276,   110,    -1,    28,
    869      109,   170,   110,    -1,    78,   109,   276,   110,    -1,    78,
    870      109,   170,   110,    -1,   241,    -1,   232,   241,    -1,   240,
    871      234,    -1,   240,   234,   228,    -1,   244,    -1,   228,   244,
    872       -1,   241,   229,    -1,   243,    -1,   232,   243,    -1,   242,
    873      234,    -1,   242,   234,   228,    -1,    74,    -1,   228,    74,
    874       -1,   243,   229,    -1,   245,    -1,   256,    -1,   247,   114,
    875      248,   115,    -1,   247,   274,    -1,    -1,   247,   274,   246,
    876      114,   248,   115,    -1,   247,   109,   292,   110,   114,   248,
    877      115,    -1,   247,   285,    -1,    31,   312,    -1,    32,   312,
    878       -1,    -1,   248,   249,    -1,   250,   132,    -1,    40,   250,
    879      132,    -1,   251,   132,    -1,    40,   251,   132,    -1,   366,
    880       -1,   366,   274,    -1,   250,   116,   274,    -1,   250,   116,
    881       -1,   226,   252,    -1,   251,   116,   312,   252,    -1,    -1,
    882      254,    -1,   318,   253,    -1,   331,   253,    -1,   357,    -1,
    883       -1,   254,    -1,   130,   164,    -1,    30,   312,    -1,   255,
    884      114,   258,   372,   115,    -1,   255,   274,    -1,    -1,   255,
    885      274,   257,   114,   258,   372,   115,    -1,   274,   259,    -1,
    886      258,   116,   274,   259,    -1,    -1,   131,   164,    -1,    -1,
    887      261,    -1,   263,    -1,   262,    -1,   262,   135,   116,   134,
    888      263,    -1,   263,   135,   116,   134,    96,    -1,   262,   135,
    889      116,   134,    96,    -1,   267,    -1,   263,   135,   116,   134,
    890      267,    -1,   262,   135,   116,   134,   267,    -1,   262,   135,
    891      116,   134,   263,   135,   116,   134,   267,    -1,   268,    -1,
    892      263,   135,   116,   134,   268,    -1,    -1,   265,    -1,   266,
    893       -1,   266,   135,   116,   134,    96,    -1,   270,    -1,   269,
    894       -1,   266,   135,   116,   134,   270,    -1,   266,   135,   116,
    895      134,   269,    -1,   269,    -1,   362,   272,   373,    -1,   370,
    896      272,   373,    -1,   228,   370,   272,   373,    -1,   218,    -1,
    897      270,    -1,   362,    -1,   370,    -1,   228,   370,    -1,   371,
    898       -1,   225,   336,   373,    -1,   225,   340,   373,    -1,   225,
    899       -1,   225,   351,    -1,   139,    -1,   271,   116,   139,    -1,
    900      137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,    -1,
    901       75,    -1,   139,    -1,    74,    -1,    75,    -1,   366,    -1,
    902      226,    -1,   226,   357,    -1,   366,    -1,   371,    -1,   226,
    903       -1,   226,   345,    -1,    -1,   131,   278,    -1,   107,   278,
    904       -1,   165,    -1,   114,   279,   372,   115,    -1,    -1,   278,
    905       -1,   280,   278,    -1,   279,   116,   278,    -1,   279,   116,
    906      280,   278,    -1,   281,   130,    -1,   274,   130,    -1,   282,
    907       -1,   281,   282,    -1,   113,   274,    -1,   111,   134,   165,
    908      135,   112,    -1,   111,   134,   310,   135,   112,    -1,   111,
    909      134,   164,    96,   164,   135,   112,    -1,   113,   111,   134,
    910      147,   135,   112,    -1,   284,    -1,   232,   284,    -1,   283,
    911      234,    -1,   283,   234,   228,    -1,   285,    -1,   228,   285,
    912       -1,   284,   229,    -1,    75,   109,   292,   110,    -1,   287,
    913      373,    -1,   286,   116,   287,   373,    -1,    -1,   289,   274,
    914      288,   290,    -1,   226,   336,    -1,    33,    -1,    35,    -1,
    915       34,    -1,    -1,   290,   291,    -1,   128,   274,   109,   292,
    916      110,    -1,   128,   114,   134,   298,   115,    -1,   128,   109,
    917      134,   286,   135,   110,   114,   134,   298,   115,   109,   292,
    918      110,    -1,   276,    -1,   165,    -1,   292,   116,   276,    -1,
    919      292,   116,   165,    -1,    33,   294,    -1,   233,    33,   294,
    920       -1,   293,   116,   294,    -1,   295,   290,    -1,   295,   290,
    921      131,   276,    -1,   274,    -1,   273,   109,   134,   286,   135,
    922      110,    -1,    36,   274,   109,   134,   286,   135,   110,   114,
    923      115,    -1,    -1,    36,   274,   109,   134,   286,   135,   110,
    924      114,   297,   298,   115,    -1,   299,    -1,   298,   134,   299,
    925       -1,   300,   135,   132,    -1,   301,   135,   132,    -1,   216,
    926       -1,   218,    -1,   300,   135,   116,   134,   272,    -1,   226,
    927      309,    -1,   301,   135,   116,   134,   309,    -1,    -1,   303,
    928       -1,   305,    -1,   303,   134,   305,    -1,    -1,   303,    -1,
    929      213,    -1,   307,    -1,   199,    -1,    -1,     5,    82,   306,
    930      114,   304,   115,    -1,    40,   305,    -1,   308,    -1,   323,
    931      174,    -1,   327,   134,   208,   174,    -1,   217,   174,    -1,
    932      225,   323,   174,    -1,   228,   323,   174,    -1,   232,   323,
    933      174,    -1,   232,   228,   323,   174,    -1,   225,   327,   134,
    934      208,   174,    -1,   228,   327,   134,   208,   174,    -1,   232,
    935      327,   134,   208,   174,    -1,   232,   228,   327,   134,   208,
    936      174,    -1,   318,    -1,   331,    -1,   323,    -1,   164,   122,
    937      164,    -1,    -1,    64,   109,   142,   110,   312,    -1,    -1,
    938      313,    -1,   314,    -1,   313,   314,    -1,    39,   109,   109,
    939      315,   110,   110,    -1,   316,    -1,   315,   116,   316,    -1,
    940       -1,   317,    -1,   317,   109,   171,   110,    -1,   272,    -1,
    941      234,    -1,   235,    -1,   229,    -1,   319,   312,    -1,   320,
    942       -1,   321,   312,    -1,   322,   312,    -1,   137,    -1,   109,
    943      319,   110,    -1,   150,   318,    -1,   150,   228,   318,    -1,
    944      109,   320,   110,    -1,   319,   349,    -1,   109,   320,   110,
    945      349,    -1,   109,   321,   110,   350,    -1,   109,   321,   110,
    946       -1,   109,   320,   110,   109,   134,   264,   135,   110,    -1,
    947      109,   322,   110,    -1,   324,   312,    -1,   325,    -1,   326,
    948      312,    -1,   319,   109,   134,   264,   135,   110,    -1,   109,
    949      325,   110,   109,   134,   264,   135,   110,    -1,   109,   324,
    950      110,    -1,   150,   323,    -1,   150,   228,   323,    -1,   109,
    951      325,   110,    -1,   109,   325,   110,   349,    -1,   109,   326,
    952      110,   350,    -1,   109,   326,   110,    -1,   328,    -1,   329,
    953       -1,   330,    -1,   319,   109,   271,   110,    -1,   109,   329,
    954      110,   109,   271,   110,    -1,   109,   328,   110,    -1,   150,
    955      327,    -1,   150,   228,   327,    -1,   109,   329,   110,    -1,
    956      109,   329,   110,   349,    -1,   109,   330,   110,   350,    -1,
    957      109,   330,   110,    -1,   332,   312,    -1,   333,    -1,   334,
    958      312,    -1,   335,   312,    -1,   341,    -1,   109,   332,   110,
    959       -1,   150,   331,    -1,   150,   228,   331,    -1,   109,   333,
    960      110,    -1,   332,   349,    -1,   109,   333,   110,   349,    -1,
    961      109,   334,   110,   350,    -1,   109,   334,   110,    -1,   332,
    962      109,   134,   264,   135,   110,    -1,   109,   333,   110,   109,
    963      134,   264,   135,   110,    -1,   109,   335,   110,    -1,   319,
    964      312,    -1,   337,    -1,   338,   312,    -1,   339,   312,    -1,
    965      150,   336,    -1,   150,   228,   336,    -1,   109,   337,   110,
    966       -1,   319,   355,    -1,   109,   337,   110,   349,    -1,   109,
    967      338,   110,   350,    -1,   109,   338,   110,    -1,   319,   109,
    968      134,   264,   135,   110,    -1,   109,   337,   110,   109,   134,
    969      264,   135,   110,    -1,   109,   339,   110,    -1,   341,   312,
    970       -1,   342,    -1,   343,   312,    -1,   344,   312,    -1,    74,
    971       -1,    75,    -1,   150,   340,    -1,   150,   228,   340,    -1,
    972      109,   342,   110,    -1,   341,   355,    -1,   109,   342,   110,
    973      355,    -1,   341,   109,   134,   264,   135,   110,    -1,   109,
    974      342,   110,   109,   134,   264,   135,   110,    -1,   346,    -1,
    975      347,   312,    -1,   348,   312,    -1,   150,    -1,   150,   228,
    976       -1,   150,   345,    -1,   150,   228,   345,    -1,   109,   346,
    977      110,    -1,   349,    -1,   109,   346,   110,   349,    -1,   109,
    978      347,   110,   350,    -1,   109,   347,   110,    -1,   109,   134,
    979      264,   135,   110,    -1,   109,   346,   110,   109,   134,   264,
    980      135,   110,    -1,   109,   348,   110,    -1,   111,   112,    -1,
    981      111,   112,   350,    -1,   350,    -1,   111,   134,   165,   135,
    982      112,    -1,   111,   134,   117,   135,   112,    -1,   350,   111,
    983      134,   165,   135,   112,    -1,   350,   111,   134,   117,   135,
    984      112,    -1,   352,    -1,   353,   312,    -1,   354,   312,    -1,
    985      150,    -1,   150,   228,    -1,   150,   351,    -1,   150,   228,
    986      351,    -1,   109,   352,   110,    -1,   355,    -1,   109,   352,
    987      110,   355,    -1,   109,   353,   110,   350,    -1,   109,   353,
    988      110,    -1,   109,   134,   264,   135,   110,    -1,   109,   352,
    989      110,   109,   134,   264,   135,   110,    -1,   109,   354,   110,
    990       -1,   356,    -1,   356,   350,    -1,   350,    -1,   111,   112,
    991       -1,   111,   134,   228,   117,   135,   112,    -1,   111,   134,
    992      228,   135,   112,    -1,   111,   134,   228,   165,   135,   112,
    993       -1,   111,   134,     7,   227,   165,   135,   112,    -1,   111,
    994      134,   228,     7,   165,   135,   112,    -1,   358,    -1,   359,
    995      312,    -1,   360,   312,    -1,   150,    -1,   150,   228,    -1,
    996      150,   357,    -1,   150,   228,   357,    -1,   109,   358,   110,
    997       -1,   349,    -1,   109,   358,   110,   349,    -1,   109,   359,
    998      110,   350,    -1,   109,   359,   110,    -1,   109,   358,   110,
    999      109,   134,   264,   135,   110,    -1,   109,   360,   110,    -1,
    1000      362,    -1,   370,    -1,   228,   370,    -1,   363,    -1,   364,
    1001       -1,   150,   226,    -1,   228,   150,   226,    -1,   150,   371,
    1002       -1,   228,   150,   371,    -1,   150,   361,    -1,   228,   150,
    1003      361,    -1,   111,   112,   226,    -1,   365,   226,    -1,   111,
    1004      112,   350,   226,    -1,   365,   350,   226,    -1,   350,   226,
    1005       -1,   111,   112,   363,    -1,   365,   363,    -1,   111,   112,
    1006      350,   363,    -1,   365,   350,   363,    -1,   350,   363,    -1,
    1007      111,   134,   228,   117,   135,   112,    -1,   111,   134,   228,
    1008      165,   135,   112,    -1,   111,   134,   232,   165,   135,   112,
    1009       -1,   111,   134,   232,   228,   165,   135,   112,    -1,   370,
    1010       -1,   228,   370,    -1,   367,    -1,   368,    -1,   369,    -1,
    1011      150,   226,    -1,   228,   150,   226,    -1,   150,   371,    -1,
    1012      228,   150,   371,    -1,   150,   366,    -1,   228,   150,   366,
    1013       -1,   111,   112,   226,    -1,   111,   112,   350,   226,    -1,
    1014      350,   226,    -1,   111,   112,   368,    -1,   111,   112,   350,
    1015      368,    -1,   350,   368,    -1,   111,   134,   263,   135,   112,
    1016       -1,   111,   112,   109,   260,   110,    -1,   370,   109,   134,
    1017      260,   135,   110,    -1,   219,   109,   134,   260,   135,   110,
    1018       -1,    -1,   116,    -1,    -1,   131,   165,    -1
     754     147,   135,   112,    -1,   144,   113,    79,    -1,   144,    85,
     755     139,    -1,   144,    85,   111,   134,   147,   135,   112,    -1,
     756     144,    86,    -1,   144,    87,    -1,   109,   276,   110,   114,
     757     280,   373,   115,    -1,   144,   114,   145,   115,    -1,   146,
     758      -1,   145,   116,   146,    -1,    -1,   166,    -1,   148,    -1,
     759     147,   116,   148,    -1,   149,    -1,   149,   113,   148,    -1,
     760     149,   113,   111,   134,   147,   135,   112,    -1,   149,    85,
     761     148,    -1,   149,    85,   111,   134,   147,   135,   112,    -1,
     762     139,    -1,    79,    -1,   144,    -1,   136,    -1,   141,    -1,
     763      40,   153,    -1,   151,   153,    -1,   152,   153,    -1,    86,
     764     150,    -1,    87,   150,    -1,    37,   150,    -1,    37,   109,
     765     276,   110,    -1,    66,   150,    -1,    66,   109,   276,   110,
     766      -1,    38,   109,   276,   116,   139,   110,    -1,    76,    -1,
     767      76,   109,   146,   110,    -1,    76,   109,   277,   110,    -1,
     768     117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,
     769     122,    -1,   150,    -1,   109,   276,   110,   153,    -1,   109,
     770     276,   110,   169,    -1,   153,    -1,   154,   117,   153,    -1,
     771     154,   123,   153,    -1,   154,   124,   153,    -1,   154,    -1,
     772     155,   119,   154,    -1,   155,   120,   154,    -1,   155,    -1,
     773     156,    88,   155,    -1,   156,    89,   155,    -1,   156,    -1,
     774     157,   125,   156,    -1,   157,   126,   156,    -1,   157,    90,
     775     156,    -1,   157,    91,   156,    -1,   157,    -1,   158,    92,
     776     157,    -1,   158,    93,   157,    -1,   158,    -1,   159,   118,
     777     158,    -1,   159,    -1,   160,   127,   159,    -1,   160,    -1,
     778     161,   128,   160,    -1,   161,    -1,   162,    94,   161,    -1,
     779     162,    -1,   163,    95,   162,    -1,   163,    -1,   163,   129,
     780     171,   130,   164,    -1,   163,   129,   130,   164,    -1,   163,
     781     129,   171,   130,   169,    -1,   164,    -1,   164,    -1,   150,
     782     168,   166,    -1,   169,   374,    -1,    -1,   166,    -1,   131,
     783      -1,   107,    -1,    97,    -1,    98,    -1,    99,    -1,   100,
     784      -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,
     785      -1,   106,    -1,   111,   112,    -1,   111,   134,   166,   135,
     786     112,    -1,   111,   134,   116,   170,   135,   112,    -1,   111,
     787     134,   166,   116,   170,   135,   112,    -1,   167,    -1,   170,
     788     116,   167,    -1,   166,    -1,   171,   116,   166,    -1,    -1,
     789     171,    -1,   174,    -1,   175,    -1,   179,    -1,   180,    -1,
     790     192,    -1,   194,    -1,   195,    -1,   200,    -1,   127,   144,
     791     114,   145,   115,   132,    -1,    72,   130,   313,   173,    -1,
     792     114,   115,    -1,   114,   134,   134,   211,   176,   135,   115,
     793      -1,   177,    -1,   176,   134,   177,    -1,   214,    -1,    40,
     794     214,    -1,   309,    -1,   173,   135,    -1,   173,    -1,   178,
     795     173,    -1,   172,   132,    -1,    41,   109,   171,   110,   173,
     796      -1,    41,   109,   171,   110,   173,    42,   173,    -1,    43,
     797     109,   171,   110,   185,    -1,    43,   109,   171,   110,   114,
     798     134,   207,   186,   115,    -1,    53,   109,   171,   110,   185,
     799      -1,    53,   109,   171,   110,   114,   134,   207,   188,   115,
     800      -1,   165,    -1,   165,    96,   165,    -1,   311,    -1,   181,
     801      -1,   182,   116,   181,    -1,    44,   182,   130,    -1,    45,
     802     130,    -1,   183,    -1,   184,   183,    -1,   184,   173,    -1,
     803      -1,   187,    -1,   184,   178,    -1,   187,   184,   178,    -1,
     804      -1,   189,    -1,   184,   191,    -1,   184,   178,   190,    -1,
     805     189,   184,   191,    -1,   189,   184,   178,   190,    -1,    -1,
     806     191,    -1,    56,    -1,    56,   132,    -1,    47,   109,   171,
     807     110,   173,    -1,    46,   173,    47,   109,   171,   110,   132,
     808      -1,    48,   109,   134,   193,   110,   173,    -1,   172,   135,
     809     132,   172,   132,   172,    -1,   214,   172,   132,   172,    -1,
     810      51,    72,   132,    -1,    51,   117,   171,   132,    -1,    50,
     811     132,    -1,    50,    72,   132,    -1,    49,   132,    -1,    49,
     812      72,   132,    -1,    52,   172,   132,    -1,    61,   167,   132,
     813      -1,    62,   167,   132,    -1,    62,   167,    63,   166,   132,
     814      -1,    57,   175,   196,    -1,    57,   175,   198,    -1,    57,
     815     175,   196,   198,    -1,   197,    -1,    58,   109,    96,   110,
     816     175,    -1,   197,    58,   109,    96,   110,   175,    -1,    59,
     817     109,    96,   110,   175,    -1,   197,    59,   109,    96,   110,
     818     175,    -1,    58,   109,   134,   134,   199,   135,   110,   175,
     819     135,    -1,   197,    58,   109,   134,   134,   199,   135,   110,
     820     175,   135,    -1,    59,   109,   134,   134,   199,   135,   110,
     821     175,   135,    -1,   197,    59,   109,   134,   134,   199,   135,
     822     110,   175,   135,    -1,    60,   175,    -1,   227,    -1,   227,
     823     310,    -1,   227,   358,    -1,   367,   139,    -1,   367,    -1,
     824      64,   201,   109,   141,   110,   132,    -1,    64,   201,   109,
     825     141,   130,   202,   110,   132,    -1,    64,   201,   109,   141,
     826     130,   202,   130,   202,   110,   132,    -1,    64,   201,   109,
     827     141,   130,   202,   130,   202,   130,   205,   110,   132,    -1,
     828      64,   201,    51,   109,   141,   130,   130,   202,   130,   205,
     829     130,   206,   110,   132,    -1,    -1,    11,    -1,    -1,   203,
     830      -1,   204,    -1,   203,   116,   204,    -1,   141,   109,   165,
     831     110,    -1,   111,   165,   112,   141,   109,   165,   110,    -1,
     832      -1,   141,    -1,   205,   116,   141,    -1,   139,    -1,   206,
     833     116,   139,    -1,   135,    -1,   208,    -1,   214,    -1,   208,
     834     134,   214,    -1,   135,    -1,   210,    -1,   224,    -1,   210,
     835     134,   224,    -1,    -1,   212,    -1,    29,   213,   132,    -1,
     836     212,    29,   213,   132,    -1,   275,    -1,   213,   116,   275,
     837      -1,   215,    -1,   224,    -1,   216,   135,   132,    -1,   221,
     838     135,   132,    -1,   218,   135,   132,    -1,   294,   135,   132,
     839      -1,   297,   135,   132,    -1,   217,   278,    -1,   233,   217,
     840     278,    -1,   216,   135,   116,   134,   273,   278,    -1,   368,
     841     273,   312,    -1,   371,   273,   312,    -1,   229,   371,   273,
     842     312,    -1,   219,    -1,   229,   219,    -1,   233,   219,    -1,
     843     233,   229,   219,    -1,   218,   135,   116,   134,   273,    -1,
     844     111,   112,   273,   109,   134,   261,   135,   110,    -1,   371,
     845     273,   109,   134,   261,   135,   110,    -1,   220,   273,   109,
     846     134,   261,   135,   110,    -1,   111,   134,   263,   135,   112,
     847      -1,   111,   134,   263,   135,   116,   134,   264,   135,   112,
     848      -1,     3,   217,    -1,     3,   219,    -1,   221,   135,   116,
     849     134,   139,    -1,     3,   227,   310,    -1,   222,   135,   116,
     850     134,   310,    -1,   229,     3,   227,   310,    -1,   227,     3,
     851     310,    -1,   227,     3,   229,   310,    -1,     3,   139,   131,
     852     166,    -1,   223,   135,   116,   134,   139,   131,   166,    -1,
     853     225,   135,   132,    -1,   222,   135,   132,    -1,   223,   135,
     854     132,    -1,   241,   135,   132,    -1,   226,   310,   312,   278,
     855      -1,   225,   116,   313,   310,   312,   278,    -1,   237,    -1,
     856     241,    -1,   243,    -1,   284,    -1,   238,    -1,   242,    -1,
     857     244,    -1,   285,    -1,    -1,   229,    -1,   230,    -1,   229,
     858     230,    -1,   231,    -1,   315,    -1,    10,    -1,    12,    -1,
     859      11,    -1,    14,    -1,    67,    -1,    -1,    13,   109,   232,
     860     287,   110,    -1,   234,    -1,   229,   234,    -1,   233,   229,
     861     234,    -1,   235,    -1,   234,   235,    -1,     5,    -1,     7,
     862      -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,    69,
     863      -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,    18,
     864      -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,    15,
     865      -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,   238,
     866      -1,   233,   238,    -1,   237,   235,    -1,   237,   235,   229,
     867      -1,   237,   235,   238,    -1,   239,    -1,   228,   240,   228,
     868      -1,   236,    -1,   229,   236,    -1,   239,   230,    -1,   239,
     869     236,    -1,    28,   109,   277,   110,    -1,    28,   109,   171,
     870     110,    -1,    78,   109,   277,   110,    -1,    78,   109,   171,
     871     110,    -1,   242,    -1,   233,   242,    -1,   241,   235,    -1,
     872     241,   235,   229,    -1,   245,    -1,   229,   245,    -1,   242,
     873     230,    -1,   244,    -1,   233,   244,    -1,   243,   235,    -1,
     874     243,   235,   229,    -1,    74,    -1,   229,    74,    -1,   244,
     875     230,    -1,   246,    -1,   257,    -1,   248,   114,   249,   115,
     876      -1,   248,   275,    -1,    -1,   248,   275,   247,   114,   249,
     877     115,    -1,   248,   109,   293,   110,   114,   249,   115,    -1,
     878     248,   286,    -1,    31,   313,    -1,    32,   313,    -1,    -1,
     879     249,   250,    -1,   251,   132,    -1,    40,   251,   132,    -1,
     880     252,   132,    -1,    40,   252,   132,    -1,   367,    -1,   367,
     881     275,    -1,   251,   116,   275,    -1,   251,   116,    -1,   227,
     882     253,    -1,   252,   116,   313,   253,    -1,    -1,   255,    -1,
     883     319,   254,    -1,   332,   254,    -1,   358,    -1,    -1,   255,
     884      -1,   130,   165,    -1,    30,   313,    -1,   256,   114,   259,
     885     373,   115,    -1,   256,   275,    -1,    -1,   256,   275,   258,
     886     114,   259,   373,   115,    -1,   275,   260,    -1,   259,   116,
     887     275,   260,    -1,    -1,   131,   165,    -1,    -1,   262,    -1,
     888     264,    -1,   263,    -1,   263,   135,   116,   134,   264,    -1,
     889     264,   135,   116,   134,    96,    -1,   263,   135,   116,   134,
     890      96,    -1,   268,    -1,   264,   135,   116,   134,   268,    -1,
     891     263,   135,   116,   134,   268,    -1,   263,   135,   116,   134,
     892     264,   135,   116,   134,   268,    -1,   269,    -1,   264,   135,
     893     116,   134,   269,    -1,    -1,   266,    -1,   267,    -1,   267,
     894     135,   116,   134,    96,    -1,   271,    -1,   270,    -1,   267,
     895     135,   116,   134,   271,    -1,   267,   135,   116,   134,   270,
     896      -1,   270,    -1,   363,   273,   374,    -1,   371,   273,   374,
     897      -1,   229,   371,   273,   374,    -1,   219,    -1,   271,    -1,
     898     363,    -1,   371,    -1,   229,   371,    -1,   372,    -1,   226,
     899     337,   374,    -1,   226,   341,   374,    -1,   226,    -1,   226,
     900     352,    -1,   139,    -1,   272,   116,   139,    -1,   137,    -1,
     901      74,    -1,    75,    -1,   138,    -1,    74,    -1,    75,    -1,
     902     139,    -1,    74,    -1,    75,    -1,   367,    -1,   227,    -1,
     903     227,   358,    -1,   367,    -1,   372,    -1,   227,    -1,   227,
     904     346,    -1,    -1,   131,   279,    -1,   107,   279,    -1,   166,
     905      -1,   114,   280,   373,   115,    -1,    -1,   279,    -1,   281,
     906     279,    -1,   280,   116,   279,    -1,   280,   116,   281,   279,
     907      -1,   282,   130,    -1,   275,   130,    -1,   283,    -1,   282,
     908     283,    -1,   113,   275,    -1,   111,   134,   166,   135,   112,
     909      -1,   111,   134,   311,   135,   112,    -1,   111,   134,   165,
     910      96,   165,   135,   112,    -1,   113,   111,   134,   147,   135,
     911     112,    -1,   285,    -1,   233,   285,    -1,   284,   235,    -1,
     912     284,   235,   229,    -1,   286,    -1,   229,   286,    -1,   285,
     913     230,    -1,    75,   109,   293,   110,    -1,   288,   374,    -1,
     914     287,   116,   288,   374,    -1,    -1,   290,   275,   289,   291,
     915      -1,   227,   337,    -1,    33,    -1,    35,    -1,    34,    -1,
     916      -1,   291,   292,    -1,   128,   275,   109,   293,   110,    -1,
     917     128,   114,   134,   299,   115,    -1,   128,   109,   134,   287,
     918     135,   110,   114,   134,   299,   115,   109,   293,   110,    -1,
     919     277,    -1,   166,    -1,   293,   116,   277,    -1,   293,   116,
     920     166,    -1,    33,   295,    -1,   234,    33,   295,    -1,   294,
     921     116,   295,    -1,   296,   291,    -1,   296,   291,   131,   277,
     922      -1,   275,    -1,   274,   109,   134,   287,   135,   110,    -1,
     923      36,   275,   109,   134,   287,   135,   110,   114,   115,    -1,
     924      -1,    36,   275,   109,   134,   287,   135,   110,   114,   298,
     925     299,   115,    -1,   300,    -1,   299,   134,   300,    -1,   301,
     926     135,   132,    -1,   302,   135,   132,    -1,   217,    -1,   219,
     927      -1,   301,   135,   116,   134,   273,    -1,   227,   310,    -1,
     928     302,   135,   116,   134,   310,    -1,    -1,   304,    -1,   306,
     929      -1,   304,   134,   306,    -1,    -1,   304,    -1,   214,    -1,
     930     308,    -1,   200,    -1,    -1,     5,    82,   307,   114,   305,
     931     115,    -1,    40,   306,    -1,   309,    -1,   324,   175,    -1,
     932     328,   134,   209,   175,    -1,   218,   175,    -1,   226,   324,
     933     175,    -1,   229,   324,   175,    -1,   233,   324,   175,    -1,
     934     233,   229,   324,   175,    -1,   226,   328,   134,   209,   175,
     935      -1,   229,   328,   134,   209,   175,    -1,   233,   328,   134,
     936     209,   175,    -1,   233,   229,   328,   134,   209,   175,    -1,
     937     319,    -1,   332,    -1,   324,    -1,   165,   122,   165,    -1,
     938      -1,    64,   109,   142,   110,   313,    -1,    -1,   314,    -1,
     939     315,    -1,   314,   315,    -1,    39,   109,   109,   316,   110,
     940     110,    -1,   317,    -1,   316,   116,   317,    -1,    -1,   318,
     941      -1,   318,   109,   172,   110,    -1,   273,    -1,   235,    -1,
     942     236,    -1,   230,    -1,   320,   313,    -1,   321,    -1,   322,
     943     313,    -1,   323,   313,    -1,   137,    -1,   109,   320,   110,
     944      -1,   151,   319,    -1,   151,   229,   319,    -1,   109,   321,
     945     110,    -1,   320,   350,    -1,   109,   321,   110,   350,    -1,
     946     109,   322,   110,   351,    -1,   109,   322,   110,    -1,   109,
     947     321,   110,   109,   134,   265,   135,   110,    -1,   109,   323,
     948     110,    -1,   325,   313,    -1,   326,    -1,   327,   313,    -1,
     949     320,   109,   134,   265,   135,   110,    -1,   109,   326,   110,
     950     109,   134,   265,   135,   110,    -1,   109,   325,   110,    -1,
     951     151,   324,    -1,   151,   229,   324,    -1,   109,   326,   110,
     952      -1,   109,   326,   110,   350,    -1,   109,   327,   110,   351,
     953      -1,   109,   327,   110,    -1,   329,    -1,   330,    -1,   331,
     954      -1,   320,   109,   272,   110,    -1,   109,   330,   110,   109,
     955     272,   110,    -1,   109,   329,   110,    -1,   151,   328,    -1,
     956     151,   229,   328,    -1,   109,   330,   110,    -1,   109,   330,
     957     110,   350,    -1,   109,   331,   110,   351,    -1,   109,   331,
     958     110,    -1,   333,   313,    -1,   334,    -1,   335,   313,    -1,
     959     336,   313,    -1,   342,    -1,   109,   333,   110,    -1,   151,
     960     332,    -1,   151,   229,   332,    -1,   109,   334,   110,    -1,
     961     333,   350,    -1,   109,   334,   110,   350,    -1,   109,   335,
     962     110,   351,    -1,   109,   335,   110,    -1,   333,   109,   134,
     963     265,   135,   110,    -1,   109,   334,   110,   109,   134,   265,
     964     135,   110,    -1,   109,   336,   110,    -1,   320,   313,    -1,
     965     338,    -1,   339,   313,    -1,   340,   313,    -1,   151,   337,
     966      -1,   151,   229,   337,    -1,   109,   338,   110,    -1,   320,
     967     356,    -1,   109,   338,   110,   350,    -1,   109,   339,   110,
     968     351,    -1,   109,   339,   110,    -1,   320,   109,   134,   265,
     969     135,   110,    -1,   109,   338,   110,   109,   134,   265,   135,
     970     110,    -1,   109,   340,   110,    -1,   342,   313,    -1,   343,
     971      -1,   344,   313,    -1,   345,   313,    -1,    74,    -1,    75,
     972      -1,   151,   341,    -1,   151,   229,   341,    -1,   109,   343,
     973     110,    -1,   342,   356,    -1,   109,   343,   110,   356,    -1,
     974     342,   109,   134,   265,   135,   110,    -1,   109,   343,   110,
     975     109,   134,   265,   135,   110,    -1,   347,    -1,   348,   313,
     976      -1,   349,   313,    -1,   151,    -1,   151,   229,    -1,   151,
     977     346,    -1,   151,   229,   346,    -1,   109,   347,   110,    -1,
     978     350,    -1,   109,   347,   110,   350,    -1,   109,   348,   110,
     979     351,    -1,   109,   348,   110,    -1,   109,   134,   265,   135,
     980     110,    -1,   109,   347,   110,   109,   134,   265,   135,   110,
     981      -1,   109,   349,   110,    -1,   111,   112,    -1,   111,   112,
     982     351,    -1,   351,    -1,   111,   134,   166,   135,   112,    -1,
     983     111,   134,   117,   135,   112,    -1,   351,   111,   134,   166,
     984     135,   112,    -1,   351,   111,   134,   117,   135,   112,    -1,
     985     353,    -1,   354,   313,    -1,   355,   313,    -1,   151,    -1,
     986     151,   229,    -1,   151,   352,    -1,   151,   229,   352,    -1,
     987     109,   353,   110,    -1,   356,    -1,   109,   353,   110,   356,
     988      -1,   109,   354,   110,   351,    -1,   109,   354,   110,    -1,
     989     109,   134,   265,   135,   110,    -1,   109,   353,   110,   109,
     990     134,   265,   135,   110,    -1,   109,   355,   110,    -1,   357,
     991      -1,   357,   351,    -1,   351,    -1,   111,   112,    -1,   111,
     992     134,   229,   117,   135,   112,    -1,   111,   134,   229,   135,
     993     112,    -1,   111,   134,   229,   166,   135,   112,    -1,   111,
     994     134,     7,   228,   166,   135,   112,    -1,   111,   134,   229,
     995       7,   166,   135,   112,    -1,   359,    -1,   360,   313,    -1,
     996     361,   313,    -1,   151,    -1,   151,   229,    -1,   151,   358,
     997      -1,   151,   229,   358,    -1,   109,   359,   110,    -1,   350,
     998      -1,   109,   359,   110,   350,    -1,   109,   360,   110,   351,
     999      -1,   109,   360,   110,    -1,   109,   359,   110,   109,   134,
     1000     265,   135,   110,    -1,   109,   361,   110,    -1,   363,    -1,
     1001     371,    -1,   229,   371,    -1,   364,    -1,   365,    -1,   151,
     1002     227,    -1,   229,   151,   227,    -1,   151,   372,    -1,   229,
     1003     151,   372,    -1,   151,   362,    -1,   229,   151,   362,    -1,
     1004     111,   112,   227,    -1,   366,   227,    -1,   111,   112,   351,
     1005     227,    -1,   366,   351,   227,    -1,   351,   227,    -1,   111,
     1006     112,   364,    -1,   366,   364,    -1,   111,   112,   351,   364,
     1007      -1,   366,   351,   364,    -1,   351,   364,    -1,   111,   134,
     1008     229,   117,   135,   112,    -1,   111,   134,   229,   166,   135,
     1009     112,    -1,   111,   134,   233,   166,   135,   112,    -1,   111,
     1010     134,   233,   229,   166,   135,   112,    -1,   371,    -1,   229,
     1011     371,    -1,   368,    -1,   369,    -1,   370,    -1,   151,   227,
     1012      -1,   229,   151,   227,    -1,   151,   372,    -1,   229,   151,
     1013     372,    -1,   151,   367,    -1,   229,   151,   367,    -1,   111,
     1014     112,   227,    -1,   111,   112,   351,   227,    -1,   351,   227,
     1015      -1,   111,   112,   369,    -1,   111,   112,   351,   369,    -1,
     1016     351,   369,    -1,   111,   134,   264,   135,   112,    -1,   111,
     1017     112,   109,   261,   110,    -1,   371,   109,   134,   261,   135,
     1018     110,    -1,   220,   109,   134,   261,   135,   110,    -1,    -1,
     1019     116,    -1,    -1,   131,   166,    -1
    10191020};
    10201021
     
    10221023static const yytype_uint16 yyrline[] =
    10231024{
    1024        0,   301,   301,   305,   312,   313,   314,   318,   319,   320,
    1025      324,   325,   329,   330,   334,   335,   339,   343,   344,   355,
    1026      357,   359,   361,   366,   367,   373,   377,   379,   380,   382,
    1027      383,   385,   387,   389,   398,   399,   405,   406,   410,   411,
    1028      415,   419,   421,   423,   425,   430,   433,   435,   437,   442,
    1029      455,   457,   459,   461,   463,   465,   467,   469,   471,   473,
    1030      475,   482,   483,   489,   490,   491,   492,   496,   497,   499,
    1031      504,   505,   507,   509,   514,   515,   517,   522,   523,   525,
    1032      530,   531,   533,   535,   537,   542,   543,   545,   550,   551,
    1033      556,   557,   562,   563,   568,   569,   574,   575,   580,   581,
    1034      584,   586,   591,   596,   597,   599,   605,   606,   610,   611,
    1035      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
    1036      627,   629,   631,   633,   638,   639,   644,   645,   651,   652,
    1037      658,   659,   660,   661,   662,   663,   664,   665,   666,   676,
    1038      683,   685,   695,   696,   701,   703,   709,   711,   715,   716,
    1039      721,   726,   729,   731,   733,   743,   745,   756,   757,   759,
    1040      763,   765,   769,   770,   775,   776,   780,   785,   786,   790,
    1041      792,   798,   799,   803,   805,   807,   809,   815,   816,   820,
    1042      822,   827,   829,   831,   836,   838,   843,   845,   849,   852,
    1043      856,   859,   863,   865,   867,   869,   874,   876,   878,   883,
    1044      885,   887,   889,   891,   896,   898,   900,   902,   907,   919,
    1045      920,   925,   927,   932,   936,   938,   940,   942,   944,   950,
    1046      951,   957,   958,   962,   963,   968,   970,   976,   977,   979,
    1047      984,   989,   999,  1001,  1005,  1006,  1011,  1013,  1017,  1018,
    1048     1022,  1024,  1028,  1029,  1033,  1034,  1038,  1039,  1054,  1055,
    1049     1056,  1057,  1058,  1062,  1067,  1074,  1084,  1089,  1094,  1102,
    1050     1107,  1112,  1117,  1122,  1130,  1152,  1157,  1164,  1166,  1173,
    1051     1178,  1183,  1194,  1199,  1204,  1209,  1214,  1223,  1228,  1236,
    1052     1237,  1238,  1239,  1245,  1250,  1258,  1259,  1260,  1261,  1265,
    1053     1266,  1267,  1268,  1273,  1274,  1283,  1284,  1289,  1290,  1295,
    1054     1297,  1299,  1301,  1303,  1306,  1305,  1317,  1318,  1320,  1330,
    1055     1331,  1336,  1338,  1340,  1342,  1344,  1347,  1349,  1352,  1357,
    1056     1359,  1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,
    1057     1379,  1381,  1387,  1388,  1390,  1392,  1394,  1399,  1400,  1406,
    1058     1407,  1409,  1411,  1416,  1418,  1420,  1422,  1427,  1428,  1430,
    1059     1432,  1437,  1438,  1440,  1445,  1446,  1448,  1450,  1455,  1457,
    1060     1459,  1464,  1465,  1469,  1471,  1477,  1476,  1480,  1482,  1487,
    1061     1489,  1495,  1496,  1501,  1502,  1504,  1505,  1514,  1515,  1517,
    1062     1519,  1524,  1526,  1532,  1533,  1535,  1538,  1541,  1546,  1547,
    1063     1552,  1557,  1561,  1563,  1569,  1568,  1575,  1577,  1583,  1584,
    1064     1592,  1593,  1597,  1598,  1599,  1601,  1603,  1610,  1611,  1613,
    1065     1615,  1620,  1621,  1627,  1628,  1632,  1633,  1638,  1639,  1640,
    1066     1642,  1650,  1651,  1653,  1656,  1658,  1662,  1663,  1664,  1666,
    1067     1668,  1672,  1677,  1685,  1686,  1695,  1697,  1702,  1703,  1704,
    1068     1708,  1709,  1710,  1714,  1715,  1716,  1720,  1721,  1722,  1727,
    1069     1728,  1729,  1730,  1736,  1737,  1739,  1744,  1745,  1750,  1751,
    1070     1752,  1753,  1754,  1769,  1770,  1775,  1776,  1782,  1784,  1787,
    1071     1789,  1791,  1814,  1815,  1817,  1819,  1824,  1825,  1827,  1832,
    1072     1837,  1838,  1844,  1843,  1847,  1851,  1853,  1855,  1861,  1862,
    1073     1867,  1872,  1874,  1879,  1881,  1882,  1884,  1889,  1891,  1893,
    1074     1898,  1900,  1905,  1910,  1918,  1924,  1923,  1937,  1938,  1943,
    1075     1944,  1948,  1953,  1958,  1966,  1971,  1982,  1983,  1988,  1989,
    1076     1995,  1996,  2000,  2001,  2002,  2005,  2004,  2015,  2024,  2030,
    1077     2036,  2045,  2051,  2057,  2063,  2069,  2077,  2083,  2091,  2097,
    1078     2106,  2107,  2108,  2112,  2116,  2118,  2123,  2124,  2128,  2129,
    1079     2134,  2140,  2141,  2144,  2146,  2147,  2151,  2152,  2153,  2154,
    1080     2188,  2190,  2191,  2193,  2198,  2203,  2208,  2210,  2212,  2217,
    1081     2219,  2221,  2223,  2228,  2230,  2239,  2241,  2242,  2247,  2249,
    1082     2251,  2256,  2258,  2260,  2265,  2267,  2269,  2278,  2279,  2280,
    1083     2284,  2286,  2288,  2293,  2295,  2297,  2302,  2304,  2306,  2321,
    1084     2323,  2324,  2326,  2331,  2332,  2337,  2339,  2341,  2346,  2348,
    1085     2350,  2352,  2357,  2359,  2361,  2371,  2373,  2374,  2376,  2381,
    1086     2383,  2385,  2390,  2392,  2394,  2396,  2401,  2403,  2405,  2436,
    1087     2438,  2439,  2441,  2446,  2451,  2459,  2461,  2463,  2468,  2470,
    1088     2475,  2477,  2491,  2492,  2494,  2499,  2501,  2503,  2505,  2507,
    1089     2512,  2513,  2515,  2517,  2522,  2524,  2526,  2532,  2534,  2536,
    1090     2540,  2542,  2544,  2546,  2560,  2561,  2563,  2568,  2570,  2572,
    1091     2574,  2576,  2581,  2582,  2584,  2586,  2591,  2593,  2595,  2601,
    1092     2602,  2604,  2613,  2616,  2618,  2621,  2623,  2625,  2638,  2639,
    1093     2641,  2646,  2648,  2650,  2652,  2654,  2659,  2660,  2662,  2664,
    1094     2669,  2671,  2679,  2680,  2681,  2686,  2687,  2691,  2693,  2695,
    1095     2697,  2699,  2701,  2708,  2710,  2712,  2714,  2716,  2718,  2720,
    1096     2722,  2724,  2726,  2731,  2733,  2735,  2740,  2766,  2767,  2769,
    1097     2773,  2774,  2778,  2780,  2782,  2784,  2786,  2788,  2795,  2797,
    1098     2799,  2801,  2803,  2805,  2810,  2815,  2817,  2819,  2837,  2839,
    1099     2844,  2845
     1025       0,   302,   302,   306,   313,   314,   315,   319,   320,   321,
     1026     325,   326,   330,   331,   335,   336,   340,   344,   345,   356,
     1027     358,   360,   362,   367,   368,   374,   378,   380,   381,   382,
     1028     384,   385,   387,   389,   391,   400,   401,   407,   408,   412,
     1029     413,   417,   421,   423,   425,   427,   432,   433,   437,   440,
     1030     442,   444,   449,   462,   464,   466,   468,   470,   472,   474,
     1031     476,   478,   480,   482,   489,   490,   496,   497,   498,   499,
     1032     503,   504,   506,   511,   512,   514,   516,   521,   522,   524,
     1033     529,   530,   532,   537,   538,   540,   542,   544,   549,   550,
     1034     552,   557,   558,   563,   564,   569,   570,   575,   576,   581,
     1035     582,   587,   588,   591,   593,   598,   603,   604,   606,   612,
     1036     613,   617,   618,   619,   620,   621,   622,   623,   624,   625,
     1037     626,   627,   628,   634,   636,   638,   640,   645,   646,   651,
     1038     652,   658,   659,   665,   666,   667,   668,   669,   670,   671,
     1039     672,   673,   683,   690,   692,   702,   703,   708,   710,   716,
     1040     718,   722,   723,   728,   733,   736,   738,   740,   750,   752,
     1041     763,   764,   766,   770,   772,   776,   777,   782,   783,   787,
     1042     792,   793,   797,   799,   805,   806,   810,   812,   814,   816,
     1043     822,   823,   827,   829,   834,   836,   838,   843,   845,   850,
     1044     852,   856,   859,   863,   866,   870,   872,   874,   876,   881,
     1045     883,   885,   890,   892,   894,   896,   898,   903,   905,   907,
     1046     909,   914,   926,   927,   932,   934,   939,   943,   945,   947,
     1047     949,   951,   957,   958,   964,   965,   969,   970,   975,   977,
     1048     983,   984,   986,   991,   996,  1006,  1008,  1012,  1013,  1018,
     1049    1020,  1024,  1025,  1029,  1031,  1035,  1036,  1040,  1041,  1045,
     1050    1046,  1061,  1062,  1063,  1064,  1065,  1069,  1074,  1081,  1091,
     1051    1096,  1101,  1109,  1114,  1119,  1124,  1129,  1137,  1159,  1164,
     1052    1171,  1173,  1180,  1185,  1190,  1201,  1206,  1211,  1216,  1221,
     1053    1230,  1235,  1243,  1244,  1245,  1246,  1252,  1257,  1265,  1266,
     1054    1267,  1268,  1272,  1273,  1274,  1275,  1280,  1281,  1290,  1291,
     1055    1296,  1297,  1302,  1304,  1306,  1308,  1310,  1313,  1312,  1324,
     1056    1325,  1327,  1337,  1338,  1343,  1345,  1347,  1349,  1351,  1354,
     1057    1356,  1359,  1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,
     1058    1380,  1382,  1384,  1386,  1388,  1394,  1395,  1397,  1399,  1401,
     1059    1406,  1407,  1413,  1414,  1416,  1418,  1423,  1425,  1427,  1429,
     1060    1434,  1435,  1437,  1439,  1444,  1445,  1447,  1452,  1453,  1455,
     1061    1457,  1462,  1464,  1466,  1471,  1472,  1476,  1478,  1484,  1483,
     1062    1487,  1489,  1494,  1496,  1502,  1503,  1508,  1509,  1511,  1512,
     1063    1521,  1522,  1524,  1526,  1531,  1533,  1539,  1540,  1542,  1545,
     1064    1548,  1553,  1554,  1559,  1564,  1568,  1570,  1576,  1575,  1582,
     1065    1584,  1590,  1591,  1599,  1600,  1604,  1605,  1606,  1608,  1610,
     1066    1617,  1618,  1620,  1622,  1627,  1628,  1634,  1635,  1639,  1640,
     1067    1645,  1646,  1647,  1649,  1657,  1658,  1660,  1663,  1665,  1669,
     1068    1670,  1671,  1673,  1675,  1679,  1684,  1692,  1693,  1702,  1704,
     1069    1709,  1710,  1711,  1715,  1716,  1717,  1721,  1722,  1723,  1727,
     1070    1728,  1729,  1734,  1735,  1736,  1737,  1743,  1744,  1746,  1751,
     1071    1752,  1757,  1758,  1759,  1760,  1761,  1776,  1777,  1782,  1783,
     1072    1789,  1791,  1794,  1796,  1798,  1821,  1822,  1824,  1826,  1831,
     1073    1832,  1834,  1839,  1844,  1845,  1851,  1850,  1854,  1858,  1860,
     1074    1862,  1868,  1869,  1874,  1879,  1881,  1886,  1888,  1889,  1891,
     1075    1896,  1898,  1900,  1905,  1907,  1912,  1917,  1925,  1931,  1930,
     1076    1944,  1945,  1950,  1951,  1955,  1960,  1965,  1973,  1978,  1989,
     1077    1990,  1995,  1996,  2002,  2003,  2007,  2008,  2009,  2012,  2011,
     1078    2022,  2031,  2037,  2043,  2052,  2058,  2064,  2070,  2076,  2084,
     1079    2090,  2098,  2104,  2113,  2114,  2115,  2119,  2123,  2125,  2130,
     1080    2131,  2135,  2136,  2141,  2147,  2148,  2151,  2153,  2154,  2158,
     1081    2159,  2160,  2161,  2195,  2197,  2198,  2200,  2205,  2210,  2215,
     1082    2217,  2219,  2224,  2226,  2228,  2230,  2235,  2237,  2246,  2248,
     1083    2249,  2254,  2256,  2258,  2263,  2265,  2267,  2272,  2274,  2276,
     1084    2285,  2286,  2287,  2291,  2293,  2295,  2300,  2302,  2304,  2309,
     1085    2311,  2313,  2328,  2330,  2331,  2333,  2338,  2339,  2344,  2346,
     1086    2348,  2353,  2355,  2357,  2359,  2364,  2366,  2368,  2378,  2380,
     1087    2381,  2383,  2388,  2390,  2392,  2397,  2399,  2401,  2403,  2408,
     1088    2410,  2412,  2443,  2445,  2446,  2448,  2453,  2458,  2466,  2468,
     1089    2470,  2475,  2477,  2482,  2484,  2498,  2499,  2501,  2506,  2508,
     1090    2510,  2512,  2514,  2519,  2520,  2522,  2524,  2529,  2531,  2533,
     1091    2539,  2541,  2543,  2547,  2549,  2551,  2553,  2567,  2568,  2570,
     1092    2575,  2577,  2579,  2581,  2583,  2588,  2589,  2591,  2593,  2598,
     1093    2600,  2602,  2608,  2609,  2611,  2620,  2623,  2625,  2628,  2630,
     1094    2632,  2645,  2646,  2648,  2653,  2655,  2657,  2659,  2661,  2666,
     1095    2667,  2669,  2671,  2676,  2678,  2686,  2687,  2688,  2693,  2694,
     1096    2698,  2700,  2702,  2704,  2706,  2708,  2715,  2717,  2719,  2721,
     1097    2723,  2725,  2727,  2729,  2731,  2733,  2738,  2740,  2742,  2747,
     1098    2773,  2774,  2776,  2780,  2781,  2785,  2787,  2789,  2791,  2793,
     1099    2795,  2802,  2804,  2806,  2808,  2810,  2812,  2817,  2822,  2824,
     1100    2826,  2844,  2846,  2851,  2852
    11001101};
    11011102#endif
     
    11291130  "string_literal", "string_literal_list", "primary_expression",
    11301131  "postfix_expression", "argument_expression_list", "argument_expression",
    1131   "field_list", "field", "unary_expression", "ptrref_operator",
    1132   "unary_operator", "cast_expression", "multiplicative_expression",
    1133   "additive_expression", "shift_expression", "relational_expression",
    1134   "equality_expression", "AND_expression", "exclusive_OR_expression",
    1135   "inclusive_OR_expression", "logical_AND_expression",
    1136   "logical_OR_expression", "conditional_expression", "constant_expression",
    1137   "assignment_expression", "assignment_expression_opt",
    1138   "assignment_operator", "tuple", "tuple_expression_list",
    1139   "comma_expression", "comma_expression_opt", "statement",
    1140   "labeled_statement", "compound_statement", "block_item_list",
    1141   "block_item", "statement_list", "expression_statement",
    1142   "selection_statement", "case_value", "case_value_list", "case_label",
    1143   "case_label_list", "case_clause", "switch_clause_list_opt",
    1144   "switch_clause_list", "choose_clause_list_opt", "choose_clause_list",
    1145   "fall_through_opt", "fall_through", "iteration_statement",
    1146   "for_control_expression", "jump_statement", "exception_statement",
    1147   "handler_list", "handler_clause", "finally_clause",
    1148   "exception_declaration", "asm_statement", "asm_volatile_opt",
    1149   "asm_operands_opt", "asm_operands_list", "asm_operand",
    1150   "asm_clobbers_list_opt", "label_list", "declaration_list_opt",
    1151   "declaration_list", "old_declaration_list_opt", "old_declaration_list",
    1152   "local_label_declaration_opt", "local_label_declaration_list",
    1153   "local_label_list", "declaration", "new_declaration",
    1154   "new_variable_declaration", "new_variable_specifier",
     1132  "field_list", "field", "field_name", "unary_expression",
     1133  "ptrref_operator", "unary_operator", "cast_expression",
     1134  "multiplicative_expression", "additive_expression", "shift_expression",
     1135  "relational_expression", "equality_expression", "AND_expression",
     1136  "exclusive_OR_expression", "inclusive_OR_expression",
     1137  "logical_AND_expression", "logical_OR_expression",
     1138  "conditional_expression", "constant_expression", "assignment_expression",
     1139  "assignment_expression_opt", "assignment_operator", "tuple",
     1140  "tuple_expression_list", "comma_expression", "comma_expression_opt",
     1141  "statement", "labeled_statement", "compound_statement",
     1142  "block_item_list", "block_item", "statement_list",
     1143  "expression_statement", "selection_statement", "case_value",
     1144  "case_value_list", "case_label", "case_label_list", "case_clause",
     1145  "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt",
     1146  "choose_clause_list", "fall_through_opt", "fall_through",
     1147  "iteration_statement", "for_control_expression", "jump_statement",
     1148  "exception_statement", "handler_list", "handler_clause",
     1149  "finally_clause", "exception_declaration", "asm_statement",
     1150  "asm_volatile_opt", "asm_operands_opt", "asm_operands_list",
     1151  "asm_operand", "asm_clobbers_list_opt", "label_list",
     1152  "declaration_list_opt", "declaration_list", "old_declaration_list_opt",
     1153  "old_declaration_list", "local_label_declaration_opt",
     1154  "local_label_declaration_list", "local_label_list", "declaration",
     1155  "new_declaration", "new_variable_declaration", "new_variable_specifier",
    11551156  "new_function_declaration", "new_function_specifier",
    11561157  "new_function_return", "new_typedef_declaration", "typedef_declaration",
     
    12421243     138,   138,   139,   139,   140,   140,   141,   142,   142,   143,
    12431244     143,   143,   143,   144,   144,   144,   144,   144,   144,   144,
    1244      144,   144,   144,   144,   145,   145,   146,   146,   147,   147,
    1245      148,   148,   148,   148,   148,   149,   149,   149,   149,   149,
    1246      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
    1247      149,   150,   150,   151,   151,   151,   151,   152,   152,   152,
    1248      153,   153,   153,   153,   154,   154,   154,   155,   155,   155,
    1249      156,   156,   156,   156,   156,   157,   157,   157,   158,   158,
    1250      159,   159,   160,   160,   161,   161,   162,   162,   163,   163,
    1251      163,   163,   164,   165,   165,   165,   166,   166,   167,   167,
    1252      167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
    1253      168,   168,   168,   168,   169,   169,   170,   170,   171,   171,
    1254      172,   172,   172,   172,   172,   172,   172,   172,   172,   173,
    1255      174,   174,   175,   175,   176,   176,   176,   176,   177,   177,
    1256      178,   179,   179,   179,   179,   179,   179,   180,   180,   180,
    1257      181,   181,   182,   182,   183,   183,   184,   185,   185,   186,
    1258      186,   187,   187,   188,   188,   188,   188,   189,   189,   190,
    1259      190,   191,   191,   191,   192,   192,   193,   193,   193,   193,
    1260      193,   193,   193,   193,   193,   193,   194,   194,   194,   195,
    1261      195,   195,   195,   195,   196,   196,   196,   196,   197,   198,
    1262      198,   198,   198,   198,   199,   199,   199,   199,   199,   200,
    1263      200,   201,   201,   202,   202,   203,   203,   204,   204,   204,
    1264      205,   205,   206,   206,   207,   207,   208,   208,   209,   209,
    1265      210,   210,   211,   211,   212,   212,   213,   213,   214,   214,
    1266      214,   214,   214,   215,   215,   215,   216,   216,   216,   217,
    1267      217,   217,   217,   217,   218,   218,   218,   219,   219,   220,
    1268      220,   220,   221,   221,   221,   221,   221,   222,   222,   223,
    1269      223,   223,   223,   224,   224,   225,   225,   225,   225,   226,
    1270      226,   226,   226,   227,   227,   228,   228,   229,   229,   230,
    1271      230,   230,   230,   230,   231,   230,   232,   232,   232,   233,
    1272      233,   234,   234,   234,   234,   234,   234,   234,   234,   235,
    1273      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
    1274      235,   235,   236,   236,   236,   236,   236,   237,   237,   238,
    1275      238,   238,   238,   239,   239,   239,   239,   240,   240,   240,
    1276      240,   241,   241,   241,   242,   242,   242,   242,   243,   243,
    1277      243,   244,   244,   245,   245,   246,   245,   245,   245,   247,
    1278      247,   248,   248,   249,   249,   249,   249,   250,   250,   250,
    1279      250,   251,   251,   252,   252,   252,   252,   252,   253,   253,
    1280      254,   255,   256,   256,   257,   256,   258,   258,   259,   259,
    1281      260,   260,   261,   261,   261,   261,   261,   262,   262,   262,
    1282      262,   263,   263,   264,   264,   265,   265,   266,   266,   266,
    1283      266,   267,   267,   267,   267,   267,   268,   268,   268,   268,
    1284      268,   269,   269,   270,   270,   271,   271,   272,   272,   272,
     1245     144,   144,   144,   144,   144,   145,   145,   146,   146,   147,
     1246     147,   148,   148,   148,   148,   148,   149,   149,   150,   150,
     1247     150,   150,   150,   150,   150,   150,   150,   150,   150,   150,
     1248     150,   150,   150,   150,   151,   151,   152,   152,   152,   152,
     1249     153,   153,   153,   154,   154,   154,   154,   155,   155,   155,
     1250     156,   156,   156,   157,   157,   157,   157,   157,   158,   158,
     1251     158,   159,   159,   160,   160,   161,   161,   162,   162,   163,
     1252     163,   164,   164,   164,   164,   165,   166,   166,   166,   167,
     1253     167,   168,   168,   168,   168,   168,   168,   168,   168,   168,
     1254     168,   168,   168,   169,   169,   169,   169,   170,   170,   171,
     1255     171,   172,   172,   173,   173,   173,   173,   173,   173,   173,
     1256     173,   173,   174,   175,   175,   176,   176,   177,   177,   177,
     1257     177,   178,   178,   179,   180,   180,   180,   180,   180,   180,
     1258     181,   181,   181,   182,   182,   183,   183,   184,   184,   185,
     1259     186,   186,   187,   187,   188,   188,   189,   189,   189,   189,
     1260     190,   190,   191,   191,   192,   192,   192,   193,   193,   194,
     1261     194,   194,   194,   194,   194,   194,   194,   194,   194,   195,
     1262     195,   195,   196,   196,   196,   196,   196,   197,   197,   197,
     1263     197,   198,   199,   199,   199,   199,   199,   200,   200,   200,
     1264     200,   200,   201,   201,   202,   202,   203,   203,   204,   204,
     1265     205,   205,   205,   206,   206,   207,   207,   208,   208,   209,
     1266     209,   210,   210,   211,   211,   212,   212,   213,   213,   214,
     1267     214,   215,   215,   215,   215,   215,   216,   216,   216,   217,
     1268     217,   217,   218,   218,   218,   218,   218,   219,   219,   219,
     1269     220,   220,   221,   221,   221,   222,   222,   222,   222,   222,
     1270     223,   223,   224,   224,   224,   224,   225,   225,   226,   226,
     1271     226,   226,   227,   227,   227,   227,   228,   228,   229,   229,
     1272     230,   230,   231,   231,   231,   231,   231,   232,   231,   233,
     1273     233,   233,   234,   234,   235,   235,   235,   235,   235,   235,
     1274     235,   235,   236,   236,   236,   236,   236,   236,   236,   236,
     1275     236,   236,   236,   236,   236,   237,   237,   237,   237,   237,
     1276     238,   238,   239,   239,   239,   239,   240,   240,   240,   240,
     1277     241,   241,   241,   241,   242,   242,   242,   243,   243,   243,
     1278     243,   244,   244,   244,   245,   245,   246,   246,   247,   246,
     1279     246,   246,   248,   248,   249,   249,   250,   250,   250,   250,
     1280     251,   251,   251,   251,   252,   252,   253,   253,   253,   253,
     1281     253,   254,   254,   255,   256,   257,   257,   258,   257,   259,
     1282     259,   260,   260,   261,   261,   262,   262,   262,   262,   262,
     1283     263,   263,   263,   263,   264,   264,   265,   265,   266,   266,
     1284     267,   267,   267,   267,   268,   268,   268,   268,   268,   269,
     1285     269,   269,   269,   269,   270,   270,   271,   271,   272,   272,
    12851286     273,   273,   273,   274,   274,   274,   275,   275,   275,   276,
    1286      276,   276,   276,   277,   277,   277,   278,   278,   279,   279,
    1287      279,   279,   279,   280,   280,   281,   281,   282,   282,   282,
    1288      282,   282,   283,   283,   283,   283,   284,   284,   284,   285,
    1289      286,   286,   288,   287,   287,   289,   289,   289,   290,   290,
    1290      291,   291,   291,   292,   292,   292,   292,   293,   293,   293,
    1291      294,   294,   295,   295,   296,   297,   296,   298,   298,   299,
    1292      299,   300,   300,   300,   301,   301,   302,   302,   303,   303,
    1293      304,   304,   305,   305,   305,   306,   305,   305,   307,   307,
    1294      307,   308,   308,   308,   308,   308,   308,   308,   308,   308,
    1295      309,   309,   309,   310,   311,   311,   312,   312,   313,   313,
    1296      314,   315,   315,   316,   316,   316,   317,   317,   317,   317,
    1297      318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
    1298      321,   321,   321,   322,   322,   323,   323,   323,   324,   324,
     1287     276,   276,   277,   277,   277,   277,   278,   278,   278,   279,
     1288     279,   280,   280,   280,   280,   280,   281,   281,   282,   282,
     1289     283,   283,   283,   283,   283,   284,   284,   284,   284,   285,
     1290     285,   285,   286,   287,   287,   289,   288,   288,   290,   290,
     1291     290,   291,   291,   292,   292,   292,   293,   293,   293,   293,
     1292     294,   294,   294,   295,   295,   296,   296,   297,   298,   297,
     1293     299,   299,   300,   300,   301,   301,   301,   302,   302,   303,
     1294     303,   304,   304,   305,   305,   306,   306,   306,   307,   306,
     1295     306,   308,   308,   308,   309,   309,   309,   309,   309,   309,
     1296     309,   309,   309,   310,   310,   310,   311,   312,   312,   313,
     1297     313,   314,   314,   315,   316,   316,   317,   317,   317,   318,
     1298     318,   318,   318,   319,   319,   319,   319,   320,   320,   321,
     1299     321,   321,   322,   322,   322,   322,   323,   323,   324,   324,
    12991300     324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
    13001301     328,   328,   328,   329,   329,   329,   330,   330,   330,   331,
    1301      331,   331,   331,   332,   332,   333,   333,   333,   334,   334,
    1302      334,   334,   335,   335,   335,   336,   336,   336,   336,   337,
    1303      337,   337,   338,   338,   338,   338,   339,   339,   339,   340,
    1304      340,   340,   340,   341,   341,   342,   342,   342,   343,   343,
    1305      344,   344,   345,   345,   345,   346,   346,   346,   346,   346,
    1306      347,   347,   347,   347,   348,   348,   348,   349,   349,   349,
    1307      350,   350,   350,   350,   351,   351,   351,   352,   352,   352,
    1308      352,   352,   353,   353,   353,   353,   354,   354,   354,   355,
    1309      355,   355,   356,   356,   356,   356,   356,   356,   357,   357,
    1310      357,   358,   358,   358,   358,   358,   359,   359,   359,   359,
    1311      360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
    1312      363,   363,   363,   364,   364,   364,   364,   364,   364,   364,
    1313      364,   364,   364,   365,   365,   365,   365,   366,   366,   366,
    1314      367,   367,   368,   368,   368,   368,   368,   368,   369,   369,
    1315      369,   369,   369,   369,   370,   371,   371,   371,   372,   372,
    1316      373,   373
     1302     331,   331,   332,   332,   332,   332,   333,   333,   334,   334,
     1303     334,   335,   335,   335,   335,   336,   336,   336,   337,   337,
     1304     337,   337,   338,   338,   338,   339,   339,   339,   339,   340,
     1305     340,   340,   341,   341,   341,   341,   342,   342,   343,   343,
     1306     343,   344,   344,   345,   345,   346,   346,   346,   347,   347,
     1307     347,   347,   347,   348,   348,   348,   348,   349,   349,   349,
     1308     350,   350,   350,   351,   351,   351,   351,   352,   352,   352,
     1309     353,   353,   353,   353,   353,   354,   354,   354,   354,   355,
     1310     355,   355,   356,   356,   356,   357,   357,   357,   357,   357,
     1311     357,   358,   358,   358,   359,   359,   359,   359,   359,   360,
     1312     360,   360,   360,   361,   361,   362,   362,   362,   363,   363,
     1313     364,   364,   364,   364,   364,   364,   365,   365,   365,   365,
     1314     365,   365,   365,   365,   365,   365,   366,   366,   366,   366,
     1315     367,   367,   367,   368,   368,   369,   369,   369,   369,   369,
     1316     369,   370,   370,   370,   370,   370,   370,   371,   372,   372,
     1317     372,   373,   373,   374,   374
    13171318};
    13181319
     
    13221323       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
    13231324       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1324        1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
    1325        2,     2,     7,     4,     1,     3,     0,     1,     1,     3,
    1326        1,     3,     7,     3,     7,     1,     1,     1,     2,     2,
    1327        2,     2,     2,     2,     4,     2,     4,     6,     1,     4,
    1328        4,     1,     1,     1,     1,     1,     1,     1,     4,     4,
    1329        1,     3,     3,     3,     1,     3,     3,     1,     3,     3,
    1330        1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
    1331        1,     3,     1,     3,     1,     3,     1,     3,     1,     5,
    1332        4,     5,     1,     1,     3,     2,     0,     1,     1,     1,
     1325       1,     3,     3,     1,     6,     4,     3,     7,     3,     3,
     1326       7,     2,     2,     7,     4,     1,     3,     0,     1,     1,
     1327       3,     1,     3,     7,     3,     7,     1,     1,     1,     1,
     1328       1,     2,     2,     2,     2,     2,     2,     4,     2,     4,
     1329       6,     1,     4,     4,     1,     1,     1,     1,     1,     1,
     1330       1,     4,     4,     1,     3,     3,     3,     1,     3,     3,
     1331       1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
     1332       3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
     1333       3,     1,     5,     4,     5,     1,     1,     3,     2,     0,
    13331334       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1334        2,     5,     6,     7,     1,     3,     1,     3,     0,     1,
    1335        1,     1,     1,     1,     1,     1,     1,     1,     6,     4,
    1336        2,     7,     1,     3,     1,     2,     1,     2,     1,     2,
    1337        2,     5,     7,     5,     9,     5,     9,     1,     3,     1,
    1338        1,     3,     3,     2,     1,     2,     2,     0,     1,     2,
    1339        3,     0,     1,     2,     3,     3,     4,     0,     1,     1,
    1340        2,     5,     7,     6,     6,     4,     3,     4,     2,     3,
    1341        2,     3,     3,     3,     3,     5,     3,     3,     4,     1,
    1342        5,     6,     5,     6,     9,    10,     9,    10,     2,     1,
    1343        2,     2,     2,     1,     6,     8,    10,    12,    14,     0,
    1344        1,     0,     1,     1,     3,     4,     7,     0,     1,     3,
    1345        1,     3,     1,     1,     1,     3,     1,     1,     1,     3,
    1346        0,     1,     3,     4,     1,     3,     1,     1,     3,     3,
    1347        3,     3,     3,     2,     3,     6,     3,     3,     4,     1,
    1348        2,     2,     3,     5,     8,     7,     7,     5,     9,     2,
    1349        2,     5,     3,     5,     4,     3,     4,     4,     7,     3,
    1350        3,     3,     3,     4,     6,     1,     1,     1,     1,     1,
    1351        1,     1,     1,     0,     1,     1,     2,     1,     1,     1,
    1352        1,     1,     1,     1,     0,     5,     1,     2,     3,     1,
    1353        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1335       1,     1,     1,     2,     5,     6,     7,     1,     3,     1,
     1336       3,     0,     1,     1,     1,     1,     1,     1,     1,     1,
     1337       1,     6,     4,     2,     7,     1,     3,     1,     2,     1,
     1338       2,     1,     2,     2,     5,     7,     5,     9,     5,     9,
     1339       1,     3,     1,     1,     3,     3,     2,     1,     2,     2,
     1340       0,     1,     2,     3,     0,     1,     2,     3,     3,     4,
     1341       0,     1,     1,     2,     5,     7,     6,     6,     4,     3,
     1342       4,     2,     3,     2,     3,     3,     3,     3,     5,     3,
     1343       3,     4,     1,     5,     6,     5,     6,     9,    10,     9,
     1344      10,     2,     1,     2,     2,     2,     1,     6,     8,    10,
     1345      12,    14,     0,     1,     0,     1,     1,     3,     4,     7,
     1346       0,     1,     3,     1,     3,     1,     1,     1,     3,     1,
     1347       1,     1,     3,     0,     1,     3,     4,     1,     3,     1,
     1348       1,     3,     3,     3,     3,     3,     2,     3,     6,     3,
     1349       3,     4,     1,     2,     2,     3,     5,     8,     7,     7,
     1350       5,     9,     2,     2,     5,     3,     5,     4,     3,     4,
     1351       4,     7,     3,     3,     3,     3,     4,     6,     1,     1,
     1352       1,     1,     1,     1,     1,     1,     0,     1,     1,     2,
     1353       1,     1,     1,     1,     1,     1,     1,     0,     5,     1,
     1354       2,     3,     1,     2,     1,     1,     1,     1,     1,     1,
    13541355       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1355        1,     1,     1,     2,     2,     3,     3,     1,     3,     1,
    1356        2,     2,     2,     4,     4,     4,     4,     1,     2,     2,
    1357        3,     1,     2,     2,     1,     2,     2,     3,     1,     2,
    1358        2,     1,     1,     4,     2,     0,     6,     7,     2,     2,
    1359        2,     0,     2,     2,     3,     2,     3,     1,     2,     3,
    1360        2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
    1361        2,     2,     5,     2,     0,     7,     2,     4,     0,     2,
    1362        0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
    1363        9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
    1364        5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
    1365        1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
    1366        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1367        1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
    1368        2,     3,     4,     2,     2,     1,     2,     2,     5,     5,
    1369        7,     6,     1,     2,     2,     3,     1,     2,     2,     4,
    1370        2,     4,     0,     4,     2,     1,     1,     1,     0,     2,
    1371        5,     5,    13,     1,     1,     3,     3,     2,     3,     3,
    1372        2,     4,     1,     6,     9,     0,    11,     1,     3,     3,
    1373        3,     1,     1,     5,     2,     5,     0,     1,     1,     3,
    1374        0,     1,     1,     1,     1,     0,     6,     2,     1,     2,
    1375        4,     2,     3,     3,     3,     4,     5,     5,     5,     6,
    1376        1,     1,     1,     3,     0,     5,     0,     1,     1,     2,
    1377        6,     1,     3,     0,     1,     4,     1,     1,     1,     1,
    1378        2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
    1379        4,     4,     3,     8,     3,     2,     1,     2,     6,     8,
    1380        3,     2,     3,     3,     4,     4,     3,     1,     1,     1,
    1381        4,     6,     3,     2,     3,     3,     4,     4,     3,     2,
    1382        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1383        4,     3,     6,     8,     3,     2,     1,     2,     2,     2,
    1384        3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
    1385        1,     2,     2,     1,     1,     2,     3,     3,     2,     4,
    1386        6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
    1387        1,     4,     4,     3,     5,     8,     3,     2,     3,     1,
    1388        5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
    1389        3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
    1390        2,     1,     2,     6,     5,     6,     7,     7,     1,     2,
    1391        2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
    1392        8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
    1393        3,     2,     3,     3,     2,     4,     3,     2,     3,     2,
    1394        4,     3,     2,     6,     6,     6,     7,     1,     2,     1,
    1395        1,     1,     2,     3,     2,     3,     2,     3,     3,     4,
    1396        2,     3,     4,     2,     5,     5,     6,     6,     0,     1,
    1397        0,     2
     1356       1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
     1357       1,     3,     1,     2,     2,     2,     4,     4,     4,     4,
     1358       1,     2,     2,     3,     1,     2,     2,     1,     2,     2,
     1359       3,     1,     2,     2,     1,     1,     4,     2,     0,     6,
     1360       7,     2,     2,     2,     0,     2,     2,     3,     2,     3,
     1361       1,     2,     3,     2,     2,     4,     0,     1,     2,     2,
     1362       1,     0,     1,     2,     2,     5,     2,     0,     7,     2,
     1363       4,     0,     2,     0,     1,     1,     1,     5,     5,     5,
     1364       1,     5,     5,     9,     1,     5,     0,     1,     1,     5,
     1365       1,     1,     5,     5,     1,     3,     3,     4,     1,     1,
     1366       1,     1,     2,     1,     3,     3,     1,     2,     1,     3,
     1367       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1368       1,     2,     1,     1,     1,     2,     0,     2,     2,     1,
     1369       4,     0,     1,     2,     3,     4,     2,     2,     1,     2,
     1370       2,     5,     5,     7,     6,     1,     2,     2,     3,     1,
     1371       2,     2,     4,     2,     4,     0,     4,     2,     1,     1,
     1372       1,     0,     2,     5,     5,    13,     1,     1,     3,     3,
     1373       2,     3,     3,     2,     4,     1,     6,     9,     0,    11,
     1374       1,     3,     3,     3,     1,     1,     5,     2,     5,     0,
     1375       1,     1,     3,     0,     1,     1,     1,     1,     0,     6,
     1376       2,     1,     2,     4,     2,     3,     3,     3,     4,     5,
     1377       5,     5,     6,     1,     1,     1,     3,     0,     5,     0,
     1378       1,     1,     2,     6,     1,     3,     0,     1,     4,     1,
     1379       1,     1,     1,     2,     1,     2,     2,     1,     3,     2,
     1380       3,     3,     2,     4,     4,     3,     8,     3,     2,     1,
     1381       2,     6,     8,     3,     2,     3,     3,     4,     4,     3,
     1382       1,     1,     1,     4,     6,     3,     2,     3,     3,     4,
     1383       4,     3,     2,     1,     2,     2,     1,     3,     2,     3,
     1384       3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
     1385       2,     2,     2,     3,     3,     2,     4,     4,     3,     6,
     1386       8,     3,     2,     1,     2,     2,     1,     1,     2,     3,
     1387       3,     2,     4,     6,     8,     1,     2,     2,     1,     2,
     1388       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1389       2,     3,     1,     5,     5,     6,     6,     1,     2,     2,
     1390       1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
     1391       8,     3,     1,     2,     1,     2,     6,     5,     6,     7,
     1392       7,     1,     2,     2,     1,     2,     2,     3,     3,     1,
     1393       4,     4,     3,     8,     3,     1,     1,     2,     1,     1,
     1394       2,     3,     2,     3,     2,     3,     3,     2,     4,     3,
     1395       2,     3,     2,     4,     3,     2,     6,     6,     6,     7,
     1396       1,     2,     1,     1,     1,     2,     3,     2,     3,     2,
     1397       3,     3,     4,     2,     3,     4,     2,     5,     5,     6,
     1398       6,     0,     1,     0,     2
    13981399};
    13991400
     
    14031404static const yytype_uint16 yydefact[] =
    14041405{
    1405      293,   293,   313,   311,   314,   312,   315,   316,   299,   301,
    1406      300,     0,   302,   327,   319,   324,   322,   323,   321,   320,
    1407      325,   326,   331,   328,   329,   330,   546,   546,   546,     0,
    1408        0,     0,   293,   219,   303,   317,   318,     7,   358,     0,
    1409        8,    14,    15,     0,     2,    61,    62,   564,     9,   293,
    1410      524,   522,   246,     3,   453,     3,   259,     0,     3,     3,
    1411        3,   247,     3,     0,     0,     0,   294,   295,   297,   293,
    1412      306,   309,   339,   285,   332,   337,   286,   347,   287,   354,
    1413      351,   361,     0,     0,   362,   288,   472,   476,     3,     3,
    1414        0,     2,   518,   523,   528,   298,     0,     0,   546,   576,
    1415      546,     2,   587,   588,   589,   293,     0,   730,   731,     0,
    1416       12,     0,    13,   293,   269,   270,     0,   294,   289,   290,
    1417      291,   292,   525,   304,   391,   547,   548,   369,   370,    12,
    1418      444,   445,    11,   440,   443,     0,   502,   497,   488,   444,
    1419      445,     0,     0,   527,   220,     0,   293,     0,     0,     0,
    1420        0,     0,     0,     0,     0,   293,   293,     2,     0,   732,
    1421      294,   581,   593,   736,   729,   727,   734,     0,     0,     0,
    1422      253,     2,     0,   531,   438,   439,   437,     0,     0,     0,
    1423        0,   546,     0,   633,   634,     0,     0,   544,   540,   546,
    1424      561,   546,   546,   542,     2,   541,   546,   600,   546,   546,
    1425      603,     0,     0,     0,   293,   293,   311,   359,     2,   293,
    1426      260,   296,   307,   340,   352,   477,     0,     2,     0,   453,
    1427      261,   294,   333,   348,   355,   473,     0,     2,     0,   310,
    1428      334,   341,   342,     0,   349,   353,   356,   360,   445,   293,
    1429      371,   364,   368,     0,   393,   474,   478,     0,     0,     0,
    1430        1,   293,     2,   529,   575,   577,   293,     2,   740,   294,
    1431      743,   544,   544,     0,   294,     0,     0,   272,   546,   542,
    1432        2,   293,     0,     0,   293,   549,     2,   500,     2,   553,
    1433        0,     0,     0,     0,     0,     0,    19,    58,     4,     5,
    1434        6,    17,     0,     0,   293,     2,    63,    64,    65,    66,
    1435       46,    20,    47,    16,    23,    45,    67,   293,     0,    70,
    1436       74,    77,    80,    85,    88,    90,    92,    94,    96,    98,
    1437      103,   494,   750,   451,   493,     0,   449,   450,     0,   565,
    1438      580,   583,   586,   592,   595,   598,   358,     0,     2,   738,
    1439        0,   293,   741,     2,    61,   293,     3,   425,     0,   433,
    1440      294,   293,   306,   332,   286,   347,   354,     3,     3,   407,
    1441      411,   421,   426,   472,   293,   427,   705,   706,   293,   428,
    1442      430,   293,     2,   582,   594,   728,     2,     2,   248,     2,
    1443      458,     0,   456,   455,   454,   140,     2,     2,   250,     2,
    1444        2,   249,     2,   280,     2,   281,     0,   279,     0,     0,
    1445        0,     0,     0,     0,     0,     0,     0,   566,   605,     0,
    1446      453,     2,   560,   569,   659,   562,   563,   532,   293,     2,
    1447      599,   608,   601,   602,     0,   275,   293,   293,   338,   294,
    1448        0,   294,     0,   293,   733,   737,   735,   533,   293,   544,
    1449      254,   262,   308,     0,     2,   534,   293,   498,   335,   336,
    1450      282,   350,   357,     0,   293,     0,   748,   398,     0,   475,
    1451      499,   251,   252,   519,   293,   435,     0,   293,   236,     0,
    1452        2,   238,     0,   294,     0,   256,     2,   257,   277,     0,
    1453        0,     2,   293,   544,   293,   485,   487,   486,     0,     0,
    1454      750,     0,   293,     0,   293,   489,   293,   559,   557,   558,
    1455      556,     0,   551,   554,     0,     0,   293,    53,   293,    67,
    1456       48,   293,    55,   293,   293,    51,    52,     2,   126,     0,
    1457        0,   447,     0,   446,   727,   120,   293,    18,     0,    30,
    1458       31,    36,     2,     0,    36,   110,   111,   112,   113,   114,
    1459      115,   116,   117,   118,   119,   109,   108,     0,    49,    50,
     1406     296,   296,   316,   314,   317,   315,   318,   319,   302,   304,
     1407     303,     0,   305,   330,   322,   327,   325,   326,   324,   323,
     1408     328,   329,   334,   331,   332,   333,   549,   549,   549,     0,
     1409       0,     0,   296,   222,   306,   320,   321,     7,   361,     0,
     1410       8,    14,    15,     0,     2,    64,    65,   567,     9,   296,
     1411     527,   525,   249,     3,   456,     3,   262,     0,     3,     3,
     1412       3,   250,     3,     0,     0,     0,   297,   298,   300,   296,
     1413     309,   312,   342,   288,   335,   340,   289,   350,   290,   357,
     1414     354,   364,     0,     0,   365,   291,   475,   479,     3,     3,
     1415       0,     2,   521,   526,   531,   301,     0,     0,   549,   579,
     1416     549,     2,   590,   591,   592,   296,     0,   733,   734,     0,
     1417      12,     0,    13,   296,   272,   273,     0,   297,   292,   293,
     1418     294,   295,   528,   307,   394,   550,   551,   372,   373,    12,
     1419     447,   448,    11,   443,   446,     0,   505,   500,   491,   447,
     1420     448,     0,     0,   530,   223,     0,   296,     0,     0,     0,
     1421       0,     0,     0,     0,     0,   296,   296,     2,     0,   735,
     1422     297,   584,   596,   739,   732,   730,   737,     0,     0,     0,
     1423     256,     2,     0,   534,   441,   442,   440,     0,     0,     0,
     1424       0,   549,     0,   636,   637,     0,     0,   547,   543,   549,
     1425     564,   549,   549,   545,     2,   544,   549,   603,   549,   549,
     1426     606,     0,     0,     0,   296,   296,   314,   362,     2,   296,
     1427     263,   299,   310,   343,   355,   480,     0,     2,     0,   456,
     1428     264,   297,   336,   351,   358,   476,     0,     2,     0,   313,
     1429     337,   344,   345,     0,   352,   356,   359,   363,   448,   296,
     1430     374,   367,   371,     0,   396,   477,   481,     0,     0,     0,
     1431       1,   296,     2,   532,   578,   580,   296,     2,   743,   297,
     1432     746,   547,   547,     0,   297,     0,     0,   275,   549,   545,
     1433       2,   296,     0,     0,   296,   552,     2,   503,     2,   556,
     1434       0,     0,     0,     0,     0,     0,    19,    61,     4,     5,
     1435       6,    17,     0,     0,   296,     2,    66,    67,    68,    69,
     1436      49,    20,    50,    16,    23,    48,    70,   296,     0,    73,
     1437      77,    80,    83,    88,    91,    93,    95,    97,    99,   101,
     1438     106,   497,   753,   454,   496,     0,   452,   453,     0,   568,
     1439     583,   586,   589,   595,   598,   601,   361,     0,     2,   741,
     1440       0,   296,   744,     2,    64,   296,     3,   428,     0,   436,
     1441     297,   296,   309,   335,   289,   350,   357,     3,     3,   410,
     1442     414,   424,   429,   475,   296,   430,   708,   709,   296,   431,
     1443     433,   296,     2,   585,   597,   731,     2,     2,   251,     2,
     1444     461,     0,   459,   458,   457,   143,     2,     2,   253,     2,
     1445       2,   252,     2,   283,     2,   284,     0,   282,     0,     0,
     1446       0,     0,     0,     0,     0,     0,     0,   569,   608,     0,
     1447     456,     2,   563,   572,   662,   565,   566,   535,   296,     2,
     1448     602,   611,   604,   605,     0,   278,   296,   296,   341,   297,
     1449       0,   297,     0,   296,   736,   740,   738,   536,   296,   547,
     1450     257,   265,   311,     0,     2,   537,   296,   501,   338,   339,
     1451     285,   353,   360,     0,   296,     0,   751,   401,     0,   478,
     1452     502,   254,   255,   522,   296,   438,     0,   296,   239,     0,
     1453       2,   241,     0,   297,     0,   259,     2,   260,   280,     0,
     1454       0,     2,   296,   547,   296,   488,   490,   489,     0,     0,
     1455     753,     0,   296,     0,   296,   492,   296,   562,   560,   561,
     1456     559,     0,   554,   557,     0,     0,   296,    56,   296,    70,
     1457      51,   296,    58,   296,   296,    54,    55,     2,   129,     0,
     1458       0,   450,     0,   449,   730,   123,   296,    18,     0,    31,
     1459      32,    37,     2,     0,    37,   113,   114,   115,   116,   117,
     1460     118,   119,   120,   121,   122,   112,   111,     0,    52,    53,
    14601461       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    14611462       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1462      105,     2,   645,   452,   642,   546,   546,   650,   479,   293,
    1463        2,   584,   585,     0,   596,   597,     0,     2,   739,   742,
    1464      120,   293,     0,     2,   707,   294,   711,   702,   703,   709,
    1465        0,     2,     2,   667,   546,   750,   616,   546,   546,   750,
    1466      546,   630,   546,   546,   681,   434,   664,   546,   546,   672,
    1467      679,   293,   429,   294,     0,     0,   293,   717,   294,   722,
    1468      750,   714,   293,   719,   750,   293,   293,   293,     0,   120,
    1469        0,    19,     2,     0,    20,     0,   459,   748,     0,     0,
    1470      465,   240,     0,   293,     0,     0,     0,   544,   568,   572,
    1471      574,   604,   607,   611,   614,   567,   606,     0,   283,   657,
    1472        0,   293,   276,     0,     0,     0,     0,   274,     2,     0,
    1473      258,   535,   293,     0,     0,   293,     2,   363,   383,   372,
    1474        0,     0,   377,   371,   749,     0,     0,   396,     0,   294,
    1475        3,   414,     3,   418,   417,   590,     0,   530,   293,    61,
    1476        3,   293,   433,   294,     3,   427,   428,     2,     0,     0,
    1477        0,   484,   305,   293,   480,   482,     3,     2,     2,     0,
    1478      501,     3,     0,   553,   128,     0,     0,   221,     0,     0,
    1479        0,     0,    37,     0,     0,   120,   293,    21,     0,    22,
    1480        0,   691,   696,   448,   688,   546,   546,     0,   106,     3,
    1481        2,    28,     0,    34,     0,     2,    26,     0,   104,    71,
    1482       72,    73,    75,    76,    78,    79,    83,    84,    81,    82,
    1483       86,    87,    89,    91,    93,    95,    97,     0,     0,   751,
    1484      293,     0,     0,     0,   646,   647,   643,   644,   496,   495,
    1485      293,     0,   293,   713,   293,   718,   294,   293,   661,   293,
    1486      293,   704,   660,     2,   293,     0,     0,     0,     0,     0,
    1487        0,     0,     0,   682,     0,   668,   619,   635,   669,     2,
    1488      615,   622,   431,   617,   618,   432,     2,   629,   638,   631,
    1489      632,   665,   666,   680,   708,   712,   710,   750,   267,     2,
    1490      744,     2,   422,   716,   721,   423,     0,   401,     3,     3,
    1491        3,     3,   453,     3,     0,     2,   467,   464,   749,     0,
    1492      460,     2,   463,   466,     0,   293,   241,   263,     3,   271,
    1493      273,     0,   453,     2,   570,   571,     2,   609,   610,     0,
    1494      658,   536,     3,   344,   343,   346,   345,   293,   537,     0,
    1495      538,   371,     0,     0,   293,   293,     0,     0,   691,   381,
    1496      384,   388,   546,   388,   387,   380,   373,   546,   375,   378,
    1497      293,   398,   392,   102,   399,   748,     0,     0,   436,   239,
    1498        0,     0,     3,     2,   667,   429,     0,   526,     0,   750,
    1499      488,     0,   293,   293,   293,     0,   550,   552,   129,     0,
    1500        0,   214,     0,     0,     0,   222,   223,    54,     0,    56,
    1501       59,    60,     0,     2,   127,     0,     0,     0,   692,   693,
    1502      689,   690,   458,    68,    69,   107,   124,     3,   106,     0,
    1503        0,    25,    36,     3,     0,    33,   100,     0,     3,   649,
    1504      653,   656,   648,     3,   591,     3,   715,   720,     2,    61,
    1505      293,     3,     3,   294,     0,     3,   621,   625,   628,   637,
    1506      671,   675,   678,   293,     3,   620,   636,   670,   293,   293,
    1507      424,   293,   293,   745,     0,     0,     0,     0,   255,     0,
    1508      102,     0,     3,     3,     0,   461,     0,   457,     0,     0,
    1509      244,   293,     0,     0,   128,     0,     0,     0,     0,     0,
    1510      128,     0,     0,   106,   106,    19,     2,     0,     0,     3,
    1511      130,   131,     2,   142,   132,   133,   134,   135,   136,   137,
    1512      144,   146,     0,     0,     0,   284,   293,   293,   546,     0,
    1513      539,   293,   374,   376,     0,   390,   692,   385,   389,   386,
    1514      379,   383,   366,   397,     0,   578,     2,   663,   662,     0,
    1515      668,     2,   481,   483,   503,     3,   511,   512,     0,     2,
    1516      507,     3,     3,     0,     0,   555,   221,     0,     0,     0,
    1517      221,     0,     0,   120,   695,   699,   701,   694,   748,   106,
    1518        0,     3,   660,    40,     3,    38,    35,     0,     3,    99,
    1519      101,     0,     2,   651,   652,     0,     0,   293,     0,     0,
    1520        0,     3,   637,     0,     2,   623,   624,     2,   639,     2,
    1521      673,   674,     0,     0,    61,     0,     3,     3,     3,     3,
    1522      409,   408,   412,     2,     2,   747,   746,   121,     0,     0,
    1523        0,     0,     3,   462,     3,     0,   242,   145,     3,   294,
    1524      293,     0,     0,     0,     0,     2,     0,   190,     0,   188,
    1525        0,     0,     0,     0,     0,     0,     0,   546,   120,     0,
    1526      150,   147,   293,     0,     0,   266,   278,     3,     3,   545,
    1527      612,   367,   382,   395,   293,   265,   293,     0,   514,   491,
    1528      293,     0,     0,   490,   505,     0,     0,     0,   215,     0,
    1529      224,    57,     2,   697,   698,     0,   125,   122,     0,     0,
    1530        0,     0,     0,    24,     0,   654,   293,   579,   264,   723,
    1531      724,   725,     0,   676,   293,   293,   293,     3,     3,     0,
    1532      684,     0,     0,     0,     0,   293,   293,     3,   543,   121,
    1533      469,     0,     0,   245,   294,     0,     0,     0,     0,   293,
    1534      191,   189,   186,     0,   192,     0,     0,     0,     0,   196,
    1535      199,   197,   193,     0,   194,   128,    36,   143,   141,   243,
    1536        0,     0,   416,   420,   419,     0,   508,     2,   509,     2,
    1537      510,   504,   293,   227,     0,   225,     0,   227,   293,    32,
    1538      123,     2,    43,     2,    41,    39,    29,    27,     3,   726,
    1539        3,     3,     3,     0,     0,   683,   685,   626,   640,   268,
    1540        2,   406,     3,   405,     0,   471,   468,   128,     0,     0,
    1541      128,     3,     0,   128,   187,     0,     2,     2,   208,   198,
    1542        0,     0,     0,   139,     0,   573,   613,     2,     0,     0,
    1543        2,   228,     0,     0,   216,     0,     3,     0,     0,     0,
    1544        0,     0,     0,   686,   687,   293,     0,   470,   151,     0,
    1545        0,     2,   164,   128,   153,     0,   181,     0,   128,     0,
    1546        2,   155,     0,     2,     0,     2,     2,     2,   195,    33,
    1547      293,   513,   515,   506,     0,     0,     0,     0,     0,     3,
    1548        3,   655,   627,   641,   677,   410,   128,   157,   160,     0,
    1549      159,   163,     3,   166,   165,     0,   128,   183,   128,     3,
    1550        0,   293,     0,   293,     0,     2,     0,     2,   138,     2,
    1551      229,   230,     0,   226,   217,   700,     0,     0,   152,     0,
    1552        0,   162,   232,   167,     2,   234,   182,     0,   185,   171,
    1553      200,     3,   209,   213,   202,     3,     0,   293,     0,   293,
    1554        0,     0,     0,    44,    42,   158,   161,   128,     0,   168,
    1555      293,   128,   128,     0,   172,     0,     0,   691,   210,   211,
    1556      212,     0,   201,     3,   203,     3,   293,   218,   231,   148,
    1557      169,   154,   128,   235,   184,   179,   177,   173,   156,   128,
    1558        0,   692,     0,     0,     0,     0,   149,   170,   180,   174,
    1559      178,   177,   175,     3,     3,     0,     0,   492,   176,   204,
    1560      206,     3,     3,   205,   207
     1463     108,     2,   648,   455,   645,   549,   549,   653,   482,   296,
     1464       2,   587,   588,     0,   599,   600,     0,     2,   742,   745,
     1465     123,   296,     0,     2,   710,   297,   714,   705,   706,   712,
     1466       0,     2,     2,   670,   549,   753,   619,   549,   549,   753,
     1467     549,   633,   549,   549,   684,   437,   667,   549,   549,   675,
     1468     682,   296,   432,   297,     0,     0,   296,   720,   297,   725,
     1469     753,   717,   296,   722,   753,   296,   296,   296,     0,   123,
     1470       0,    19,     2,     0,    20,     0,   462,   751,     0,     0,
     1471     468,   243,     0,   296,     0,     0,     0,   547,   571,   575,
     1472     577,   607,   610,   614,   617,   570,   609,     0,   286,   660,
     1473       0,   296,   279,     0,     0,     0,     0,   277,     2,     0,
     1474     261,   538,   296,     0,     0,   296,     2,   366,   386,   375,
     1475       0,     0,   380,   374,   752,     0,     0,   399,     0,   297,
     1476       3,   417,     3,   421,   420,   593,     0,   533,   296,    64,
     1477       3,   296,   436,   297,     3,   430,   431,     2,     0,     0,
     1478       0,   487,   308,   296,   483,   485,     3,     2,     2,     0,
     1479     504,     3,     0,   556,   131,     0,     0,   224,     0,     0,
     1480       0,     0,    38,     0,     0,   123,   296,    21,     0,    22,
     1481       0,   694,   699,   451,   691,   549,   549,     0,   109,     3,
     1482       2,    29,     0,    35,     0,    28,     2,    26,     0,   107,
     1483      74,    75,    76,    78,    79,    81,    82,    86,    87,    84,
     1484      85,    89,    90,    92,    94,    96,    98,   100,     0,     0,
     1485     754,   296,     0,     0,     0,   649,   650,   646,   647,   499,
     1486     498,   296,     0,   296,   716,   296,   721,   297,   296,   664,
     1487     296,   296,   707,   663,     2,   296,     0,     0,     0,     0,
     1488       0,     0,     0,     0,   685,     0,   671,   622,   638,   672,
     1489       2,   618,   625,   434,   620,   621,   435,     2,   632,   641,
     1490     634,   635,   668,   669,   683,   711,   715,   713,   753,   270,
     1491       2,   747,     2,   425,   719,   724,   426,     0,   404,     3,
     1492       3,     3,     3,   456,     3,     0,     2,   470,   467,   752,
     1493       0,   463,     2,   466,   469,     0,   296,   244,   266,     3,
     1494     274,   276,     0,   456,     2,   573,   574,     2,   612,   613,
     1495       0,   661,   539,     3,   347,   346,   349,   348,   296,   540,
     1496       0,   541,   374,     0,     0,   296,   296,     0,     0,   694,
     1497     384,   387,   391,   549,   391,   390,   383,   376,   549,   378,
     1498     381,   296,   401,   395,   105,   402,   751,     0,     0,   439,
     1499     242,     0,     0,     3,     2,   670,   432,     0,   529,     0,
     1500     753,   491,     0,   296,   296,   296,     0,   553,   555,   132,
     1501       0,     0,   217,     0,     0,     0,   225,   226,    57,     0,
     1502      59,    62,    63,     0,     2,   130,     0,     0,     0,   695,
     1503     696,   692,   693,   461,    71,    72,   110,   127,     3,   109,
     1504       0,     0,    25,    37,     3,     0,    34,   103,     0,     3,
     1505     652,   656,   659,   651,     3,   594,     3,   718,   723,     2,
     1506      64,   296,     3,     3,   297,     0,     3,   624,   628,   631,
     1507     640,   674,   678,   681,   296,     3,   623,   639,   673,   296,
     1508     296,   427,   296,   296,   748,     0,     0,     0,     0,   258,
     1509       0,   105,     0,     3,     3,     0,   464,     0,   460,     0,
     1510       0,   247,   296,     0,     0,   131,     0,     0,     0,     0,
     1511       0,   131,     0,     0,   109,   109,    19,     2,     0,     0,
     1512       3,   133,   134,     2,   145,   135,   136,   137,   138,   139,
     1513     140,   147,   149,     0,     0,     0,   287,   296,   296,   549,
     1514       0,   542,   296,   377,   379,     0,   393,   695,   388,   392,
     1515     389,   382,   386,   369,   400,     0,   581,     2,   666,   665,
     1516       0,   671,     2,   484,   486,   506,     3,   514,   515,     0,
     1517       2,   510,     3,     3,     0,     0,   558,   224,     0,     0,
     1518       0,   224,     0,     0,   123,   698,   702,   704,   697,   751,
     1519     109,     0,     3,   663,    47,    46,     3,    39,    41,    36,
     1520       0,     3,   102,   104,     0,     2,   654,   655,     0,     0,
     1521     296,     0,     0,     0,     3,   640,     0,     2,   626,   627,
     1522       2,   642,     2,   676,   677,     0,     0,    64,     0,     3,
     1523       3,     3,     3,   412,   411,   415,     2,     2,   750,   749,
     1524     124,     0,     0,     0,     0,     3,   465,     3,     0,   245,
     1525     148,     3,   297,   296,     0,     0,     0,     0,     2,     0,
     1526     193,     0,   191,     0,     0,     0,     0,     0,     0,     0,
     1527     549,   123,     0,   153,   150,   296,     0,     0,   269,   281,
     1528       3,     3,   548,   615,   370,   385,   398,   296,   268,   296,
     1529       0,   517,   494,   296,     0,     0,   493,   508,     0,     0,
     1530       0,   218,     0,   227,    60,     2,   700,   701,     0,   128,
     1531     125,     0,     0,     0,     0,     0,    24,     0,   657,   296,
     1532     582,   267,   726,   727,   728,     0,   679,   296,   296,   296,
     1533       3,     3,     0,   687,     0,     0,     0,     0,   296,   296,
     1534       3,   546,   124,   472,     0,     0,   248,   297,     0,     0,
     1535       0,     0,   296,   194,   192,   189,     0,   195,     0,     0,
     1536       0,     0,   199,   202,   200,   196,     0,   197,   131,    37,
     1537     146,   144,   246,     0,     0,   419,   423,   422,     0,   511,
     1538       2,   512,     2,   513,   507,   296,   230,     0,   228,     0,
     1539     230,   296,    33,   126,    40,    30,     2,    44,     2,    42,
     1540      27,     3,   729,     3,     3,     3,     0,     0,   686,   688,
     1541     629,   643,   271,     2,   409,     3,   408,     0,   474,   471,
     1542     131,     0,     0,   131,     3,     0,   131,   190,     0,     2,
     1543       2,   211,   201,     0,     0,     0,   142,     0,   576,   616,
     1544       2,     0,     0,     2,   231,     0,     0,   219,     0,     3,
     1545       0,     0,     0,     0,     0,     0,   689,   690,   296,     0,
     1546     473,   154,     0,     0,     2,   167,   131,   156,     0,   184,
     1547       0,   131,     0,     2,   158,     0,     2,     0,     2,     2,
     1548       2,   198,    34,   296,   516,   518,   509,     0,     0,     0,
     1549       0,     0,     3,     3,   658,   630,   644,   680,   413,   131,
     1550     160,   163,     0,   162,   166,     3,   169,   168,     0,   131,
     1551     186,   131,     3,     0,   296,     0,   296,     0,     2,     0,
     1552       2,   141,     2,   232,   233,     0,   229,   220,   703,     0,
     1553       0,   155,     0,     0,   165,   235,   170,     2,   237,   185,
     1554       0,   188,   174,   203,     3,   212,   216,   205,     3,     0,
     1555     296,     0,   296,     0,     0,     0,    45,    43,   161,   164,
     1556     131,     0,   171,   296,   131,   131,     0,   175,     0,     0,
     1557     694,   213,   214,   215,     0,   204,     3,   206,     3,   296,
     1558     221,   234,   151,   172,   157,   131,   238,   187,   182,   180,
     1559     176,   159,   131,     0,   695,     0,     0,     0,     0,   152,
     1560     173,   183,   177,   181,   180,   178,     3,     3,     0,     0,
     1561     495,   179,   207,   209,     3,     3,   208,   210
    15611562};
    15621563
     
    15641565static const yytype_int16 yydefgoto[] =
    15651566{
    1566       -1,   814,   468,   300,    47,   133,   134,   301,   302,   303,
    1567      304,   305,   762,   763,  1134,  1135,   306,   381,   308,   309,
    1568      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
    1569      320,  1031,   518,   976,   547,   322,   977,   948,  1058,  1519,
    1570     1060,  1061,  1062,  1063,  1520,  1064,  1065,  1438,  1439,  1402,
    1571     1403,  1404,  1498,  1499,  1503,  1504,  1539,  1540,  1066,  1362,
    1572     1067,  1068,  1299,  1300,  1301,  1481,  1069,   145,   954,   955,
    1573      956,  1382,  1462,  1473,  1474,   469,   470,   875,   876,  1039,
    1574       51,    52,    53,    54,    55,   347,   158,    58,    59,    60,
    1575       61,    62,   349,    64,    65,   264,    67,    68,   274,   351,
    1576      352,    71,    72,    73,   118,    75,   204,   354,   119,    78,
    1577      120,    80,    81,   455,    82,   454,   689,   690,   691,   909,
    1578     1087,   910,    83,    84,   458,   456,   697,   856,   857,   858,
    1579      859,   700,   701,   702,   359,   360,   361,   362,   466,   340,
    1580      135,   136,   522,   324,   170,   646,   647,   648,   649,   650,
    1581       85,   121,    87,   489,   490,   940,   491,   277,   495,   325,
    1582       88,   137,   138,    89,  1322,  1109,  1110,  1111,  1112,    90,
    1583       91,   718,    92,   273,    93,    94,   187,  1033,   680,   412,
    1584      125,    95,   501,   502,   503,   188,   268,   190,   191,   192,
    1585      269,    98,    99,   100,   101,   102,   103,   104,   195,   196,
    1586      197,   198,   199,   826,   606,   607,   608,   609,   200,   611,
    1587      612,   613,   573,   574,   575,   576,   752,   105,   615,   616,
    1588      617,   618,   619,   620,   969,   754,   755,   756,   596,   365,
    1589      366,   367,   368,   326,   164,   107,   108,   109,   370,   695,
    1590      570
     1567      -1,   815,   468,   300,    47,   133,   134,   301,   302,   303,
     1568     304,   305,   762,   763,  1136,  1137,  1138,   306,   381,   308,
     1569     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
     1570     319,   320,  1032,   518,   977,   547,   322,   978,   949,  1059,
     1571    1522,  1061,  1062,  1063,  1064,  1523,  1065,  1066,  1441,  1442,
     1572    1405,  1406,  1407,  1501,  1502,  1506,  1507,  1542,  1543,  1067,
     1573    1365,  1068,  1069,  1302,  1303,  1304,  1484,  1070,   145,   955,
     1574     956,   957,  1385,  1465,  1476,  1477,   469,   470,   876,   877,
     1575    1040,    51,    52,    53,    54,    55,   347,   158,    58,    59,
     1576      60,    61,    62,   349,    64,    65,   264,    67,    68,   274,
     1577     351,   352,    71,    72,    73,   118,    75,   204,   354,   119,
     1578      78,   120,    80,    81,   455,    82,   454,   689,   690,   691,
     1579     910,  1088,   911,    83,    84,   458,   456,   697,   857,   858,
     1580     859,   860,   700,   701,   702,   359,   360,   361,   362,   466,
     1581     340,   135,   136,   522,   324,   170,   646,   647,   648,   649,
     1582     650,    85,   121,    87,   489,   490,   941,   491,   277,   495,
     1583     325,    88,   137,   138,    89,  1325,  1110,  1111,  1112,  1113,
     1584      90,    91,   718,    92,   273,    93,    94,   187,  1034,   680,
     1585     412,   125,    95,   501,   502,   503,   188,   268,   190,   191,
     1586     192,   269,    98,    99,   100,   101,   102,   103,   104,   195,
     1587     196,   197,   198,   199,   827,   606,   607,   608,   609,   200,
     1588     611,   612,   613,   573,   574,   575,   576,   752,   105,   615,
     1589     616,   617,   618,   619,   620,   970,   754,   755,   756,   596,
     1590     365,   366,   367,   368,   326,   164,   107,   108,   109,   370,
     1591     695,   570
    15911592};
    15921593
    15931594/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15941595   STATE-NUM.  */
    1595 #define YYPACT_NINF -1323
     1596#define YYPACT_NINF -1338
    15961597static const yytype_int16 yypact[] =
    15971598{
    1598     7329,  8828, -1323,    37, -1323, -1323, -1323, -1323, -1323, -1323,
    1599    -1323,   109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1600    -1323, -1323, -1323, -1323, -1323, -1323,    85,    85,    85,   873,
    1601      733,   178,  7561,   370, -1323, -1323, -1323, -1323, -1323,   191,
    1602    -1323, -1323, -1323,   614,   225, -1323, -1323, -1323, -1323,  4615,
    1603    -1323, -1323, -1323, -1323,   229,   285, -1323,   934, -1323, -1323,
    1604    -1323, -1323,   435,  1196,   579,   110,  7677, -1323, -1323,  4858,
    1605     1038, -1323, -1323,   580,   596,  6761,  1021,   875,   580,  1103,
    1606    -1323, -1323,  1317,   308, -1323,   580,  1224, -1323,   495, -1323,
    1607      616,   623, -1323, -1323, -1323, -1323,   547,   285,    85, -1323,
    1608       85, -1323, -1323, -1323, -1323,  9174,   934, -1323, -1323,   934,
    1609    -1323,   551, -1323,  9403, -1323, -1323,  1899,  9436, -1323,   844,
    1610      844,   844, -1323, -1323, -1323,    85, -1323, -1323, -1323,   584,
    1611      608,   632, -1323, -1323, -1323,   646, -1323, -1323, -1323, -1323,
    1612    -1323,   664,   687, -1323, -1323,   -28,  8797,  2908,   117,   701,
    1613      717,   726,   771,   786,   799,  8715,  6849,   731,   757, -1323,
    1614     5600, -1323, -1323, -1323, -1323,   804, -1323,   223,  5225,  5225,
    1615    -1323,   802,   365, -1323, -1323, -1323, -1323,   816,   443,   480,
    1616      534,    85,   827, -1323, -1323,  1196,  4341,   868, -1323,    50,
    1617    -1323,    85,    85,   285, -1323, -1323,    61, -1323,    85,    85,
    1618    -1323,  4647,   857,   864,   844,  6523, -1323, -1323,   869,  4615,
    1619    -1323, -1323,   580, -1323, -1323, -1323,   285, -1323,   934,   229,
    1620    -1323,  7868, -1323,   844,   844,   844,   285, -1323,   873, -1323,
    1621     5676, -1323, -1323,   852,   844, -1323,   844, -1323,   191,  8797,
    1622    -1323,   884, -1323,   733,   890,   844, -1323,   873,   888,   892,
    1623    -1323,  7561,   631, -1323, -1323, -1323,  9256, -1323, -1323,  9621,
    1624    -1323,   868,   151, 10214,  9436,  1899,  4647, -1323,    88, -1323,
    1625    -1323,  9403,   934,   891,  7708, -1323, -1323,   347, -1323, 10561,
    1626      922,   956, 10347,   945, 10366, 10423, -1323,   954, -1323, -1323,
    1627    -1323, -1323, 10442, 10442,  8571,   952, -1323, -1323, -1323, -1323,
    1628    -1323, -1323, -1323,   988, -1323,   966,  1946,  8910, 10366, -1323,
    1629      756,   338,   485,   411,   635,   955,   947,   957,   984,   237,
    1630    -1323, -1323,   962,   647, -1323,   302, -1323, -1323,  2908, -1323,
    1631    -1323,   235,   985, -1323,   312,   985,   989,   191, -1323, -1323,
    1632      990,  9174, -1323,   999,  1006,  9023, -1323, -1323,  1335,  2030,
    1633     8286,  6523,   580, -1323,   580,   844,   844, -1323, -1323, -1323,
    1634    -1323, -1323, -1323,   844,  9174,   934, -1323, -1323,  9474,  1575,
    1635    -1323,  8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,
    1636     5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1637    -1323, -1323, -1323, -1323, -1323, -1323,  1899, -1323,   973,   991,
    1638      992,  1012,   978,  1017,  1018,  1020,  4341, -1323, -1323,  1029,
    1639      229,  1031, -1323, -1323,  1033, -1323, -1323, -1323,  9256, -1323,
    1640    -1323, -1323, -1323, -1323,  4647, -1323,  8797,  8797, -1323,   844,
    1641     1899,  6642,   934,  8359, -1323, -1323, -1323, -1323,  9256,   151,
    1642    -1323, -1323,   580,   285, -1323, -1323,  9256, -1323,  5770, -1323,
    1643    -1323,   844,   844,   337,  8204,  1032,  1036,  1023,  1042,   844,
    1644    -1323, -1323, -1323, -1323,  9660, -1323,   367,  6404, -1323,   285,
    1645     1044, -1323,  1899, 10643, 10271, -1323, -1323, -1323, -1323,  1015,
    1646     4647, -1323,  8432,   868,  7445, -1323, -1323, -1323,   843,   436,
    1647      962,   733,  7708,  1341,  9403, -1323,  7708, -1323, -1323, -1323,
    1648    -1323,   508, -1323,  1051,   956,   248,  8571, -1323,  9512, -1323,
    1649    -1323,  8571, -1323,  8684,  8571, -1323, -1323,  1049, -1323,   606,
    1650     1057,   682,  1059, -1323, -1323,  3527,  6492, -1323,   362, -1323,
    1651    -1323, 10214, -1323,   368, 10214, -1323, -1323, -1323, -1323, -1323,
    1652    -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323,
    1653    10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,
    1654    10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,  3593, 10214,
    1655    -1323,   647,  1677, -1323, -1323,    85,    85, -1323, -1323,  8797,
    1656    -1323, -1323,  1033,   631, -1323,  1033, 10290, -1323, -1323, -1323,
    1657     5046,  6492,  1060,  1063, -1323,  9436, -1323, -1323,   804, -1323,
    1658     1067,   750,  1068,  2627,   125,   962, -1323,    85,    85,   962,
    1659      132, -1323,    85,    85,  1033, -1323, -1323,    85,    85, -1323,
    1660      985,  9545,   934, 10788,   532,   656,  9545, -1323,  9621, -1323,
    1661      962, -1323,  9174, -1323,   238,  7983,  7983,  7983,   934, -1323,
    1662     5791,  1047,  1008,   493,  1058,  1061, -1323,  1076,  5225,   528,
    1663    -1323,  1165,   934,  7983,   631,  1899,   631,   868,   430,   985,
    1664    -1323, -1323,   536,   985, -1323, -1323, -1323,   956, -1323,   985,
    1665      285,  9660, -1323,   619,  1086,   633,  1088, -1323,  1087,   285,
    1666    -1323, -1323,  9256,   285,  1089,  9512,  1092, -1323,  1065, -1323,
    1667      538,   552,   733, -1323,   733,  1085, 10366, -1323,   733, 10788,
    1668    -1323, -1323,  1096, -1323, -1323, -1323,   631, -1323, 10716,  1006,
    1669    -1323,  7983,   703,  8286, -1323, -1323,   804,  1095,  1098,   843,
    1670     5016, -1323, -1323,  7708, -1323, -1323,  1091, -1323, -1323,  1102,
    1671    -1323,  1091,  1104, 10561, 10214,  1090,  1093,    94,  1109,  1107,
    1672     1111,  1114, -1323,  1118,  1129,  9365,  6611, -1323, 10214, -1323,
    1673      682,  1717, -1323, -1323, -1323,    85,    85, 10157, 10214,  1125,
    1674    -1323, -1323,   653, -1323, 10214, -1323, -1323,   736, -1323, -1323,
    1675    -1323, -1323,   756,   756,   338,   338,   485,   485,   485,   485,
    1676      411,   411,   635,   955,   947,   957,   984, 10366,   260, -1323,
    1677     9660,  1132,  1136,  1137,  1677, -1323, -1323, -1323, -1323, -1323,
    1678     9660,   708,  7983, -1323,  9174, -1323,  6968,  9136, -1323,  8017,
    1679     6849, -1323, -1323,   750,  9660,  1022,  1140,  1141,  1142,  1143,
    1680     1146,  1149,  1154, -1323,  3715,  2627, -1323, -1323, -1323, -1323,
    1681    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1682    -1323, -1323, -1323,  1033, -1323, -1323, -1323,   962, -1323, -1323,
    1683    -1323, -1323, -1323, -1323, -1323, -1323,  1155, -1323,  1157,  1159,
    1684    -1323, -1323,   229,  1125,  5791, -1323, -1323, -1323,  5958,  1158,
    1685    -1323, -1323, -1323, -1323,   733,  6174,  1248, -1323, -1323, -1323,
    1686    -1323,  1151,   229, -1323, -1323,  1033, -1323, -1323,  1033,    84,
    1687     1033, -1323, -1323, -1323, -1323, -1323, -1323,  9327, -1323,   285,
    1688    -1323, -1323,   559,   562,  9474,  7087,  2137, 10366,  3114, -1323,
    1689    -1323,  1156,    51,  1156, -1323,   733, -1323,    85, -1323, -1323,
    1690     8941,  1023, -1323, -1323, -1323,  1036,  1175,  1171, -1323, -1323,
    1691     1178,  1181, -1323,   703,  1901, -1323,   672, -1323,  5016,   962,
    1692    -1323,  1184,  7708,  9583,  8797,  1185, -1323, -1323,  1180,  1187,
    1693     1170, -1323, 10366,  1197,   326,  1194, -1323,  1202,   631,  1202,
    1694    -1323, -1323,  1202,  1199, -1323,  1208,  1210,  1211,  1717, -1323,
    1695    -1323, -1323,  5958, -1323, -1323, -1323, -1323,  1209, 10214,  1212,
    1696      631, -1323, 10214, -1323,   631, -1323, -1323, 10214, -1323,   558,
    1697      985, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,  1006,
    1698     9023, -1323, -1323,  7206,  1218, -1323,   674,   985, -1323,   813,
    1699      861,   985, -1323,   844,  4029, -1323, -1323, -1323,  9660,  9660,
    1700    -1323,  8359,  8359, -1323,  1215,  1216,  1225,  1230, -1323,  1232,
    1701      685,    82,  1125, -1323,   631, -1323,  5225, -1323, 10214,   564,
    1702    -1323,  6373,  1236,  1240, 10100,  1242,  1243,    70,    79,    96,
    1703    10214,  1244,   285, 10214, 10214,  1227,  1249,   522,  1222, -1323,
    1704    -1323, -1323,  1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1705    -1323, -1323,   733,  1254, 10214, -1323,  9660,  9660,    85,  1257,
    1706    -1323,  9054, -1323, -1323,   752, -1323,  3114, -1323, -1323, -1323,
    1707    -1323,  1065, -1323, -1323,  1255, -1323, -1323, -1323, -1323,  1258,
    1708     1901, -1323, -1323,  1245, -1323,  1091, -1323, -1323,  1899,  1260,
    1709    -1323, -1323, -1323,   713,  1264, -1323,    94,  1269, 10366,  1252,
    1710       94,    94,  1262,  3527,   879,   985, -1323, -1323,  1076, 10214,
    1711     1273,  1209,   358,   204,  1270, -1323, -1323,  1275,  1270, -1323,
    1712    -1323,  1278, -1323, -1323,  1033,  1280,  1284,  6730,  1285,  1290,
    1713     1291, -1323, -1323,  1286, -1323, -1323,  1033, -1323, -1323, -1323,
    1714    -1323,  1033, 10214, 10214,  1006,  1294, -1323, -1323, -1323, -1323,
    1715    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366,
    1716     1300,  1302,  1270, -1323, -1323,   733, -1323, -1323, -1323,  5213,
    1717     9583, 10214, 10214,  1374, 10214, -1323,  1295, -1323,  1296, -1323,
    1718     1297, 10214,  1301, 10214,  1105,  1304,    12,    85,  9289,  1625,
    1719    -1323, -1323,  6174,  1322,   573, -1323, -1323, -1323, -1323, -1323,
    1720    -1323, -1323, -1323, -1323,  9920, -1323,  8432,  1330, -1323, -1323,
    1721     9583,   576,   602, -1323,  1331,  1315,   956,  1337, -1323,   329,
    1722    -1323, -1323, -1323, -1323,  1033,  1339, -1323, -1323,  1320,   486,
    1723      509,   631,  1340, -1323,  1344, -1323,  9660, -1323, -1323, -1323,
    1724    -1323, -1323,  1347, -1323,  9660,  9660,  9660, -1323, -1323,  1348,
    1725    -1323,  1351,  1354,  1355,   716,  8056,  8171, -1323, -1323,   529,
    1726    -1323,  1357,  1362, -1323,  8505,   721,   730,  1358,   761,  3837,
    1727    -1323, -1323, -1323,   605, -1323,   766,  1366,  1367,   285,  1419,
    1728      834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323,
    1729     1370,  1375, -1323, -1323, -1323,  1372, -1323, -1323, -1323, -1323,
    1730    -1323, -1323,  9583,   956,  1379, -1323,  1352,   956,  9660, -1323,
    1731    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1732    -1323, -1323, -1323,  1378,  1382, -1323, -1323, -1323, -1323, -1323,
    1733    -1323, -1323,  1387, -1323,  1386, -1323, -1323, 10100,   289, 10214,
    1734    10100, -1323,  1389, 10214, -1323,   318,  1405,  1406, -1323, -1323,
    1735     1399,  1400,  1380, -1323,   821, -1323, -1323, -1323,   934,  1899,
    1736     1396, -1323,   402, 10366, -1323,   785, -1323,   631,   631,  1407,
    1737     1408,  1413,  1415, -1323, -1323,  8359,  1414, -1323,  1490, 10366,
    1738     1385, -1323, -1323, 10012, -1323,   800, -1323,  1402, 10100,  1403,
    1739    -1323, -1323,  1426, -1323,  1427, -1323,  1445,  1446, -1323,  1411,
    1740     9583, -1323, -1323, -1323,   956,   631,  1434,  1417,  1435,  1270,
    1741     1270, -1323, -1323, -1323, -1323, -1323, 10100,   107, -1323,   433,
    1742    -1323, -1323,  7793, -1323, -1323,  1418, 10214, -1323, 10214,  7793,
    1743      285,  9512,   285,  9512,  1436, -1323,  1442, -1323, -1323,  1440,
    1744    -1323, -1323,   825, -1323, -1323, -1323,  1444,  1449, -1323, 10366,
    1745    10366, -1323, -1323,   909,   211, -1323, -1323,  1425, -1323,   909,
    1746    -1323, -1323,  2166,   631, -1323, -1323,   285,  9512,   285,  9512,
    1747     1453,  1431,   631, -1323, -1323, -1323, -1323, 10012,  1443,   909,
    1748     6091, 10214,  9924,  1452,   909,  1454,  2166,  3344, -1323, -1323,
    1749    -1323,  1458, -1323, -1323, -1323, -1323,  8797, -1323, -1323, -1323,
    1750     9791, -1323, 10012, -1323, -1323,  1438,  9703, -1323, -1323,  9924,
    1751      285,  3344,   285,  1464,  1466,   853, -1323,  9791, -1323, -1323,
    1752    -1323,  9703, -1323, -1323, -1323,   285,   285, -1323, -1323, -1323,
    1753    -1323, -1323, -1323, -1323, -1323
     1599    4794,  8872, -1338,   118, -1338, -1338, -1338, -1338, -1338, -1338,
     1600   -1338,   -32, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
     1601   -1338, -1338, -1338, -1338, -1338, -1338,    75,    75,    75,   889,
     1602     761,    17,  6057,   231, -1338, -1338, -1338, -1338, -1338,   166,
     1603   -1338, -1338, -1338,   566,   192, -1338, -1338, -1338, -1338,  4939,
     1604   -1338, -1338, -1338, -1338,   195,   234, -1338,  1148, -1338, -1338,
     1605   -1338, -1338,   170,  2042,   352,    44,  7574, -1338, -1338,  9333,
     1606    1157, -1338, -1338,  1542,   364,  3919,   608,   982,  1542,  1041,
     1607   -1338, -1338,   474,   402, -1338,  1542,  1242, -1338,   273, -1338,
     1608     455,   478, -1338, -1338, -1338, -1338,   354,   234,    75, -1338,
     1609      75, -1338, -1338, -1338, -1338,  9218,  1148, -1338, -1338,  1148,
     1610   -1338,   387, -1338,  9518, -1338, -1338,  2342,  9556, -1338,   992,
     1611     992,   992, -1338, -1338, -1338,    75, -1338, -1338, -1338,   374,
     1612     386,   471, -1338, -1338, -1338,   480, -1338, -1338, -1338, -1338,
     1613   -1338,   525,   539, -1338, -1338,    53,  8841,  1022,    54,   558,
     1614     563,   587,   592,   605,   615,  8759,  7097,   644,   585, -1338,
     1615    9371, -1338, -1338, -1338, -1338,   619, -1338,   349,  4637,  4637,
     1616   -1338,   657,   446, -1338, -1338, -1338, -1338,   651,   453,   454,
     1617     476,    75,   659, -1338, -1338,  2042,  2592,   742, -1338,    57,
     1618   -1338,    75,    75,   234, -1338, -1338,   101, -1338,    75,    75,
     1619   -1338,  3079,   687,   706,   992,  6771, -1338, -1338,   707,  4939,
     1620   -1338, -1338,  1542, -1338, -1338, -1338,   234, -1338,  1148,   195,
     1621   -1338,  7912, -1338,   992,   992,   992,   234, -1338,   889, -1338,
     1622    4555, -1338, -1338,   691,   992, -1338,   992, -1338,   166,  8841,
     1623   -1338,   713, -1338,   761,   725,   992, -1338,   889,   756,   768,
     1624   -1338,  6057,   675, -1338, -1338, -1338,  9300, -1338, -1338,  2361,
     1625   -1338,   742,   105, 10239,  9556,  2342,  3079, -1338,   194, -1338,
     1626   -1338,  9518,  1148,   743,  7605, -1338, -1338,   126, -1338, 10586,
     1627     755,   847, 10372,   832, 10391, 10448, -1338,   839, -1338, -1338,
     1628   -1338, -1338, 10467, 10467,  8615,   824, -1338, -1338, -1338, -1338,
     1629   -1338, -1338, -1338,   901, -1338,   679,  3121,  8954, 10391, -1338,
     1630     507,   418,   680,   295,   694,   894,   852,   888,   930,    66,
     1631   -1338, -1338,   938,   665, -1338,   380, -1338, -1338,  1022, -1338,
     1632   -1338,    12,   949, -1338,   338,   949,   961,   166, -1338, -1338,
     1633     968,  9218, -1338,   983,   984,  9067, -1338, -1338,   776,  1555,
     1634    8330,  6771,  1542, -1338,  1542,   992,   992, -1338, -1338, -1338,
     1635   -1338, -1338, -1338,   992,  9218,  1148, -1338, -1338,  9594,  1098,
     1636   -1338,  8061, -1338, -1338, -1338, -1338, -1338, -1338, -1338,   995,
     1637    5881, 10391, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
     1638   -1338, -1338, -1338, -1338, -1338, -1338,  2342, -1338,   489,   993,
     1639     994,  1000,   732,  1004,  1007,  1008,  2592, -1338, -1338,   969,
     1640     195,  1030, -1338, -1338,  1024, -1338, -1338, -1338,  9300, -1338,
     1641   -1338, -1338, -1338, -1338,  3079, -1338,  8841,  8841, -1338,   992,
     1642    2342,  6890,  1148,  8403, -1338, -1338, -1338, -1338,  9300,   105,
     1643   -1338, -1338,  1542,   234, -1338, -1338,  9300, -1338,  6655, -1338,
     1644   -1338,   992,   992,   465,  8248,  1029,  1028,  1015,  1033,   992,
     1645   -1338, -1338, -1338, -1338,  9742, -1338,   591,  6518, -1338,   234,
     1646    1044, -1338,  2342, 10668, 10296, -1338, -1338, -1338, -1338,   929,
     1647    3079, -1338,  8476,   742,  5771, -1338, -1338, -1338,  1039,   645,
     1648     938,   761,  7605,   809,  9518, -1338,  7605, -1338, -1338, -1338,
     1649   -1338,   688, -1338,  1046,   847,   251,  8615, -1338,  9627, -1338,
     1650   -1338,  8615, -1338,  8728,  8615, -1338, -1338,  1048, -1338,   751,
     1651    1043,   711,  1057, -1338, -1338,  9447,  6740, -1338,   107, -1338,
     1652   -1338, 10239, -1338,   318, 10239, -1338, -1338, -1338, -1338, -1338,
     1653   -1338, -1338, -1338, -1338, -1338, -1338, -1338, 10239, -1338, -1338,
     1654   10391, 10391, 10391, 10391, 10391, 10391, 10391, 10391, 10391, 10391,
     1655   10391, 10391, 10391, 10391, 10391, 10391, 10391, 10391,  4422, 10239,
     1656   -1338,   665,  1831, -1338, -1338,    75,    75, -1338, -1338,  8841,
     1657   -1338, -1338,  1024,   675, -1338,  1024, 10315, -1338, -1338, -1338,
     1658    5500,  6740,  1056,  1064, -1338,  9556, -1338, -1338,   619, -1338,
     1659    1065,  1323,  1067,  2196,   209,   938, -1338,    75,    75,   938,
     1660     243, -1338,    75,    75,  1024, -1338, -1338,    75,    75, -1338,
     1661     949,  9665,  1148, 10813,   217,   306,  9665, -1338,  2361, -1338,
     1662     938, -1338,  9218, -1338,   212,  8027,  8027,  8027,  1148, -1338,
     1663    6120,  1053,   995,   535,  1061,  1066, -1338,  1071,  4637,   421,
     1664   -1338,  1166,  1148,  8027,   675,  2342,   675,   742,   394,   949,
     1665   -1338, -1338,   788,   949, -1338, -1338, -1338,   847, -1338,   949,
     1666     234,  9742, -1338,   764,  1087,   806,  1088, -1338,  1089,   234,
     1667   -1338, -1338,  9300,   234,  1090,  9627,  1096, -1338,  1729, -1338,
     1668     527,   550,   761, -1338,   761,  1102, 10391, -1338,   761, 10813,
     1669   -1338, -1338,  1092, -1338, -1338, -1338,   675, -1338, 10741,   984,
     1670   -1338,  8027,   857,  8330, -1338, -1338,   619,  1103,  1112,  1039,
     1671    3523, -1338, -1338,  7605, -1338, -1338,  1097, -1338, -1338,  1121,
     1672   -1338,  1097,  1124, 10586, 10239,  1105,  1104,    94,  1128,  1123,
     1673    1132,  1133, -1338,  1136,  1138,  9485,  6859, -1338, 10239, -1338,
     1674     711,  1914, -1338, -1338, -1338,    75,    75,  6186, 10239,  1134,
     1675   -1338, -1338,   822, -1338, 10239, -1338, -1338, -1338,   715, -1338,
     1676   -1338, -1338, -1338,   507,   507,   418,   418,   680,   680,   680,
     1677     680,   295,   295,   694,   894,   852,   888,   930, 10391,   250,
     1678   -1338,  9742,  1151,  1153,  1158,  1831, -1338, -1338, -1338, -1338,
     1679   -1338,  9742,   827,  8027, -1338,  9218, -1338,  7216,  9180, -1338,
     1680    8061,  7097, -1338, -1338,  1323,  9742,   936,  1159,  1162,  1164,
     1681    1167,  1170,  1175,  1178, -1338,  3437,  2196, -1338, -1338, -1338,
     1682   -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
     1683   -1338, -1338, -1338, -1338,  1024, -1338, -1338, -1338,   938, -1338,
     1684   -1338, -1338, -1338, -1338, -1338, -1338, -1338,  1179, -1338,  1180,
     1685    1181, -1338, -1338,   195,  1134,  6120, -1338, -1338, -1338,  5881,
     1686    1143, -1338, -1338, -1338, -1338,   761,  6348,  1247, -1338, -1338,
     1687   -1338, -1338,  1165,   195, -1338, -1338,  1024, -1338, -1338,  1024,
     1688     230,  1024, -1338, -1338, -1338, -1338, -1338, -1338,  9409, -1338,
     1689     234, -1338, -1338,   554,   555,  9594,  7335,  2114, 10391,  2586,
     1690   -1338, -1338,  1163,    40,  1163, -1338,   761, -1338,    75, -1338,
     1691   -1338,  8985,  1015, -1338, -1338, -1338,  1028,  1185,  1186, -1338,
     1692   -1338,  1189,  1191, -1338,   857,  1994, -1338,   444, -1338,  3523,
     1693     938, -1338,  1195,  7605,  9703,  8841,  1196, -1338, -1338,  1192,
     1694    1200,  1182, -1338, 10391,  1205,   298,  1203, -1338,  1206,   675,
     1695    1206, -1338, -1338,  1206,  1209, -1338,  1214,  1216,  1217,  1914,
     1696   -1338, -1338, -1338,  5881, -1338, -1338, -1338, -1338,  1215, 10239,
     1697    1220,   831, -1338, 10239, -1338,   831, -1338, -1338, 10239, -1338,
     1698     972,   949, -1338, -1338, -1338, -1338, -1338, -1338, -1338,   995,
     1699     984,  9067, -1338, -1338,  7454,  1229, -1338,   975,   949, -1338,
     1700     979,   991,   949, -1338,   992,  3705, -1338, -1338, -1338,  9742,
     1701    9742, -1338,  8403,  8403, -1338,  1226,  1232,  1235,  1240, -1338,
     1702    1244,   564,    43,  1134, -1338,   831, -1338,  4637, -1338, 10239,
     1703     582, -1338,  6621,  1243,  1245, 10182,  1248,  1251,    46,    70,
     1704     103, 10239,  1252,   234, 10239, 10239,  1238,  1257,   333,  1239,
     1705   -1338, -1338, -1338,  1258, -1338, -1338, -1338, -1338, -1338, -1338,
     1706   -1338, -1338, -1338,   761,  1268, 10239, -1338,  9742,  9742,    75,
     1707    1269, -1338,  9098, -1338, -1338,   767, -1338,  2586, -1338, -1338,
     1708   -1338, -1338,  1729, -1338, -1338,  1270, -1338, -1338, -1338, -1338,
     1709    1273,  1994, -1338, -1338,  1256, -1338,  1097, -1338, -1338,  2342,
     1710    1271, -1338, -1338, -1338,   836,  1276, -1338,    94,  1279, 10391,
     1711    1265,    94,    94,  1293,  9447,  1023,   949, -1338, -1338,  1071,
     1712   10239,  1292,  1215,   513, -1338, -1338,  1296, -1338,    -5, -1338,
     1713    1297,  1296, -1338, -1338,  1304, -1338, -1338,  1024,  1306,  1309,
     1714    6978,  1310,  1312,  1313, -1338, -1338,  1316, -1338, -1338,  1024,
     1715   -1338, -1338, -1338, -1338,  1024, 10239, 10239,   984,  1315, -1338,
     1716   -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
     1717   -1338, 10391, 10391,  1317,  1318,  1296, -1338, -1338,   761, -1338,
     1718   -1338, -1338,  7839,  9703, 10239, 10239,  1381, 10239, -1338,  1299,
     1719   -1338,  1303, -1338,  1305, 10239,  1311, 10239,  1014,  1314,    39,
     1720      75,  5221,  1493, -1338, -1338,  6348,  1321,   584, -1338, -1338,
     1721   -1338, -1338, -1338, -1338, -1338, -1338, -1338, 10002, -1338,  8476,
     1722    1328, -1338, -1338,  9703,   589,   606, -1338,  1327,  1325,   847,
     1723    1334, -1338,   331, -1338, -1338, -1338, -1338,  1024,  1332, -1338,
     1724   -1338,  1336,   831,  1339,   320,   457, -1338,  1341, -1338,  9742,
     1725   -1338, -1338, -1338, -1338, -1338,  1345, -1338,  9742,  9742,  9742,
     1726   -1338, -1338,  1351, -1338,  1355,  1358,  1360,   623,  8100,  8215,
     1727   -1338, -1338,   463, -1338,  1361,  1370, -1338,  8549,   841,   866,
     1728    1374,   868,  6487, -1338, -1338, -1338,   616, -1338,   881,  1375,
     1729    1379,   234,  1429,   861, -1338, -1338, 10239, -1338, 10182, 10239,
     1730   -1338, -1338, -1338,  1383,  1384, -1338, -1338, -1338,  1382, -1338,
     1731   -1338, -1338, -1338, -1338, -1338,  9703,   847,  1386, -1338,  1366,
     1732     847,  9742, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
     1733   -1338, -1338, -1338, -1338, -1338, -1338,  1389,  1390, -1338, -1338,
     1734   -1338, -1338, -1338, -1338, -1338,  1395, -1338,  1394, -1338, -1338,
     1735   10182,   334, 10239, 10182, -1338,  1398, 10239, -1338,   339,  1415,
     1736    1417, -1338, -1338,  1405,  1406,  1393, -1338,   840, -1338, -1338,
     1737   -1338,  1148,  2342,  1403, -1338,   329, 10391, -1338,   897, -1338,
     1738     831,   831,  1411,  1412,  1416,  1421, -1338, -1338,  8403,  1423,
     1739   -1338,  1485, 10391,  1407, -1338, -1338, 10094, -1338,   898, -1338,
     1740    1410, 10182,  1422, -1338, -1338,  1434, -1338,  1443, -1338,  1459,
     1741    1461, -1338,  1428,  9703, -1338, -1338, -1338,   847,   675,  1452,
     1742    1431,  1455,  1296,  1296, -1338, -1338, -1338, -1338, -1338, 10182,
     1743      81, -1338,   447, -1338, -1338,  7690, -1338, -1338,  1435, 10239,
     1744   -1338, 10239,  7690,   234,  9627,   234,  9627,  1465, -1338,  1466,
     1745   -1338, -1338,  1456, -1338, -1338,   909, -1338, -1338, -1338,  1470,
     1746    1471, -1338, 10391, 10391, -1338, -1338,   880,   254, -1338, -1338,
     1747    1453, -1338,   880, -1338, -1338,  2645,   675, -1338, -1338,   234,
     1748    9627,   234,  9627,  1480,  1458,   675, -1338, -1338, -1338, -1338,
     1749   10094,  1476,   880,  7766, 10239, 10006,  1478,   880,  1486,  2645,
     1750    2922, -1338, -1338, -1338,  1487, -1338, -1338, -1338, -1338,  8841,
     1751   -1338, -1338, -1338,  9873, -1338, 10094, -1338, -1338,  1467,  9785,
     1752   -1338, -1338, 10006,   234,  2922,   234,  1495,  1498,   927, -1338,
     1753    9873, -1338, -1338, -1338,  9785, -1338, -1338, -1338,   234,   234,
     1754   -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338
    17541755};
    17551756
     
    17571758static const yytype_int16 yypgoto[] =
    17581759{
    1759    -1323,  4572,  3263, -1323,   197, -1323,   601,   950,  -251,   910,
    1760    -1323,   521,  -520,  -467,  -853,   -64,  3183,     0, -1323,  -150,
    1761      423,   446,   477,   450,  1016,  1025,  1019,  1026,  1028, -1323,
    1762     -622,  -408,  5012,  -745, -1323,  -735,   604,   472,  -656,   413,
    1763    -1323,  1279, -1323,   374, -1058, -1323, -1323,   126, -1323,  -823,
    1764    -1106,   222, -1323, -1323, -1323, -1323,    58, -1209, -1323, -1323,
    1765    -1323, -1323, -1323, -1323,   301, -1149,    35, -1323,  -933, -1323,
    1766      482,   274, -1323,   159, -1323,  -303, -1323, -1323, -1323,   535,
    1767     -827, -1323, -1323,    15, -1007,    71,    28, -1323, -1323, -1323,
    1768      -21, -1323,   357,  1253,  -198,  1636,  4113, -1323, -1323,    80,
    1769       54,   422,  1473, -1323,  1886, -1323, -1323,   192,  2183, -1323,
    1770     2495,   898, -1323, -1323, -1323,  -638, -1323,   924,   925,   524,
    1771      699,    83, -1323, -1323, -1323,   915,   695,  -339, -1323,  -106,
    1772       34,  1281, -1323, -1323,  -847,  -986,  1046,  1127,  1039,     5,
    1773    -1323,  1536,   481,  -165,  -210,  -124,   651,   758, -1323,   979,
    1774    -1323,  2789,  1548,  -413,   904, -1323, -1323,   689, -1323,  -235,
    1775    -1323,   158, -1323, -1323, -1323, -1257,   401, -1323, -1323, -1323,
    1776     1148, -1323,    21, -1323, -1323,  -858,  -105, -1322,  -129,  2267,
    1777    -1323,  2391, -1323,   906, -1323,  -184,    59,  -180,  -173,  -170,
    1778        7,   -40,   -35,   -33,    60,    -6,    25,    93,  -168,  -164,
    1779     -158,  -147,  -144,  -292,  -471,  -462,  -452,  -551,  -302,  -537,
    1780    -1323, -1323,  -511,  1069,  1072,  1074,  2608,  4844,  -578,  -514,
    1781     -502,  -495,  -500, -1323,  -508,  -724,  -717,  -708,  -590,  -305,
    1782     -195, -1323, -1323,   246,    19,    36, -1323,  3865,   104,  -623,
    1783     -397
     1760   -1338,  4260,  2887, -1338,  1463, -1338,  1198,   661,  -268,   942,
     1761   -1338,   552,  -528,  -471,  -934,  -784, -1338,  4910,     0, -1338,
     1762    -100,   434,   472,   506,   438,  1049,  1050,  1051,  1062,  1055,
     1763   -1338,  1094,  -577,  5180,  -896, -1338,  -712,   636,   -68,  -593,
     1764    -654, -1338,  1469, -1338,   408, -1065, -1338, -1338,   159, -1338,
     1765   -1118,  -880,   265, -1338, -1338, -1338, -1338,    92, -1253, -1338,
     1766   -1338, -1338, -1338, -1338, -1338,   341, -1303,    36, -1338,  -904,
     1767   -1338,   518,   311, -1338,   196, -1338,  -309, -1338, -1338, -1338,
     1768     571,  -749, -1338, -1338,    16,  -930,   172,  1119, -1338, -1338,
     1769   -1338,  -149, -1338,    71,   966,  -196,  1532,  4034, -1338, -1338,
     1770      83,   174,   287,  2700, -1338,  1836, -1338, -1338,    55,  2097,
     1771   -1338,  2401,  2181, -1338, -1338, -1338,  -656, -1338,   962,   964,
     1772     560,   736,  -249, -1338, -1338, -1338,   955,   734,  -456, -1338,
     1773    -116,   -94,   869, -1338, -1338,  -963,  -979,    -2,   913,  1074,
     1774      29, -1338,   719,   357,  -283,  -191,  -146,   681,   789, -1338,
     1775    1010, -1338,  2818,  1589,  -439,   940, -1338, -1338,   720, -1338,
     1776    -237, -1338,   109, -1338, -1338, -1338, -1275,   435, -1338, -1338,
     1777   -1338,  1183, -1338,    32, -1338, -1338,  -845,  -111, -1337,  -112,
     1778    3150, -1338,  3946, -1338,   941, -1338,  -138,  1137,  -181,  -176,
     1779    -174,     7,   -40,   -33,   -28,  1352,    38,    50,    77,  -134,
     1780    -173,  -171,  -166,  -165,  -261,  -504,  -490,  -476,  -565,  -319,
     1781    -523, -1338, -1338,  -525,  1107,  1111,  1115,  -135,  4740,  -582,
     1782    -583,  -534,  -519,  -480, -1338,  -505,  -725,  -715,  -709,  -592,
     1783    -312,  -258, -1338, -1338,   326,    26,   -81, -1338,  3689,   -15,
     1784    -601,  -356
    17841785};
    17851786
     
    17871788   positive, shift that token.  If negative, reduce the rule which
    17881789   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1789 #define YYTABLE_NINF -522
     1790#define YYTABLE_NINF -525
    17901791static const yytype_int16 yytable[] =
    17911792{
    1792       49,   113,   407,   149,   453,   399,   428,    97,   150,   440,
    1793      151,   267,   400,   753,   767,   401,   114,  1071,   408,   106,
    1794      106,   402,   974,   280,   869,   828,   965,   403,    57,    57,
    1795      505,   845,    49,   966,  1188,    50,  1172,   152,   404,    97,
    1796      597,   405,   967,   147,   383,   384,   741,   610,  1070,    49,
    1797      357,   106,   827,   143,    70,   920,   161,   605,   410,    96,
    1798       57,   795,   177,   186,   819,  1380,   209,    50,   153,    49,
    1799      193,    56,   115,   216,   923,  1303,   226,  1440,   949,   726,
    1800       69,   281,   407,   731,   219,   399,    70,   820,   106,    31,
    1801       31,    96,   400,   724,    57,   401,   425,    57,   408,   821,
    1802       31,   402,   148,    56,   831,   113,   822,   403,    96,   162,
    1803      838,   261,    69,   113,   262,   670,   266,   271,   404,   122,
    1804      212,   405,   189,   194,    31,    96,   217,    31,    96,   227,
    1805      816,  1138,   475,   477,   510,   679,   154,   210,   202,   817,
    1806      220,   260,  1196,   683,  1304,   149,   307,   147,  1440,   818,
    1807      150,  1198,   151,   166,   161,   113,   345,   548,   549,   252,
    1808      209,   411,   411,  1459,    31,   986,   527,   373,  1200,   629,
    1809      419,    31,   411,   633,  1170,  1171,   291,   715,  1178,   152,
    1810      914,  1182,   965,  1235,   348,   186,   186,  1239,   203,   966,
    1811      358,   342,    76,   161,  1078,   548,   721,   481,   967,   411,
    1812      668,   266,  1197,  1469,  1179,   952,    96,   162,   832,    49,
    1813      153,  1199,   835,  1201,  1187,   409,   161,   166,   123,    96,
    1814      374,   209,   665,   439,    76,   149,   252,   329,   443,  1179,
    1815      150,   548,   151,   852,   829,   471,   602,   855,   666,   307,
    1816     1172,   836,  1030,   602,   398,   189,   162,  1017,   816,    57,
    1817      327,    49,  1140,   735,   176,  -233,  -233,   817,    97,   271,
    1818      476,   674,   676,  1081,   271,   266,   266,   818,    96,   162,
    1819      106,   113,   463,   161,  1016,   442,  1004,   483,   154,    57,
    1820       96,   444,  1188,   992,   500,   923,    50,   142,   924,  1249,
    1821     1172,   657,   441,  1527,   307,   163,   665,   860,   861,   820,
    1822      146,   610,  1094,   176,  1485,    70,   176,   307,  1205,  1206,
    1823       96,   821,   666,   436,   878,   831,   597,  1250,   822,   672,
    1824     1542,   597,    56,   572,   479,   677,  -233,   357,   147,   730,
    1825      923,    69,   567,  1399,  1400,   373,   168,   155,  1513,   377,
    1826     1515,   113,   816,   327,   580,   345,   411,   476,   743,   603,
    1827      621,   817,   176,   177,  1071,   378,   828,    63,   736,   163,
    1828      169,   818,  1399,  1400,   626,  1139,   568,  1497,   626,   569,
    1829      630,   113,   932,  1502,   634,   436,   748,   589,   737,   899,
    1830      110,   144,   139,   140,  1246,  1070,   447,    96,   374,    63,
    1831      987,    41,    42,  1522,  1202,   805,   266,   471,  1529,   171,
    1832      769,   770,   771,  1401,   212,   460,   186,   342,   604,  1172,
    1833      845,   166,   578,   373,   799,   176,  1030,   471,   579,   820,
    1834      357,   583,   243,   411,   266,   471,   307,   307,  1170,  1171,
    1835      266,   821,  1410,   626,   110,  1188,  1119,   854,   822,  1326,
    1836      110,   715,  1188,    76,  1526,    41,    42,   684,    76,   599,
    1837     1020,    41,    42,   579,   113,   435,  1120,   553,   554,  1327,
    1838     1127,   348,  1363,   995,  1537,   189,   374,   358,  -121,   176,
    1839     -121,  1541,   266,   760,  -121,   493,   176,   705,   494,   765,
    1840      266,   387,   626,   706,    49,   357,   953,   373,   720,  -121,
    1841     -121,    97,   229,  1188,   113,   230,   923,   388,   234,  1085,
    1842      236,   557,   558,   106,   911,  1245,   307,   245,   113,  1158,
    1843     1160,   307,    57,   307,   307,  1136,   714,   435,  1424,    50,
    1844      913,   751,  1017,   610,   870,   113,   345,   212,   882,  1105,
    1845      327,   327,  1425,  1015,  1429,  1430,   559,   560,    70,   883,
    1846      523,   411,  1102,    96,  1117,   176,   722,   604,  1435,  1470,
    1847      880,   181,   723,   163,   348,    56,   923,   923,   110,   390,
    1848      358,   342,   176,  1471,    69,   110,   176,   139,   140,    41,
    1849       42,   572,   572,   555,   556,   391,    41,    42,  1127,   307,
    1850     1444,   110,   201,   914,     2,   206,     4,     5,     6,     7,
    1851      626,   345,    41,    42,   286,   621,   392,  1331,   327,  -289,
    1852      715,   603,   111,   603,   865,    41,    42,   973,    63,   997,
    1853       76,   247,   393,   472,   805,  1475,   250,   327,   732,   348,
    1854     1333,   626,  1475,  -517,   733,   358,   626,   847,   621,   176,
    1855       76,   514,   626,  1361,   229,   626,   626,   626,    76,   871,
    1856     -468,   643,  -468,   862,   848,   886,  1015,   411,   849,    35,
    1857      394,    36,  1028,   626,   915,   266,   252,   877,   872,  -468,
    1858      815,   471,   604,   348,   348,   348,   395,  1142,   917,   411,
    1859      916,   807,  1075,  1523,  1444,   915,    76,   442,   917,  1444,
    1860     1185,   348,   263,   327,   918,   113,    37,   929,   908,  1185,
    1861       40,  1082,  1317,   -10,  1083,   597,  1186,    41,    42,  1444,
    1862      692,   498,   805,   110,   357,  1309,  1444,  1409,  1318,  1113,
    1863     1237,   626,   934,   621,    41,    42,   747,  -441,  1319,   720,
    1864      720,   748,   748,    43,   407,   846,   399,   561,   562,   893,
    1865      599,    45,    46,   400,  1320,   748,   401,  1364,   500,   348,
    1866      408,  -442,   402,   895,  1035,   113,   345,   912,   403,   748,
    1867      751,   751,   523,   212,   523,   276,   571,   523,   411,   404,
    1868      523,   923,   405,   981,    45,    46,   519,   212,   850,   982,
    1869     1277,  1278,   851,   278,   229,   472,   234,   923,   815,   604,
    1870      714,   342,   965,  1154,   850,   411,  1374,   176,  1101,   966,
    1871     1477,   750,  1478,   411,   572,   472,   279,  -103,   967,    45,
    1872       46,  -103,   626,   472,   626,   110,  1000,   139,   140,   626,
    1873      345,   330,   933,   603,   602,  1162,    41,    42,   994,   176,
    1874       45,    46,    37,  1233,   706,   603,    40,   331,  1349,   579,
    1875      348,  1357,  1350,    41,    42,   176,   332,   748,   348,   712,
    1876     1358,    63,   715,   371,   358,  1524,   748,   923,   923,   176,
    1877      548,   985,   982,   465,     8,     9,    10,    11,    12,   813,
    1878      212,   602,   329,   411,   229,   953,   372,    45,    46,   953,
    1879      953,  1360,   815,   550,    76,   307,  1365,   748,  -290,   551,
    1880      552,   333,   748,    31,   604,     8,     9,    10,    11,    12,
    1881      807,   510,  1370,  1371,   106,  1427,   334,   626,   673,   675,
    1882       76,  1424,   665,    57,   113,   345,   908,   911,   908,   335,
    1883     1445,    34,  1183,   376,    31,    37,   748,   385,   666,    40,
    1884      113,   715,  1157,   913,   602,   389,    41,    42,   805,    70,
    1885      176,   692,   409,   934,   934,  1491,  1419,   982,   720,   714,
    1886      342,  1492,    34,   113,   307,   129,    56,   130,   131,   132,
    1887       48,   112,   719,  1399,  1400,    69,    41,    42,  1106,   397,
    1888       45,    46,   106,  1547,   214,  1084,   426,   912,   751,   579,
    1889     1159,    57,   602,   427,  1509,  1426,   772,   773,   519,   112,
    1890      112,   432,    48,   519,   450,  1324,   519,   738,  1242,   739,
    1891      411,  1437,   740,    48,  1088,   744,  1088,   604,  -365,    48,
    1892      345,   774,   775,  1228,  -394,   484,    37,    48,   174,   175,
    1893       40,   780,   781,    48,  1107,   214,    48,    41,    42,    48,
    1894      461,   626,   626,  1127,   462,     2,   206,     4,     5,     6,
    1895        7,   504,   112,   112,   776,   777,   778,   779,   291,   472,
    1896      788,   307,     2,   206,     4,     5,     6,     7,   327,   348,
    1897      348,   528,   529,   530,   508,  1169,    48,   442,   214,    48,
    1898      106,  1495,  1437,   513,   525,   472,    48,    76,   111,    57,
    1899      527,   228,  1381,   563,   564,   531,  1381,   532,   566,   533,
    1900      534,   113,   252,   329,   411,   565,   908,   419,   661,   411,
    1901       35,   908,    36,   569,   176,    70,   338,    48,  -438,   587,
    1902      934,   658,   659,   712,   846,    48,  -291,    35,   266,    36,
    1903       48,   590,    56,     8,     9,    10,    11,    12,    -3,   214,
    1904      639,  1190,   660,   626,   481,   329,   411,   662,   663,   761,
    1905      664,   829,   329,   602,   766,    48,    48,    37,   667,   183,
    1906      184,    40,    31,   669,   257,   912,   693,   345,    41,    42,
    1907      912,    48,   694,    -3,   696,   498,   698,   214,  -237,    48,
    1908      734,   745,   214,  1296,  1297,  1298,   692,   749,    48,   757,
    1909       34,    48,   808,  1460,   906,   809,   411,   -12,   112,   812,
    1910      823,   714,    45,    46,   465,  1332,  1334,  1335,   -13,   271,
    1911      113,   867,   868,   112,   874,   907,   894,   112,   896,   897,
    1912      922,    48,   112,   901,   904,   219,  -415,   723,   113,   106,
    1913     -521,   944,   307,   937,   946,    48,    48,    57,    57,   957,
    1914      950,   959,    48,   958,   960,   951,   626,  -292,   961,    48,
    1915      113,   106,    63,    76,     8,     9,    10,    11,    12,   962,
    1916       57,   978,   989,   212,   342,  1106,   990,   991,   214,   106,
    1917     1006,  1007,  1008,  1009,   116,   879,  1010,   881,    57,  1011,
    1918      210,   220,   712,    31,  1012,  1023,    70,  -403,    37,  -402,
    1919      183,   184,    40,  1037,  1422,   626,   626,  1072,    48,    41,
    1920       42,  1535,  1074,    56,   271,  1095,   907,  1096,  1059,   307,
    1921     1097,    34,    69,  1098,  1104,  1114,   748,  1115,    48,    48,
    1922     1116,  1107,   159,   348,   348,   185,  1118,   928,   106,  1352,
    1923     1121,  1123,    57,    45,    46,    48,   972,    57,  1124,    48,
    1924     1125,  1126,   113,   407,  1132,  1129,   399,   692,  1152,   214,
    1925      644,  1173,  1174,   400,   173,  1175,   401,  1106,   442,   408,
    1926     1176,   106,   402,    70,  1177,  1191,    48,   665,   403,  1192,
    1927       57,  1194,  1195,  1203,  1210,   441,    48,  1207,   258,   404,
    1928       56,  1208,   405,   666,  1215,    -3,   159,  1220,  1225,  1190,
    1929     1223,   214,  1241,   493,    48,  1229,   253,  1508,  1234,   266,
    1930       48,  1236,    48,  1421,  1238,  1247,  1251,  1253,  1255,   110,
    1931     1257,   139,   238,  1107,  1258,   626,  1263,  1259,   472,   323,
    1932       41,    42,  1260,  1261,    76,   176,  1270,    37,   339,   174,
    1933      175,    40,  1279,   110,  1280,   139,   140,   112,    41,    42,
    1934      113,  1287,    48,   348,    41,    42,   239,  1290,  1291,  1292,
    1935       48,   240,  1330,  1294,    48,  1106,  1302,  1308,    48,   106,
    1936     1315,   112,   113,   112,   372,  1323,  1321,  1325,    57,   113,
    1937      727,   113,  1336,   113,  1329,   728,  1337,  1193,   430,  1339,
    1938     1345,   106,   434,  1346,  1347,  1348,   149,  1359,   106,  1355,
    1939       57,   150,   417,   151,  1356,  1366,  1367,    57,   112,  1298,
    1940     1375,    76,  1507,   112,  1384,  1376,  1377,   113,  1383,   113,
    1941     1393,  1107,   323,   214,  1394,   437,    70,  -404,  1397,  1408,
    1942      113,  1412,  1414,    70,   712,   445,  1507,  1507,  1416,  1417,
    1943      703,  1423,  1418,    56,   161,  1441,   307,  1431,  1432,   106,
    1944       56,   214,  1190,  1433,   434,  1434,   214,   488,    57,  1190,
    1945     1350,  1507,  1436,   112,  1446,  1448,  1450,  1452,   373,   213,
    1946       48,  1454,  1456,  1458,  1463,  1465,  1486,   521,   232,  1464,
    1947     1476,    48,  1488,    48,    70,  1490,  1493,  1501,  1521,  1122,
    1948      159,  1494,  1516,  1517,  1530,   479,   141,  1528,  1532,    63,
    1949     1538,    56,    48,   520,  1545,   176,  1546,   889,  1209,   782,
    1950     1190,  1133,  1131,   712,   784,  1133,  1307,  1411,    48,   783,
    1951      213,   704,   785,   112,   588,   786,  1496,   214,   594,  1548,
    1952     1369,  1385,    48,  1240,   112,    48,   112,  1214,  1479,   902,
    1953      903,   214,  1089,   925,   215,  1222,  1093,   627,   241,   244,
    1954      327,   631,   801,  1128,   339,  1059,  1036,   939,   873,  1103,
    1955      242,  1316,   717,   213,    76,  1133,    66,   117,    48,   947,
    1956      791,    76,   112,   792,   112,   793,   472,    37,   112,   174,
    1957      175,    40,     0,     0,     0,     0,   112,     0,    41,    42,
    1958        0,     0,     0,  1285,  1286,   215,  1288,     0,    66,    48,
    1959       48,     0,     0,  1293,     0,  1295,     0,     0,     0,   323,
    1960      323,     0,     0,    48,   376,   160,     0,     8,     9,    10,
    1961       11,    12,    76,     0,   213,     0,     0,  1483,     0,  1483,
    1962        0,     0,     0,     0,   214,   221,     0,   688,   215,     0,
    1963      528,   529,   530,     0,     0,     0,    31,   703,  1373,     0,
    1964      116,     0,   681,     0,     0,     0,     0,     8,     9,    10,
    1965       11,    12,   213,  1483,   531,  1483,   532,   213,   533,  1306,
    1966        0,   259,     0,     0,    34,   488,     0,   323,   707,   488,
    1967        0,     0,   499,     0,     0,     0,    31,     0,     0,   521,
    1968        0,   521,     0,    48,   521,     0,   323,   521,     0,   215,
    1969     1398,     0,     0,  1406,     0,    48,     0,     0,   339,   457,
    1970        0,     0,     0,   328,    34,   520,   571,     0,   411,     0,
    1971      520,   259,   350,   520,    45,    46,     0,     0,   704,   472,
    1972        0,     0,     0,     0,     0,     0,   472,   215,     0,     0,
    1973        0,     0,   215,     0,     0,     0,  1443,     0,   644,     0,
    1974        0,  1447,   406,   213,   112,     0,   750,     0,   411,     0,
    1975        0,  1405,   323,     0,    45,    46,   703,   424,     0,     0,
    1976      429,   431,     0,   803,     0,   160,   703,    48,     0,  1468,
    1977     1133,  1133,  1133,     0,     0,     0,    48,   472,    48,     0,
    1978      703,     0,     0,     0,     0,   112,   448,     0,     0,     0,
    1979      451,     0,   452,     0,   844,     0,     0,     0,     0,   594,
    1980        0,   459,     0,     0,     0,   853,    74,    66,    48,     0,
    1981        0,     0,   473,     0,     0,     0,     0,     0,   215,     0,
    1982        0,   214,   480,     0,   213,     0,     0,     0,   112,     0,
    1983      431,     8,     9,    10,    11,    12,   645,   704,    74,     0,
    1984        0,   213,   644,     0,     0,     0,     0,   704,     0,     0,
    1985      112,     0,     0,  1536,   112,     0,     0,     0,   688,  1536,
    1986       31,   704,     0,     0,     0,     0,   213,     0,     0,   891,
    1987     1536,     0,   892,     0,  1536,   222,     0,     0,   898,     0,
    1988        0,     0,   900,     0,     0,     0,     0,     0,    34,     0,
    1989        0,    37,     0,   183,   184,    40,   488,   259,     0,   215,
    1990        0,   595,    41,    42,   112,     0,     0,   623,  1133,  1133,
    1991        0,     0,     0,     0,     0,     0,     0,     0,   339,     0,
    1992      628,     0,     0,     0,   628,     0,     0,   259,   265,     0,
    1993      933,     0,   602,     0,     0,     0,    45,    46,    45,    46,
    1994        0,   215,   112,     0,     0,     0,  1461,   725,     0,   729,
    1995        0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
    1996        0,    48,   353,   535,   536,   537,   538,   539,   540,   541,
    1997      542,   543,   544,   545,   473,     0,     0,   996,    48,     0,
    1998        0,     0,   803,     0,   703,   703,     0,     0,   213,   350,
    1999        0,   988,     0,     0,   473,     0,     0,   546,     0,     0,
    2000        0,   993,   473,     0,  1510,     0,     0,   214,     0,     0,
    2001        0,     0,     0,  1518,     0,  1005,   213,     0,     0,     0,
    2002      699,   213,    37,   431,   183,   184,    40,     0,     0,     0,
    2003        0,     0,     0,    41,    42,     0,   449,     0,   713,     0,
    2004       66,     0,   703,   703,     0,     0,     0,     0,   431,     0,
    2005        0,     0,   431,     0,     0,   112,     0,    74,     0,   601,
    2006        0,   602,    74,   215,     0,   704,   704,    45,    46,     0,
    2007      803,     0,     0,     0,     0,     0,     0,   339,    48,     0,
    2008        0,   259,   350,     0,     0,     0,     0,     0,     0,     0,
    2009        0,   215,   213,   688,     0,     0,   215,     0,  1080,   866,
    2010        0,     0,   214,    77,     0,     0,   213,     0,     0,     0,
    2011        0,     0,     0,     0,     0,   488,  1108,   323,     0,   112,
    2012      112,   112,     0,   704,   704,     0,   499,     0,   794,    37,
    2013        0,   183,   184,    40,     0,    77,     0,     0,     0,     0,
    2014       41,    42,     0,     0,     0,     0,   628,   806,   919,     0,
    2015      921,     0,     0,     0,   457,     0,     0,   222,    37,   825,
    2016      183,   184,    40,     0,     0,     0,   906,   215,   411,    41,
    2017       42,     0,   223,   844,    45,    46,     0,   595,     0,     0,
    2018        0,   215,   595,     0,     0,     0,     0,     0,   628,     0,
    2019     1313,   350,   350,   350,     0,  1506,     0,   411,     0,   213,
    2020        0,     0,     0,    45,    46,     0,     0,     0,     0,   350,
    2021        0,     0,     0,   124,   127,   128,     0,     0,     0,  1167,
    2022     1168,     0,   703,     0,    74,     0,     0,   699,     0,     0,
    2023      703,   703,   703,     0,     0,     0,     0,     0,   473,   353,
    2024        0,     0,     0,     0,    74,     0,     0,     0,    48,    48,
    2025        0,  1204,    74,     0,   688,     0,     0,   112,   112,   355,
    2026        0,     0,     0,     0,   473,     0,     0,   350,     0,     0,
    2027      353,  1314,     0,     0,   215,     0,   938,  1217,  1218,   431,
    2028        0,     0,     0,     0,     0,   254,     0,   255,   353,     0,
    2029       74,     0,     0,     0,   703,   112,   803,     0,     0,     0,
    2030        0,   259,   713,   704,     0,     0,     0,   968,     0,     0,
    2031        0,   704,   704,   704,     0,     0,     0,     0,     0,     0,
    2032        0,     0,     0,     0,   645,     0,     0,     0,     0,     0,
    2033     1040,     0,   353,     0,     0,     0,     0,   126,   126,   126,
    2034        0,     0,     0,     0,     0,     0,   699,     0,     0,     0,
    2035        0,     0,    48,   112,    77,     0,   699,     0,   350,    77,
    2036      628,     0,   112,  1003,     0,   628,   806,     0,   396,     0,
    2037      699,  1090,     0,     0,     0,   704,    48,    48,   415,   416,
    2038     1014,   339,     0,   420,     0,   422,   423,     0,     0,     0,
    2039        0,     0,     0,     0,     0,     0,   213,   353,     0,     0,
    2040        0,    48,     0,  1108,     0,     0,     0,     0,     0,   126,
    2041        0,   126,     0,     0,     0,    79,     0,     0,     0,     0,
    2042        0,     0,     0,     0,     0,     0,     0,     0,   645,     0,
    2043        0,    66,     0,     0,     0,     0,   275,     0,     0,     0,
    2044        0,   353,   353,   353,     0,     0,     0,    79,     0,     0,
    2045        0,     0,     0,   628,   223,     0,     0,  1338,     0,   353,
    2046      259,   713,     0,     0,  1086,  1340,  1341,  1342,     0,     0,
    2047        0,   215,     0,     0,     0,     0,     0,   353,     0,     0,
    2048        0,     0,     0,     0,   224,     0,     0,     0,    74,     0,
    2049     1100,     0,   126,     0,     0,  1108,     0,  1368,   431,   117,
    2050      126,     0,   126,   126,     0,     0,     0,   126,     0,   126,
    2051      126,     0,     0,     0,    74,     0,     0,   353,     0,     0,
    2052        0,    77,     0,     0,     0,     0,     0,     0,  1040,  1386,
     1793      49,   113,   453,   149,   399,   267,   768,    97,   428,   400,
     1794     150,   401,   402,   505,   403,   151,   753,   114,   821,   404,
     1795     405,   829,   383,   384,   260,   966,   106,   106,   440,   846,
     1796     610,  1072,    49,   597,   166,   967,    50,   921,   828,    97,
     1797     357,   968,   741,   147,  1175,   975,   870,   796,   407,    49,
     1798    1383,  1141,   408,   726,   413,    76,   161,   731,   106,  1173,
     1799    1174,   421,   358,   186,   143,  1443,   209,   822,    50,    49,
     1800     193,    63,   202,   216,   342,   410,   226,   123,   820,    31,
     1801    1254,   152,   823,    69,   399,   219,   177,    76,   605,   400,
     1802     425,   401,   402,   153,   403,   106,    31,   817,   166,   404,
     1803     405,  1185,  1306,    63,   280,   113,   629,   471,  1255,   670,
     1804     633,   818,  1191,   113,    31,    69,   266,   271,  1199,   925,
     1805     154,   580,   203,   411,   832,   819,   142,  1071,   407,   679,
     1806     839,   327,   408,   413,   724,   261,  1443,   683,   262,  1181,
     1807      31,   950,  1201,   674,   676,   149,   307,   147,  1462,   475,
     1808     477,   411,   150,  1488,   161,   113,   345,   151,  1208,  1209,
     1809     209,   567,   281,   252,   329,  1182,   252,   373,   411,   409,
     1810     715,  1307,    56,   115,    70,  1203,   291,  1472,  1200,   110,
     1811     861,   862,   966,   915,   510,   186,   186,  1516,   577,  1518,
     1812      41,    42,   967,   161,   436,   568,   581,   879,   968,   584,
     1813     122,   266,  1202,  1182,    56,   953,    70,   548,   549,    49,
     1814     419,   730,   411,  1238,   476,   817,   161,  1242,   760,   668,
     1815    1204,   209,  1060,   152,   327,   149,   519,   721,   443,   818,
     1816     743,   821,   150,    31,  1249,   153,   735,   151,   210,   307,
     1817     212,   220,   144,   819,  1018,   548,  1082,   439,    31,   833,
     1818    1175,    49,  1530,   836,   493,   933,   436,   494,    97,   271,
     1819     589,  1017,   154,   413,   271,   266,   266,   421,   665,   471,
     1820     993,   113,   666,   161,   853,   146,  1143,   106,   856,  1545,
     1821     822,   548,    31,   463,   610,   657,   181,    50,  1447,   471,
     1822     342,  1005,   166,  1190,   307,   823,   800,   471,  -236,  -236,
     1823    1175,   483,   168,   481,   155,   411,    76,   307,   500,   597,
     1824     817,    76,   527,   672,   597,  1173,  1174,   357,   830,   677,
     1825     602,   476,    63,   572,   818,  1095,   169,   472,   147,   849,
     1826     599,  1086,   806,   850,    69,   373,   832,   447,   819,   358,
     1827    1079,   113,   665,   569,   413,   345,   666,   996,   171,   603,
     1828     621,   821,   837,   829,   602,   201,   460,   229,   673,   675,
     1829     230,   736,  1191,   234,   626,   236,   748,  -292,   626,  -236,
     1830    1072,   113,   245,   900,   855,   163,  1118,   177,  1402,  1403,
     1831     988,   737,  1447,  1402,  1403,   557,   558,  1447,   714,   247,
     1832     110,  1196,   110,   441,   630,   442,   266,   765,   634,  1134,
     1833     822,    41,    42,    41,    42,   286,   186,  1447,  1120,   846,
     1834     357,   327,   327,   373,  1447,   823,    41,    42,   851,  1175,
     1835     559,   560,   852,    56,   266,    70,   307,   307,  1121,   766,
     1836     266,  1336,   358,   626,   715,  1438,   577,   577,   519,   163,
     1837    1529,  1329,   514,   519,   342,  1427,   519,   583,  1404,   411,
     1838     770,   771,   772,  1413,   113,   250,  1432,  1433,  1205,  1428,
     1839    1540,  1330,   703,   252,  1128,   377,  1071,  1544,  1334,   954,
     1840    1337,  1339,   266,    76,   110,   357,   139,   140,  -520,   327,
     1841     266,   378,   626,   -10,    49,    41,    42,   373,   720,   472,
     1842     578,    97,  1021,    76,   113,  -444,   579,   358,   327,   229,
     1843     789,    76,   871,   884,  1106,   411,   307,   610,   113,   472,
     1844     106,   307,  1139,   307,   307,  1191,   243,   472,   263,  1018,
     1845      50,   751,  1191,   885,   212,   113,   345,   888,  1248,   110,
     1846    1161,  1163,   872,   471,   643,   435,  1134,   553,   554,    76,
     1847      41,    42,  1240,  1366,   881,   883,   110,   998,   139,   238,
     1848     912,   873,   806,   712,   914,    63,   851,    41,    42,   930,
     1849    1102,  1060,   387,  1473,   327,  1016,   498,    69,  1338,   390,
     1850     392,   572,   572,  1191,  -471,   684,  -471,  1474,   388,   307,
     1851    -445,   579,  1128,   239,  1103,   391,   393,   915,   240,   276,
     1852     626,   345,   394,  -471,   715,   621,  1500,   435,   252,   329,
     1853     411,   603,  1505,   603,  1280,  1281,   847,   110,   395,   139,
     1854     140,   599,     2,   206,     4,     5,     6,     7,    41,    42,
     1855     523,   626,  1525,  -124,   550,  -124,   626,  1532,   621,  -124,
     1856     551,   552,   626,   163,   278,   626,   626,   626,    37,   229,
     1857     806,   234,    40,   916,  -124,  -124,   866,   212,   279,    41,
     1858      42,   848,   714,   626,  1376,   266,    56,   974,    70,   917,
     1859     577,    48,   112,  1089,   342,  1089,   918,   863,   330,   703,
     1860     916,   918,  1029,   331,   808,    43,  -106,    35,  1016,    36,
     1861    -106,   878,   919,    45,    46,   113,  1083,  1084,   909,   597,
     1862     112,   112,  1076,    48,   372,   357,  1478,   332,  1188,  1364,
     1863    1188,   705,   333,  1478,    48,  1320,  1401,   706,  1114,  1409,
     1864      48,   626,   935,   621,  1189,   334,  1312,   358,    48,   720,
     1865     720,  1321,  1322,  1036,    48,   335,   399,    48,   376,   229,
     1866      48,   400,   748,   401,   402,  1352,   403,    76,  1323,  1353,
     1867      -3,   404,   405,   112,   112,   113,   345,   110,  1367,   141,
     1868     751,   751,  1446,   472,  1526,   722,   371,  1450,    41,    42,
     1869     389,   723,   500,    76,   528,   529,   530,    48,   555,   556,
     1870      48,   407,   385,  1412,   571,   408,   411,    48,   413,   472,
     1871     692,  1377,    45,    46,   966,  1471,   561,   562,   531,   703,
     1872     532,   397,   533,   534,   967,   572,   426,   442,   732,   703,
     1873     968,   241,   244,   626,   733,   626,   409,  1001,    48,  1429,
     1874     626,   345,   714,   703,   603,   427,    48,   712,  1165,   432,
     1875     750,    48,   411,   450,   342,  1440,   603,  -368,    45,    46,
     1876     986,   983,   523,   110,   523,   139,   140,   523,   715,  -397,
     1877     523,   419,   661,   411,    41,    42,    48,    48,    37,   954,
     1878     174,   175,    40,   954,   954,  1146,  1480,   484,  1481,    41,
     1879      42,   747,    48,   738,   504,   739,   806,   748,   740,  1539,
     1880      48,   744,  1158,   212,   894,  1539,   307,   329,   411,    48,
     1881     748,   110,    48,   139,   140,   372,  1539,   212,   461,   112,
     1882    1539,  1186,    41,    42,   808,  1498,  1440,   887,   626,   411,
     1883     462,   548,   106,   110,   112,   113,   345,   909,   112,   909,
     1884    1134,  1527,    48,   112,    41,    42,   896,   715,   727,  1373,
     1885    1374,   113,   748,   728,  1402,  1403,    48,    48,  1172,   291,
     1886     327,    76,   982,    48,   935,   935,   525,   995,   983,   720,
     1887      48,   508,   510,   706,   113,   307,  1236,    63,   513,   665,
     1888     413,  1360,   579,   666,   912,  1422,   983,   748,   914,    69,
     1889    1107,   129,   457,   130,   131,   132,   934,   116,   602,   751,
     1890     106,  1327,    41,    42,    45,    46,  1361,   712,  1363,   564,
     1891    1512,   212,   748,   527,   748,  -293,   847,   773,   774,    48,
     1892    1246,  1368,     8,     9,    10,    11,    12,   748,  1231,   781,
     1893     782,   345,     8,     9,    10,    11,    12,  1430,  1448,    48,
     1894      48,   692,   563,  1427,   748,   159,   565,   703,   703,  1494,
     1895     498,    31,   626,   626,   566,  1495,    48,   775,   776,  1128,
     1896      48,    31,     8,     9,    10,    11,    12,  1550,   481,   329,
     1897     411,   644,   307,   579,  -294,   830,   329,   602,    56,    34,
     1898      70,     8,     9,    10,    11,    12,   714,    48,  1384,    34,
     1899     338,    31,  1384,   777,   778,   779,   780,    48,   106,   569,
     1900    -441,   258,  1299,  1300,  1301,   703,   703,   587,   667,   159,
     1901      31,  1145,   113,   411,  1157,    48,   411,   909,  1160,    34,
     1902     602,    48,   909,    48,    37,   590,    -3,    76,    40,   645,
     1903    1162,   935,   602,   658,   659,    41,    42,   639,    34,   266,
     1904     660,    37,   323,   472,   662,    40,  1108,   663,   664,    57,
     1905      57,   339,    41,    42,   626,  1193,  1288,  1289,   112,  1291,
     1906     342,    43,  1245,    48,   411,   257,  1296,    96,  1298,    45,
     1907      46,    48,   669,   693,   694,    48,   696,   698,   719,    48,
     1908     345,    57,   112,   749,   112,   734,    45,    46,  -240,  1463,
     1909     745,     2,   206,     4,     5,     6,     7,   757,   809,    96,
     1910      37,   430,   174,   175,    40,   434,   810,   813,   442,   824,
     1911     148,    41,    42,   -12,  1355,    57,    96,   869,    57,   112,
     1912     228,   -13,   271,   113,   112,   875,   868,   895,   897,   111,
     1913     189,   898,  -418,    96,   902,   323,    96,   376,   905,   219,
     1914     725,   113,   729,   723,    56,   307,    70,   923,  -524,   106,
     1915      37,   712,   174,   175,    40,  1316,    35,   938,    36,   626,
     1916     945,    41,    42,   113,   947,   951,   952,   434,   958,   959,
     1917     488,   106,   960,   961,   112,  -295,   962,   692,   963,  1107,
     1918     979,    48,     8,     9,    10,    11,    12,   703,  1038,   106,
     1919     521,   990,    48,   991,    48,   703,   703,   703,   992,  1007,
     1920      76,  1425,  1008,   159,  1009,   348,  1073,  1010,   626,   626,
     1921    1011,    31,  1538,    48,    96,  1012,    63,   271,  1013,  1024,
     1922    -406,  -405,   307,   908,  1408,  1096,  1075,    96,    69,    48,
     1923     712,  1098,  1097,  1099,   112,  1105,  1115,   588,   748,    34,
     1924    1116,   594,  1117,    48,  1119,   112,    48,   112,   106,  1122,
     1925     973,  1124,   398,   189,  1125,   113,  1126,  1127,   399,   703,
     1926     627,  1130,  1133,   400,   631,   401,   402,   339,   403,  1155,
     1927      57,  1107,  1176,   404,   405,  1178,    96,    76,  1177,    48,
     1928    1179,   106,  1194,   112,  1195,   112,  1180,  1197,    96,   112,
     1929    1198,  1206,   867,   472,   210,   220,   212,   112,  1210,  1211,
     1930      57,  1213,   407,    -3,  1511,  1193,   408,   704,  1218,  1223,
     1931      48,    48,   266,  1228,   493,  1226,  1232,    56,    96,    70,
     1932    1237,  1239,   323,   323,    48,    37,   665,  1241,   626,    40,
     1933     666,   162,   479,  1244,  1250,  1108,    41,    42,   692,  1256,
     1934    1424,   920,  1252,   922,  1258,   194,  1260,   457,   217,  1261,
     1935     688,   227,  1262,   113,  1263,  1264,  1266,  1273,  1290,  1282,
     1936    1283,  1293,   814,   116,   602,  1294,  1311,  1295,  1318,  1107,
     1937      45,    46,  1324,  1297,  1328,   113,  1305,  1332,  1333,   106,
     1938     465,  1335,   113,  1340,   113,  1326,   113,  1342,   488,   441,
     1939     323,   442,   488,  1348,    56,    96,    70,  1349,  1350,   149,
     1940    1351,   106,   521,  1358,   521,    48,   150,   521,   106,   323,
     1941     521,   151,  1359,  1362,  1369,  1510,   604,    48,  1370,  1301,
     1942     113,   339,   113,  1378,  1379,  1386,  1380,  1108,  1387,   162,
     1943      76,  1396,  1397,   113,   327,  -407,  1400,    76,  1411,  1510,
     1944    1510,  1415,   374,  1417,  1419,  1420,   472,   161,  1426,   307,
     1945     176,  1434,  1435,   472,   173,  1421,  1436,  1439,  1193,   106,
     1946     644,  1437,    66,   117,  1510,  1193,   112,  1444,   162,  1353,
     1947     893,   373,  1449,   189,  1453,   323,     2,   206,     4,     5,
     1948       6,     7,   348,  1455,  1451,  1457,   804,  1459,    76,    48,
     1949    1461,   162,  1466,  1467,    66,  1468,   253,  1479,    48,   176,
     1950      48,  1493,   176,   444,   472,  1489,  1491,   112,   528,   529,
     1951     530,   160,  1496,  1497,   704,  1504,  1193,   845,   645,  1519,
     1952    1520,  1524,   594,  1531,  1041,  1108,  1533,  1535,   854,  1541,
     1953      48,   221,   531,    57,   532,  1548,   533,  1309,  1549,   890,
     1954    1212,    35,   783,    36,   784,  1132,   785,    56,   176,    70,
     1955     112,    96,   787,  1310,    56,   604,    70,    37,   786,   183,
     1956     184,    40,  1499,  1414,   644,  1091,  1551,   259,    41,    42,
     1957    1243,  1388,   112,  1372,  1217,   348,   112,   903,  1482,   904,
     1958    1090,   688,  1225,   926,  1129,   215,  1094,   802,  1037,   874,
     1959     989,  1104,   417,   940,   601,   111,   602,   717,  1319,     0,
     1960     994,   242,    45,    46,   948,    56,     0,    70,   792,   328,
     1961     374,   176,   793,     0,  1006,   437,   794,   259,   350,   488,
     1962       0,     0,   645,     0,     0,   445,   112,     0,     0,     0,
     1963       0,     0,     0,     0,   704,     0,   215,     0,     0,     0,
     1964     348,   339,     0,     0,   704,     0,     0,     0,   406,     0,
     1965       0,     0,     0,     0,     0,     0,   761,     0,   704,     0,
     1966       0,   767,     0,   424,   112,   176,   429,   431,   816,     0,
     1967     604,   160,   176,     0,     0,     0,     0,     0,    48,   215,
     1968       0,     0,     0,    48,   348,   348,   348,     0,   374,     0,
     1969       0,     0,   448,   520,     0,     0,   451,     0,   452,     0,
     1970      48,   997,   348,     0,     0,     0,   804,   459,     0,     0,
     1971    1486,   465,  1486,    66,     0,     0,     0,     0,   473,     0,
     1972     924,     0,  1041,     0,     0,     0,     0,     0,   480,     0,
     1973       0,    37,     0,   183,   184,    40,   431,     0,     0,     0,
     1974     215,   176,    41,    42,     0,     0,  1486,     0,  1486,     0,
     1975       0,     0,     0,     0,     0,   913,     0,     0,   176,     0,
     1976     348,     0,   176,     0,     0,     0,    74,     0,   907,     0,
     1977     411,     8,     9,    10,    11,    12,    45,    46,   215,   112,
     1978       0,     0,   880,   215,   882,     0,   816,   604,     0,   908,
     1979       0,     0,     0,     0,   804,     0,     0,     0,    74,     0,
     1980      31,   339,    48,   259,     0,     0,     0,   595,     0,     0,
     1981       0,     0,   987,   623,     0,     0,     0,   688,  1170,  1171,
     1982       0,     0,     0,     0,     0,   176,   628,     0,    34,     0,
     1983     628,     0,     0,   259,   929,   222,     0,  1286,     0,   488,
     1984    1109,   323,   681,   112,     0,   112,   112,     0,     0,     0,
     1985       0,     0,   348,     0,     8,     9,    10,    11,    12,     0,
     1986     348,     0,   704,   704,     0,     0,     0,     0,   707,   215,
     1987     571,     0,   411,     0,     0,     0,  1220,  1221,    45,    46,
     1988     473,   816,     0,    31,     0,     0,     0,     0,     0,  1031,
     1989       0,     0,     0,   604,     0,   350,     0,   845,     0,     0,
     1990     473,     0,     0,     0,     0,   520,     0,     0,   473,     0,
     1991     520,    34,     0,   520,     0,     0,     0,     0,     0,     0,
     1992     704,   704,   353,     0,     0,    57,   699,     0,     0,   431,
     1993       0,     0,   924,     0,     8,     9,    10,    11,    12,     0,
     1994       0,     0,     0,     0,   713,     0,    66,     0,     0,     0,
     1995     215,     0,     0,   750,   431,   411,     0,     0,   431,     0,
     1996       0,    45,    46,    31,     0,     0,     0,     0,     0,     0,
     1997       0,     0,    48,    48,  1085,     0,   913,   924,   688,     0,
     1998       0,   112,   112,   176,     0,     0,     0,   259,   350,     0,
     1999       0,    34,   215,    57,     0,     0,   449,     0,     0,     0,
     2000       0,     0,     0,     0,     0,     0,   604,     0,     0,     0,
     2001       0,     0,  1142,     0,     0,   176,     0,    74,     0,   112,
     2002     804,     0,    74,     0,     0,     0,     0,    77,     0,     0,
     2003       0,   176,     0,   934,   795,   602,     0,     0,     0,     0,
     2004       0,    45,    46,     0,    37,   176,   183,   184,    40,     0,
     2005       0,     0,   628,   807,     0,    41,    42,     0,  1341,    77,
     2006       0,     0,     0,  1031,     0,   826,  1343,  1344,  1345,   892,
     2007    1317,   348,   348,     0,     0,     0,    48,   112,   899,     0,
     2008       0,   185,   901,   595,     0,     0,   112,  1123,   595,    45,
     2009      46,    57,     0,     0,   628,     0,   223,   350,   350,   350,
     2010      48,    48,   704,     0,     0,     0,     0,   339,     0,  1135,
     2011     704,   704,   704,  1135,   215,   350,    37,   222,   183,   184,
     2012      40,     0,     0,     0,     0,    48,   176,    41,    42,  1109,
     2013    1389,     0,     0,   699,     0,     0,     8,     9,    10,    11,
     2014      12,     0,   215,   924,   473,     0,     0,   215,     0,     0,
     2015       0,     0,     0,   907,   913,   411,     0,     0,     0,   913,
     2016       0,    45,    46,  1135,     0,    31,     0,     0,     0,     0,
     2017     473,     0,     0,   350,   704,     0,     0,   214,     0,     0,
     2018       0,     0,   939,   355,    74,   431,     0,     0,     0,     0,
     2019       0,     0,     0,    34,     0,     0,     0,     0,    37,   353,
     2020     183,   184,    40,     0,    74,   924,   924,   259,   713,    41,
     2021      42,     0,    74,   969,     0,     0,     0,     0,   215,     0,
     2022       0,  1109,     0,     0,     0,     0,     0,     0,   214,     0,
     2023     353,     0,   215,     0,     0,   601,     0,   602,     0,     0,
     2024       0,    57,    57,    45,    46,     0,     0,     0,   353,     0,
     2025      74,     0,     0,   699,     0,     0,     0,     0,     0,     0,
     2026       0,     0,     0,   699,    57,   350,     0,   628,     0,     0,
     2027    1004,   214,   628,   807,     0,     0,     0,   699,    77,     0,
     2028       0,     0,    57,    77,     0,     0,     0,  1015,     0,     0,
     2029       0,   176,   353,     0,     0,     0,     0,     0,     0,  1081,
     2030       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2031      17,    18,    19,    20,    21,    22,    23,    24,    25,  1109,
     2032       0,    26,    27,    28,     0,     0,   215,   348,   348,     0,
     2033      31,    79,   214,     0,     0,     0,    57,     0,    66,     0,
     2034       0,    57,     0,     0,    37,     0,   183,   184,    40,     0,
     2035    1485,     0,  1485,     0,     0,    41,    42,   353,    34,     0,
     2036     628,     0,     0,    79,     0,   207,    39,   259,   713,     0,
     2037     214,  1087,     0,     0,    57,   214,     0,     0,   223,     0,
     2038    1135,   265,  1135,  1135,     0,     0,  1485,     0,  1485,    45,
     2039      46,     0,     0,     0,     0,     0,     0,  1101,     0,     0,
     2040     224,   353,   353,   353,     0,   431,   117,     0,    45,    46,
     2041     924,     0,     0,     0,     0,   323,     0,     0,     0,   353,
     2042       0,     0,     0,     0,     0,     0,   924,     0,     0,     0,
     2043       0,     0,     0,     0,     0,     0,     0,   353,     0,     0,
     2044       0,     0,     0,     0,     0,    77,     0,   348,    74,     0,
     2045       0,     0,  1207,     0,     0,     0,     0,     0,     0,     0,
     2046     355,   214,     0,   595,     0,    77,     0,     0,     0,     0,
     2047       0,     0,    57,    77,    74,     0,   429,   353,     0,     0,
     2048       0,   699,   699,     0,   350,   350,     0,   356,     0,     0,
     2049       0,   355,     0,     0,    57,     0,   924,   924,     0,     0,
     2050       0,    57,     0,     0,  1192,     0,     0,     0,     0,   355,
     2051       0,    77,   353,     0,     0,     0,     0,     0,  1135,  1135,
     2052       0,     0,     0,   215,     0,     0,     8,     9,    10,    11,
     2053      12,     0,     8,     9,    10,    11,    12,     0,     0,   699,
     2054     699,     0,   214,     0,     0,     0,     0,     0,     0,     0,
     2055       0,     0,    57,   355,     0,    31,  1464,   353,     0,     0,
     2056       0,    31,     0,     0,     0,     0,     0,   353,     0,   353,
     2057       0,     0,     0,     0,   222,     0,   479,   353,     0,     0,
     2058       0,   353,    79,    34,   214,     0,   628,    79,    37,    34,
     2059     183,   184,    40,     0,    37,     0,   183,   184,    40,    41,
     2060      42,     0,     0,     0,   176,    41,    42,     0,     0,     0,
     2061       0,     0,   713,     0,  1513,     0,     0,     0,   355,     0,
     2062       0,     0,     0,  1521,     0,   907,     0,   411,     0,     0,
     2063       0,   185,     0,    45,    46,     0,     0,     0,     0,    45,
     2064      46,     0,    74,     0,     0,     0,     0,    37,     0,   183,
     2065     184,    40,     0,     0,     0,  1287,     0,     0,    41,    42,
     2066       0,     0,   355,   355,   355,     0,     0,     0,     0,     0,
     2067       0,     0,   353,   259,     0,     0,     0,    66,     0,     0,
     2068     355,     0,   224,     0,  1509,     0,   411,     0,     0,   699,
     2069       0,   713,    45,    46,     0,   117,   213,     0,   355,     0,
     2070    1371,     0,     0,     0,     0,   232,   214,     0,     0,    77,
     2071       0,   215,     0,     0,     0,     0,     0,     0,     0,     0,
     2072       0,   699,     0,     0,     0,     0,     0,     0,     0,   699,
     2073     699,   699,     0,     0,   214,    77,     0,     0,   355,   214,
     2074     350,   350,     0,     0,     0,     0,     0,   213,    86,    79,
     2075       0,     0,     0,     0,  1192,     0,     0,     0,     0,     0,
     2076       0,     0,     0,     0,   356,     0,     0,     0,     0,    79,
     2077       0,     0,     0,   355,   176,     0,     0,    79,     0,     0,
     2078      86,     0,     0,     0,     0,   353,   353,   117,   353,   353,
     2079     213,     0,     0,   699,     0,   356,     0,     0,     0,     0,
     2080       0,     0,     0,     0,     0,     0,   215,     0,    74,     0,
     2081     214,     0,     0,   356,     0,    79,     0,   225,   355,     0,
     2082       0,     0,     0,     0,   214,     0,     0,     0,   355,     0,
     2083     355,     0,     0,     0,     0,   223,     0,     0,   355,     0,
     2084       0,     0,   355,   353,   353,     0,     0,     0,     0,     0,
     2085       0,   213,  1483,     0,  1487,     0,     0,   356,     0,     0,
     2086     350,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2087     167,     0,   172,     0,     0,   178,   179,   180,     0,   182,
     2088       0,     0,     0,     0,     0,   117,     0,     0,  1515,   213,
     2089    1517,    31,     0,   233,   213,     0,     0,     0,     0,     0,
     2090       0,     0,     0,    77,   363,   248,   249,  1192,     0,   499,
     2091       0,     0,     0,     0,  1192,     0,   353,     0,   214,    34,
     2092       0,     0,   356,     0,    37,     0,   183,   184,    40,     0,
     2093       0,     0,  1546,   355,  1547,    41,    42,     0,     0,     0,
     2094       0,     0,     0,     0,     0,     0,     0,  1554,  1555,     0,
     2095       0,     0,     0,     0,     0,     0,     0,     0,     0,   222,
     2096       0,  1509,     0,   411,     0,  1192,   356,   356,   356,    45,
     2097      46,     0,  1534,     0,     0,     0,     0,     0,     0,     0,
     2098     213,    74,     0,     0,   356,     0,     0,     0,     0,     0,
     2099       0,     0,     0,   353,     0,   353,     0,     0,     0,    86,
     2100       0,     0,   356,     0,    86,     0,     0,     0,     0,     0,
     2101       0,     0,     0,    79,     0,     0,     0,     0,     0,     8,
     2102       9,    10,    11,    12,     0,   353,     0,     0,     0,     0,
     2103       0,     0,     0,   353,   353,   353,     0,     0,     0,    79,
     2104       0,     0,   356,     0,   353,   353,   355,   355,    31,   355,
     2105     355,     0,     0,     0,     0,     0,     0,     0,    74,     0,
     2106       0,   213,     0,     0,     0,     0,     0,     0,     0,    77,
     2107       0,     0,     0,     0,     0,     0,    34,   356,   213,     0,
     2108       0,    37,     0,   183,   184,    40,     0,     0,     0,     0,
     2109       0,     0,    41,    42,     0,     0,     0,   353,     0,   225,
     2110       0,     0,     0,   213,   355,   355,   124,   127,   128,     0,
     2111       0,     0,     0,     0,     0,   214,     0,     0,   265,     0,
     2112       0,     0,   356,     0,     0,     0,    45,    46,     0,     0,
     2113       0,     0,   356,     0,   356,     0,     0,     0,     0,   224,
     2114       0,     0,   356,     0,     0,     0,   356,     0,   535,   536,
     2115     537,   538,   539,   540,   541,   542,   543,   544,   545,     0,
     2116       0,   592,     0,   600,   353,     0,    86,     0,     0,     0,
     2117       0,     0,     0,     0,   624,   625,     0,   355,   254,     0,
     2118     255,   363,   546,     0,     0,     0,    86,     0,     0,     0,
     2119       0,     0,     0,     0,    86,     0,     0,     0,     0,     0,
     2120       0,     0,     0,     0,     0,     0,     0,    79,     0,     0,
     2121       0,    74,   363,     0,     0,     0,     0,     0,    74,     0,
     2122     223,     0,     0,     0,     0,   213,     0,     0,     0,     0,
     2123     363,     0,    86,     0,     0,     0,     0,   356,     0,     0,
     2124       0,     0,    77,     0,     0,     0,     0,     0,     0,     0,
     2125       0,     0,     0,   213,   355,     0,   355,     0,   213,     0,
     2126       0,   396,     0,     0,     0,     0,     0,     0,     0,    74,
     2127       0,   415,   416,     0,   363,     0,   420,     0,   422,   423,
    20532128       0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
    2054        0,    77,     0,     0,     0,     0,     0,     0,     0,    77,
    2055        0,     0,   353,     0,     0,     0,   595,     8,     9,    10,
    2056       11,    12,     0,     0,     0,     0,     0,   355,     0,   429,
    2057        0,   356,     0,     0,   699,   699,     0,   350,   350,   126,
    2058        0,     0,   213,     0,     0,   355,    31,    77,     0,     0,
    2059        0,     0,     0,  1108,     0,     0,   353,  1189,     0,     0,
    2060        0,     0,     0,     0,     0,     0,   353,     0,   353,     0,
    2061        0,     0,     0,   222,    34,     0,   353,     0,     0,    37,
    2062      353,   183,   184,    40,  1482,     0,  1482,     0,     0,   355,
    2063       41,    42,   699,   699,     0,     0,     0,     0,     0,     0,
    2064        0,  1283,     0,     0,     0,     0,     0,     0,     0,  1480,
    2065        0,  1484,     0,     0,     0,     0,   601,   215,   602,     0,
    2066     1482,     0,  1482,     0,    45,    46,    79,     0,     0,     0,
    2067        0,    79,     0,     0,     0,     0,     0,   213,     0,   628,
    2068        0,    74,     0,     0,     0,  1512,     0,  1514,     0,   323,
    2069        0,     0,     0,     0,   355,     0,     0,     0,     0,     0,
    2070        0,     0,     0,   713,     0,     0,     0,     0,     0,    86,
    2071        0,   353,     0,     0,     0,     0,     0,   413,     0,     0,
    2072        0,     0,     0,     0,   421,     0,     0,     0,     0,  1543,
    2073        0,  1544,     0,     0,     0,     0,     0,     0,   355,   355,
    2074      355,    86,     0,     0,  1551,  1552,  1284,     0,     0,     0,
    2075        0,     0,   215,     0,     0,     0,   355,     0,     0,     0,
    2076        0,     0,   796,   797,   259,     0,   224,     0,    66,     0,
    2077        0,     0,     0,     0,   355,     0,     0,     0,   225,     0,
    2078      699,     0,   713,     0,     0,    77,   117,     0,     0,     0,
    2079        0,   830,     0,     0,   833,   834,   413,   837,     0,   839,
    2080      840,     0,     0,     0,   841,   842,     0,     0,     0,     0,
    2081        0,    77,   699,     0,   355,     0,     0,     0,     0,     0,
    2082      699,   699,   699,     0,   353,   353,     0,   353,   353,     0,
    2083        0,   350,   350,    79,     0,     0,     0,     0,     8,     9,
    2084       10,    11,    12,     0,     0,  1189,     0,    74,   356,   355,
    2085        0,   577,     0,    79,     0,     0,     0,     0,     0,   581,
    2086        0,    79,   584,     0,     0,   363,     0,    31,     0,     0,
    2087        0,     0,     0,     0,     0,     0,     0,     0,   117,   356,
    2088        0,     0,   353,   353,   699,     0,   126,   126,     0,     0,
    2089        0,     0,     0,   355,     0,    34,     0,   356,     0,    79,
    2090       37,     0,     0,   355,    40,   355,     0,     0,     0,     0,
    2091      223,    41,    42,   355,     0,   126,     0,   355,   126,   126,
    2092        0,   126,     0,   126,   126,     0,   413,     0,   126,   126,
    2093      421,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2094        0,   356,   970,   971,     0,    45,    46,     0,     0,     0,
    2095        0,   350,     0,   353,     0,     0,     0,     0,     0,     0,
    2096       86,     0,     0,     0,     0,    86,     0,     0,     0,     0,
    2097        0,     0,     0,     0,     0,     0,   117,     0,    77,     0,
     2129       0,     0,     0,     0,   355,   355,   355,     0,     0,     0,
     2130       0,     0,     0,   214,     0,   355,   355,     0,     0,     0,
     2131       0,     0,     0,     0,     0,     0,     0,     0,     0,    77,
     2132       0,     0,     0,     0,     0,     0,     0,     0,     0,   213,
     2133       0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2134       0,     0,     0,   213,     0,     0,     0,     0,     0,     0,
     2135     356,   356,     0,   356,   356,     0,     0,     0,   355,     0,
     2136       0,     0,     0,   499,     0,     0,     0,     0,     0,     0,
     2137       0,     0,     0,    79,  1014,     0,     0,     8,     9,    10,
     2138      11,    12,     0,   363,   363,   363,     0,     0,     0,     0,
     2139       0,     0,     0,     0,     0,     0,     0,     0,   214,     0,
     2140       0,   363,     0,     0,   282,   283,    31,   284,   356,   356,
     2141       0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2142       0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
     2143      86,     0,     0,   285,    34,     0,     0,   213,     0,   286,
     2144       0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
     2145      41,    42,     0,   292,   293,     0,    86,     0,     0,   363,
     2146       0,     0,     0,     8,     9,    10,    11,    12,     0,     0,
     2147       0,     0,    77,     0,     0,     0,   294,     0,   379,    77,
     2148       0,   356,     0,     0,   344,    46,   296,   297,   298,   299,
     2149       0,     0,    31,     0,   363,     0,     0,     0,     0,     0,
    20982150       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2099        0,     0,     0,     0,     0,     0,   222,     0,  1189,     0,
    2100        0,     0,     0,     0,     0,  1189,   356,   413,   355,     0,
    2101        0,     0,     0,     0,     0,     0,     0,     0,    74,     0,
     2151       0,     0,     0,     0,     0,     0,     0,   927,     0,   928,
     2152      34,     0,     0,     0,   224,    37,   931,   932,     0,    40,
     2153      77,   937,     0,     0,     0,     0,    41,    42,     0,   363,
     2154       0,     0,     0,   942,     0,     0,    79,     0,   946,   363,
     2155       0,   363,     0,     0,     0,     0,   225,     0,   356,   363,
     2156     356,     0,   719,   363,     0,     0,     0,     0,     0,     0,
     2157      45,    46,     0,     0,     0,     0,   980,     0,     0,     0,
    21022158       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2103      353,     0,   353,     0,     0,     0,     0,     0,     0,     0,
    2104        0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
    2105      356,   356,   356,     0,     0,     0,  1189,     0,     0,     0,
    2106      225,     0,   353,  1531,     0,     0,   126,   126,   356,     0,
    2107      353,   353,   353,    31,     0,     0,     0,     0,     0,     0,
    2108        0,   353,   353,     0,     0,     0,   356,     0,     0,     0,
    2109        0,     0,     0,     0,     0,    74,     0,    79,     0,   577,
    2110      577,    34,     0,     0,  1091,     0,    37,     0,   183,   184,
     2159     356,     0,     0,     0,     0,     0,     0,     0,   356,   356,
     2160     356,     0,     0,     0,     0,     0,     0,     0,     0,   356,
     2161     356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2162       0,     0,     0,    79,    86,     0,     0,     0,     0,     0,
     2163       0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
     2164       0,     0,  1166,     0,     0,     8,     9,    10,    11,    12,
     2165       0,     0,     0,     0,   363,   797,   798,     0,     0,     0,
     2166       0,     0,   356,     0,     0,     0,     0,     0,   165,     0,
     2167       0,     0,   282,   283,    31,   284,  1025,  1026,  1027,  1028,
     2168       0,  1030,     0,     0,   831,   218,     0,   834,   835,     0,
     2169     838,     0,   840,   841,     0,     0,  1074,   842,   843,     0,
     2170       0,   285,    34,     0,     0,     0,     0,   286,     0,     0,
     2171    1080,   287,     0,     0,   288,   289,   290,   291,    41,    42,
     2172       0,   292,   293,     0,     0,     0,     0,     0,     0,   356,
     2173       0,     0,   165,     0,     0,     0,   272,     0,     0,     0,
     2174       0,     0,     0,     0,   294,     0,   379,     0,     0,     0,
     2175    1100,     0,  1167,    46,   296,   297,   298,   299,     0,     0,
     2176       0,     0,     0,     0,     0,   165,     0,   363,   363,     0,
     2177     363,   363,     0,     0,     0,   369,    79,     0,     0,   375,
     2178       0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
     2179      86,     0,     0,     0,     0,  1131,     0,     0,     0,     0,
     2180       0,  1140,     0,     0,     0,     0,  1144,     0,     0,     0,
     2181       0,  1148,     0,  1149,     0,     0,     0,  1151,     0,  1152,
     2182    1153,     0,   213,  1156,     0,   363,   363,     0,   165,     0,
     2183       0,     0,  1168,     0,    79,   971,   972,     0,     0,     0,
     2184     218,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2185    1183,  1184,     0,     0,     0,     0,     0,     0,   165,     8,
     2186       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2187      19,    20,    21,    22,    23,    24,    25,  1214,     0,     0,
     2188    1216,     0,     0,   375,     0,     0,     0,     0,    31,     0,
     2189     165,     0,     0,     0,     0,     0,     0,     0,   363,     0,
     2190       0,     0,   126,   126,   126,     0,     0,     0,     0,     0,
     2191       0,     0,     0,   524,     0,     0,    34,   213,     0,     0,
     2192       0,     0,     0,  1230,     0,     0,   165,     0,     0,  1234,
     2193    1235,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2194       0,   225,     0,     0,     0,     0,     0,     0,     0,  1251,
     2195       0,     0,     0,  1253,     0,     0,     0,     0,  1257,     0,
     2196       0,     0,     0,    86,   598,     0,     0,     0,     0,   622,
     2197       0,  1265,     0,     0,   126,   363,   126,   363,     0,     0,
     2198       0,     0,     0,     0,  1272,     0,  1274,  1275,  1276,  1277,
     2199       0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
     2200       0,   275,  1284,     0,  1285,     0,     0,   363,   172,     0,
     2201       0,     0,     0,     0,     0,   363,   363,   363,     0,     0,
     2202       0,     0,     0,     0,     0,     0,   363,   363,     0,     0,
     2203     211,     0,     0,     0,     0,     0,     0,  1313,  1314,   231,
     2204      86,   235,     0,   237,     0,   165,   165,     0,     0,     0,
     2205     246,     0,   369,     0,     0,     0,     0,   126,     0,     0,
     2206       0,     0,     0,     0,     0,   126,     0,   126,   126,     0,
     2207       0,     0,   126,   524,   126,   126,     0,     0,     0,   363,
     2208       0,   211,     0,   235,   237,   246,     0,  1346,  1347,     0,
     2209       0,     0,     0,     0,     0,     0,     0,  1357,     0,     0,
     2210       0,   716,     0,     0,     0,     0,     0,     0,     0,     0,
     2211       0,     0,     0,   165,     0,     0,     0,     0,     0,     0,
     2212       0,     0,     0,     0,   211,   524,     0,   524,     0,     0,
     2213     524,     0,   165,   524,     0,     0,     0,     0,     0,     0,
     2214       0,     0,     0,     0,   126,   369,   363,     0,     0,     0,
     2215       0,     0,     0,     0,     0,     0,     0,     0,  1392,  1222,
     2216    1393,  1394,  1395,     0,     0,     0,     0,     0,     0,     0,
     2217       0,     0,  1399,     0,     0,     0,     0,     0,     0,     0,
     2218       0,  1410,     0,     0,     0,   211,     0,   235,   237,   246,
     2219       0,     0,     0,    86,     0,     0,     0,     0,   165,     0,
     2220      86,     0,     0,     0,     0,     0,  1431,     0,     0,     0,
     2221     369,     0,     0,     0,   812,     0,     0,     0,     0,     0,
     2222       0,     0,     0,   211,     0,     0,     0,     0,   211,     0,
     2223       0,     0,     0,     0,   156,     0,     0,     0,     0,     0,
     2224     598,     0,     0,   497,     0,   598,     0,     0,     0,  1469,
     2225    1470,    86,     0,     0,   369,   369,   369,     0,     0,     0,
     2226       0,     0,  1475,     0,     0,     0,     0,     0,     0,  1475,
     2227       0,     0,   369,     0,     0,     0,     0,     0,     0,     0,
     2228       0,   251,     0,     0,     0,     0,     0,     0,     0,     0,
     2229    1308,   256,   211,     0,     0,     0,     0,     0,     0,     0,
     2230       0,  1508,     0,     0,   524,  1514,     0,     0,     0,     0,
     2231       0,     0,     0,     0,   211,     0,     0,     0,     0,   235,
     2232     237,     0,     0,     0,     0,     0,     0,   246,     0,     0,
     2233     369,     0,   936,  1536,     0,  1537,     0,     0,     0,     0,
     2234       0,     0,     0,     0,     0,     0,     0,   156,     0,     0,
     2235       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2236       0,   386,     0,  1552,  1553,   716,     0,     0,     0,     0,
     2237     211,  1556,  1557,     0,     0,     0,     0,     0,     0,     0,
     2238       0,     0,     0,     0,   418,     0,     0,     0,   211,   282,
     2239     283,     0,   284,   211,     0,   211,     0,     0,   433,     0,
     2240       0,     0,     0,     0,     0,     0,     0,   438,     0,     0,
     2241       0,     0,   211,     0,     0,   211,   211,   446,   285,     0,
     2242       0,     0,   369,   211,   286,     0,   622,     0,   287,     0,
     2243     369,   288,   289,   290,   291,    41,    42,   211,   292,   293,
     2244       0,     0,   464,     0,   211,     0,     0,   474,     0,     0,
     2245       0,   126,   126,     0,     0,     0,     0,     0,     0,     0,
     2246     482,   294,     0,   379,     0,     0,   492,     0,   496,    45,
     2247      46,   296,   297,   298,   299,     0,     0,     0,     0,     0,
     2248     126,     0,   788,   126,   126,   526,   126,     0,   126,   126,
     2249       0,     0,     0,   126,   126,     8,     9,    10,    11,    12,
     2250      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2251      23,    24,    25,  -296,     0,     0,     0,     0,     0,     0,
     2252       0,     0,     0,     0,    31,   716,     0,     0,   586,     0,
     2253       0,     0,     0,   591,     0,     0,     0,     0,     0,     0,
     2254     524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2255       0,     0,    34,     0,     0,     0,     0,     0,     0,   211,
     2256       0,     0,   636,  -296,   165,     0,   637,   638,     0,   640,
     2257       0,     0,     0,     0,     0,     0,   651,   652,     0,   653,
     2258     654,     0,   655,     0,   656,     0,     0,   211,     0,     0,
     2259       0,     0,   211,     0,     0,     0,     0,     0,     0,     0,
     2260       0,   586,     0,     0,   282,   283,     0,   284,     0,   671,
     2261       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2262     598,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2263       0,   126,   126,   285,   682,     0,     0,     0,     0,   286,
     2264       0,   369,   369,   287,     0,     0,   288,   289,   290,   291,
     2265      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
     2266     708,     0,     0,   211,     0,     0,   711,     0,     0,     0,
     2267       0,   464,     0,     0,     0,     0,   294,   211,   379,     0,
     2268       0,   380,     0,     0,    45,    46,   296,   297,   298,   299,
     2269       0,     0,     0,     0,     0,     0,     0,   497,     0,     0,
     2270       0,   524,     0,     0,     0,     0,     0,   746,     0,     0,
     2271       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2272       0,     0,   764,     0,  -519,     0,     0,     1,     2,     3,
     2273       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2274      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2275      24,    25,     0,     0,    26,    27,    28,    29,     0,   211,
     2276      30,   791,     0,    31,    32,     0,     0,     0,     0,   716,
     2277     801,   211,     0,     0,     0,     0,     0,   803,     0,     0,
     2278       0,     0,     0,   811,     0,     0,     0,     0,    33,   126,
     2279     211,    34,   825,    35,   126,    36,    37,     0,    38,    39,
    21112280      40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
    2112        0,   355,   355,    79,   355,   355,   356,    86,     0,     0,
    2113        0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
    2114        0,     0,   363,   906,    77,   411,     0,    86,     0,     0,
    2115        0,    45,    46,     0,     0,    86,     0,     0,     0,     0,
    2116        0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2117        0,     0,     0,   363,     0,     0,     0,     0,     0,   355,
    2118      355,     0,     0,     0,     0,     0,   884,     0,     0,     0,
    2119      887,   363,     0,    86,     0,     0,     0,     0,     0,     0,
    2120        0,   353,     0,     0,     0,   356,     0,     0,     0,     0,
    2121        0,     0,     0,     0,     0,   356,     0,   356,     0,     0,
    2122        0,     0,   224,   126,     0,   356,     0,     0,   126,   356,
    2123        0,     0,     0,     0,     0,   363,   167,     0,   172,     0,
    2124        0,   178,   179,   180,     0,   182,     0,     0,    74,     0,
    2125      355,     0,     0,     0,     0,    74,     0,     0,     0,   233,
    2126        0,     0,     0,     0,     0,  1219,     0,     0,     0,     0,
    2127        0,   248,   249,     0,     8,     9,    10,    11,    12,     0,
     2281       0,   218,     0,     0,     0,     0,     0,     0,     0,     0,
     2282       0,     0,     0,     0,     0,   341,   364,     0,     0,     0,
     2283       0,     0,   865,    43,     0,    44,     0,     0,     0,     0,
     2284       0,    45,    46,     0,     0,     0,     0,     0,   716,     0,
     2285       0,     0,     0,     0,     0,     0,     0,     0,     0,   414,
     2286       0,     0,     0,     0,     0,     0,   414,     0,   811,     0,
     2287       0,     0,     0,     0,     0,     0,   906,     0,     0,     8,
     2288       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2289      19,    20,    21,    22,    23,    24,    25,   369,   369,    26,
     2290      27,    28,     0,   211,     0,     0,   218,   251,    31,     0,
     2291       0,     0,     0,     0,     0,     0,     0,   943,   944,     0,
    21282292       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2129       79,     0,     0,   223,     0,     0,     0,     0,     0,     0,
    2130      363,     0,     0,    31,     0,     0,    74,     0,     0,     0,
    2131        0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
    2132      356,     0,   577,     0,     0,     0,     0,   355,     0,   355,
    2133        0,    34,     0,     0,     0,     0,    37,     0,   183,   184,
    2134       40,     0,     0,     0,   363,   363,   363,    41,    42,     0,
    2135        0,     0,     0,     0,     0,     0,     0,     0,     0,   355,
    2136        0,     0,   363,     0,     0,     0,     0,   355,   355,   355,
    2137        0,     0,     0,  1506,     0,   411,     0,     0,   355,   355,
    2138      363,    45,    46,     0,     0,   507,     0,   509,   512,   126,
    2139        0,    86,    77,     0,  1305,   515,   516,     0,     0,     0,
     2293       0,     0,     0,   211,     0,     0,    34,     0,   414,     0,
     2294       0,    37,     0,    38,    39,    40,     0,     0,     0,     0,
     2295     981,     0,    41,    42,     0,   126,   985,     0,     0,     0,
     2296       0,     0,     0,     0,     0,     0,     0,     0,   211,     0,
     2297       0,     0,     0,     0,     0,     0,     0,     0,    43,   211,
     2298     157,     0,     0,     0,     0,     0,    45,    46,     0,     0,
     2299       0,     0,     0,   414,     0,     0,     0,     0,     0,     0,
     2300       0,   414,   582,     0,   414,   585,     0,     0,     0,     0,
     2301       0,     0,     0,     0,     0,   364,     0,   369,     0,   614,
     2302    1019,     0,     0,     0,     0,     0,     0,  1020,     0,     0,
     2303       0,     0,     0,     0,     0,     0,     0,     0,   632,     0,
     2304    1022,   341,  1023,     0,     0,     0,     0,     0,     0,     0,
     2305       0,   211,     0,     0,     0,     0,  1035,     0,     0,     0,
     2306       0,     0,  1039,     0,     0,   211,     0,     0,   414,     0,
     2307       0,     0,   414,   524,  1077,   524,     0,  1078,     0,     0,
     2308       0,     0,     0,     0,     0,     0,   126,     0,     0,     0,
    21402309       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2141      509,   509,     0,     0,     0,     0,     0,    86,     0,     0,
    2142      363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2143        0,   355,     0,   356,   356,     0,   356,   356,     0,     0,
    2144      413,     0,     0,     0,     0,     0,     0,     0,   509,     0,
    2145        0,     0,     0,     0,     0,   363,    79,     8,     9,    10,
     2310       0,     0,     0,   364,     0,     0,     0,     0,     0,   524,
     2311       0,   524,     0,     0,     0,     0,     0,     0,     0,     0,
     2312       0,     0,   507,     0,   509,   512,     0,     0,     0,     0,
     2313       0,     0,   515,   516,     0,     0,     0,     0,   165,     0,
     2314       0,     0,     0,     0,     0,     0,     0,   509,   509,   414,
     2315       0,     0,   364,     0,   591,     0,   211,     0,     0,     0,
     2316       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2317      17,    18,    19,    20,    21,    22,    23,    24,    25,  -296,
     2318       0,    26,    27,    28,     0,   509,     0,     0,     0,  1150,
     2319      31,   414,     0,     0,     0,   341,   364,     0,     0,     0,
     2320       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2321       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2322       0,   509,     0,    37,     0,   336,   337,    40,     0,  -296,
     2323       0,     0,     0,     0,    41,    42,     0,     0,     0,     0,
     2324       0,   414,   414,     0,     0,     0,     0,   526,     0,     0,
     2325       0,   211,     0,  1215,     0,     0,   321,     0,     0,     0,
     2326     805,   364,   338,     0,     0,     0,   346,     0,    45,    46,
     2327       0,   614,     0,   614,   614,     0,     0,     0,   382,   382,
     2328     614,     0,     0,     0,     0,     0,     0,  1227,     0,     0,
     2329     844,   364,  1229,     0,     0,     0,   364,     0,     0,     0,
     2330    1233,     0,     0,     0,     0,   364,   364,   364,     0,     0,
     2331       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2332       0,     0,     0,   364,     0,     0,     0,     0,   414,   886,
     2333       0,     0,   414,   889,     0,  1259,     0,     0,     0,   891,
     2334       0,     0,     0,     0,     0,     0,     0,  1267,     0,   321,
     2335    1268,     0,  1269,     0,     0,     0,     0,     0,   414,     0,
     2336       0,     0,     0,     0,     0,     0,  1278,  1279,     0,     0,
     2337       0,     0,     0,   478,     0,     0,     0,     0,     0,     0,
     2338       0,   364,   614,     0,     0,     0,     0,     0,  1292,     0,
     2339     509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
     2340     509,   509,   509,   509,   509,   509,   509,   509,     0,     0,
     2341       0,     0,     0,     0,     0,   341,   364,     0,     0,     0,
     2342     414,   414,     0,     0,     0,     0,     0,     0,     0,     0,
     2343       0,     0,     0,     0,     0,  1331,     0,     0,     0,     0,
     2344       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2345      18,    19,    20,    21,    22,    23,    24,    25,  -296,     0,
     2346      26,    27,    28,     0,     0,   414,     0,     0,     0,    31,
     2347       0,     0,     0,   364,     0,     0,     0,     0,     0,     0,
     2348     805,   364,     0,     0,   614,     0,   614,     0,     0,     0,
     2349     382,     0,     0,     0,     0,     0,   614,    34,   211,     0,
     2350       0,     0,    37,     0,   336,   337,    40,     0,  -296,     0,
     2351    1381,     0,  1382,    41,    42,     0,     0,     0,     0,     0,
     2352       0,     0,     0,     0,     0,     0,  1390,     0,  1391,     0,
     2353       0,     0,     0,     0,     0,     0,   509,     0,     0,   635,
     2354       0,   338,     0,  1398,     0,     0,     0,    45,    46,     0,
     2355       0,     0,     0,     0,     0,     0,     0,     0,     0,  1416,
     2356    1418,     0,     0,     0,     0,     0,     0,     0,   805,     0,
     2357    1423,     0,     0,  1233,     0,   341,   364,   414,     0,   414,
     2358       0,     0,     0,   414,   710,     0,     0,     0,     0,     0,
     2359       0,     0,     0,     0,  1445,     0,     0,   509,     0,     0,
     2360       0,     0,     0,  1452,   614,   614,  1454,     0,  1456,  1458,
     2361    1460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2362       0,     0,     0,   742,     0,     0,     0,     0,   509,     0,
     2363       0,     0,     0,     0,     0,     0,   759,     0,     0,   414,
     2364       0,   742,     0,     0,   742,     0,     0,     0,  1490,     0,
     2365    1492,     0,  1233,     0,     0,     0,     0,   769,     0,     0,
     2366     414,  1147,     0,     0,     0,     0,     0,  1503,     0,     0,
     2367       0,   364,     0,     0,     0,     0,     0,   414,  1159,   790,
     2368     614,   614,  1164,     0,     0,     0,     0,     0,     0,   799,
     2369       0,     0,   364,   364,     0,     0,   346,     0,     0,     0,
     2370       0,   759,     0,     0,     1,     2,     3,     4,     5,     6,
     2371       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2372      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2373       0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2374      31,    32,     0,     0,     0,     0,     0,     0,   509,     0,
     2375     864,     0,     0,     0,     0,   414,     0,   414,   382,     0,
     2376       0,     0,   414,     0,     0,    33,     0,     0,    34,     0,
     2377      35,   614,    36,    37,     0,    38,    39,    40,     0,     0,
     2378       0,     0,     0,     0,    41,    42,     0,     0,     0,     0,
     2379       0,     0,     0,   509,   805,   414,  1247,     0,     0,     0,
     2380       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2381      43,     0,    44,     0,     0,     0,  -523,     0,    45,    46,
     2382     364,     0,     0,     0,     0,     0,     0,     0,   509,     0,
     2383       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2384       0,   509,     0,     0,     0,     0,     0,     0,   282,   283,
     2385       0,   284,     0,     0,     0,     0,   759,     0,   965,     0,
     2386       0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
     2387       0,     0,     0,     0,   984,     0,     0,   285,     0,     0,
     2388       0,   341,   509,   641,     0,   139,   140,   287,     0,     0,
     2389     288,   289,   290,   291,    41,    42,     0,   292,   293,   364,
     2390       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2391       0,     0,     0,     0,     0,     0,     0,  1002,  1003,     0,
     2392     294,   346,   642,     0,   643,   380,     0,     0,    45,    46,
     2393     296,   297,   298,   299,     0,   346,     0,     0,     0,     0,
     2394       0,     0,     0,     0,     0,     0,     0,     0,   364,   364,
     2395       0,     0,     0,     0,     0,     0,     0,     0,     0,   509,
     2396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2397       0,     0,     0,     0,     0,  1033,     0,     0,     0,   382,
     2398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2399       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
    21462400      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2147       21,    22,    23,    24,    25,  -293,     0,    26,    27,    28,
    2148        0,     0,     0,     0,   509,     0,    31,     0,     0,     0,
    2149        0,   356,   356,     0,     0,     0,     0,     0,   355,   363,
    2150        0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
    2151        0,   363,     0,     0,    34,     0,   225,  1143,   126,   363,
    2152        0,    38,    39,   363,     0,  -293,     0,   592,     0,   600,
    2153        0,     0,     0,     0,  1155,     0,     0,     0,     0,     0,
    2154      624,   625,     0,     0,     0,    77,     0,     0,     0,     0,
    2155      282,   283,    77,   284,     0,     0,   635,     0,   338,     0,
    2156        0,     0,   356,     0,    45,    46,     0,     0,     0,     0,
    2157        0,     0,     0,     0,     0,     0,     0,     0,     0,   285,
    2158        0,     0,     0,     0,    86,   286,     0,     0,     0,   287,
    2159        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2160      293,     0,     0,    77,     0,   224,     0,     0,     0,     0,
    2161        0,     0,   413,     0,   363,     0,     0,     0,     0,     0,
    2162        0,     0,   294,     0,   379,     0,     0,    79,     0,     0,
    2163       45,    46,   296,   297,   298,   299,     0,     0,     0,   356,
    2164        0,   356,  1013,   787,     0,     8,     9,    10,    11,    12,
    2165        0,     0,  1243,   509,   509,   509,   509,   509,   509,   509,
    2166      509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
    2167      509,   356,   282,   283,    31,   284,     0,     0,     0,   356,
    2168      356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2169      356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2170        0,   285,    34,     0,    79,     0,     0,   286,     0,     0,
    2171        0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
    2172        0,   292,   293,     0,     0,     0,     0,   363,   363,     0,
    2173      363,   363,     0,     0,     0,     0,     0,     0,     0,     0,
    2174        0,     0,     0,   356,   294,     0,   379,     0,     0,     0,
    2175       86,     0,   344,    46,   296,   297,   298,   299,     0,     0,
     2401      21,    22,    23,    24,    25,     0,   346,    26,    27,    28,
     2402      29,   509,   509,    30,     0,     0,    31,    32,     0,     0,
     2403       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2404       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2405       0,    33,     0,     0,    34,   321,    35,     0,    36,    37,
     2406       0,    38,    39,    40,     0,     0,     0,     0,   364,     0,
     2407      41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
     2408       0,     0,     0,   382,     0,     0,     0,   282,   283,   976,
     2409     284,     0,     0,   742,     0,     0,    43,     0,    44,     0,
     2410       0,     0,     0,     0,    45,    46,     0,     0,     0,     0,
     2411       0,     0,     0,     0,  1154,     0,   285,     0,     0,     0,
     2412       0,     0,   286,     0,     0,  1169,   287,     0,     0,   288,
     2413     289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
     2414       0,     0,     0,     0,     0,     0,     0,   382,     0,  1187,
     2415       0,     0,     0,   282,   283,   414,   284,     0,     0,   294,
     2416       0,   379,     0,     0,   976,   976,   758,    45,    46,   296,
     2417     297,   298,   299,     0,     0,     0,     0,     0,     0,   414,
     2418     414,     0,   285,     0,     0,  1219,     0,     0,   286,     0,
     2419       0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
     2420      42,     0,   292,   293,   414,     0,     0,     0,     0,     0,
     2421       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2422       0,     0,     0,     0,     0,   294,   509,   379,     0,     0,
     2423     973,     0,     0,    45,    46,   296,   297,   298,   299,     0,
     2424     976,     0,   509,     0,     0,     0,     0,     0,     0,     0,
     2425       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2426     864,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2427       0,     0,     0,     0,     0,  1270,  1271,     0,     0,     0,
     2428       0,     1,     2,   206,     4,     5,     6,     7,     8,     9,
     2429      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2430      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2431      28,    29,   509,   509,    30,   282,   283,    31,  1042,  1043,
     2432       0,  1044,     0,     0,  1045,  1046,  1047,  1048,  1049,  1050,
     2433    1051,  1052,     0,     0,     0,  1053,     0,     0,     0,  1054,
     2434    1055,     0,    33,     0,   285,    34,     0,    35,     0,    36,
     2435    1056,     0,    38,    39,   287,     0,     0,   288,   289,   290,
     2436     291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
     2437       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2438       0,     0,     0,     0,     0,     0,     0,   294,     0,  1057,
     2439       0,     0,   171,     0,     0,    45,    46,   296,   297,   298,
     2440     299,     0,     0,     0,     0,  1058,     0,     0,     0,     0,
     2441    -131,     0,     0,     0,     0,     0,  1375,     0,     0,   742,
    21762442       1,     2,   206,     4,     5,     6,     7,     8,     9,    10,
    21772443      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2178       21,    22,    23,    24,    25,   363,   363,    26,    27,    28,
    2179       29,     0,     0,    30,   282,   283,    31,   284,     0,   509,
    2180        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2181      356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2182        0,     0,     0,   285,    34,     0,    35,     0,    36,   286,
    2183        0,    38,    39,   287,   165,     0,   288,   289,   290,   291,
     2444      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2445      29,     0,     0,    30,   282,   283,    31,   284,     8,     9,
     2446      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2447      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2448      28,     0,     0,   285,    34,     0,    35,    31,    36,   286,
     2449       0,    38,    39,   287,     0,     0,   288,   289,   290,   291,
    21842450      41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    2185        0,   218,     0,     0,     0,     0,   363,    79,     0,     0,
    2186      509,     0,     0,     0,    79,     0,   294,     0,  1056,     0,
    2187        0,     0,     0,     0,    45,    46,   296,   297,   298,   299,
    2188        0,     0,     0,   926,     0,   927,     0,     0,     0,  -128,
    2189      509,     0,   930,   931,     0,     0,     0,   936,   165,   225,
    2190        0,     0,   272,     0,     0,     0,     0,     0,     0,   941,
    2191        0,     0,     0,     0,   945,    79,     0,     0,     0,     0,
    2192        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
    2193        0,   165,     0,   363,     0,   363,     0,     0,     0,     0,
    2194        0,   369,   979,     0,     0,   375,     0,     0,     0,     0,
    2195        0,     0,     0,     0,     0,     0,  1163,     0,     0,     8,
    2196        9,    10,    11,    12,     0,   363,     0,     0,     0,     0,
    2197        0,     0,     0,   363,   363,   363,     0,     0,     0,     0,
    2198        0,     0,     0,     0,   363,   363,   282,   283,    31,   284,
    2199        0,     0,     0,     0,   165,     0,     0,     0,    86,     0,
    2200        0,     0,     0,     0,     0,     0,   218,     0,     0,     0,
    2201      509,     0,     0,     0,     0,   285,    34,     0,     0,     0,
    2202        0,   286,     0,     0,   165,   287,     0,     0,   288,   289,
    2203      290,   291,    41,    42,     0,   292,   293,   363,     0,     0,
    2204        0,  1024,  1025,  1026,  1027,     0,  1029,     0,     0,   375,
    2205        0,     0,     0,     0,     0,   509,   165,     0,   294,     0,
    2206      379,  1073,     0,     0,     0,     0,  1164,    46,   296,   297,
    2207      298,   299,     0,     0,     0,  1079,     0,     0,     0,   524,
    2208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2209      509,     0,   165,     0,     0,     0,     0,     0,     0,   211,
    2210        0,     0,     0,   509,   363,     0,     0,     0,   231,     0,
    2211      235,     0,   237,     0,     0,  1099,     0,     0,     0,   246,
    2212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2213      598,     0,     0,     0,     0,   622,     0,     0,     0,     0,
    2214        0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
    2215      211,    86,   235,   237,   246,     0,     0,     0,    86,     0,
    2216     1130,     0,     0,     0,     0,     0,  1137,     0,     0,     0,
    2217        0,  1141,     0,     0,     0,     0,  1145,     0,  1146,     0,
    2218        0,     0,  1148,     0,  1149,  1150,     0,     0,  1153,     0,
    2219        0,     0,     0,   211,     0,     0,     0,  1165,     0,     0,
    2220        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
    2221        0,   165,   165,     0,     0,  1180,  1181,     0,   369,     0,
    2222        0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
    2223        0,     0,     0,     0,     0,     0,     0,     0,     0,   524,
    2224        0,     0,  1211,     0,     0,  1213,     0,     0,     0,     0,
    2225        0,     0,     0,     0,   211,     0,   235,   237,   246,     0,
    2226        0,     0,     0,     0,     0,     0,     0,   716,     0,     0,
    2227        0,     8,     9,    10,    11,    12,     0,     0,     0,   165,
    2228        0,   509,   509,     0,     0,     0,     0,     0,  1227,     0,
    2229        0,   524,   211,   524,  1231,  1232,   524,   211,   165,   524,
    2230       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2231        0,   369,   497,     0,  1248,     0,     0,  1252,     0,     0,
    2232        0,  1254,     0,     0,     0,     0,     0,     0,    34,     0,
    2233        0,     0,     0,    37,  1262,   183,   184,    40,     0,     0,
    2234        0,     0,     0,     0,    41,    42,     0,  1269,     0,  1271,
    2235     1272,  1273,  1274,     0,     0,     0,     0,     0,     0,     0,
    2236        0,   211,     0,     0,   165,  1281,     0,  1282,     0,     0,
    2237      185,   172,     0,     0,     0,     0,   369,     0,    45,    46,
    2238      811,     0,     0,   211,     0,     0,     0,     0,   235,   237,
    2239        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
    2240     1310,  1311,     0,     0,     0,     0,   598,     0,     0,     0,
    2241        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
    2242      369,   369,   369,     0,     0,     0,     0,     0,     0,     0,
    2243        0,     0,     0,     0,     0,     0,     0,     0,   369,   211,
    2244        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2245     1343,  1344,     0,     0,     0,     0,     0,   211,     0,     0,
    2246     1354,     0,   211,     0,   211,     0,     0,     0,     0,     0,
    2247      524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2248        0,   211,     0,     0,   211,   211,   509,     0,     0,     0,
    2249        0,     0,   211,     0,     0,     0,   369,     0,   935,     0,
    2250        0,     0,   509,     0,     0,     0,   211,     0,     0,     0,
    2251        0,     0,     0,   211,     0,     0,     0,     0,     0,     0,
    2252        0,  1389,     0,  1390,  1391,  1392,     0,     0,     0,     0,
    2253        0,   716,     0,     0,     0,  1396,   156,     0,     0,     0,
    2254        0,     0,     0,     0,  1407,     8,     9,    10,    11,    12,
    2255       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2256       23,    24,    25,     0,     0,    26,    27,    28,     0,  1428,
    2257        0,     0,   509,   509,    31,     0,     0,     8,     9,    10,
    2258       11,    12,     0,   251,     0,     0,     0,   369,     0,     0,
    2259        0,   622,     0,   256,     0,   369,     0,     0,     0,     0,
    2260        0,     0,    34,     0,     0,     0,    31,    37,     0,    38,
    2261       39,    40,  1466,  1467,     0,     0,     0,     0,    41,    42,
    2262        0,     0,     0,     0,     0,  1472,     0,     0,   211,     0,
    2263        0,     0,  1472,     0,    34,     0,     0,     0,     0,    37,
    2264        0,   183,   184,    40,    43,     0,   157,     0,     0,   156,
    2265       41,    42,    45,    46,     0,     0,   211,     0,     0,     0,
    2266        0,   211,     0,   386,  1505,     0,     0,     0,  1511,     0,
    2267        0,     0,     0,     0,     0,     0,   265,     0,     0,     0,
    2268        0,     0,     0,     0,    45,    46,   418,     0,     0,     0,
    2269      716,     0,     0,     0,     0,     0,  1533,     0,  1534,     0,
    2270      433,     0,     0,     0,     0,   524,     0,     0,     0,   438,
    2271        0,     0,     0,     0,     0,     0,     0,     0,     0,   446,
    2272        0,     0,     0,     0,     0,     0,  1549,  1550,     0,   165,
    2273        0,     0,   211,     0,  1553,  1554,     0,     0,     0,     0,
    2274        0,     0,     0,     0,   464,     0,   211,     0,     0,   474,
    2275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2276        0,     0,   482,     0,     0,     0,   497,     0,   492,     0,
    2277      496,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2278        0,     0,     0,     0,     0,   598,     0,   526,     8,     9,
    2279       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2280       20,    21,    22,    23,    24,    25,   369,   369,    26,    27,
    2281       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2282        0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
    2283      586,     0,     0,     0,     0,   591,     0,     0,     0,   211,
    22842451       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2285       37,     0,    38,    39,    40,     0,     0,     0,   211,     0,
    2286        0,    41,    42,     0,   636,     0,   524,     0,   637,   638,
    2287        0,   640,     0,     0,     0,     0,     0,     0,   651,   652,
    2288        0,   653,   654,     0,   655,     0,   656,    43,     0,    44,
    2289        0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
    2290        0,     0,     0,   586,     0,     0,     0,     0,     0,     0,
    2291        0,   671,     0,     0,     0,     0,     0,     0,     0,   341,
    2292      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293        0,     0,   716,     0,     0,     0,   682,     0,     0,     0,
    2294        0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2295       12,     0,     0,   414,     0,     0,     0,     0,     0,     0,
    2296      414,     0,   708,     0,     0,     0,     0,     0,   711,     0,
    2297        0,   211,     0,   464,   218,    31,     8,     9,    10,    11,
    2298       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2299       22,    23,    24,    25,  -293,     0,    26,    27,    28,     0,
    2300        0,   211,     0,    34,     0,    31,     0,     0,    37,   746,
    2301        0,   716,    40,     0,     0,     0,     0,     0,     0,    41,
    2302       42,     0,     0,     0,   764,     0,     0,     0,     0,     0,
    2303        0,     0,   414,    34,     0,     0,   211,     0,    37,     0,
    2304      336,   337,    40,     0,  -293,   719,     0,   211,     0,    41,
    2305       42,     0,     0,    45,    46,     0,     0,     0,     0,     0,
    2306      369,   369,     0,   790,     0,     0,     0,     0,     0,   218,
    2307        0,     0,   800,     0,     0,   635,     0,   338,   321,   802,
    2308        0,     0,     0,    45,    46,   810,     0,   414,   346,     0,
    2309        0,     0,     0,     0,   824,   414,   582,     0,   414,   585,
    2310      382,   382,     0,     0,     0,     0,     0,     0,     0,   364,
    2311        0,     0,     0,   614,     0,     0,     0,     0,     0,   211,
    2312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2313        0,     0,   632,   211,   864,   341,   205,     2,   206,     4,
    2314        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2315       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2316       25,     0,   414,    26,    27,    28,   414,     0,     0,     0,
    2317      810,   321,    31,     0,     0,     0,     0,     0,   905,     0,
    2318      369,     0,   282,   283,     0,   284,     0,     0,     0,     0,
    2319        0,     0,     0,     0,     0,   478,     0,   364,     0,     0,
    2320       34,     0,    35,     0,    36,     0,     0,   207,    39,   251,
    2321        0,   285,     0,     0,     0,     0,     0,   286,     0,   942,
    2322      943,   287,   211,     0,   288,   289,   290,   291,    41,    42,
    2323        0,   292,   293,     0,     0,     0,   524,     0,   524,     0,
    2324        0,     0,     0,   414,   208,     0,   364,     0,     0,     0,
    2325       45,    46,   980,     0,   294,     0,   379,   984,     0,   380,
    2326        0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
    2327        0,     0,   524,     0,   524,     0,     0,     0,     0,     0,
    2328        0,     0,     0,     0,     0,   414,     0,     0,     0,   341,
    2329      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2330        0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
    2331        0,     0,   382,     0,     0,     0,     0,   211,     0,     0,
    2332        0,  1018,     0,     0,     0,     0,     0,     0,  1019,     0,
    2333        0,     0,     0,     0,     0,   414,   414,     0,     0,     0,
    2334        0,  1021,     0,  1022,     0,     0,     0,     0,     0,     0,
    2335        0,     0,     0,     0,   804,   364,     0,  1034,     0,     0,
    2336        0,     0,     0,  1038,     0,   614,     0,   614,   614,     0,
    2337        0,     0,     0,     0,   614,  1076,     0,     0,  1077,     0,
    2338        0,     0,     0,     0,   843,   364,     0,     0,     0,     0,
    2339      364,     0,     0,     0,     0,     0,     0,     0,     0,   364,
    2340      364,   364,     0,     0,     0,     0,   710,     0,     0,     0,
    2341        0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
    2342        0,     0,   414,   885,     0,     0,   414,   888,     0,     0,
    2343        0,     0,     0,   890,     0,     0,     0,     0,     0,     0,
    2344        0,     0,     0,     0,     0,   742,     0,     0,     0,     0,
    2345        0,     0,   414,     0,     0,   591,     0,     0,   759,     0,
    2346        0,     0,     0,   742,     0,     0,   742,     0,     0,     0,
    2347        0,     0,     0,     0,     0,   364,   614,     0,     0,   768,
    2348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2349     1147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2350        0,   789,     0,     0,     0,     0,     0,     0,     0,   341,
    2351      364,   798,     0,     0,   414,   414,     0,     0,   346,     0,
    2352        0,     0,     0,   759,     0,     0,     0,     0,     0,     0,
    2353        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2354       18,    19,    20,    21,    22,    23,    24,    25,   526,     0,
    2355       26,    27,    28,     0,  1212,     0,     0,     0,   414,    31,
    2356        0,     0,     0,     0,   211,     0,   364,     0,     0,     0,
    2357        0,     0,   863,   804,   364,     0,     0,   614,     0,   614,
    2358      382,     0,     0,     0,     0,     0,     0,    34,  1224,   614,
    2359        0,     0,    37,  1226,   207,    39,    40,     0,     0,     0,
    2360        0,  1230,     0,    41,    42,     0,     8,     9,    10,    11,
    2361       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2362       22,    23,    24,    25,  -293,     0,     0,     0,     0,    43,
    2363        0,   270,     0,     0,  1256,    31,     0,    45,    46,     0,
    2364        0,     0,     0,     0,     0,     0,  1264,     0,     0,  1265,
    2365        0,  1266,     0,     0,     0,     0,     0,     0,     0,     0,
    2366        0,   804,     0,    34,     0,  1275,  1276,     0,   341,   364,
    2367      414,     0,   414,     0,  -293,     0,   414,     0,   759,     0,
    2368      964,     0,     0,     0,     0,     0,     0,  1289,     0,     0,
    2369      975,     0,     0,     0,     0,     0,   983,   614,   614,     0,
    2370        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2371       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2372        0,     0,     0,     0,     0,     0,     0,     0,     0,    31,
    2373        0,     0,   414,     0,  1328,     0,     0,     0,  1001,  1002,
    2374        0,     0,   346,     0,     0,     0,     0,     0,   282,   283,
    2375        0,   284,     0,   414,  1144,     0,   346,    34,     0,     0,
    2376        0,     0,     0,     0,   364,     0,     0,     0,  -294,     0,
    2377      414,  1156,     0,   614,   614,  1161,     0,   285,     0,     0,
    2378        0,     0,     0,   286,     0,   364,   364,   287,     0,     0,
    2379      288,   289,   290,   291,    41,    42,  1032,   292,   293,     0,
    2380      382,     0,     0,     0,     0,     0,     0,     0,     0,  1378,
    2381        0,  1379,     0,     0,     0,     0,     0,     0,     0,     0,
    2382      294,     0,   379,  1387,     0,  1388,     0,   758,    45,    46,
    2383      296,   297,   298,   299,     0,     0,     0,   346,     0,     0,
    2384        0,     0,  1395,     0,     0,     0,     0,     0,   414,     0,
    2385      414,     0,     0,     0,     0,   414,     0,     0,  1413,  1415,
    2386        0,     0,     0,     0,   614,     0,     0,     0,     0,  1420,
    2387        0,     0,  1230,     0,     0,     0,   321,     0,     0,     0,
    2388        0,     0,     0,     0,     0,     0,     0,   804,   414,  1244,
    2389        0,     0,     0,  1442,     0,     0,     0,     0,     0,     0,
    2390        0,     0,  1449,     0,   382,  1451,     0,  1453,  1455,  1457,
    2391      975,   364,     0,     0,   742,   282,   283,     0,   284,     0,
    2392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2393        0,     0,     0,     0,     0,  1151,     0,     0,     0,     0,
    2394        0,     0,     0,     0,   285,     0,  1166,  1487,     0,  1489,
    2395      641,  1230,   139,   140,   287,     0,     0,   288,   289,   290,
    2396      291,    41,    42,     0,   292,   293,  1500,     0,   382,     0,
    2397     1184,     0,   341,     0,     0,     0,     0,     0,     0,     0,
    2398        0,     0,     0,     0,     0,   975,   975,   294,     0,   642,
    2399      364,   643,   380,     0,     0,    45,    46,   296,   297,   298,
    2400      299,     0,     0,     0,     0,     0,  1216,     0,     0,     0,
     2452     110,     0,    38,    39,     0,     0,   294,     0,  1057,     0,
     2453       0,    41,    42,     0,    45,    46,   296,   297,   298,   299,
     2454       0,     0,     0,     0,     0,     0,     0,     0,     0,  -131,
    24012455       0,     0,     0,     0,     1,     2,   206,     4,     5,     6,
    24022456       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2403       17,    18,    19,    20,    21,    22,    23,    24,    25,   364,
    2404      364,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    2405       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2406        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    2407        0,     0,     0,     0,     0,     0,     0,     0,    34,   863,
    2408       35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
    2409        0,     0,     0,     0,  1267,  1268,     0,     1,     2,   206,
    2410        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2411       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2412       24,    25,    44,     0,    26,    27,    28,    29,    45,    46,
    2413       30,   282,   283,    31,  1041,  1042,     0,  1043,     0,     0,
    2414     1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,
    2415        0,  1052,     0,     0,     0,  1053,  1054,     0,    33,   364,
    2416      285,    34,     0,    35,     0,    36,  1055,     0,    38,    39,
    2417      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2418      292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2457      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2458       0,    26,    27,    28,    29,     0,     0,    30,   282,   283,
     2459      31,   284,     0,     0,     0,     8,     9,    10,    11,    12,
     2460      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2461      23,    24,    25,  -297,     0,     0,     0,   285,    34,     0,
     2462      35,     0,    36,   286,    31,    38,    39,   287,     0,   321,
     2463     288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    24192464       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2420        0,     0,     0,   294,     0,  1056,     0,     0,   171,     0,
    2421        0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
    2422        0,  1057,     0,     0,     0,     0,  -128,     0,     0,     0,
    2423        0,     0,     0,     0,     0,  1372,     0,     0,   742,     0,
    2424        0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
    2425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2426