Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r51b1202 r7f5566b  
    573573#define YYFINAL  246
    574574/* YYLAST -- Last index in YYTABLE.  */
    575 #define YYLAST   11329
     575#define YYLAST   11295
    576576
    577577/* YYNTOKENS -- Number of terminals.  */
    578578#define YYNTOKENS  125
    579579/* YYNNTS -- Number of nonterminals.  */
    580 #define YYNNTS  238
     580#define YYNNTS  237
    581581/* YYNRULES -- Number of rules.  */
    582 #define YYNRULES  740
     582#define YYNRULES  739
    583583/* YYNRULES -- Number of states.  */
    584 #define YYNSTATES  1530
     584#define YYNSTATES  1527
    585585
    586586/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     
    639639       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
    640640      17,    19,    21,    23,    25,    27,    29,    32,    34,    36,
    641       40,    44,    46,    53,    58,    62,    70,    74,    82,    85,
    642       88,    96,    98,   102,   103,   105,   109,   117,   127,   129,
    643      133,   135,   139,   147,   151,   159,   161,   163,   165,   168,
     641      38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
     642      86,    89,    92,   100,   102,   106,   107,   109,   113,   121,
     643     131,   133,   137,   139,   143,   151,   155,   163,   165,   168,
    644644     171,   174,   177,   180,   183,   186,   191,   193,   198,   203,
    645645     206,   211,   214,   216,   218,   220,   222,   224,   229,   234,
     
    682682    1493,  1495,  1497,  1499,  1501,  1503,  1505,  1507,  1509,  1512,
    683683    1514,  1516,  1518,  1521,  1522,  1525,  1527,  1532,  1534,  1537,
    684     1541,  1546,  1549,  1552,  1554,  1557,  1559,  1562,  1568,  1574,
    685     1582,  1589,  1591,  1594,  1597,  1601,  1603,  1606,  1609,  1614,
    686     1617,  1622,  1623,  1628,  1631,  1633,  1635,  1637,  1638,  1641,
    687     1647,  1653,  1667,  1669,  1671,  1675,  1679,  1682,  1686,  1690,
    688     1693,  1698,  1700,  1707,  1717,  1718,  1730,  1732,  1736,  1740,
    689     1744,  1746,  1748,  1754,  1757,  1763,  1764,  1766,  1768,  1772,
    690     1773,  1775,  1777,  1779,  1781,  1782,  1789,  1792,  1794,  1797,
    691     1802,  1805,  1809,  1813,  1817,  1822,  1828,  1834,  1840,  1847,
    692     1849,  1851,  1853,  1857,  1858,  1864,  1865,  1867,  1869,  1872,
    693     1879,  1881,  1885,  1886,  1888,  1893,  1895,  1897,  1899,  1901,
    694     1904,  1906,  1909,  1912,  1914,  1918,  1921,  1925,  1929,  1932,
    695     1937,  1942,  1946,  1955,  1959,  1962,  1964,  1967,  1974,  1983,
    696     1987,  1990,  1994,  1998,  2003,  2008,  2012,  2014,  2016,  2018,
    697     2023,  2030,  2034,  2037,  2041,  2045,  2050,  2055,  2059,  2062,
    698     2064,  2067,  2070,  2072,  2076,  2079,  2083,  2087,  2090,  2095,
    699     2100,  2104,  2111,  2120,  2124,  2127,  2129,  2132,  2135,  2138,
    700     2142,  2146,  2149,  2154,  2159,  2163,  2170,  2179,  2183,  2186,
    701     2188,  2191,  2194,  2196,  2198,  2201,  2205,  2209,  2212,  2217,
    702     2224,  2233,  2235,  2238,  2241,  2243,  2246,  2249,  2253,  2257,
    703     2259,  2264,  2269,  2273,  2279,  2288,  2292,  2295,  2299,  2301,
    704     2307,  2313,  2320,  2327,  2329,  2332,  2335,  2337,  2340,  2343,
    705     2347,  2351,  2353,  2358,  2363,  2367,  2373,  2382,  2386,  2388,
    706     2391,  2393,  2396,  2403,  2409,  2416,  2424,  2432,  2434,  2437,
    707     2440,  2442,  2445,  2448,  2452,  2456,  2458,  2463,  2468,  2472,
    708     2481,  2485,  2487,  2489,  2492,  2494,  2496,  2499,  2503,  2506,
    709     2510,  2513,  2517,  2521,  2524,  2529,  2533,  2536,  2540,  2543,
    710     2548,  2552,  2555,  2562,  2569,  2576,  2584,  2586,  2589,  2591,
    711     2593,  2595,  2598,  2602,  2605,  2609,  2612,  2616,  2620,  2625,
    712     2628,  2632,  2637,  2640,  2646,  2652,  2659,  2666,  2667,  2669,
    713     2670
     684    1541,  1546,  1549,  1552,  1554,  1557,  1560,  1566,  1572,  1580,
     685    1587,  1589,  1592,  1595,  1599,  1601,  1604,  1607,  1612,  1615,
     686    1620,  1621,  1626,  1629,  1631,  1633,  1635,  1636,  1639,  1645,
     687    1651,  1665,  1667,  1669,  1673,  1677,  1680,  1684,  1688,  1691,
     688    1696,  1698,  1705,  1715,  1716,  1728,  1730,  1734,  1738,  1742,
     689    1744,  1746,  1752,  1755,  1761,  1762,  1764,  1766,  1770,  1771,
     690    1773,  1775,  1777,  1779,  1780,  1787,  1790,  1792,  1795,  1800,
     691    1803,  1807,  1811,  1815,  1820,  1826,  1832,  1838,  1845,  1847,
     692    1849,  1851,  1855,  1856,  1862,  1863,  1865,  1867,  1870,  1877,
     693    1879,  1883,  1884,  1886,  1891,  1893,  1895,  1897,  1899,  1902,
     694    1904,  1907,  1910,  1912,  1916,  1919,  1923,  1927,  1930,  1935,
     695    1940,  1944,  1953,  1957,  1960,  1962,  1965,  1972,  1981,  1985,
     696    1988,  1992,  1996,  2001,  2006,  2010,  2012,  2014,  2016,  2021,
     697    2028,  2032,  2035,  2039,  2043,  2048,  2053,  2057,  2060,  2062,
     698    2065,  2068,  2070,  2074,  2077,  2081,  2085,  2088,  2093,  2098,
     699    2102,  2109,  2118,  2122,  2125,  2127,  2130,  2133,  2136,  2140,
     700    2144,  2147,  2152,  2157,  2161,  2168,  2177,  2181,  2184,  2186,
     701    2189,  2192,  2194,  2196,  2199,  2203,  2207,  2210,  2215,  2222,
     702    2231,  2233,  2236,  2239,  2241,  2244,  2247,  2251,  2255,  2257,
     703    2262,  2267,  2271,  2277,  2286,  2290,  2293,  2297,  2299,  2305,
     704    2311,  2318,  2325,  2327,  2330,  2333,  2335,  2338,  2341,  2345,
     705    2349,  2351,  2356,  2361,  2365,  2371,  2380,  2384,  2386,  2389,
     706    2391,  2394,  2401,  2407,  2414,  2422,  2430,  2432,  2435,  2438,
     707    2440,  2443,  2446,  2450,  2454,  2456,  2461,  2466,  2470,  2479,
     708    2483,  2485,  2487,  2490,  2492,  2494,  2497,  2501,  2504,  2508,
     709    2511,  2515,  2519,  2522,  2527,  2531,  2534,  2538,  2541,  2546,
     710    2550,  2553,  2560,  2567,  2574,  2582,  2584,  2587,  2589,  2591,
     711    2593,  2596,  2600,  2603,  2607,  2610,  2614,  2618,  2623,  2626,
     712    2630,  2635,  2638,  2644,  2650,  2657,  2664,  2665,  2667,  2668
    714713};
    715714
     
    717716static const yytype_int16 yyrhs[] =
    718717{
    719      291,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
     718     290,     0,    -1,    -1,    -1,    72,    -1,    73,    -1,    74,
    720719      -1,    65,    -1,    69,    -1,   132,    -1,    65,    -1,    69,
    721720      -1,    65,    -1,    76,    -1,    77,    -1,    75,    -1,   133,
    722       75,    -1,    65,    -1,   132,    -1,   101,   160,   102,    -1,
    723      101,   164,   102,    -1,   134,    -1,   135,   103,   126,   155,
    724      127,   104,    -1,   135,   101,   136,   102,    -1,   135,   105,
    725      131,    -1,   135,   105,   103,   126,   138,   127,   104,    -1,
    726      135,    78,   131,    -1,   135,    78,   103,   126,   138,   127,
    727      104,    -1,   135,    79,    -1,   135,    80,    -1,   101,   264,
    728      102,   106,   268,   361,   107,    -1,   137,    -1,   136,   108,
    729      137,    -1,    -1,   155,    -1,   131,   109,   155,    -1,   103,
    730      126,   155,   127,   104,   109,   155,    -1,   103,   126,   155,
    731      108,   158,   127,   104,   109,   155,    -1,   139,    -1,   138,
    732      108,   139,    -1,   131,    -1,   131,   105,   139,    -1,   131,
    733      105,   103,   126,   138,   127,   104,    -1,   131,    78,   139,
    734       -1,   131,    78,   103,   126,   138,   127,   104,    -1,   135,
    735       -1,   128,    -1,   133,    -1,    79,   140,    -1,    80,   140,
     721      75,    -1,    65,    -1,   132,    -1,   128,    -1,   133,    -1,
     722     101,   160,   102,    -1,   101,   164,   102,    -1,   134,    -1,
     723     135,   103,   126,   155,   127,   104,    -1,   135,   101,   136,
     724     102,    -1,   135,   105,   131,    -1,   135,   105,   103,   126,
     725     138,   127,   104,    -1,   135,    78,   131,    -1,   135,    78,
     726     103,   126,   138,   127,   104,    -1,   135,    79,    -1,   135,
     727      80,    -1,   101,   263,   102,   106,   267,   360,   107,    -1,
     728     137,    -1,   136,   108,   137,    -1,    -1,   155,    -1,   131,
     729     109,   155,    -1,   103,   126,   155,   127,   104,   109,   155,
     730      -1,   103,   126,   155,   108,   158,   127,   104,   109,   155,
     731      -1,   139,    -1,   138,   108,   139,    -1,   131,    -1,   131,
     732     105,   139,    -1,   131,   105,   103,   126,   138,   127,   104,
     733      -1,   131,    78,   139,    -1,   131,    78,   103,   126,   138,
     734     127,   104,    -1,   135,    -1,    79,   140,    -1,    80,   140,
    736735      -1,    38,   142,    -1,   141,   142,    -1,   110,   142,    -1,
    737      111,   142,    -1,    36,   140,    -1,    36,   101,   264,   102,
    738       -1,    69,    -1,    69,   101,   265,   102,    -1,    69,   101,
    739      137,   102,    -1,    59,   140,    -1,    59,   101,   264,   102,
     736     111,   142,    -1,    36,   140,    -1,    36,   101,   263,   102,
     737      -1,    69,    -1,    69,   101,   264,   102,    -1,    69,   101,
     738     137,   102,    -1,    59,   140,    -1,    59,   101,   263,   102,
    740739      -1,    87,   131,    -1,   112,    -1,   113,    -1,   114,    -1,
    741      115,    -1,   140,    -1,   101,   264,   102,   142,    -1,   101,
    742      264,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
     740     115,    -1,   140,    -1,   101,   263,   102,   142,    -1,   101,
     741     263,   102,   157,    -1,   142,    -1,   143,   111,   142,    -1,
    743742     143,   116,   142,    -1,   143,   117,   142,    -1,   143,    -1,
    744743     144,   113,   143,    -1,   144,   114,   143,    -1,   144,    -1,
     
    752751     160,   109,   153,    -1,   152,   122,   109,   153,    -1,   152,
    753752     122,   160,   109,   157,    -1,   153,    -1,   153,    -1,   140,
    754      123,   155,    -1,   140,   159,   155,    -1,   157,   362,    -1,
     753     123,   155,    -1,   140,   159,   155,    -1,   157,   361,    -1,
    755754      -1,   155,    -1,   103,   104,    -1,   103,   126,   155,   127,
    756755     104,    -1,   103,   126,   108,   158,   127,   104,    -1,   103,
     
    761760     160,    -1,   163,    -1,   164,    -1,   168,    -1,   169,    -1,
    762761     181,    -1,   183,    -1,   184,    -1,   189,    -1,   131,   109,
    763      301,   162,    -1,   106,   107,    -1,   106,   126,   126,   200,
     762     300,   162,    -1,   106,   107,    -1,   106,   126,   126,   200,
    764763     165,   127,   107,    -1,   166,    -1,   165,   126,   166,    -1,
    765      203,    -1,    38,   203,    -1,   297,    -1,   162,   127,    -1,
     764     202,    -1,    38,   202,    -1,   296,    -1,   162,   127,    -1,
    766765     162,    -1,   167,   162,    -1,   161,   124,    -1,    39,   101,
    767766     160,   102,   162,    -1,    39,   101,   160,   102,   162,    40,
     
    770769     160,   102,   174,    -1,    51,   101,   160,   102,   106,   126,
    771770     196,   177,   107,    -1,   154,    -1,   154,    89,   154,    -1,
    772      299,    -1,   170,    -1,   171,   108,   170,    -1,    42,   171,
     771     298,    -1,   170,    -1,   171,   108,   170,    -1,    42,   171,
    773772     109,    -1,    43,   109,    -1,   172,    -1,   173,   172,    -1,
    774773     173,   162,    -1,    -1,   176,    -1,   173,   167,    -1,   176,
     
    778777      45,   101,   160,   102,   162,    -1,    44,   162,    45,   101,
    779778     160,   102,   124,    -1,    46,   101,   126,   182,   102,   162,
    780       -1,   161,   127,   124,   161,   124,   161,    -1,   203,   161,
     779      -1,   161,   127,   124,   161,   124,   161,    -1,   202,   161,
    781780     124,   161,    -1,    49,   131,   124,    -1,    49,   111,   160,
    782781     124,    -1,    48,   124,    -1,    48,   131,   124,    -1,    47,
     
    787786     101,    89,   102,   164,    -1,    54,   101,   126,   126,   188,
    788787     127,   102,   164,   127,    -1,   186,    54,   101,   126,   126,
    789      188,   127,   102,   164,   127,    -1,    55,   164,    -1,   216,
    790       -1,   216,   298,    -1,   216,   346,    -1,   355,   131,    -1,
    791      355,    -1,    57,   190,   101,   133,   102,   124,    -1,    57,
     788     188,   127,   102,   164,   127,    -1,    55,   164,    -1,   215,
     789      -1,   215,   297,    -1,   215,   345,    -1,   354,   131,    -1,
     790     354,    -1,    57,   190,   101,   133,   102,   124,    -1,    57,
    792791     190,   101,   133,   109,   191,   102,   124,    -1,    57,   190,
    793792     101,   133,   109,   191,   109,   191,   102,   124,    -1,    57,
     
    798797     101,   154,   102,    -1,   103,   154,   104,   133,   101,   154,
    799798     102,    -1,    -1,   133,    -1,   194,   108,   133,    -1,   131,
    800       -1,   195,   108,   131,    -1,   127,    -1,   197,    -1,   203,
    801       -1,   197,   126,   203,    -1,   127,    -1,   199,    -1,   213,
    802       -1,   199,   126,   213,    -1,    -1,   201,    -1,    28,   202,
    803      124,    -1,   201,    28,   202,   124,    -1,   263,    -1,   202,
    804      108,   263,    -1,   204,    -1,   213,    -1,   205,   127,   124,
    805       -1,   210,   127,   124,    -1,   207,   127,   124,    -1,   282,
    806      127,   124,    -1,   285,   127,   124,    -1,   206,   266,    -1,
    807      222,   206,   266,    -1,   205,   127,   108,   126,   261,   266,
    808       -1,   356,   261,   300,    -1,   359,   261,   300,    -1,   218,
    809      359,   261,   300,    -1,   208,    -1,   218,   208,    -1,   222,
    810      208,    -1,   222,   218,   208,    -1,   207,   127,   108,   126,
    811      261,    -1,   103,   104,   261,   101,   126,   249,   127,   102,
    812       -1,   359,   261,   101,   126,   249,   127,   102,    -1,   209,
    813      261,   101,   126,   249,   127,   102,    -1,   103,   126,   251,
    814      127,   104,    -1,   103,   126,   251,   127,   108,   126,   252,
    815      127,   104,    -1,     3,   206,    -1,     3,   208,    -1,   210,
    816      127,   108,   126,   131,    -1,     3,   216,   298,    -1,   211,
    817      127,   108,   126,   298,    -1,   218,     3,   216,   298,    -1,
    818      216,     3,   298,    -1,   216,     3,   218,   298,    -1,     3,
    819      131,   123,   155,    -1,   212,   127,   108,   126,   131,   123,
    820      155,    -1,   214,   127,   124,    -1,   211,   127,   124,    -1,
    821      212,   127,   124,    -1,   231,   127,   124,    -1,   215,   298,
    822      300,   266,    -1,   214,   108,   301,   298,   300,   266,    -1,
    823      227,    -1,   231,    -1,   233,    -1,   272,    -1,   228,    -1,
    824      232,    -1,   234,    -1,   273,    -1,    -1,   218,    -1,   219,
    825       -1,   218,   219,    -1,   220,    -1,   303,    -1,    10,    -1,
     799      -1,   195,   108,   131,    -1,   127,    -1,   197,    -1,   202,
     800      -1,   197,   126,   202,    -1,   127,    -1,   199,    -1,   212,
     801      -1,   199,   126,   212,    -1,    -1,   201,    -1,    28,   195,
     802     124,    -1,   201,    28,   195,   124,    -1,   262,    -1,   195,
     803     108,   262,    -1,   203,    -1,   212,    -1,   204,   127,   124,
     804      -1,   209,   127,   124,    -1,   206,   127,   124,    -1,   281,
     805     127,   124,    -1,   284,   127,   124,    -1,   205,   265,    -1,
     806     221,   205,   265,    -1,   204,   127,   108,   126,   260,   265,
     807      -1,   355,   260,   299,    -1,   358,   260,   299,    -1,   217,
     808     358,   260,   299,    -1,   207,    -1,   217,   207,    -1,   221,
     809     207,    -1,   221,   217,   207,    -1,   206,   127,   108,   126,
     810     260,    -1,   103,   104,   260,   101,   126,   248,   127,   102,
     811      -1,   358,   260,   101,   126,   248,   127,   102,    -1,   208,
     812     260,   101,   126,   248,   127,   102,    -1,   103,   126,   250,
     813     127,   104,    -1,   103,   126,   250,   127,   108,   126,   251,
     814     127,   104,    -1,     3,   205,    -1,     3,   207,    -1,   209,
     815     127,   108,   126,   131,    -1,     3,   215,   297,    -1,   210,
     816     127,   108,   126,   297,    -1,   217,     3,   215,   297,    -1,
     817     215,     3,   297,    -1,   215,     3,   217,   297,    -1,     3,
     818     131,   123,   155,    -1,   211,   127,   108,   126,   131,   123,
     819     155,    -1,   213,   127,   124,    -1,   210,   127,   124,    -1,
     820     211,   127,   124,    -1,   230,   127,   124,    -1,   214,   297,
     821     299,   265,    -1,   213,   108,   300,   297,   299,   265,    -1,
     822     226,    -1,   230,    -1,   232,    -1,   271,    -1,   227,    -1,
     823     231,    -1,   233,    -1,   272,    -1,    -1,   217,    -1,   218,
     824      -1,   217,   218,    -1,   219,    -1,   302,    -1,    10,    -1,
    826825      12,    -1,    11,    -1,    14,    -1,    60,    -1,    -1,    13,
    827      101,   221,   275,   102,    -1,   223,    -1,   218,   223,    -1,
    828      222,   218,   223,    -1,   224,    -1,   223,   224,    -1,   225,
     826     101,   220,   274,   102,    -1,   222,    -1,   217,   222,    -1,
     827     221,   217,   222,    -1,   223,    -1,   222,   223,    -1,   224,
    829828      -1,     5,    -1,     7,    -1,     4,    -1,     6,    -1,     8,
    830829      -1,     9,    -1,    62,    -1,    64,    -1,    16,    -1,    21,
    831830      -1,    20,    -1,    18,    -1,    19,    -1,    17,    -1,    22,
    832831      -1,    23,    -1,    15,    -1,    24,    -1,    25,    -1,    26,
    833       -1,   228,    -1,   222,   228,    -1,   227,   224,    -1,   227,
    834      224,   218,    -1,   227,   224,   228,    -1,   229,    -1,   217,
    835      230,   217,    -1,   226,    -1,   218,   226,    -1,   229,   219,
    836       -1,   229,   226,    -1,    27,   101,   265,   102,    -1,    27,
    837      101,   160,   102,    -1,    71,   101,   265,   102,    -1,    71,
    838      101,   160,   102,    -1,   232,    -1,   222,   232,    -1,   231,
    839      224,    -1,   231,   224,   218,    -1,   235,    -1,   218,   235,
    840       -1,   232,   219,    -1,   234,    -1,   222,   234,    -1,   233,
    841      224,    -1,   233,   224,   218,    -1,    67,    -1,   218,    67,
    842       -1,   234,   219,    -1,   236,    -1,   246,    -1,   237,   106,
    843      238,   107,    -1,   237,   263,    -1,   237,   263,   106,   238,
    844      107,    -1,   237,   101,   281,   102,   106,   238,   107,    -1,
    845      237,   274,    -1,    30,   301,    -1,    31,   301,    -1,   239,
    846       -1,   238,   239,    -1,   240,   124,    -1,    38,   240,   124,
    847       -1,   241,   124,    -1,    38,   241,   124,    -1,   355,    -1,
    848      355,   263,    -1,   240,   108,   263,    -1,   240,   108,    -1,
    849      216,   242,    -1,   241,   108,   301,   242,    -1,    -1,   244,
    850       -1,   307,   243,    -1,   320,   243,    -1,   346,    -1,    -1,
    851      244,    -1,   109,   154,    -1,    29,   301,    -1,   245,   106,
    852      247,   361,   107,    -1,   245,   263,   106,   247,   361,   107,
    853       -1,   245,   263,    -1,   263,   248,    -1,   247,   108,   263,
    854      248,    -1,    -1,   123,   154,    -1,    -1,   250,    -1,   252,
    855       -1,   251,    -1,   251,   127,   108,   126,   252,    -1,   252,
    856      127,   108,   126,    89,    -1,   251,   127,   108,   126,    89,
    857       -1,   256,    -1,   252,   127,   108,   126,   256,    -1,   251,
    858      127,   108,   126,   256,    -1,   251,   127,   108,   126,   252,
    859      127,   108,   126,   256,    -1,   257,    -1,   252,   127,   108,
    860      126,   257,    -1,    -1,   254,    -1,   255,    -1,   255,   127,
    861      108,   126,    89,    -1,   259,    -1,   258,    -1,   255,   127,
    862      108,   126,   259,    -1,   255,   127,   108,   126,   258,    -1,
    863      258,    -1,   351,   261,   362,    -1,   359,   261,   362,    -1,
    864      218,   359,   261,   362,    -1,   208,    -1,   259,    -1,   351,
    865       -1,   359,    -1,   218,   359,    -1,   360,    -1,   215,   325,
    866      362,    -1,   215,   329,   362,    -1,   215,    -1,   215,   340,
    867       -1,   131,    -1,   260,   108,   131,    -1,   129,    -1,    67,
     832      -1,   227,    -1,   221,   227,    -1,   226,   223,    -1,   226,
     833     223,   217,    -1,   226,   223,   227,    -1,   228,    -1,   216,
     834     229,   216,    -1,   225,    -1,   217,   225,    -1,   228,   218,
     835      -1,   228,   225,    -1,    27,   101,   264,   102,    -1,    27,
     836     101,   160,   102,    -1,    71,   101,   264,   102,    -1,    71,
     837     101,   160,   102,    -1,   231,    -1,   221,   231,    -1,   230,
     838     223,    -1,   230,   223,   217,    -1,   234,    -1,   217,   234,
     839      -1,   231,   218,    -1,   233,    -1,   221,   233,    -1,   232,
     840     223,    -1,   232,   223,   217,    -1,    67,    -1,   217,    67,
     841      -1,   233,   218,    -1,   235,    -1,   245,    -1,   236,   106,
     842     237,   107,    -1,   236,   262,    -1,   236,   262,   106,   237,
     843     107,    -1,   236,   101,   280,   102,   106,   237,   107,    -1,
     844     236,   273,    -1,    30,   300,    -1,    31,   300,    -1,   238,
     845      -1,   237,   238,    -1,   239,   124,    -1,    38,   239,   124,
     846      -1,   240,   124,    -1,    38,   240,   124,    -1,   354,    -1,
     847     354,   262,    -1,   239,   108,   262,    -1,   239,   108,    -1,
     848     215,   241,    -1,   240,   108,   300,   241,    -1,    -1,   243,
     849      -1,   306,   242,    -1,   319,   242,    -1,   345,    -1,    -1,
     850     243,    -1,   109,   154,    -1,    29,   300,    -1,   244,   106,
     851     246,   360,   107,    -1,   244,   262,   106,   246,   360,   107,
     852      -1,   244,   262,    -1,   262,   247,    -1,   246,   108,   262,
     853     247,    -1,    -1,   123,   154,    -1,    -1,   249,    -1,   251,
     854      -1,   250,    -1,   250,   127,   108,   126,   251,    -1,   251,
     855     127,   108,   126,    89,    -1,   250,   127,   108,   126,    89,
     856      -1,   255,    -1,   251,   127,   108,   126,   255,    -1,   250,
     857     127,   108,   126,   255,    -1,   250,   127,   108,   126,   251,
     858     127,   108,   126,   255,    -1,   256,    -1,   251,   127,   108,
     859     126,   256,    -1,    -1,   253,    -1,   254,    -1,   254,   127,
     860     108,   126,    89,    -1,   258,    -1,   257,    -1,   254,   127,
     861     108,   126,   258,    -1,   254,   127,   108,   126,   257,    -1,
     862     257,    -1,   350,   260,   361,    -1,   358,   260,   361,    -1,
     863     217,   358,   260,   361,    -1,   207,    -1,   258,    -1,   350,
     864      -1,   358,    -1,   217,   358,    -1,   359,    -1,   214,   324,
     865     361,    -1,   214,   328,   361,    -1,   214,    -1,   214,   339,
     866      -1,   131,    -1,   259,   108,   131,    -1,   129,    -1,    67,
    868867      -1,    68,    -1,   130,    -1,    67,    -1,    68,    -1,   131,
    869       -1,    67,    -1,    68,    -1,   355,    -1,   216,    -1,   216,
    870      346,    -1,   355,    -1,   360,    -1,   216,    -1,   216,   334,
    871       -1,    -1,   123,   267,    -1,   155,    -1,   106,   268,   361,
    872      107,    -1,   267,    -1,   269,   267,    -1,   268,   108,   267,
    873       -1,   268,   108,   269,   267,    -1,   270,   109,    -1,   263,
    874      109,    -1,   271,    -1,   270,   271,    -1,    73,    -1,   105,
    875      263,    -1,   103,   126,   155,   127,   104,    -1,   103,   126,
    876      299,   127,   104,    -1,   103,   126,   154,    89,   154,   127,
    877      104,    -1,   105,   103,   126,   138,   127,   104,    -1,   273,
    878       -1,   222,   273,    -1,   272,   224,    -1,   272,   224,   218,
    879       -1,   274,    -1,   218,   274,    -1,   273,   219,    -1,    68,
    880      101,   281,   102,    -1,   276,   362,    -1,   275,   108,   276,
    881      362,    -1,    -1,   278,   263,   277,   279,    -1,   216,   325,
    882       -1,    32,    -1,    34,    -1,    33,    -1,    -1,   279,   280,
    883       -1,   121,   263,   101,   281,   102,    -1,   121,   106,   126,
    884      287,   107,    -1,   121,   101,   126,   275,   127,   102,   106,
    885      126,   287,   107,   101,   281,   102,    -1,   265,    -1,   155,
    886       -1,   281,   108,   265,    -1,   281,   108,   155,    -1,    32,
    887      283,    -1,   223,    32,   283,    -1,   282,   108,   283,    -1,
    888      284,   279,    -1,   284,   279,   123,   265,    -1,   263,    -1,
    889      262,   101,   126,   275,   127,   102,    -1,    35,   263,   101,
    890      126,   275,   127,   102,   106,   107,    -1,    -1,    35,   263,
    891      101,   126,   275,   127,   102,   106,   286,   287,   107,    -1,
    892      288,    -1,   287,   126,   288,    -1,   289,   127,   124,    -1,
    893      290,   127,   124,    -1,   206,    -1,   208,    -1,   289,   127,
    894      108,   126,   261,    -1,   216,   298,    -1,   290,   127,   108,
    895      126,   298,    -1,    -1,   292,    -1,   294,    -1,   292,   126,
    896      294,    -1,    -1,   292,    -1,   203,    -1,   296,    -1,   189,
    897       -1,    -1,     5,    75,   295,   106,   293,   107,    -1,    38,
    898      294,    -1,   297,    -1,   312,   164,    -1,   316,   126,   198,
    899      164,    -1,   207,   164,    -1,   215,   312,   164,    -1,   218,
    900      312,   164,    -1,   222,   312,   164,    -1,   222,   218,   312,
    901      164,    -1,   215,   316,   126,   198,   164,    -1,   218,   316,
    902      126,   198,   164,    -1,   222,   316,   126,   198,   164,    -1,
    903      222,   218,   316,   126,   198,   164,    -1,   307,    -1,   312,
    904       -1,   320,    -1,   154,   115,   154,    -1,    -1,    57,   101,
    905      133,   102,   301,    -1,    -1,   302,    -1,   303,    -1,   302,
    906      303,    -1,    37,   101,   101,   304,   102,   102,    -1,   305,
    907       -1,   304,   108,   305,    -1,    -1,   306,    -1,   306,   101,
    908      161,   102,    -1,   261,    -1,   225,    -1,   226,    -1,   219,
    909       -1,   308,   301,    -1,   309,    -1,   310,   301,    -1,   311,
    910      301,    -1,   129,    -1,   101,   308,   102,    -1,   111,   307,
    911       -1,   111,   218,   307,    -1,   101,   309,   102,    -1,   308,
    912      338,    -1,   101,   309,   102,   338,    -1,   101,   310,   102,
    913      339,    -1,   101,   310,   102,    -1,   101,   309,   102,   101,
    914      126,   253,   127,   102,    -1,   101,   311,   102,    -1,   313,
    915      301,    -1,   314,    -1,   315,   301,    -1,   308,   101,   126,
    916      253,   127,   102,    -1,   101,   314,   102,   101,   126,   253,
    917      127,   102,    -1,   101,   313,   102,    -1,   111,   312,    -1,
    918      111,   218,   312,    -1,   101,   314,   102,    -1,   101,   314,
    919      102,   338,    -1,   101,   315,   102,   339,    -1,   101,   315,
    920      102,    -1,   317,    -1,   318,    -1,   319,    -1,   308,   101,
    921      260,   102,    -1,   101,   318,   102,   101,   260,   102,    -1,
    922      101,   317,   102,    -1,   111,   316,    -1,   111,   218,   316,
    923       -1,   101,   318,   102,    -1,   101,   318,   102,   338,    -1,
    924      101,   319,   102,   339,    -1,   101,   319,   102,    -1,   321,
    925      301,    -1,   322,    -1,   323,   301,    -1,   324,   301,    -1,
    926      330,    -1,   101,   321,   102,    -1,   111,   320,    -1,   111,
    927      218,   320,    -1,   101,   322,   102,    -1,   321,   338,    -1,
    928      101,   322,   102,   338,    -1,   101,   323,   102,   339,    -1,
    929      101,   323,   102,    -1,   321,   101,   126,   253,   127,   102,
    930       -1,   101,   322,   102,   101,   126,   253,   127,   102,    -1,
    931      101,   324,   102,    -1,   308,   301,    -1,   326,    -1,   327,
    932      301,    -1,   328,   301,    -1,   111,   325,    -1,   111,   218,
    933      325,    -1,   101,   326,   102,    -1,   308,   344,    -1,   101,
    934      326,   102,   338,    -1,   101,   327,   102,   339,    -1,   101,
    935      327,   102,    -1,   308,   101,   126,   253,   127,   102,    -1,
    936      101,   326,   102,   101,   126,   253,   127,   102,    -1,   101,
    937      328,   102,    -1,   330,   301,    -1,   331,    -1,   332,   301,
    938       -1,   333,   301,    -1,    67,    -1,    68,    -1,   111,   329,
    939       -1,   111,   218,   329,    -1,   101,   331,   102,    -1,   330,
    940      344,    -1,   101,   331,   102,   344,    -1,   330,   101,   126,
    941      253,   127,   102,    -1,   101,   331,   102,   101,   126,   253,
    942      127,   102,    -1,   335,    -1,   336,   301,    -1,   337,   301,
    943       -1,   111,    -1,   111,   218,    -1,   111,   334,    -1,   111,
    944      218,   334,    -1,   101,   335,   102,    -1,   338,    -1,   101,
    945      335,   102,   338,    -1,   101,   336,   102,   339,    -1,   101,
    946      336,   102,    -1,   101,   126,   253,   127,   102,    -1,   101,
    947      335,   102,   101,   126,   253,   127,   102,    -1,   101,   337,
    948      102,    -1,   103,   104,    -1,   103,   104,   339,    -1,   339,
    949       -1,   103,   126,   155,   127,   104,    -1,   103,   126,   111,
    950      127,   104,    -1,   339,   103,   126,   155,   127,   104,    -1,
    951      339,   103,   126,   111,   127,   104,    -1,   341,    -1,   342,
    952      301,    -1,   343,   301,    -1,   111,    -1,   111,   218,    -1,
    953      111,   340,    -1,   111,   218,   340,    -1,   101,   341,   102,
    954       -1,   344,    -1,   101,   341,   102,   344,    -1,   101,   342,
    955      102,   339,    -1,   101,   342,   102,    -1,   101,   126,   253,
    956      127,   102,    -1,   101,   341,   102,   101,   126,   253,   127,
    957      102,    -1,   101,   343,   102,    -1,   345,    -1,   345,   339,
    958       -1,   339,    -1,   103,   104,    -1,   103,   126,   218,   111,
    959      127,   104,    -1,   103,   126,   218,   127,   104,    -1,   103,
    960      126,   218,   155,   127,   104,    -1,   103,   126,     7,   217,
    961      155,   127,   104,    -1,   103,   126,   218,     7,   155,   127,
    962      104,    -1,   347,    -1,   348,   301,    -1,   349,   301,    -1,
    963      111,    -1,   111,   218,    -1,   111,   346,    -1,   111,   218,
    964      346,    -1,   101,   347,   102,    -1,   338,    -1,   101,   347,
    965      102,   338,    -1,   101,   348,   102,   339,    -1,   101,   348,
    966      102,    -1,   101,   347,   102,   101,   126,   253,   127,   102,
    967       -1,   101,   349,   102,    -1,   351,    -1,   359,    -1,   218,
    968      359,    -1,   352,    -1,   353,    -1,   111,   216,    -1,   218,
    969      111,   216,    -1,   111,   360,    -1,   218,   111,   360,    -1,
    970      111,   350,    -1,   218,   111,   350,    -1,   103,   104,   216,
    971       -1,   354,   216,    -1,   103,   104,   339,   216,    -1,   354,
    972      339,   216,    -1,   339,   216,    -1,   103,   104,   352,    -1,
    973      354,   352,    -1,   103,   104,   339,   352,    -1,   354,   339,
    974      352,    -1,   339,   352,    -1,   103,   126,   218,   111,   127,
    975      104,    -1,   103,   126,   218,   155,   127,   104,    -1,   103,
    976      126,   222,   155,   127,   104,    -1,   103,   126,   222,   218,
    977      155,   127,   104,    -1,   359,    -1,   218,   359,    -1,   356,
    978       -1,   357,    -1,   358,    -1,   111,   216,    -1,   218,   111,
    979      216,    -1,   111,   360,    -1,   218,   111,   360,    -1,   111,
    980      355,    -1,   218,   111,   355,    -1,   103,   104,   216,    -1,
    981      103,   104,   339,   216,    -1,   339,   216,    -1,   103,   104,
    982      357,    -1,   103,   104,   339,   357,    -1,   339,   357,    -1,
    983      103,   126,   252,   127,   104,    -1,   103,   104,   101,   249,
    984      102,    -1,   359,   101,   126,   249,   127,   102,    -1,   209,
    985      101,   126,   249,   127,   102,    -1,    -1,   108,    -1,    -1,
    986      123,   155,    -1
     868      -1,    67,    -1,    68,    -1,   354,    -1,   215,    -1,   215,
     869     345,    -1,   354,    -1,   359,    -1,   215,    -1,   215,   333,
     870      -1,    -1,   123,   266,    -1,   155,    -1,   106,   267,   360,
     871     107,    -1,   266,    -1,   268,   266,    -1,   267,   108,   266,
     872      -1,   267,   108,   268,   266,    -1,   269,   109,    -1,   262,
     873     109,    -1,   270,    -1,   269,   270,    -1,   105,   262,    -1,
     874     103,   126,   155,   127,   104,    -1,   103,   126,   298,   127,
     875     104,    -1,   103,   126,   154,    89,   154,   127,   104,    -1,
     876     105,   103,   126,   138,   127,   104,    -1,   272,    -1,   221,
     877     272,    -1,   271,   223,    -1,   271,   223,   217,    -1,   273,
     878      -1,   217,   273,    -1,   272,   218,    -1,    68,   101,   280,
     879     102,    -1,   275,   361,    -1,   274,   108,   275,   361,    -1,
     880      -1,   277,   262,   276,   278,    -1,   215,   324,    -1,    32,
     881      -1,    34,    -1,    33,    -1,    -1,   278,   279,    -1,   121,
     882     262,   101,   280,   102,    -1,   121,   106,   126,   286,   107,
     883      -1,   121,   101,   126,   274,   127,   102,   106,   126,   286,
     884     107,   101,   280,   102,    -1,   264,    -1,   155,    -1,   280,
     885     108,   264,    -1,   280,   108,   155,    -1,    32,   282,    -1,
     886     222,    32,   282,    -1,   281,   108,   282,    -1,   283,   278,
     887      -1,   283,   278,   123,   264,    -1,   262,    -1,   261,   101,
     888     126,   274,   127,   102,    -1,    35,   262,   101,   126,   274,
     889     127,   102,   106,   107,    -1,    -1,    35,   262,   101,   126,
     890     274,   127,   102,   106,   285,   286,   107,    -1,   287,    -1,
     891     286,   126,   287,    -1,   288,   127,   124,    -1,   289,   127,
     892     124,    -1,   205,    -1,   207,    -1,   288,   127,   108,   126,
     893     260,    -1,   215,   297,    -1,   289,   127,   108,   126,   297,
     894      -1,    -1,   291,    -1,   293,    -1,   291,   126,   293,    -1,
     895      -1,   291,    -1,   202,    -1,   295,    -1,   189,    -1,    -1,
     896       5,    75,   294,   106,   292,   107,    -1,    38,   293,    -1,
     897     296,    -1,   311,   164,    -1,   315,   126,   198,   164,    -1,
     898     206,   164,    -1,   214,   311,   164,    -1,   217,   311,   164,
     899      -1,   221,   311,   164,    -1,   221,   217,   311,   164,    -1,
     900     214,   315,   126,   198,   164,    -1,   217,   315,   126,   198,
     901     164,    -1,   221,   315,   126,   198,   164,    -1,   221,   217,
     902     315,   126,   198,   164,    -1,   306,    -1,   311,    -1,   319,
     903      -1,   154,   115,   154,    -1,    -1,    57,   101,   133,   102,
     904     300,    -1,    -1,   301,    -1,   302,    -1,   301,   302,    -1,
     905      37,   101,   101,   303,   102,   102,    -1,   304,    -1,   303,
     906     108,   304,    -1,    -1,   305,    -1,   305,   101,   161,   102,
     907      -1,   260,    -1,   224,    -1,   225,    -1,   218,    -1,   307,
     908     300,    -1,   308,    -1,   309,   300,    -1,   310,   300,    -1,
     909     129,    -1,   101,   307,   102,    -1,   111,   306,    -1,   111,
     910     217,   306,    -1,   101,   308,   102,    -1,   307,   337,    -1,
     911     101,   308,   102,   337,    -1,   101,   309,   102,   338,    -1,
     912     101,   309,   102,    -1,   101,   308,   102,   101,   126,   252,
     913     127,   102,    -1,   101,   310,   102,    -1,   312,   300,    -1,
     914     313,    -1,   314,   300,    -1,   307,   101,   126,   252,   127,
     915     102,    -1,   101,   313,   102,   101,   126,   252,   127,   102,
     916      -1,   101,   312,   102,    -1,   111,   311,    -1,   111,   217,
     917     311,    -1,   101,   313,   102,    -1,   101,   313,   102,   337,
     918      -1,   101,   314,   102,   338,    -1,   101,   314,   102,    -1,
     919     316,    -1,   317,    -1,   318,    -1,   307,   101,   259,   102,
     920      -1,   101,   317,   102,   101,   259,   102,    -1,   101,   316,
     921     102,    -1,   111,   315,    -1,   111,   217,   315,    -1,   101,
     922     317,   102,    -1,   101,   317,   102,   337,    -1,   101,   318,
     923     102,   338,    -1,   101,   318,   102,    -1,   320,   300,    -1,
     924     321,    -1,   322,   300,    -1,   323,   300,    -1,   329,    -1,
     925     101,   320,   102,    -1,   111,   319,    -1,   111,   217,   319,
     926      -1,   101,   321,   102,    -1,   320,   337,    -1,   101,   321,
     927     102,   337,    -1,   101,   322,   102,   338,    -1,   101,   322,
     928     102,    -1,   320,   101,   126,   252,   127,   102,    -1,   101,
     929     321,   102,   101,   126,   252,   127,   102,    -1,   101,   323,
     930     102,    -1,   307,   300,    -1,   325,    -1,   326,   300,    -1,
     931     327,   300,    -1,   111,   324,    -1,   111,   217,   324,    -1,
     932     101,   325,   102,    -1,   307,   343,    -1,   101,   325,   102,
     933     337,    -1,   101,   326,   102,   338,    -1,   101,   326,   102,
     934      -1,   307,   101,   126,   252,   127,   102,    -1,   101,   325,
     935     102,   101,   126,   252,   127,   102,    -1,   101,   327,   102,
     936      -1,   329,   300,    -1,   330,    -1,   331,   300,    -1,   332,
     937     300,    -1,    67,    -1,    68,    -1,   111,   328,    -1,   111,
     938     217,   328,    -1,   101,   330,   102,    -1,   329,   343,    -1,
     939     101,   330,   102,   343,    -1,   329,   101,   126,   252,   127,
     940     102,    -1,   101,   330,   102,   101,   126,   252,   127,   102,
     941      -1,   334,    -1,   335,   300,    -1,   336,   300,    -1,   111,
     942      -1,   111,   217,    -1,   111,   333,    -1,   111,   217,   333,
     943      -1,   101,   334,   102,    -1,   337,    -1,   101,   334,   102,
     944     337,    -1,   101,   335,   102,   338,    -1,   101,   335,   102,
     945      -1,   101,   126,   252,   127,   102,    -1,   101,   334,   102,
     946     101,   126,   252,   127,   102,    -1,   101,   336,   102,    -1,
     947     103,   104,    -1,   103,   104,   338,    -1,   338,    -1,   103,
     948     126,   155,   127,   104,    -1,   103,   126,   111,   127,   104,
     949      -1,   338,   103,   126,   155,   127,   104,    -1,   338,   103,
     950     126,   111,   127,   104,    -1,   340,    -1,   341,   300,    -1,
     951     342,   300,    -1,   111,    -1,   111,   217,    -1,   111,   339,
     952      -1,   111,   217,   339,    -1,   101,   340,   102,    -1,   343,
     953      -1,   101,   340,   102,   343,    -1,   101,   341,   102,   338,
     954      -1,   101,   341,   102,    -1,   101,   126,   252,   127,   102,
     955      -1,   101,   340,   102,   101,   126,   252,   127,   102,    -1,
     956     101,   342,   102,    -1,   344,    -1,   344,   338,    -1,   338,
     957      -1,   103,   104,    -1,   103,   126,   217,   111,   127,   104,
     958      -1,   103,   126,   217,   127,   104,    -1,   103,   126,   217,
     959     155,   127,   104,    -1,   103,   126,     7,   216,   155,   127,
     960     104,    -1,   103,   126,   217,     7,   155,   127,   104,    -1,
     961     346,    -1,   347,   300,    -1,   348,   300,    -1,   111,    -1,
     962     111,   217,    -1,   111,   345,    -1,   111,   217,   345,    -1,
     963     101,   346,   102,    -1,   337,    -1,   101,   346,   102,   337,
     964      -1,   101,   347,   102,   338,    -1,   101,   347,   102,    -1,
     965     101,   346,   102,   101,   126,   252,   127,   102,    -1,   101,
     966     348,   102,    -1,   350,    -1,   358,    -1,   217,   358,    -1,
     967     351,    -1,   352,    -1,   111,   215,    -1,   217,   111,   215,
     968      -1,   111,   359,    -1,   217,   111,   359,    -1,   111,   349,
     969      -1,   217,   111,   349,    -1,   103,   104,   215,    -1,   353,
     970     215,    -1,   103,   104,   338,   215,    -1,   353,   338,   215,
     971      -1,   338,   215,    -1,   103,   104,   351,    -1,   353,   351,
     972      -1,   103,   104,   338,   351,    -1,   353,   338,   351,    -1,
     973     338,   351,    -1,   103,   126,   217,   111,   127,   104,    -1,
     974     103,   126,   217,   155,   127,   104,    -1,   103,   126,   221,
     975     155,   127,   104,    -1,   103,   126,   221,   217,   155,   127,
     976     104,    -1,   358,    -1,   217,   358,    -1,   355,    -1,   356,
     977      -1,   357,    -1,   111,   215,    -1,   217,   111,   215,    -1,
     978     111,   359,    -1,   217,   111,   359,    -1,   111,   354,    -1,
     979     217,   111,   354,    -1,   103,   104,   215,    -1,   103,   104,
     980     338,   215,    -1,   338,   215,    -1,   103,   104,   356,    -1,
     981     103,   104,   338,   356,    -1,   338,   356,    -1,   103,   126,
     982     251,   127,   104,    -1,   103,   104,   101,   248,   102,    -1,
     983     358,   101,   126,   248,   127,   102,    -1,   208,   101,   126,
     984     248,   127,   102,    -1,    -1,   108,    -1,    -1,   123,   155,
     985      -1
    987986};
    988987
     
    992991       0,   288,   288,   294,   303,   304,   305,   309,   310,   311,
    993992     315,   316,   320,   324,   325,   329,   330,   336,   338,   340,
    994      342,   347,   348,   354,   356,   358,   359,   361,   362,   364,
    995      367,   372,   373,   379,   380,   381,   386,   388,   393,   394,
    996      398,   400,   402,   404,   406,   411,   414,   416,   418,   420,
    997      422,   424,   426,   428,   434,   436,   438,   440,   442,   444,
    998      446,   448,   453,   454,   455,   456,   460,   461,   463,   468,
    999      469,   471,   473,   478,   479,   481,   486,   487,   489,   494,
    1000      495,   497,   499,   501,   506,   507,   509,   514,   515,   520,
    1001      521,   526,   527,   532,   533,   538,   539,   544,   545,   547,
    1002      549,   554,   559,   560,   562,   564,   570,   571,   577,   579,
    1003      581,   583,   588,   589,   594,   595,   596,   597,   598,   599,
    1004      600,   601,   602,   603,   607,   608,   614,   615,   621,   622,
    1005      623,   624,   625,   626,   627,   628,   632,   639,   641,   651,
    1006      652,   657,   659,   661,   663,   667,   668,   673,   678,   681,
    1007      683,   685,   690,   692,   700,   701,   703,   707,   708,   713,
    1008      714,   719,   720,   724,   729,   730,   734,   736,   742,   743,
    1009      747,   749,   751,   753,   759,   760,   764,   765,   769,   771,
    1010      773,   778,   780,   785,   787,   791,   794,   798,   801,   805,
    1011      807,   809,   814,   816,   818,   827,   829,   831,   836,   838,
    1012      843,   856,   857,   862,   864,   869,   873,   875,   877,   879,
    1013      881,   887,   888,   894,   895,   899,   900,   905,   907,   913,
    1014      914,   916,   921,   923,   930,   932,   936,   937,   942,   944,
    1015      948,   949,   953,   955,   959,   960,   964,   965,   969,   970,
    1016      985,   986,   987,   988,   989,   993,   998,  1005,  1015,  1020,
    1017     1025,  1033,  1038,  1043,  1048,  1053,  1061,  1083,  1088,  1095,
    1018     1097,  1104,  1109,  1114,  1125,  1130,  1135,  1140,  1145,  1154,
    1019     1159,  1167,  1168,  1169,  1170,  1176,  1181,  1189,  1190,  1191,
    1020     1192,  1196,  1197,  1198,  1199,  1204,  1205,  1214,  1215,  1220,
    1021     1221,  1226,  1228,  1230,  1232,  1234,  1237,  1236,  1248,  1249,
    1022     1251,  1261,  1262,  1267,  1271,  1273,  1275,  1277,  1279,  1281,
    1023     1283,  1285,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
    1024     1306,  1308,  1310,  1312,  1318,  1319,  1321,  1323,  1325,  1330,
    1025     1331,  1337,  1338,  1340,  1342,  1347,  1349,  1351,  1353,  1358,
    1026     1359,  1361,  1363,  1368,  1369,  1371,  1376,  1377,  1379,  1381,
    1027     1386,  1388,  1390,  1395,  1396,  1400,  1402,  1404,  1406,  1408,
    1028     1413,  1415,  1420,  1422,  1427,  1428,  1430,  1431,  1436,  1437,
    1029     1439,  1441,  1446,  1448,  1454,  1455,  1457,  1460,  1463,  1468,
    1030     1469,  1474,  1479,  1483,  1485,  1487,  1492,  1494,  1500,  1501,
    1031     1509,  1510,  1514,  1515,  1516,  1518,  1520,  1527,  1528,  1530,
    1032     1532,  1537,  1538,  1544,  1545,  1549,  1550,  1555,  1556,  1557,
    1033     1559,  1567,  1568,  1570,  1573,  1575,  1579,  1580,  1581,  1583,
    1034     1585,  1589,  1594,  1602,  1603,  1612,  1614,  1619,  1620,  1621,
    1035     1625,  1626,  1627,  1631,  1632,  1633,  1637,  1638,  1639,  1644,
    1036     1645,  1646,  1647,  1653,  1654,  1659,  1660,  1664,  1665,  1666,
    1037     1667,  1682,  1683,  1688,  1689,  1696,  1698,  1700,  1703,  1705,
    1038     1707,  1730,  1731,  1733,  1735,  1740,  1741,  1743,  1748,  1753,
    1039     1754,  1760,  1759,  1763,  1767,  1769,  1771,  1777,  1778,  1783,
    1040     1788,  1790,  1795,  1797,  1798,  1800,  1805,  1807,  1809,  1814,
    1041     1816,  1821,  1826,  1834,  1840,  1839,  1853,  1854,  1859,  1860,
    1042     1864,  1869,  1874,  1882,  1887,  1898,  1899,  1910,  1911,  1917,
    1043     1918,  1922,  1923,  1924,  1927,  1926,  1937,  1942,  1947,  1953,
    1044     1962,  1968,  1974,  1980,  1986,  1994,  2000,  2008,  2014,  2023,
    1045     2024,  2025,  2029,  2033,  2035,  2040,  2041,  2045,  2046,  2051,
    1046     2057,  2058,  2061,  2063,  2064,  2068,  2069,  2070,  2071,  2105,
    1047     2107,  2108,  2110,  2115,  2120,  2125,  2127,  2129,  2134,  2136,
    1048     2138,  2140,  2145,  2147,  2157,  2159,  2160,  2165,  2167,  2169,
    1049     2174,  2176,  2178,  2183,  2185,  2187,  2196,  2197,  2198,  2202,
    1050     2204,  2206,  2211,  2213,  2215,  2220,  2222,  2224,  2239,  2241,
    1051     2242,  2244,  2249,  2250,  2255,  2257,  2259,  2264,  2266,  2268,
    1052     2270,  2275,  2277,  2279,  2289,  2291,  2292,  2294,  2299,  2301,
    1053     2303,  2308,  2310,  2312,  2314,  2319,  2321,  2323,  2354,  2356,
    1054     2357,  2359,  2364,  2369,  2377,  2379,  2381,  2386,  2388,  2393,
    1055     2395,  2409,  2410,  2412,  2417,  2419,  2421,  2423,  2425,  2430,
    1056     2431,  2433,  2435,  2440,  2442,  2444,  2450,  2452,  2454,  2458,
    1057     2460,  2462,  2464,  2478,  2479,  2481,  2486,  2488,  2490,  2492,
    1058     2494,  2499,  2500,  2502,  2504,  2509,  2511,  2513,  2519,  2520,
    1059     2522,  2531,  2534,  2536,  2539,  2541,  2543,  2556,  2557,  2559,
    1060     2564,  2566,  2568,  2570,  2572,  2577,  2578,  2580,  2582,  2587,
    1061     2589,  2597,  2598,  2599,  2604,  2605,  2609,  2611,  2613,  2615,
    1062     2617,  2619,  2626,  2628,  2630,  2632,  2634,  2636,  2638,  2640,
    1063     2642,  2644,  2649,  2651,  2653,  2658,  2684,  2685,  2687,  2691,
    1064     2692,  2696,  2698,  2700,  2702,  2704,  2706,  2713,  2715,  2717,
    1065     2719,  2721,  2723,  2728,  2733,  2735,  2737,  2755,  2757,  2762,
    1066     2763
     993     342,   344,   346,   351,   352,   358,   360,   362,   363,   365,
     994     366,   368,   371,   376,   377,   383,   384,   385,   390,   392,
     995     397,   398,   402,   404,   406,   408,   410,   415,   416,   418,
     996     420,   422,   424,   426,   432,   434,   436,   438,   440,   442,
     997     444,   446,   451,   452,   453,   454,   458,   459,   461,   466,
     998     467,   469,   471,   476,   477,   479,   484,   485,   487,   492,
     999     493,   495,   497,   499,   504,   505,   507,   512,   513,   518,
     1000     519,   524,   525,   530,   531,   536,   537,   542,   543,   545,
     1001     547,   552,   557,   558,   560,   562,   568,   569,   575,   577,
     1002     579,   581,   586,   587,   592,   593,   594,   595,   596,   597,
     1003     598,   599,   600,   601,   605,   606,   612,   613,   619,   620,
     1004     621,   622,   623,   624,   625,   626,   630,   637,   639,   649,
     1005     650,   655,   657,   659,   661,   665,   666,   671,   676,   679,
     1006     681,   683,   688,   690,   698,   699,   701,   705,   706,   711,
     1007     712,   717,   718,   722,   727,   728,   732,   734,   740,   741,
     1008     745,   747,   749,   751,   757,   758,   762,   763,   767,   769,
     1009     771,   776,   778,   783,   785,   789,   792,   796,   799,   803,
     1010     805,   807,   812,   814,   816,   825,   827,   829,   834,   836,
     1011     841,   854,   855,   860,   862,   867,   871,   873,   875,   877,
     1012     879,   885,   886,   892,   893,   897,   898,   903,   905,   911,
     1013     912,   914,   919,   921,   928,   930,   934,   935,   940,   942,
     1014     946,   947,   951,   953,   957,   958,   962,   963,   967,   968,
     1015     983,   984,   985,   986,   987,   991,   996,  1003,  1013,  1018,
     1016    1023,  1031,  1036,  1041,  1046,  1051,  1059,  1081,  1086,  1093,
     1017    1095,  1102,  1107,  1112,  1123,  1128,  1133,  1138,  1143,  1152,
     1018    1157,  1165,  1166,  1167,  1168,  1174,  1179,  1187,  1188,  1189,
     1019    1190,  1194,  1195,  1196,  1197,  1202,  1203,  1212,  1213,  1218,
     1020    1219,  1224,  1226,  1228,  1230,  1232,  1235,  1234,  1246,  1247,
     1021    1249,  1259,  1260,  1265,  1269,  1271,  1273,  1275,  1277,  1279,
     1022    1281,  1283,  1288,  1290,  1292,  1294,  1296,  1298,  1300,  1302,
     1023    1304,  1306,  1308,  1310,  1316,  1317,  1319,  1321,  1323,  1328,
     1024    1329,  1335,  1336,  1338,  1340,  1345,  1347,  1349,  1351,  1356,
     1025    1357,  1359,  1361,  1366,  1367,  1369,  1374,  1375,  1377,  1379,
     1026    1384,  1386,  1388,  1393,  1394,  1398,  1400,  1402,  1404,  1406,
     1027    1411,  1413,  1418,  1420,  1425,  1426,  1428,  1429,  1434,  1435,
     1028    1437,  1439,  1444,  1446,  1452,  1453,  1455,  1458,  1461,  1466,
     1029    1467,  1472,  1477,  1481,  1483,  1485,  1490,  1492,  1498,  1499,
     1030    1507,  1508,  1512,  1513,  1514,  1516,  1518,  1525,  1526,  1528,
     1031    1530,  1535,  1536,  1542,  1543,  1547,  1548,  1553,  1554,  1555,
     1032    1557,  1565,  1566,  1568,  1571,  1573,  1577,  1578,  1579,  1581,
     1033    1583,  1587,  1592,  1600,  1601,  1610,  1612,  1617,  1618,  1619,
     1034    1623,  1624,  1625,  1629,  1630,  1631,  1635,  1636,  1637,  1642,
     1035    1643,  1644,  1645,  1651,  1652,  1657,  1658,  1662,  1663,  1664,
     1036    1665,  1680,  1681,  1686,  1687,  1693,  1695,  1698,  1700,  1702,
     1037    1725,  1726,  1728,  1730,  1735,  1736,  1738,  1743,  1748,  1749,
     1038    1755,  1754,  1758,  1762,  1764,  1766,  1772,  1773,  1778,  1783,
     1039    1785,  1790,  1792,  1793,  1795,  1800,  1802,  1804,  1809,  1811,
     1040    1816,  1821,  1829,  1835,  1834,  1848,  1849,  1854,  1855,  1859,
     1041    1864,  1869,  1877,  1882,  1893,  1894,  1905,  1906,  1912,  1913,
     1042    1917,  1918,  1919,  1922,  1921,  1932,  1937,  1942,  1948,  1957,
     1043    1963,  1969,  1975,  1981,  1989,  1995,  2003,  2009,  2018,  2019,
     1044    2020,  2024,  2028,  2030,  2035,  2036,  2040,  2041,  2046,  2052,
     1045    2053,  2056,  2058,  2059,  2063,  2064,  2065,  2066,  2100,  2102,
     1046    2103,  2105,  2110,  2115,  2120,  2122,  2124,  2129,  2131,  2133,
     1047    2135,  2140,  2142,  2152,  2154,  2155,  2160,  2162,  2164,  2169,
     1048    2171,  2173,  2178,  2180,  2182,  2191,  2192,  2193,  2197,  2199,
     1049    2201,  2206,  2208,  2210,  2215,  2217,  2219,  2234,  2236,  2237,
     1050    2239,  2244,  2245,  2250,  2252,  2254,  2259,  2261,  2263,  2265,
     1051    2270,  2272,  2274,  2284,  2286,  2287,  2289,  2294,  2296,  2298,
     1052    2303,  2305,  2307,  2309,  2314,  2316,  2318,  2349,  2351,  2352,
     1053    2354,  2359,  2364,  2372,  2374,  2376,  2381,  2383,  2388,  2390,
     1054    2404,  2405,  2407,  2412,  2414,  2416,  2418,  2420,  2425,  2426,
     1055    2428,  2430,  2435,  2437,  2439,  2445,  2447,  2449,  2453,  2455,
     1056    2457,  2459,  2473,  2474,  2476,  2481,  2483,  2485,  2487,  2489,
     1057    2494,  2495,  2497,  2499,  2504,  2506,  2508,  2514,  2515,  2517,
     1058    2526,  2529,  2531,  2534,  2536,  2538,  2551,  2552,  2554,  2559,
     1059    2561,  2563,  2565,  2567,  2572,  2573,  2575,  2577,  2582,  2584,
     1060    2592,  2593,  2594,  2599,  2600,  2604,  2606,  2608,  2610,  2612,
     1061    2614,  2621,  2623,  2625,  2627,  2629,  2631,  2633,  2635,  2637,
     1062    2639,  2644,  2646,  2648,  2653,  2679,  2680,  2682,  2686,  2687,
     1063    2691,  2693,  2695,  2697,  2699,  2701,  2708,  2710,  2712,  2714,
     1064    2716,  2718,  2723,  2728,  2730,  2732,  2750,  2752,  2757,  2758
    10671065};
    10681066#endif
     
    11151113  "asm_operand", "asm_clobbers_list_opt", "label_list",
    11161114  "declaration_list_opt", "declaration_list", "old_declaration_list_opt",
    1117   "old_declaration_list", "local_label_declaration_opt",
    1118   "local_label_declaration_list", "local_label_list", "declaration",
    1119   "new_declaration", "new_variable_declaration", "new_variable_specifier",
     1115  "old_declaration_list", "label_declaration_opt",
     1116  "label_declaration_list", "declaration", "new_declaration",
     1117  "new_variable_declaration", "new_variable_specifier",
    11201118  "new_function_declaration", "new_function_specifier",
    11211119  "new_function_return", "new_typedef_declaration", "typedef_declaration",
     
    12061204       0,   125,   126,   127,   128,   128,   128,   129,   129,   129,
    12071205     130,   130,   131,   132,   132,   133,   133,   134,   134,   134,
    1208      134,   135,   135,   135,   135,   135,   135,   135,   135,   135,
    1209      135,   136,   136,   137,   137,   137,   137,   137,   138,   138,
    1210      139,   139,   139,   139,   139,   140,   140,   140,   140,   140,
     1206     134,   134,   134,   135,   135,   135,   135,   135,   135,   135,
     1207     135,   135,   135,   136,   136,   137,   137,   137,   137,   137,
     1208     138,   138,   139,   139,   139,   139,   139,   140,   140,   140,
    12111209     140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
    12121210     140,   140,   141,   141,   141,   141,   142,   142,   142,   143,
     
    12271225     189,   190,   190,   191,   191,   192,   192,   193,   193,   194,
    12281226     194,   194,   195,   195,   196,   196,   197,   197,   198,   198,
    1229      199,   199,   200,   200,   201,   201,   202,   202,   203,   203,
    1230      204,   204,   204,   204,   204,   205,   205,   205,   206,   206,
    1231      206,   207,   207,   207,   207,   207,   208,   208,   208,   209,
    1232      209,   210,   210,   210,   211,   211,   211,   211,   211,   212,
    1233      212,   213,   213,   213,   213,   214,   214,   215,   215,   215,
    1234      215,   216,   216,   216,   216,   217,   217,   218,   218,   219,
    1235      219,   220,   220,   220,   220,   220,   221,   220,   222,   222,
    1236      222,   223,   223,   224,   225,   225,   225,   225,   225,   225,
    1237      225,   225,   226,   226,   226,   226,   226,   226,   226,   226,
    1238      226,   226,   226,   226,   227,   227,   227,   227,   227,   228,
    1239      228,   229,   229,   229,   229,   230,   230,   230,   230,   231,
    1240      231,   231,   231,   232,   232,   232,   233,   233,   233,   233,
    1241      234,   234,   234,   235,   235,   236,   236,   236,   236,   236,
    1242      237,   237,   238,   238,   239,   239,   239,   239,   240,   240,
    1243      240,   240,   241,   241,   242,   242,   242,   242,   242,   243,
    1244      243,   244,   245,   246,   246,   246,   247,   247,   248,   248,
    1245      249,   249,   250,   250,   250,   250,   250,   251,   251,   251,
    1246      251,   252,   252,   253,   253,   254,   254,   255,   255,   255,
    1247      255,   256,   256,   256,   256,   256,   257,   257,   257,   257,
    1248      257,   258,   258,   259,   259,   260,   260,   261,   261,   261,
    1249      262,   262,   262,   263,   263,   263,   264,   264,   264,   265,
    1250      265,   265,   265,   266,   266,   267,   267,   268,   268,   268,
    1251      268,   269,   269,   270,   270,   271,   271,   271,   271,   271,
    1252      271,   272,   272,   272,   272,   273,   273,   273,   274,   275,
    1253      275,   277,   276,   276,   278,   278,   278,   279,   279,   280,
    1254      280,   280,   281,   281,   281,   281,   282,   282,   282,   283,
    1255      283,   284,   284,   285,   286,   285,   287,   287,   288,   288,
    1256      289,   289,   289,   290,   290,   291,   291,   292,   292,   293,
    1257      293,   294,   294,   294,   295,   294,   294,   296,   296,   296,
    1258      297,   297,   297,   297,   297,   297,   297,   297,   297,   298,
    1259      298,   298,   299,   300,   300,   301,   301,   302,   302,   303,
    1260      304,   304,   305,   305,   305,   306,   306,   306,   306,   307,
    1261      307,   307,   307,   308,   308,   309,   309,   309,   310,   310,
    1262      310,   310,   311,   311,   312,   312,   312,   313,   313,   313,
    1263      314,   314,   314,   315,   315,   315,   316,   316,   316,   317,
    1264      317,   317,   318,   318,   318,   319,   319,   319,   320,   320,
    1265      320,   320,   321,   321,   322,   322,   322,   323,   323,   323,
    1266      323,   324,   324,   324,   325,   325,   325,   325,   326,   326,
    1267      326,   327,   327,   327,   327,   328,   328,   328,   329,   329,
    1268      329,   329,   330,   330,   331,   331,   331,   332,   332,   333,
    1269      333,   334,   334,   334,   335,   335,   335,   335,   335,   336,
    1270      336,   336,   336,   337,   337,   337,   338,   338,   338,   339,
    1271      339,   339,   339,   340,   340,   340,   341,   341,   341,   341,
    1272      341,   342,   342,   342,   342,   343,   343,   343,   344,   344,
    1273      344,   345,   345,   345,   345,   345,   345,   346,   346,   346,
    1274      347,   347,   347,   347,   347,   348,   348,   348,   348,   349,
    1275      349,   350,   350,   350,   351,   351,   352,   352,   352,   352,
    1276      352,   352,   353,   353,   353,   353,   353,   353,   353,   353,
    1277      353,   353,   354,   354,   354,   354,   355,   355,   355,   356,
    1278      356,   357,   357,   357,   357,   357,   357,   358,   358,   358,
    1279      358,   358,   358,   359,   360,   360,   360,   361,   361,   362,
    1280      362
     1227     199,   199,   200,   200,   201,   201,   195,   195,   202,   202,
     1228     203,   203,   203,   203,   203,   204,   204,   204,   205,   205,
     1229     205,   206,   206,   206,   206,   206,   207,   207,   207,   208,
     1230     208,   209,   209,   209,   210,   210,   210,   210,   210,   211,
     1231     211,   212,   212,   212,   212,   213,   213,   214,   214,   214,
     1232     214,   215,   215,   215,   215,   216,   216,   217,   217,   218,
     1233     218,   219,   219,   219,   219,   219,   220,   219,   221,   221,
     1234     221,   222,   222,   223,   224,   224,   224,   224,   224,   224,
     1235     224,   224,   225,   225,   225,   225,   225,   225,   225,   225,
     1236     225,   225,   225,   225,   226,   226,   226,   226,   226,   227,
     1237     227,   228,   228,   228,   228,   229,   229,   229,   229,   230,
     1238     230,   230,   230,   231,   231,   231,   232,   232,   232,   232,
     1239     233,   233,   233,   234,   234,   235,   235,   235,   235,   235,
     1240     236,   236,   237,   237,   238,   238,   238,   238,   239,   239,
     1241     239,   239,   240,   240,   241,   241,   241,   241,   241,   242,
     1242     242,   243,   244,   245,   245,   245,   246,   246,   247,   247,
     1243     248,   248,   249,   249,   249,   249,   249,   250,   250,   250,
     1244     250,   251,   251,   252,   252,   253,   253,   254,   254,   254,
     1245     254,   255,   255,   255,   255,   255,   256,   256,   256,   256,
     1246     256,   257,   257,   258,   258,   259,   259,   260,   260,   260,
     1247     261,   261,   261,   262,   262,   262,   263,   263,   263,   264,
     1248     264,   264,   264,   265,   265,   266,   266,   267,   267,   267,
     1249     267,   268,   268,   269,   269,   270,   270,   270,   270,   270,
     1250     271,   271,   271,   271,   272,   272,   272,   273,   274,   274,
     1251     276,   275,   275,   277,   277,   277,   278,   278,   279,   279,
     1252     279,   280,   280,   280,   280,   281,   281,   281,   282,   282,
     1253     283,   283,   284,   285,   284,   286,   286,   287,   287,   288,
     1254     288,   288,   289,   289,   290,   290,   291,   291,   292,   292,
     1255     293,   293,   293,   294,   293,   293,   295,   295,   295,   296,
     1256     296,   296,   296,   296,   296,   296,   296,   296,   297,   297,
     1257     297,   298,   299,   299,   300,   300,   301,   301,   302,   303,
     1258     303,   304,   304,   304,   305,   305,   305,   305,   306,   306,
     1259     306,   306,   307,   307,   308,   308,   308,   309,   309,   309,
     1260     309,   310,   310,   311,   311,   311,   312,   312,   312,   313,
     1261     313,   313,   314,   314,   314,   315,   315,   315,   316,   316,
     1262     316,   317,   317,   317,   318,   318,   318,   319,   319,   319,
     1263     319,   320,   320,   321,   321,   321,   322,   322,   322,   322,
     1264     323,   323,   323,   324,   324,   324,   324,   325,   325,   325,
     1265     326,   326,   326,   326,   327,   327,   327,   328,   328,   328,
     1266     328,   329,   329,   330,   330,   330,   331,   331,   332,   332,
     1267     333,   333,   333,   334,   334,   334,   334,   334,   335,   335,
     1268     335,   335,   336,   336,   336,   337,   337,   337,   338,   338,
     1269     338,   338,   339,   339,   339,   340,   340,   340,   340,   340,
     1270     341,   341,   341,   341,   342,   342,   342,   343,   343,   343,
     1271     344,   344,   344,   344,   344,   344,   345,   345,   345,   346,
     1272     346,   346,   346,   346,   347,   347,   347,   347,   348,   348,
     1273     349,   349,   349,   350,   350,   351,   351,   351,   351,   351,
     1274     351,   352,   352,   352,   352,   352,   352,   352,   352,   352,
     1275     352,   353,   353,   353,   353,   354,   354,   354,   355,   355,
     1276     356,   356,   356,   356,   356,   356,   357,   357,   357,   357,
     1277     357,   357,   358,   359,   359,   359,   360,   360,   361,   361
    12811278};
    12821279
     
    12851282{
    12861283       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
    1287        1,     1,     1,     1,     1,     1,     2,     1,     1,     3,
    1288        3,     1,     6,     4,     3,     7,     3,     7,     2,     2,
    1289        7,     1,     3,     0,     1,     3,     7,     9,     1,     3,
    1290        1,     3,     7,     3,     7,     1,     1,     1,     2,     2,
     1284       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
     1285       1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
     1286       2,     2,     7,     1,     3,     0,     1,     3,     7,     9,
     1287       1,     3,     1,     3,     7,     3,     7,     1,     2,     2,
    12911288       2,     2,     2,     2,     2,     4,     1,     4,     4,     2,
    12921289       4,     2,     1,     1,     1,     1,     1,     4,     4,     1,
     
    13291326       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    13301327       1,     1,     2,     0,     2,     1,     4,     1,     2,     3,
    1331        4,     2,     2,     1,     2,     1,     2,     5,     5,     7,
    1332        6,     1,     2,     2,     3,     1,     2,     2,     4,     2,
    1333        4,     0,     4,     2,     1,     1,     1,     0,     2,     5,
    1334        5,    13,     1,     1,     3,     3,     2,     3,     3,     2,
    1335        4,     1,     6,     9,     0,    11,     1,     3,     3,     3,
    1336        1,     1,     5,     2,     5,     0,     1,     1,     3,     0,
    1337        1,     1,     1,     1,     0,     6,     2,     1,     2,     4,
    1338        2,     3,     3,     3,     4,     5,     5,     5,     6,     1,
    1339        1,     1,     3,     0,     5,     0,     1,     1,     2,     6,
    1340        1,     3,     0,     1,     4,     1,     1,     1,     1,     2,
    1341        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1342        4,     3,     8,     3,     2,     1,     2,     6,     8,     3,
    1343        2,     3,     3,     4,     4,     3,     1,     1,     1,     4,
    1344        6,     3,     2,     3,     3,     4,     4,     3,     2,     1,
     1328       4,     2,     2,     1,     2,     2,     5,     5,     7,     6,
     1329       1,     2,     2,     3,     1,     2,     2,     4,     2,     4,
     1330       0,     4,     2,     1,     1,     1,     0,     2,     5,     5,
     1331      13,     1,     1,     3,     3,     2,     3,     3,     2,     4,
     1332       1,     6,     9,     0,    11,     1,     3,     3,     3,     1,
     1333       1,     5,     2,     5,     0,     1,     1,     3,     0,     1,
     1334       1,     1,     1,     0,     6,     2,     1,     2,     4,     2,
     1335       3,     3,     3,     4,     5,     5,     5,     6,     1,     1,
     1336       1,     3,     0,     5,     0,     1,     1,     2,     6,     1,
     1337       3,     0,     1,     4,     1,     1,     1,     1,     2,     1,
    13451338       2,     2,     1,     3,     2,     3,     3,     2,     4,     4,
    1346        3,     6,     8,     3,     2,     1,     2,     2,     2,     3,
    1347        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1348        2,     2,     1,     1,     2,     3,     3,     2,     4,     6,
    1349        8,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1350        4,     4,     3,     5,     8,     3,     2,     3,     1,     5,
    1351        5,     6,     6,     1,     2,     2,     1,     2,     2,     3,
    1352        3,     1,     4,     4,     3,     5,     8,     3,     1,     2,
    1353        1,     2,     6,     5,     6,     7,     7,     1,     2,     2,
    1354        1,     2,     2,     3,     3,     1,     4,     4,     3,     8,
    1355        3,     1,     1,     2,     1,     1,     2,     3,     2,     3,
    1356        2,     3,     3,     2,     4,     3,     2,     3,     2,     4,
    1357        3,     2,     6,     6,     6,     7,     1,     2,     1,     1,
    1358        1,     2,     3,     2,     3,     2,     3,     3,     4,     2,
    1359        3,     4,     2,     5,     5,     6,     6,     0,     1,     0,
    1360        2
     1339       3,     8,     3,     2,     1,     2,     6,     8,     3,     2,
     1340       3,     3,     4,     4,     3,     1,     1,     1,     4,     6,
     1341       3,     2,     3,     3,     4,     4,     3,     2,     1,     2,
     1342       2,     1,     3,     2,     3,     3,     2,     4,     4,     3,
     1343       6,     8,     3,     2,     1,     2,     2,     2,     3,     3,
     1344       2,     4,     4,     3,     6,     8,     3,     2,     1,     2,
     1345       2,     1,     1,     2,     3,     3,     2,     4,     6,     8,
     1346       1,     2,     2,     1,     2,     2,     3,     3,     1,     4,
     1347       4,     3,     5,     8,     3,     2,     3,     1,     5,     5,
     1348       6,     6,     1,     2,     2,     1,     2,     2,     3,     3,
     1349       1,     4,     4,     3,     5,     8,     3,     1,     2,     1,
     1350       2,     6,     5,     6,     7,     7,     1,     2,     2,     1,
     1351       2,     2,     3,     3,     1,     4,     4,     3,     8,     3,
     1352       1,     1,     2,     1,     1,     2,     3,     2,     3,     2,
     1353       3,     3,     2,     4,     3,     2,     3,     2,     4,     3,
     1354       2,     6,     6,     6,     7,     1,     2,     1,     1,     1,
     1355       2,     3,     2,     3,     2,     3,     3,     4,     2,     3,
     1356       4,     2,     5,     5,     6,     6,     0,     1,     0,     2
    13611357};
    13621358
     
    13681364     285,   285,   306,   304,   307,   305,   308,   309,   291,   293,
    13691365     292,     0,   294,   320,   312,   317,   315,   316,   314,   313,
    1370      318,   319,   321,   322,   323,   535,   535,   535,     0,     0,
     1366     318,   319,   321,   322,   323,   534,   534,   534,     0,     0,
    13711367       0,   285,   211,   295,   310,   311,     7,   350,     0,     8,
    1372       13,    14,     0,     2,   285,   553,     9,   513,   511,   238,
     1368      13,    14,     0,     2,   285,   552,     9,   512,   510,   238,
    13731369       3,   443,     3,   251,     0,     3,     3,     3,   239,     3,
    13741370       0,     0,     0,   286,   287,   289,   285,   298,   301,   303,
    13751371     331,   277,   324,   329,   278,   339,   279,   346,   343,   353,
    1376        0,     0,   354,   280,   461,   465,     3,     3,     0,     2,
    1377      507,   512,   517,   290,     0,     0,   535,   565,   535,     2,
    1378      576,   577,   578,   285,     0,   719,   720,     0,    12,   285,
    1379        0,   261,   262,     0,   286,   281,   282,   283,   284,   514,
    1380      296,   382,   536,   537,   360,   361,    12,   434,   435,    11,
    1381      430,   433,     0,   491,   486,   477,   434,   435,     0,     0,
    1382      516,   212,     0,   285,     0,     0,     0,     0,     0,     0,
    1383        0,     0,   285,   285,     2,     0,   721,   286,   570,   582,
    1384      725,   718,   716,   723,     0,     0,   245,     2,     0,   520,
    1385      428,   429,   427,     0,     0,     0,     0,   535,     0,   622,
    1386      623,     0,     0,   533,   529,   535,   550,   535,   535,   530,
    1387        2,   531,   535,   589,   535,   535,   592,     0,     0,     0,
     1372       0,     0,   354,   280,   460,   464,     3,     3,     0,     2,
     1373     506,   511,   516,   290,     0,     0,   534,   564,   534,     2,
     1374     575,   576,   577,   285,     0,   718,   719,     0,    12,   285,
     1375       0,   261,   262,     0,   286,   281,   282,   283,   284,   513,
     1376     296,   382,   535,   536,   360,   361,    12,   434,   435,    11,
     1377     430,   433,     0,   490,   485,   476,   434,   435,     0,     0,
     1378     515,   212,     0,   285,     0,     0,     0,     0,     0,     0,
     1379       0,     0,   285,   285,     2,     0,   720,   286,   569,   581,
     1380     724,   717,   715,   722,     0,     0,   245,     2,     0,   519,
     1381     428,   429,   427,     0,     0,     0,     0,   534,     0,   621,
     1382     622,     0,     0,   532,   528,   534,   549,   534,   534,   529,
     1383       2,   530,   534,   588,   534,   534,   591,     0,     0,     0,
    13881384     285,   285,   304,   351,     2,   285,   252,   288,   299,   332,
    1389      344,   466,     0,     2,     0,   443,   253,   286,   325,   340,
    1390      347,   462,     0,     2,     0,   302,   326,   333,   334,     0,
     1385     344,   465,     0,     2,     0,   443,   253,   286,   325,   340,
     1386     347,   461,     0,     2,     0,   302,   326,   333,   334,     0,
    13911387     341,   345,   348,   352,   435,   285,   285,   356,   359,     0,
    1392      385,   463,   467,     0,     0,     0,     1,   285,     2,   518,
    1393      564,   566,   285,     2,   729,   286,   732,   533,   533,   286,
    1394        0,     0,     0,   264,   535,   530,     2,   285,     0,     0,
    1395      285,   538,     2,   489,     2,   542,     0,     0,     0,     0,
     1388     385,   462,   466,     0,     0,     0,     1,   285,     2,   517,
     1389     563,   565,   285,     2,   728,   286,   731,   532,   532,   286,
     1390       0,     0,     0,   264,   534,   529,     2,   285,     0,     0,
     1391     285,   537,     2,   488,     2,   541,     0,     0,     0,     0,
    13961392       0,    17,    56,     4,     5,     6,    15,     0,     0,     0,
    1397      285,     2,     0,   285,    62,    63,    64,    65,    46,    18,
    1398       47,    21,    45,    66,     0,    69,    73,    76,    79,    84,
    1399       87,    89,    91,    93,    95,    97,   102,   483,   739,   441,
    1400      482,     0,   439,   440,     0,   554,   569,   572,   575,   581,
    1401      584,   587,   350,     0,     2,   727,     0,   285,   730,     2,
     1393     285,     2,     0,   285,    62,    63,    64,    65,    19,    18,
     1394      20,    23,    47,    66,     0,    69,    73,    76,    79,    84,
     1395      87,    89,    91,    93,    95,    97,   102,   482,   738,   441,
     1396     481,     0,   439,   440,     0,   553,   568,   571,   574,   580,
     1397     583,   586,   350,     0,     2,   726,     0,   285,   729,     2,
    14021398     285,     3,   415,     0,   423,   286,   285,   298,   324,   278,
    1403      339,   346,     3,     3,   397,   401,   411,   416,   461,   285,
    1404      417,   694,   695,   285,   418,   420,   285,     2,   571,   583,
    1405      717,     2,     2,   240,     2,     0,     0,   445,   444,   137,
     1399     339,   346,     3,     3,   397,   401,   411,   416,   460,   285,
     1400     417,   693,   694,   285,   418,   420,   285,     2,   570,   582,
     1401     716,     2,     2,   240,     2,     0,     0,   445,   444,   137,
    14061402       2,     2,   242,     2,     2,   241,     2,   272,     2,   273,
    14071403       0,   271,     0,     0,     0,     0,     0,     0,     0,     0,
    1408        0,   555,   594,     0,   443,     2,   549,   558,   648,   551,
    1409      552,   521,   285,     2,   588,   597,   590,   591,     0,   267,
    1410      285,   285,   330,   286,     0,   286,     0,   285,   722,   726,
    1411      724,   522,   285,   533,   246,   254,   300,     0,     2,   523,
    1412      285,   487,   327,   328,   274,   342,   349,     0,   285,     2,
    1413      374,   285,   362,     0,     0,   368,   716,   285,   737,   388,
    1414        0,   464,   488,   243,   244,   508,   285,   425,     0,   285,
     1404       0,   554,   593,     0,   443,     2,   548,   557,   647,   550,
     1405     551,   520,   285,     2,   587,   596,   589,   590,     0,   267,
     1406     285,   285,   330,   286,     0,   286,     0,   285,   721,   725,
     1407     723,   521,   285,   532,   246,   254,   300,     0,     2,   522,
     1408     285,   486,   327,   328,   274,   342,   349,     0,   285,     2,
     1409     374,   285,   362,     0,     0,   368,   715,   285,   736,   388,
     1410       0,   463,   487,   243,   244,   507,   285,   425,     0,   285,
    14151411     228,     0,     2,   230,     0,   286,     0,   248,     2,   249,
    1416      269,     0,     0,     2,   285,   533,   285,   474,   476,   475,
    1417        0,     0,   739,     0,   285,     0,   285,   478,   285,   548,
    1418      546,   547,   545,     0,   540,   543,     0,     0,   285,    54,
     1412     269,     0,     0,     2,   285,   532,   285,   473,   475,   474,
     1413       0,     0,   738,     0,   285,     0,   285,   477,   285,   547,
     1414     545,   546,   544,     0,   539,   542,     0,     0,   285,    54,
    14191415      66,    50,   285,    59,   285,   285,    48,    49,    61,     2,
    14201416     124,     0,     0,   437,     0,   436,   108,   285,    52,    53,
    1421       16,     0,    28,    29,    33,     2,     0,   114,   115,   116,
     1417      16,     0,    30,    31,    35,     2,     0,   114,   115,   116,
    14221418     117,   118,   119,   120,   121,   122,   123,     0,     0,    51,
    14231419       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    14241420       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1425      105,     2,   634,   442,   631,   535,   535,   639,   468,   285,
    1426        2,   573,   574,     0,   585,   586,     0,     2,   728,   731,
    1427      108,   285,     2,   285,     0,   696,   286,   700,   691,   692,
    1428      698,     0,     2,     2,   656,   535,   739,   605,   535,   535,
    1429      739,   535,   619,   535,   535,   670,   424,   653,   535,   535,
    1430      661,   668,   285,   419,   286,     0,     0,   285,   706,   286,
    1431      711,   739,   703,   285,   708,   739,   285,   285,   285,     0,
    1432      108,     0,    17,     5,     2,     0,     0,   447,   737,     0,
    1433        0,   453,   232,     0,   285,     0,     0,     0,   533,   557,
    1434      561,   563,   593,   596,   600,   603,   556,   595,     0,   275,
    1435      646,     0,   285,   268,     0,     0,     0,     0,   266,     2,
    1436        0,   250,   524,   285,     0,     0,     0,     0,   285,   285,
    1437        0,     0,   680,   372,   375,   379,   535,   379,   685,   378,
    1438      677,   535,   535,   355,   363,   371,   364,   535,   366,   369,
    1439      285,   738,     0,     0,   386,   737,   286,     3,   404,     3,
    1440      408,   407,   579,     0,   519,   285,     3,     3,   285,   423,
    1441      286,     3,   417,   418,     2,     0,     0,     0,   473,   297,
    1442      285,   469,   471,     3,     2,     2,     0,   490,     3,     0,
    1443      542,   126,     0,     0,   213,     0,     0,     2,     0,     0,
    1444       34,     0,     0,   108,   285,    19,     0,    20,     0,   680,
    1445      438,     0,   106,     3,     2,    26,     2,     0,    31,     0,
    1446        2,    24,   103,   104,    70,    71,    72,    74,    75,    77,
    1447       78,    82,    83,    80,    81,    85,    86,    88,    90,    92,
    1448       94,    96,     0,     0,   740,   285,     0,     0,     0,   635,
    1449      636,   632,   633,   485,   484,   285,     0,     3,   285,   702,
    1450      285,   707,   286,   285,   285,   285,   650,   693,   649,     2,
    1451      285,     0,     0,     0,     0,     0,     0,     0,     0,   671,
    1452        0,   657,   608,   624,   658,     2,   604,   611,   421,   606,
    1453      607,   422,     2,   618,   627,   620,   621,   654,   655,   669,
    1454      697,   701,   699,   739,   259,     2,   733,     2,   412,   705,
    1455      710,   413,     0,   391,     3,     3,     3,     3,   443,     3,
    1456        0,     2,   456,   452,   738,     0,   448,   455,     2,   451,
    1457      454,     0,   285,   233,   255,     3,   263,   265,     0,   443,
    1458        2,   559,   560,     2,   598,   599,     0,   647,   525,     3,
    1459      336,   335,   338,   337,   285,   526,     0,   527,   285,   365,
    1460      367,     2,     0,     0,     0,     0,   101,   381,   681,   682,
    1461      376,   380,   377,   678,   679,   370,   374,   357,   388,   383,
    1462      389,     0,     0,     0,   426,   231,     0,     0,     3,     2,
    1463      656,   419,     0,   515,     0,   739,   477,     0,   285,   285,
    1464      285,     0,   539,   541,   127,     0,     0,   206,     0,     0,
    1465        0,   214,   215,    55,    60,   285,     0,    58,    57,     0,
    1466      125,   681,     0,    67,    68,   107,   112,     3,   106,     0,
    1467        0,     0,    23,    33,     3,     0,    99,     0,     3,   638,
    1468      642,   645,   637,     3,   580,     3,   704,   709,     2,   285,
    1469        3,     3,   286,     0,     3,   610,   614,   617,   626,   660,
    1470      664,   667,   285,     3,   609,   625,   659,   285,   285,   414,
    1471      285,   285,   734,     0,     0,     0,     0,   247,     0,   101,
    1472        0,     3,     3,     0,   449,     0,   446,     0,     0,   236,
    1473      285,     0,     0,   126,     0,     0,     0,     0,     0,   126,
    1474        0,     0,     0,     2,     0,     0,     3,   128,   129,     2,
    1475      139,   130,   131,   132,   133,   134,   135,   141,   143,     0,
    1476        0,     0,   276,   285,   285,   535,     0,   528,   285,   108,
    1477      684,   688,   690,   683,   373,   387,   384,   567,     2,   652,
    1478      651,     0,   657,     2,   470,   472,   492,     3,   500,   501,
    1479        0,     2,   496,     3,     3,     0,     0,   544,   213,     0,
    1480        0,     0,   213,     0,     3,    35,   737,   106,     0,     3,
    1481      649,    40,     3,    38,     3,    32,     0,     3,    98,   100,
    1482        0,     2,   640,   641,     0,     0,   285,     0,     0,     0,
    1483        3,   626,     0,     2,   612,   613,     2,   628,     2,   662,
    1484      663,     0,     0,     3,     0,     3,     3,     3,     3,   399,
    1485      398,   402,     2,     2,   736,   735,   109,     0,     0,     0,
    1486        0,     3,   450,     3,     0,   234,   142,     3,   286,   285,
    1487        0,     0,     0,     0,     2,   187,     0,   185,     0,     0,
    1488        0,     0,     0,     0,   191,     0,   108,   535,   147,   144,
    1489      285,     0,     0,   258,   270,     3,     3,   534,   601,   358,
    1490        2,   686,   687,   285,   257,   285,     0,   503,   480,   285,
    1491        0,     0,   479,   494,     0,     0,     0,   207,     0,   216,
    1492      106,     0,     0,   113,   110,     0,     0,     0,     0,     0,
    1493        0,    22,     0,   643,   285,   568,   256,   712,   713,   714,
    1494        0,   665,   285,   285,   285,     3,     3,     0,   673,     0,
    1495        0,     0,     0,   285,   285,     3,   532,   457,   458,     0,
    1496        0,   237,   286,     0,     0,     0,     0,   285,   188,   186,
     1421     105,     2,   633,   442,   630,   534,   534,   638,   467,   285,
     1422       2,   572,   573,     0,   584,   585,     0,     2,   727,   730,
     1423     108,   285,     2,   285,     0,   695,   286,   699,   690,   691,
     1424     697,     0,     2,     2,   655,   534,   738,   604,   534,   534,
     1425     738,   534,   618,   534,   534,   669,   424,   652,   534,   534,
     1426     660,   667,   285,   419,   286,     0,     0,   285,   705,   286,
     1427     710,   738,   702,   285,   707,   738,   285,   285,   285,     0,
     1428     108,     0,    17,     2,     0,     0,   447,   736,     0,     0,
     1429     453,   232,     0,   285,     0,     0,     0,   532,   556,   560,
     1430     562,   592,   595,   599,   602,   555,   594,     0,   275,   645,
     1431       0,   285,   268,     0,     0,     0,     0,   266,     2,     0,
     1432     250,   523,   285,     0,     0,     0,     0,   285,   285,     0,
     1433       0,   679,   372,   375,   379,   534,   379,   684,   378,   676,
     1434     534,   534,   355,   363,   371,   364,   534,   366,   369,   285,
     1435     737,     0,     0,   386,   736,   286,     3,   404,     3,   408,
     1436     407,   578,     0,   518,   285,     3,     3,   285,   423,   286,
     1437       3,   417,   418,     2,     0,     0,     0,   472,   297,   285,
     1438     468,   470,     3,     2,     2,     0,   489,     3,     0,   541,
     1439     126,     0,     0,   213,     0,     0,     2,     0,     0,    36,
     1440       0,     0,   108,   285,    21,     0,    22,     0,   679,   438,
     1441       0,   106,     3,     2,    28,     2,     0,    33,     0,     2,
     1442      26,   103,   104,    70,    71,    72,    74,    75,    77,    78,
     1443      82,    83,    80,    81,    85,    86,    88,    90,    92,    94,
     1444      96,     0,     0,   739,   285,     0,     0,     0,   634,   635,
     1445     631,   632,   484,   483,   285,     0,     3,   285,   701,   285,
     1446     706,   286,   285,   285,   285,   649,   692,   648,     2,   285,
     1447       0,     0,     0,     0,     0,     0,     0,     0,   670,     0,
     1448     656,   607,   623,   657,     2,   603,   610,   421,   605,   606,
     1449     422,     2,   617,   626,   619,   620,   653,   654,   668,   696,
     1450     700,   698,   738,   259,     2,   732,     2,   412,   704,   709,
     1451     413,     0,   391,     3,     3,     3,     3,   443,     3,     0,
     1452       2,   455,   452,   737,     0,   448,     2,   451,   454,     0,
     1453     285,   233,   255,     3,   263,   265,     0,   443,     2,   558,
     1454     559,     2,   597,   598,     0,   646,   524,     3,   336,   335,
     1455     338,   337,   285,   525,     0,   526,   285,   365,   367,     2,
     1456       0,     0,     0,     0,   101,   381,   680,   681,   376,   380,
     1457     377,   677,   678,   370,   374,   357,   388,   383,   389,     0,
     1458       0,     0,   426,   231,     0,     0,     3,     2,   655,   419,
     1459       0,   514,     0,   738,   476,     0,   285,   285,   285,     0,
     1460     538,   540,   127,     0,     0,   206,     0,     0,     0,   214,
     1461     215,    55,    60,   285,     0,    58,    57,     0,   125,   680,
     1462       0,    67,    68,   107,   112,     3,   106,     0,     0,     0,
     1463      25,    35,     3,     0,    99,     0,     3,   637,   641,   644,
     1464     636,     3,   579,     3,   703,   708,     2,   285,     3,     3,
     1465     286,     0,     3,   609,   613,   616,   625,   659,   663,   666,
     1466     285,     3,   608,   624,   658,   285,   285,   414,   285,   285,
     1467     733,     0,     0,     0,     0,   247,     0,   101,     0,     3,
     1468       3,     0,   449,     0,   446,     0,   222,     0,   236,   285,
     1469       0,     0,   126,     0,     0,     0,     0,     0,   126,     0,
     1470       0,     0,     2,     0,     0,     3,   128,   129,     2,   139,
     1471     130,   131,   132,   133,   134,   135,   141,   143,     0,     0,
     1472       0,   276,   285,   285,   534,     0,   527,   285,   108,   683,
     1473     687,   689,   682,   373,   387,   384,   566,     2,   651,   650,
     1474       0,   656,     2,   469,   471,   491,     3,   499,   500,     0,
     1475       2,   495,     3,     3,     0,     0,   543,   213,     0,     0,
     1476       0,   213,     0,     3,    37,   736,   106,     0,     3,   648,
     1477      42,     3,    40,     3,    34,     0,     3,    98,   100,     0,
     1478       2,   639,   640,     0,     0,   285,     0,     0,     0,     3,
     1479     625,     0,     2,   611,   612,     2,   627,     2,   661,   662,
     1480       0,     0,     3,     0,     3,     3,     3,     3,   399,   398,
     1481     402,     2,     2,   735,   734,   109,     0,     0,     0,     0,
     1482       3,   450,     3,     0,   234,   142,     3,   286,   285,     0,
     1483       0,     0,     0,     2,   187,     0,   185,     0,     0,     0,
     1484       0,     0,     0,   191,     0,   108,   534,   147,   144,   285,
     1485       0,     0,   258,   270,     3,     3,   533,   600,   358,     2,
     1486     685,   686,   285,   257,   285,     0,   502,   479,   285,     0,
     1487       0,   478,   493,     0,     0,     0,   207,     0,   216,   106,
     1488       0,     0,   113,   110,     0,     0,     0,     0,     0,     0,
     1489      24,     0,   642,   285,   567,   256,   711,   712,   713,     0,
     1490     664,   285,   285,   285,     3,     3,     0,   672,     0,     0,
     1491       0,     0,   285,   285,     3,   531,   109,   457,     0,     0,
     1492     223,   237,   286,     0,     0,     0,     0,   285,   188,   186,
    14971493       0,   183,   189,     0,     0,     0,   192,   195,   193,   190,
    14981494     126,   140,   138,   235,     0,     0,   285,   406,   410,   409,
    1499        0,   497,     2,   498,     2,   499,   493,   285,   219,     0,
    1500      217,     0,   219,     3,   649,    30,   111,     2,    43,     2,
    1501       41,    39,    27,   109,    25,     3,   715,     3,     3,     3,
    1502        0,     0,   672,   674,   615,   629,   260,     2,   396,     3,
    1503      395,     0,   460,   457,   126,     0,     0,   126,     3,     0,
    1504      126,   184,     0,     2,   200,   194,     0,   136,   562,   602,
     1495       0,   496,     2,   497,     2,   498,   492,   285,   219,     0,
     1496     217,     0,   219,     3,   648,    32,   111,     2,    45,     2,
     1497      43,    41,    29,   109,    27,     3,   714,     3,     3,     3,
     1498       0,     0,   671,   673,   614,   628,   260,     2,   396,     3,
     1499     395,     0,   459,   456,   126,     0,     0,   126,     3,     0,
     1500     126,   184,     0,     2,   200,   194,     0,   136,   561,   601,
    15051501       3,     2,     0,     0,     2,   220,     0,     0,   208,     0,
    1506        0,     0,     0,     0,     0,     0,     0,     0,   675,   676,
    1507      285,     0,   459,   148,     0,     0,     2,   161,   126,   150,
     1502       0,     0,     0,     0,     0,     0,     0,     0,   674,   675,
     1503     285,     0,   458,   148,     0,     0,     2,   161,   126,   150,
    15081504       0,   178,     0,   126,     0,     2,   152,     0,     2,     2,
    1509        0,   285,   502,   504,   495,     0,     0,     0,     0,   111,
    1510       36,     3,     3,   644,   616,   630,   666,   400,   126,   154,
     1505       0,   285,   501,   503,   494,     0,     0,     0,     0,   111,
     1506      38,     3,     3,   643,   615,   629,   665,   400,   126,   154,
    15111507     157,     0,   156,   160,     3,   163,   162,     0,   126,   180,
    1512      126,     3,     0,   285,     0,     2,   689,     2,   221,   222,
    1513        0,   218,   209,     0,     0,     0,   149,     0,     0,   159,
    1514      224,   164,     2,   226,   179,     0,   182,   168,   196,     3,
    1515      201,   205,     0,   285,     0,     0,     0,    37,    44,    42,
    1516      155,   158,   126,     0,   165,   285,   126,   126,     0,   169,
    1517        0,     0,   680,   202,   203,   204,   197,     3,   285,   210,
    1518      223,   145,   166,   151,   126,   227,   181,   176,   174,   170,
    1519      153,   126,     0,   681,     0,     0,   146,   167,   177,   171,
    1520      175,   174,   172,     3,     0,   481,   173,   198,     3,   199
     1508     126,     3,     0,   285,     0,     2,   688,     2,   221,     0,
     1509     218,   209,     0,     0,     0,   149,     0,     0,   159,   224,
     1510     164,     2,   226,   179,     0,   182,   168,   196,     3,   201,
     1511     205,     0,   285,     0,     0,    39,    46,    44,   155,   158,
     1512     126,     0,   165,   285,   126,   126,     0,   169,     0,     0,
     1513     679,   202,   203,   204,   197,     3,   285,   210,   145,   166,
     1514     151,   126,   227,   181,   176,   174,   170,   153,   126,     0,
     1515     680,     0,     0,   146,   167,   177,   171,   175,   174,   172,
     1516       3,     0,   480,   173,   198,     3,   199
    15211517};
    15221518
     
    15241520static const yytype_int16 yydefgoto[] =
    15251521{
    1526       -1,   830,   470,   298,    45,   130,   131,   299,   300,   301,
    1527      302,   777,   759,  1132,  1133,   303,   304,   305,   306,   307,
    1528      308,   309,   310,   311,   312,   313,   314,   315,   316,  1040,
    1529      520,   986,   318,   987,   548,   964,  1065,  1501,  1067,  1068,
    1530     1069,  1070,  1502,  1071,  1072,  1430,  1431,  1397,  1398,  1399,
    1531     1483,  1484,  1488,  1489,  1519,  1520,  1073,  1359,  1074,  1075,
    1532     1296,  1297,  1298,  1469,  1076,   142,   970,   971,   972,  1376,
    1533     1450,  1461,  1462,   471,   472,   892,   893,  1048,    48,    49,
    1534       50,    51,    52,   342,   155,    55,    56,    57,    58,    59,
    1535      344,    61,    62,   259,    64,    65,   270,   346,   347,    68,
    1536       69,    70,    71,   115,    73,   200,   349,   116,    76,   117,
    1537       78,    79,    80,   451,   452,   453,   454,   693,   930,   694,
    1538       81,    82,   458,   714,   872,   873,   352,   353,   717,   718,
    1539      719,   354,   355,   356,   357,   468,   336,   132,   133,   524,
    1540      320,   166,   647,   648,   649,   650,   651,    83,   118,    85,
    1541      491,   492,   956,   493,   273,   497,   321,    86,   134,   135,
    1542       87,  1317,  1111,  1112,  1113,  1114,    88,    89,   735,    90,
    1543      269,    91,    92,   183,  1042,   681,   406,   122,    93,   503,
    1544      504,   505,   184,   264,   186,   187,   188,   265,    96,    97,
    1545       98,    99,   100,   101,   102,   191,   192,   193,   194,   195,
    1546      842,   607,   608,   609,   610,   196,   612,   613,   614,   573,
    1547      574,   575,   576,   698,   103,   616,   617,   618,   619,   620,
    1548      621,   929,   700,   701,   702,   597,   360,   361,   362,   363,
    1549      322,   161,   105,   106,   107,   365,   712,   570
     1522      -1,   829,   470,   298,    45,   130,   131,   299,   300,   301,
     1523     302,   776,   758,  1131,  1132,   303,   304,   305,   306,   307,
     1524     308,   309,   310,   311,   312,   313,   314,   315,   316,  1038,
     1525     520,   984,   318,   985,   548,   962,  1064,  1498,  1066,  1067,
     1526    1068,  1069,  1499,  1070,  1071,  1430,  1431,  1397,  1398,  1399,
     1527    1481,  1482,  1486,  1487,  1516,  1517,  1072,  1359,  1073,  1074,
     1528    1296,  1297,  1298,  1468,  1075,   142,   968,   969,   970,  1376,
     1529    1047,  1460,  1461,   471,   472,   890,   891,    48,    49,    50,
     1530      51,    52,   342,   155,    55,    56,    57,    58,    59,   344,
     1531      61,    62,   259,    64,    65,   270,   346,   347,    68,    69,
     1532      70,    71,   115,    73,   200,   349,   116,    76,   117,    78,
     1533      79,    80,   451,   452,   453,   454,   692,   928,   693,    81,
     1534      82,   458,   713,   871,   872,   352,   353,   716,   717,   718,
     1535     354,   355,   356,   357,   468,   336,   132,   133,   524,   320,
     1536     166,   646,   647,   648,   649,   650,    83,   118,    85,   491,
     1537     492,   954,   493,   273,   497,   321,    86,   134,   135,    87,
     1538    1317,  1110,  1111,  1112,  1113,    88,    89,   734,    90,   269,
     1539      91,    92,   183,  1040,   680,   406,   122,    93,   503,   504,
     1540     505,   184,   264,   186,   187,   188,   265,    96,    97,    98,
     1541      99,   100,   101,   102,   191,   192,   193,   194,   195,   841,
     1542     607,   608,   609,   610,   196,   612,   613,   614,   573,   574,
     1543     575,   576,   697,   103,   616,   617,   618,   619,   620,   621,
     1544     927,   699,   700,   701,   597,   360,   361,   362,   363,   322,
     1545     161,   105,   106,   107,   365,   711,   570
    15501546};
    15511547
    15521548/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15531549   STATE-NUM.  */
    1554 #define YYPACT_NINF -1318
     1550#define YYPACT_NINF -1398
    15551551static const yytype_int16 yypact[] =
    15561552{
    1557     4413,  9104, -1318,    42, -1318, -1318, -1318, -1318, -1318, -1318,
    1558    -1318,   -27, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1559    -1318, -1318, -1318, -1318, -1318,    95,    95,    95,   954,   850,
    1560       71,  5300,   201, -1318, -1318, -1318, -1318, -1318,   123, -1318,
    1561    -1318, -1318,   776,   164,  8401, -1318, -1318, -1318, -1318, -1318,
    1562    -1318,   226,   169, -1318,  1184, -1318, -1318, -1318, -1318,   272,
    1563     1531,   387,    89,  3759, -1318, -1318,  8469,  1998, -1318, -1318,
    1564    -1318,   935,   392,  5420,   741,  1183,   935,  1282, -1318, -1318,
    1565      356,   326, -1318,   935,  1429, -1318,   340, -1318,   453,   463,
    1566    -1318, -1318, -1318, -1318,   370,   169,    95, -1318,    95, -1318,
    1567    -1318, -1318, -1318,  9340,  1184, -1318, -1318,  1184, -1318,  9399,
    1568      389, -1318, -1318,  1617,  9458, -1318,  1087,  1087,  1087, -1318,
    1569    -1318, -1318,    95, -1318, -1318, -1318,   386,   435,   438, -1318,
    1570    -1318, -1318,   498, -1318, -1318, -1318, -1318, -1318,   510,   531,
    1571    -1318, -1318,    34,  7909,  1795,    48,   452,   575,   578,   583,
    1572      588,   593,  8673,  6319,   543,   605, -1318,  8537, -1318, -1318,
    1573    -1318, -1318,   652, -1318,   172,  5550, -1318,   473,   232, -1318,
    1574    -1318, -1318, -1318,   661,   301,   325,   403,    95,   646, -1318,
    1575    -1318,  1531,  2279,   739, -1318,    21, -1318,    95,    95,   169,
    1576    -1318, -1318,    35, -1318,    95,    95, -1318,  2781,   700,   710,
    1577     1087, 10200, -1318, -1318,   717,  8401, -1318, -1318,   935, -1318,
    1578    -1318, -1318,   169, -1318,  1184,   226, -1318,  7011, -1318,  1087,
    1579     1087,  1087,   169, -1318,   954, -1318,  3330, -1318, -1318,   704,
    1580     1087, -1318,  1087, -1318,   123,  7909,  9163,   736, -1318,   850,
    1581      769,  1087, -1318,   954,   737,   747, -1318,  5300,   814, -1318,
    1582    -1318, -1318,  2451, -1318, -1318,  3603, -1318,   739,    61,  9458,
    1583    10457,  1617,  2781, -1318,    68, -1318, -1318,  9399,  1184,   778,
    1584    11233, -1318, -1318,   428, -1318, 10968,   787,   870, 10685, 10742,
    1585    10799, -1318,   824, -1318, -1318, -1318, -1318, 10856, 10856,   814,
    1586     7591,   827, 10742,  8015, -1318, -1318, -1318, -1318, -1318, -1318,
    1587      874, -1318,   901,  2137, 10742, -1318,   237,   407,   632,   476,
    1588      638,   859,   855,   869,   890,   101, -1318, -1318,   877,   616,
    1589    -1318,   336, -1318, -1318,  1795, -1318, -1318,   518,   907, -1318,
    1590      633,   907,   892,   123, -1318, -1318,   914,  9340, -1318,   916,
    1591     7697, -1318, -1318,  1197,   771,  5233, 10200,   935, -1318,   935,
    1592     1087,  1087, -1318, -1318, -1318, -1318, -1318, -1318,  1087,  9517,
    1593     1184, -1318, -1318,  9576,  1658, -1318,  9222, -1318, -1318, -1318,
    1594    -1318, -1318, -1318, -1318,   924,  4543, 10742, -1318, -1318, -1318,
    1595    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1596     1617, -1318,   676,   942,   945,   946,   690,   947,   948,   958,
    1597     2279, -1318, -1318,   952,   226,   957, -1318, -1318,   959, -1318,
    1598    -1318, -1318,  2451, -1318, -1318, -1318, -1318, -1318,  2781, -1318,
    1599     7909,  7909, -1318,  1087,  1617, 11261,  1184,  7402, -1318, -1318,
    1600    -1318, -1318,  2451,    61, -1318, -1318,   935,   169, -1318, -1318,
    1601     2451, -1318,  5128, -1318, -1318,  1087,  1087,   364,  9635,   960,
    1602     2086,  8865, -1318,   432,   454,   850, -1318,  9163,   955,   944,
    1603      850,  1087, -1318, -1318, -1318, -1318,  9936, -1318,   383,  7322,
    1604    -1318,   169,   962, -1318,  1617, 11043, 10514, -1318, -1318, -1318,
    1605    -1318,   755,  2781, -1318,  7467,   739,  6768, -1318, -1318, -1318,
    1606      885,   414,   877,   850, 11233,   619,  9399, -1318, 11233, -1318,
    1607    -1318, -1318, -1318,   479, -1318,   964,   870,   125,  7591, -1318,
    1608    -1318, -1318,  7591, -1318,  7803,  7591, -1318, -1318, -1318,   969,
    1609    -1318,   544,   972,   640,   974, -1318,  8741,  5983, -1318, -1318,
    1610    -1318,   103, -1318, -1318, 10571, -1318,   112, -1318, -1318, -1318,
    1611    -1318, -1318, -1318, -1318, -1318, -1318, -1318, 10457, 10457, -1318,
    1612    10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742,
    1613    10742, 10742, 10742, 10742, 10742, 10742, 10742, 10742, 10343, 10457,
    1614    -1318,   616,   900, -1318, -1318,    95,    95, -1318, -1318,  7909,
    1615    -1318, -1318,   959,   814, -1318,   959, 10628, -1318, -1318, -1318,
    1616     8333,  5983,   973,  8121,   976, -1318,  9694, -1318, -1318,   652,
    1617    -1318,   978,   378,   980,  1782,   139,   877, -1318,    95,    95,
    1618      877,   166, -1318,    95,    95,   959, -1318, -1318,    95,    95,
    1619    -1318,   907,  9753,  1184, 11174,   137,   273,  9753, -1318,  4101,
    1620    -1318,   877, -1318,  9517, -1318,   278,  7119,  7119,  7119,  1184,
    1621    -1318,  3868,   982,   220,   924,   302,   984, -1318,   977,  5550,
    1622      238, -1318,  1061,  1184,  7119,   814,  1617,   814,   739,   705,
    1623      907, -1318, -1318,   765,   907, -1318, -1318, -1318,   870, -1318,
    1624      907,   169,  9936, -1318,   570,  1000,   655,  1005, -1318,  1004,
    1625      169, -1318, -1318,  2451,   169,  1003,   464,   465,  9812,  6431,
    1626     1947, 10742,  2536, -1318, -1318,  1001,    20,  1001, -1318, -1318,
    1627    -1318,    95,    95, -1318, -1318,   850, -1318,    95, -1318, -1318,
    1628     8924,   850,  1006, 10742, -1318,   955, 11174, -1318, -1318,  1017,
    1629    -1318, -1318, -1318,   814, -1318, 11109, 10742, -1318,  7119,   671,
    1630     5233, -1318, -1318,   652,  1013,  1014,   885,  2927, -1318, -1318,
    1631    11233, -1318, -1318,  1015, -1318, -1318,  1021, -1318,  1015,  1023,
    1632    10968, 10457,   243,  1002,    53,  1025,  1026,   827,  1027,  1028,
    1633    -1318,  1030,  1032,  8983,  6095, -1318, 10457, -1318,   640,  1104,
    1634    -1318, 10400, 10457,  1034, -1318, -1318,   924,   678, -1318, 10457,
    1635    -1318, -1318, -1318, -1318, -1318, -1318, -1318,   237,   237,   407,
    1636      407,   632,   632,   632,   632,   476,   476,   638,   859,   855,
    1637      869,   890, 10742,   716, -1318,  9936,  1038,  1041,  1042,   900,
    1638    -1318, -1318, -1318, -1318, -1318,  9936,   679, 10742,  7119, -1318,
    1639     9517, -1318,  6543,  8227,  9281,  6319, -1318, -1318, -1318,   378,
    1640     9936,   820,  1047,  1051,  1052,  1057,  1058,  1059,  1060, -1318,
    1641     3170,  1782, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1642    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   959,
    1643    -1318, -1318, -1318,   877, -1318, -1318, -1318, -1318, -1318, -1318,
    1644    -1318, -1318,  1063, -1318,  1064,  1065, -1318, -1318,   226,  1034,
    1645     3868, -1318, -1318, -1318,  4543,  1066, -1318, -1318, -1318, -1318,
    1646    -1318,   850,  5481,  1140, -1318, -1318, -1318, -1318,  1049,   226,
    1647    -1318, -1318,   959, -1318, -1318,   959,   127,   959, -1318, -1318,
    1648    -1318, -1318, -1318, -1318,  8605, -1318,   169, -1318,  9163, -1318,
    1649    -1318,  1070,   856,  1073,  1076,  1077, -1318, -1318,  2536, -1318,
    1650    -1318, -1318, -1318, -1318, -1318, -1318,  2086, -1318,   944, -1318,
    1651    -1318,  1075,  1078,  1082, -1318, -1318,  1080,  1096, -1318,   671,
    1652     1985, -1318,   514, -1318,  2927,   877, -1318,  1100, 11233,  9871,
    1653     7909,  1102, -1318, -1318,  1098,  1110,  1107, -1318, 10742,    12,
    1654      400,  1114, -1318,  1112,  1112,  5983, 10457, -1318, -1318,  1112,
    1655    -1318,  1104,  4543, -1318, -1318, -1318, -1318,  1115, 10457,  1120,
    1656      814,  3868, -1318, 10571, -1318,   814, -1318, 10457, -1318,   825,
    1657      907, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   924,  7697,
    1658    -1318, -1318,  6655,  1125, -1318,   833,   907, -1318,   845,   852,
    1659      907, -1318,  1087,  4145, -1318, -1318, -1318,  9936,  9936, -1318,
    1660     7402,  7402, -1318,  1123,  1124,  1126,  1133, -1318,  1134,   553,
    1661       38,  1034, -1318,   814, -1318,  5550, -1318, 10457,   466, -1318,
    1662     5871,  1136,  1141,  5631,  1149,  1155,    13,    17,    14, 10457,
    1663     1156,   169,  3019,  1137,  1150,  1143, -1318, -1318, -1318,  1161,
    1664    -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,   850,
    1665     1167, 10457, -1318,  9936,  9936,    95,  1169, -1318,  9045,  8803,
    1666      867,   907, -1318, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1667    -1318,  1174,  1985, -1318, -1318,  1158, -1318,  1015, -1318, -1318,
    1668     1617,  1173, -1318, -1318, -1318,   686,  1175, -1318,    53,  1178,
    1669    10742,  1159,    53,    53,  1176, -1318,   977, 10457,  1185,  1115,
    1670      607,   130,  1192, -1318,  1176, -1318,  1198,  1192, -1318, -1318,
    1671     1199, -1318, -1318,   959,  1201,  1203,  6207,  1202,  1205,  1207,
    1672    -1318, -1318,  1210, -1318, -1318,   959, -1318, -1318, -1318, -1318,
    1673      959, 10457, 10457, 10742,  1209, -1318, -1318, -1318, -1318, -1318,
    1674    -1318, -1318, -1318, -1318, -1318, -1318, -1318, 10742, 10742,  1212,
    1675     1219,  1192, -1318, -1318,   850, -1318, -1318, -1318,  4876,  9871,
    1676    10457, 10457,  1262, 10457, -1318, -1318,  1213, -1318,  1214, 10457,
    1677     1216,  1220, 10457,   929, -1318,  1223,  5017,    95, -1318, -1318,
    1678     5481,  1224,   469, -1318, -1318, -1318, -1318, -1318, -1318, -1318,
    1679    -1318, -1318,   959, 10172, -1318,  7467,  1232, -1318, -1318,  9871,
    1680      478,   509, -1318,  1236,  1239,   870,  1248, -1318,   541, -1318,
    1681    10457,  1250,  1245, -1318, -1318,  1251,   128,   133,   814,  1253,
    1682     1254, -1318,  1256, -1318,  9936, -1318, -1318, -1318, -1318, -1318,
    1683     1258, -1318,  9936,  9936,  9936, -1318, -1318,  1260, -1318,  1263,
    1684     1269,  1270,   589,  7186,  7294, -1318, -1318,   351, -1318,  1273,
    1685     1275, -1318,  7532,   721,   742,  1272,   752,  5749, -1318, -1318,
    1686      545, -1318, -1318,   768,  1279,   169,  1330,  1332, -1318, -1318,
    1687     5631, -1318, -1318, -1318,  1285,  1286,  9936, -1318, -1318, -1318,
    1688     1283, -1318, -1318, -1318, -1318, -1318, -1318,  9871,   870,   206,
    1689    -1318,  1268,   870,  1115,   327, -1318, -1318, -1318, -1318, -1318,
    1690    -1318, -1318, -1318,  1284, -1318, -1318, -1318, -1318, -1318, -1318,
    1691     1291,  1294, -1318, -1318, -1318, -1318, -1318, -1318, -1318,  1297,
    1692    -1318,  1296, -1318, -1318,  5631,   124, 10457,  5631, -1318,  1299,
    1693    10457, -1318,   270,  1314, -1318, -1318,  1306, -1318, -1318, -1318,
    1694    -1318, -1318,  1184,  1617,  1301,   874,   879, 10742, -1318,   790,
    1695     1307, 10457,   814,   814,  1308,  1310,  1316,  1317, -1318, -1318,
    1696     7402,  1320, -1318,  1376, 10742,  1313, -1318, -1318, 10286, -1318,
    1697      791, -1318,  1300,  5631,  1305, -1318, -1318,  1323, -1318,  1341,
    1698     1329,  9871, -1318, -1318, -1318,   870,   814,  1334,  1327,  1325,
    1699    -1318,  1192,  1192, -1318, -1318, -1318, -1318, -1318,  5631,   246,
    1700    -1318,   917, -1318, -1318,  6877, -1318, -1318,  1335, 10457, -1318,
    1701    10457,  6877,   169,  9635,  1342, -1318, -1318,  1351,   874, -1318,
    1702      793, -1318, -1318, 10457,  1357,  1359, -1318, 10742, 10742, -1318,
    1703    -1318,   989,    88, -1318, -1318,  1340, -1318,   989, -1318, -1318,
    1704     2035,   814,   169,  9635,  1364,  1345,   814, -1318, -1318, -1318,
    1705    -1318, -1318, 10286,  1369,   989,  6946, 10457, 10206,  1373,   989,
    1706     1380,  2035,  2697, -1318, -1318, -1318, -1318, -1318,  7909, -1318,
    1707    -1318, -1318, 10051, -1318, 10286, -1318, -1318,  1347,  9970, -1318,
    1708    -1318, 10206,   169,  2697,  1383,   794, -1318, 10051, -1318, -1318,
    1709    -1318,  9970, -1318, -1318,   169, -1318, -1318, -1318, -1318, -1318
     1553    6576,  9185, -1398,   -17, -1398, -1398, -1398, -1398, -1398, -1398,
     1554   -1398,    52, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1555   -1398, -1398, -1398, -1398, -1398,    68,    68,    68,   896,   827,
     1556     110,  6794,   119, -1398, -1398, -1398, -1398, -1398,   113, -1398,
     1557   -1398, -1398,   846,    99,  4087, -1398, -1398, -1398, -1398, -1398,
     1558   -1398,   127,   187, -1398,  1172, -1398, -1398, -1398, -1398,   213,
     1559    1319,   377,    73,  6903, -1398, -1398,  8670,  1020, -1398, -1398,
     1560   -1398,  1108,   405,  3263,   735,   755,  1108,  1297, -1398, -1398,
     1561     270,   375, -1398,  1108,  1712, -1398,   310, -1398,   433,   467,
     1562   -1398, -1398, -1398, -1398,   344,   187,    68, -1398,    68, -1398,
     1563   -1398, -1398, -1398,  9421,  1172, -1398, -1398,  1172, -1398,  9480,
     1564     347, -1398, -1398,  1683,  9539, -1398,   566,   566,   566, -1398,
     1565   -1398, -1398,    68, -1398, -1398, -1398,   411,   520,   539, -1398,
     1566   -1398, -1398,   571, -1398, -1398, -1398, -1398, -1398,   586,   589,
     1567   -1398, -1398,    44,  8109,  1146,   170,   593,   601,   620,   627,
     1568     643,   650,  8875,  6124,   653,   671, -1398,  8739, -1398, -1398,
     1569   -1398, -1398,   683, -1398,   200,  4814, -1398,   686,   231, -1398,
     1570   -1398, -1398, -1398,   695,   241,   266,   303,    68,   715, -1398,
     1571   -1398,  1319,  3193,   789, -1398,    79, -1398,    68,    68,   187,
     1572   -1398, -1398,    90, -1398,    68,    68, -1398,  3463,   774,   781,
     1573     566,  7457, -1398, -1398,   708,  4087, -1398, -1398,  1108, -1398,
     1574   -1398, -1398,   187, -1398,  1172,   127, -1398,  7213, -1398,   566,
     1575     566,   566,   187, -1398,   896, -1398,  3674, -1398, -1398,   783,
     1576     566, -1398,   566, -1398,   113,  8109,  9244,   811, -1398,   827,
     1577     836,   566, -1398,   896,   822,   831, -1398,  6794,   895, -1398,
     1578   -1398, -1398,  8540, -1398, -1398, 10011, -1398,   789,    72,  9539,
     1579    5124,  1683,  3463, -1398,    95, -1398, -1398,  9480,  1172,   867,
     1580   11227, -1398, -1398,   335, -1398, 10962,   874,   903,  4451,  4561,
     1581   10793, -1398,   884, -1398, -1398, -1398, -1398, 10850, 10850,   895,
     1582    7791,   900,  4561,  8215, -1398, -1398, -1398, -1398, -1398, -1398,
     1583     935, -1398,   534,  1879,  4561, -1398,   434,   167,   528,   511,
     1584     647,   906,   892,   901,   943,   107, -1398, -1398,   910,   568,
     1585   -1398,   304, -1398, -1398,  1146, -1398, -1398,   379,   936, -1398,
     1586     445,   936,   940,   113, -1398, -1398,   949,  9421, -1398,   954,
     1587    7897, -1398, -1398,  1152,   795,  7537,  7457,  1108, -1398,  1108,
     1588     566,   566, -1398, -1398, -1398, -1398, -1398, -1398,   566,  9598,
     1589    1172, -1398, -1398,  9657,  1548, -1398,  9303, -1398, -1398, -1398,
     1590   -1398, -1398, -1398, -1398,   955,  3974,  4561, -1398, -1398, -1398,
     1591   -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1592    1683, -1398,   659,   951,   958,   961,   828,   965,   973,   974,
     1593    3193, -1398, -1398,   967,   127,   977, -1398, -1398,   975, -1398,
     1594   -1398, -1398,  8540, -1398, -1398, -1398, -1398, -1398,  3463, -1398,
     1595    8109,  8109, -1398,   566,  1683, 10399,  1172,  7602, -1398, -1398,
     1596   -1398, -1398,  8540,    72, -1398, -1398,  1108,   187, -1398, -1398,
     1597    8540, -1398,  5815, -1398, -1398,   566,   566,   400,  9716,   983,
     1598    1482,  4359, -1398,   391,   402,   827, -1398,  9244,   981,   970,
     1599     827,   566, -1398, -1398, -1398, -1398, 10135, -1398,   542,  7349,
     1600   -1398,   187,   984, -1398,  1683, 11037, 10622, -1398, -1398, -1398,
     1601   -1398,   866,  3463, -1398,  7667,   789,  6685, -1398, -1398, -1398,
     1602    1369,   559,   910,   827, 11227,   331,  9480, -1398, 11227, -1398,
     1603   -1398, -1398, -1398,   598, -1398,   993,   903,    83,  7791, -1398,
     1604   -1398, -1398,  7791, -1398,  8003,  7791, -1398, -1398, -1398,   992,
     1605   -1398,   603,   995,   614,   998, -1398,  2814,  5314, -1398, -1398,
     1606   -1398,   102, -1398, -1398, 10679, -1398,   276, -1398, -1398, -1398,
     1607   -1398, -1398, -1398, -1398, -1398, -1398, -1398,  5124,  5124, -1398,
     1608    4561,  4561,  4561,  4561,  4561,  4561,  4561,  4561,  4561,  4561,
     1609    4561,  4561,  4561,  4561,  4561,  4561,  4561,  4561,  5021,  5124,
     1610   -1398,   568,   890, -1398, -1398,    68,    68, -1398, -1398,  8109,
     1611   -1398, -1398,   975,   895, -1398,   975, 10736, -1398, -1398, -1398,
     1612    8568,  5314,   997,  8321,  1000, -1398,  9775, -1398, -1398,   683,
     1613   -1398,  1001,  1078,  1002,  2554,   101,   910, -1398,    68,    68,
     1614     910,   137, -1398,    68,    68,   975, -1398, -1398,    68,    68,
     1615   -1398,   936,  9834,  1172, 11168,   212,   299,  9834, -1398, 10070,
     1616   -1398,   910, -1398,  9598, -1398,   130,  4245,  4245,  4245,  1172,
     1617   -1398,  4107,  1009,   955,   371,  1011, -1398,   994,  4814,   625,
     1618   -1398,  1079,  1172,  4245,   895,  1683,   895,   789,   688,   936,
     1619   -1398, -1398,   725,   936, -1398, -1398, -1398,   903, -1398,   936,
     1620     187, 10135, -1398,   673,  1007,   674,  1021, -1398,  1018,   187,
     1621   -1398, -1398,  8540,   187,  1024,   466,   483,  9893,  6236,  1773,
     1622    4561,  2687, -1398, -1398,  1015,    65,  1015, -1398, -1398, -1398,
     1623      68,    68, -1398, -1398,   827, -1398,    68, -1398, -1398,  9005,
     1624     827,  1025,  4561, -1398,   981, 11168, -1398, -1398,  1031, -1398,
     1625   -1398, -1398,   895, -1398, 11103,  4561, -1398,  4245,   697,  7537,
     1626   -1398, -1398,   683,  1034,  1035,  1369,  3328, -1398, -1398, 11227,
     1627   -1398, -1398,  1019, -1398, -1398,  1047, -1398,  1019,  1048, 10962,
     1628    5124,   150,  1027,   125,  1050,  1051,   900,  1053,  1061, -1398,
     1629    1062,  1064,  9064,  5898, -1398,  5124, -1398,   614,  1586, -1398,
     1630    5526,  5124,  1060, -1398, -1398,   955,   709, -1398,  5124, -1398,
     1631   -1398, -1398, -1398, -1398, -1398, -1398,   434,   434,   167,   167,
     1632     528,   528,   528,   528,   511,   511,   647,   906,   892,   901,
     1633     943,  4561,   640, -1398, 10135,  1071,  1072,  1073,   890, -1398,
     1634   -1398, -1398, -1398, -1398, 10135,   711,  4561,  4245, -1398,  9598,
     1635   -1398,  6348,  8427,  9362,  6124, -1398, -1398, -1398,  1078, 10135,
     1636     893,  1074,  1076,  1083,  1086,  1088,  1092,  1093, -1398,  3022,
     1637    2554, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1638   -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,   975, -1398,
     1639   -1398, -1398,   910, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1640   -1398,  1094, -1398,  1095,  1100, -1398, -1398,   127,  1060,  4107,
     1641   -1398, -1398, -1398,  3974,  1096, -1398, -1398, -1398, -1398,   827,
     1642    5662,  1176, -1398, -1398, -1398, -1398,  1082,   127, -1398, -1398,
     1643     975, -1398, -1398,   975,    60,   975, -1398, -1398, -1398, -1398,
     1644   -1398, -1398,  8807, -1398,   187, -1398,  9244, -1398, -1398,  1110,
     1645     753,  1114,  1122,  1124, -1398, -1398,  2687, -1398, -1398, -1398,
     1646   -1398, -1398, -1398, -1398,  1482, -1398,   970, -1398, -1398,  1105,
     1647    1130,  1126, -1398, -1398,  1131,  1139, -1398,   697,  1707, -1398,
     1648     399, -1398,  3328,   910, -1398,  1148, 11227,  9952,  8109,  1150,
     1649   -1398, -1398,  1147,  1154,  1145, -1398,  4561,   131,   259,  1151,
     1650   -1398,  1156,  1156,  5314,  5124, -1398, -1398,  1156, -1398,  1586,
     1651    3974, -1398, -1398, -1398, -1398,  1157,  5124,  1162,   895,  4107,
     1652   -1398, 10679, -1398,   895, -1398,  5124, -1398,   784,   936, -1398,
     1653   -1398, -1398, -1398, -1398, -1398, -1398,   955,  7897, -1398, -1398,
     1654    6460,  1158, -1398,   796,   936, -1398,   807,   817,   936, -1398,
     1655     566,  3298, -1398, -1398, -1398, 10135, 10135, -1398,  7602,  7602,
     1656   -1398,  1160,  1164,  1168,  1173, -1398,  1174,   417,   121,  1060,
     1657   -1398,   895, -1398,  4814, -1398,  5124, -1398,   491, -1398,  5786,
     1658    1179,  1180, 10565,  1185,  1186,    55,    77,   104,  5124,  1187,
     1659     187,  3868,  1190,  1149,  1153, -1398, -1398, -1398,  1182, -1398,
     1660   -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,   827,  1188,
     1661    5124, -1398, 10135, 10135,    68,  1195, -1398,  9126,  8943,   842,
     1662     936, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1663    1199,  1707, -1398, -1398,  1183, -1398,  1019, -1398, -1398,  1683,
     1664    1196, -1398, -1398, -1398,   719,  1210, -1398,   125,  1215,  4561,
     1665    1200,   125,   125,  1212, -1398,   994,  5124,  1221,  1157,   612,
     1666     157,  1218, -1398,  1212, -1398,  1224,  1218, -1398, -1398,  1228,
     1667   -1398, -1398,   975,  1229,  1238,  6011,  1240,  1241,  1242, -1398,
     1668   -1398,  1247, -1398, -1398,   975, -1398, -1398, -1398, -1398,   975,
     1669    5124,  5124,  4561,  1246, -1398, -1398, -1398, -1398, -1398, -1398,
     1670   -1398, -1398, -1398, -1398, -1398, -1398,  4561,  4561,  1248,  1250,
     1671    1218, -1398, -1398,   827, -1398, -1398, -1398,  7148,  9952,  5124,
     1672    5124,  1310,  5124, -1398, -1398,  1234, -1398,  1235,  5124,  1236,
     1673    1237,  5124,   858, -1398,  1243,  8637,    68, -1398, -1398,  5662,
     1674    1255,   500, -1398, -1398, -1398, -1398, -1398, -1398, -1398, -1398,
     1675   -1398,   975, 10371, -1398,  7667,  1262, -1398, -1398,  9952,   523,
     1676     540, -1398,  1258,  1233,   903,  1268, -1398,   573, -1398,  5124,
     1677    1272,  1265, -1398, -1398,  1273,   288,   298,   895,  1276,  1281,
     1678   -1398,  1285, -1398, 10135, -1398, -1398, -1398, -1398, -1398,  1286,
     1679   -1398, 10135, 10135, 10135, -1398, -1398,  1287, -1398,  1288,  1292,
     1680    1298,   480,  7321,  7429, -1398, -1398,   700, -1398,  1300,  1303,
     1681   -1398, -1398,  7732,   721,   729,  1308,   741,  5468, -1398, -1398,
     1682     541, -1398, -1398,   745,  1311,   187,  1362,  1364, -1398, -1398,
     1683   10565, -1398, -1398, -1398,  1317,  1326, 10135, -1398, -1398, -1398,
     1684    1315, -1398, -1398, -1398, -1398, -1398, -1398,  9952,   903,   164,
     1685   -1398,  1305,   903,  1157,   370, -1398, -1398, -1398, -1398, -1398,
     1686   -1398, -1398, -1398,  1322, -1398, -1398, -1398, -1398, -1398, -1398,
     1687    1331,  1332, -1398, -1398, -1398, -1398, -1398, -1398, -1398,  1339,
     1688   -1398,  1340, -1398, -1398, 10565,   146,  5124, 10565, -1398,  1341,
     1689    5124, -1398,   203,  1360, -1398, -1398,  1350, -1398, -1398, -1398,
     1690   -1398, -1398,  1172,  1683,  1349,   935,   843,  4561, -1398,   749,
     1691    1353,  5124,   895,   895,  1359,  1361,  1366,  1370, -1398, -1398,
     1692    7602,  1354, -1398,  1424,  4561,  1365, -1398, -1398, 10485, -1398,
     1693     768, -1398,  1351, 10565,  1352, -1398, -1398,  1371, -1398,  1389,
     1694    1379,  9952, -1398, -1398, -1398,   903,   827,  1383,  1363,  1387,
     1695   -1398,  1218,  1218, -1398, -1398, -1398, -1398, -1398, 10565,   207,
     1696   -1398,   872, -1398, -1398,  7012, -1398, -1398,  1375,  5124, -1398,
     1697    5124,  7012,   187,  9716,  1399, -1398, -1398,  1398,   935,   778,
     1698   -1398, -1398,  5124,  1402,  1404, -1398,  4561,  4561, -1398, -1398,
     1699     957,   135, -1398, -1398,  1385, -1398,   957, -1398, -1398,  1825,
     1700     895,   187,  9716,  1409,  1391, -1398, -1398, -1398, -1398, -1398,
     1701   10485,  1411,   957,  7081,  5124, 10405,  1412,   957,  1419,  1825,
     1702    2940, -1398, -1398, -1398, -1398, -1398,  8109, -1398, -1398, 10250,
     1703   -1398, 10485, -1398, -1398,  1400, 10169, -1398, -1398, 10405,   187,
     1704    2940,  1431,   782, -1398, 10250, -1398, -1398, -1398, 10169, -1398,
     1705   -1398,   187, -1398, -1398, -1398, -1398, -1398
    17101706};
    17111707
     
    17131709static const yytype_int16 yypgoto[] =
    17141710{
    1715    -1318,  3762,  2543, -1318,  1454, -1318,    -1,     2,   -89, -1318,
    1716    -1318, -1318,  -483,  -942,  -282,  4006, -1318,  1670,   483,   485,
    1717      347,   484,   927,   931,   926,   932,   937, -1318,   792,  -594,
    1718     4587,   375,  -691,  -946, -1318,  -112,  -722,  -695, -1318,   412,
    1719    -1318,   304, -1184, -1318, -1318,    54, -1318, -1317,  -763,   149,
    1720    -1318, -1318, -1318, -1318,    -3, -1151, -1318, -1318, -1318, -1318,
    1721    -1318, -1318,   223,    51,    55, -1318,  -364, -1318,   402,   204,
    1722    -1318,    86, -1318,  -320, -1318, -1318, -1318,   450,  -745, -1318,
    1723    -1318,    10,  -865,   258,   180, -1318, -1318, -1318,  -222, -1318,
    1724      126,    49,  -187,   951,  3574, -1318, -1318,   213,   151,   363,
    1725     -251,  2053, -1318,  1304, -1318, -1318,   344,  1615, -1318,  1898,
    1726     1496, -1318, -1318,  -417,  -439,  1083,  1084,   597,   837,   279,
    1727    -1318, -1318,  1086,   598,   -23, -1318,    37,  -463,   807, -1318,
    1728    -1318,  -923,  -977,   142,   669,   965,   280, -1318,   175,   -35,
    1729     -257,  -199,  -156,   555,   651, -1318,   888, -1318,  1925,  1031,
    1730     -460,   803, -1318, -1318,   594, -1318,  -228, -1318,   140, -1318,
    1731    -1318, -1318, -1268,   320, -1318, -1318, -1318,  1067, -1318,     6,
    1732    -1318, -1318,  -851,   -86, -1303,  -124,  2887, -1318,  2837, -1318,
    1733      812, -1318,  -168,   585,  -176,  -173,  -171,     4,   -41,   -39,
    1734      -36,   834,    47,    56,    79,  -167,  -162,  -161,  -159,  -158,
    1735     -273,  -557,  -498,  -458,  -543,  -318,  -539, -1318, -1318,  -499,
    1736      986,   992,   993,  1485,  4182,  -565,  -577,  -550,  -542,  -536,
    1737    -1318,  -384,  -672,  -658,  -654,  -591,  -211,  -316, -1318, -1318,
    1738      152,   299,   -75, -1318,  2880,   592,  -631,  -200
     1711   -1398,  3548,  2440, -1398,   359, -1398,    -1,     2,  -248, -1398,
     1712   -1398, -1398,  -508,  -818,  -239,  4695, -1398,  -128,   484,   490,
     1713     457,   486,   963,   971,   969,   972,   985, -1398,   623,  -468,
     1714    4060,   410,  -704,  -934, -1398,   -64,  -728,  -419, -1398,   165,
     1715   -1398,   330, -1091, -1398, -1398,    84, -1398, -1055,  -804,   178,
     1716   -1398, -1398, -1398, -1398,    24, -1397, -1398, -1398, -1398, -1398,
     1717   -1398, -1398,   248,    76,    53, -1398,  -499, -1398,   438,   233,
     1718   -1038,   115, -1398,  -309, -1398, -1398, -1398,  -878, -1398, -1398,
     1719       5,  -977,    86,  1230, -1398, -1398, -1398,   -65, -1398,    82,
     1720     326,  -195,   939,  3408, -1398, -1398,    54,   724,   990,  -258,
     1721    1989, -1398,   966, -1398, -1398,   112,  1459, -1398,  1633,  1584,
     1722   -1398, -1398,  -421,  -417,  1115,  1120,   628,   875,   262, -1398,
     1723   -1398,  1113,   634,  -519, -1398,   -67,   383,   999, -1398, -1398,
     1724    -990,  -956,  -329,   988,   991,    29, -1398,    -6,    45,   -37,
     1725    -170,  -152,   599,   699, -1398,   929, -1398,  1962,  1701,  -437,
     1726     845, -1398, -1398,   633, -1398,  -232, -1398,    32, -1398, -1398,
     1727   -1398, -1239,   360, -1398, -1398, -1398,  1104, -1398,    38, -1398,
     1728   -1398,  -858,  -106, -1287,  -102,  2356, -1398,  2384, -1398,   852,
     1729   -1398,  -163,    97,  -172,  -171,  -166,     4,   -41,   -34,   -31,
     1730    1423,     0,     9,    37,   -68,  -160,  -157,  -153,  -151,  -324,
     1731    -522,  -480,  -478,  -541,  -297,  -552, -1398, -1398,  -495,  1023,
     1732    1037,  1038,  2410,  4141,  -567,  -561,  -559,  -542,  -556, -1398,
     1733    -425,  -675,  -673,  -671,  -591,    91,  -238, -1398, -1398,   353,
     1734     294,   -76, -1398,  3086,   180,  -588,  -295
    17391735};
    17401736
     
    17421738   positive, shift that token.  If negative, reduce the rule which
    17431739   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1744 #define YYTABLE_NINF -511
     1740#define YYTABLE_NINF -510
    17451741static const yytype_int16 yytable[] =
    17461742{
    1747      110,   146,    46,   147,    95,   393,   148,   447,   394,   378,
    1748      395,   111,   704,   422,   401,   402,   434,   885,   923,   396,
    1749      397,   731,   398,   399,   500,   836,   611,   263,   256,   965,
    1750      473,   861,   924,    46,   743,    95,   925,   140,   748,   844,
    1751      710,  1078,  1129,   630,    46,   832,    46,   634,   158,  1374,
    1752      113,   778,   837,  1137,  1171,    47,    46,    30,    30,   404,
    1753      838,   843,    46,   835,   189,    46,   699,   212,    46,   847,
    1754      222,   606,    30,   810,   120,   854,   215,   338,   108,   108,
    1755      984,  1436,   108,   276,   941,   393,    47,   530,   394,   149,
    1756      395,  1432,   671,   156,   401,   402,   923,   927,   150,   396,
    1757      397,  1181,   398,   399,   833,    30,    46,  1169,  1170,    46,
    1758      924,   419,   680,  1120,   925,    46,   198,   119,   403,   940,
    1759      684,   151,   248,   405,   405,  1199,    60,  1177,   286,   598,
    1760     -225,  -225,    30,   477,   479,   277,   413,  1195,   405,   770,
    1761      146,  1197,   147,  1447,   834,   148,    46,  1077,   158,   248,
    1762      325,    67,   254,  1178,    46,  1432,   968,    60,   156,    46,
    1763      199,   368,   478,   675,   677,  1436,  1394,  1395,   108,   483,
    1764     1436,   405,   139,   875,   875,   875,    30,   108,   521,   832,
    1765       54,    54,    67,    46,    46,  1187,   158,  1436,   507,   567,
    1766      473,   875,   319,   108,  1436,  -225,   160,  1066,   108,    46,
    1767      530,   335,   530,    30,   138,   669,   774,    46,  1246,   158,
    1768      473,    54,   141,    66,   208,   780,    46,   738,   473,    46,
    1769      146,   437,   147,   568,   143,   148,   731,   753,   149,  1085,
    1770     1396,  1327,   666,   667,   754,  1247,  1329,   150,   833,   747,
    1771      845,   864,   603,    54,    66,   865,    54,   467,  1171,    46,
    1772      424,    95,   836,   465,   428,   237,   240,   761,    53,   112,
    1773      151,   160,   589,    46,    46,   875,   158,   852,   152,   603,
    1774       46,   704,   832,   732,   821,   167,  1026,    46,   834,   837,
    1775      372,   530,   695,   697,   319,   450,   611,   838,   518,    53,
    1776     1013,   338,   741,  -455,  1323,   847,   373,  1171,  1025,   104,
    1777      104,   731,    47,  1508,   658,  1186,  1139,  1377,   674,   676,
    1778     1002,   887,  1394,  1395,   666,   667,   428,   870,   530,   490,
    1779     1517,   206,   814,  -455,   216,  -455,    46,  1521,   368,  -455,
    1780      104,   833,   673,   343,   173,  1457,  1509,  1201,   678,   523,
    1781      381,   888,   156,   645,    74,    46,    46,   889,   550,   165,
    1782     1169,  1170,   966,   551,   552,   875,   382,   429,  1192,  1078,
    1783     1522,  1178,    46,   916,   441,   104,    46,   108,   436,   136,
    1784      137,   834,   836,    60,  1119,    74,  1405,   866,   474,   478,
    1785      177,   867,   598,   462,   257,   844,   588,   258,   455,   595,
    1786      197,   108,    46,   136,   137,  -281,   521,    54,    67,   837,
    1787      521,   569,    46,   521,   368,   881,   848,   838,   628,   384,
    1788      851,   598,   632,  1171,   459,   335,   598,   752,   861,   429,
    1789       46,   108,  1187,   136,   234,   385,    46,    54,    46,  -109,
    1790      225,   868,   239,   386,   226,   871,  1381,   230,   578,   232,
    1791     1421,  1422,   525,    36,   579,   160,   241,    39,   243,   387,
    1792     -109,   338,    46,   246,    40,    41,   803,   235,  -109,  -109,
    1793       66,   473,   236,  -506,   169,  1077,   685,  1427,   110,   319,
    1794      319,   248,   579,   755,  -109,   435,    46,   756,   732,   829,
    1795      762,   603,  1157,  1159,    46,   722,   368,   -10,    46,   604,
    1796       95,   723,    46,   886,   433,  1242,   208,   450,  1107,   500,
    1797      450,  1088,  1121,   945,  1007,    53,   450,   249,   821,  1122,
    1798     1135,   388,   260,   758,   393,  1066,   739,   394,   113,   395,
    1799      553,   554,   740,   611,   401,   402,  1236,   389,   396,   397,
    1800      775,   398,   399,   758,   899,   781,  -431,  1026,   474,  -432,
    1801      705,    47,  1360,   490,  1093,   319,   104,   490,   485,   495,
    1802      646,   496,   699,   732,   326,   502,   706,   523,   474,   557,
    1803      558,   523,   707,   319,   523,  1358,   474,  1168,  1024,  1187,
    1804      897,   225,   705,   707,  1184,   335,  1187,  1184,   708,   906,
    1805      379,   749,   467,  1275,  1276,    94,  1312,   750,   919,   920,
    1806     1185,    74,    46,  1303,   559,   560,    74,  1093,   821,   272,
    1807      455,   411,  1313,   455,    46,  1367,    46,   343,   720,   455,
    1808      729,   274,    60,   338,   876,   877,    94,  1314,   866,   580,
    1809     1187,   405,  1103,   173,   431,    46,   208,   145,   319,    94,
    1810      709,   895,   275,  1315,   439,   459,   163,    67,  1404,   819,
    1811      631,    46,   595,  1321,   635,   185,   765,   366,    94,   704,
    1812     1322,    94,   766,   766,   896,    46,   898,  -102,    46,  1393,
    1813      525,  -102,  1401,  1029,   525,   969,    54,   525,   742,  1361,
    1814      746,   860,   910,   874,   874,   874,   595,   327,   766,  1037,
    1815      328,  1024,   869,   731,   108,   329,   136,   137,   338,  1463,
    1816      330,   874,    46,  1346,    46,   331,  1463,  1347,  1482,    66,
    1817     1082,   163,   522,  1435,  1487,   948,   367,   343,  1439,  -109,
    1818      225,  -109,   230,   555,   556,  -109,  1465,   571,  1466,   405,
    1819      744,  1504,   944,   561,   562,   745,  1511,   572,  1044,    94,
    1820     -109,  -109,  1115,  1456,   583,   323,   405,   335,    46,    46,
    1821     1505,   768,    94,   405,    53,     2,   202,     4,     5,     6,
    1822        7,   769,    46,   371,  1234,  1104,    74,   912,  1238,   450,
    1823      666,   667,   383,   766,  1506,   874,   392,   185,   695,   697,
    1824      391,   343,   949,   821,   603,   436,    74,   248,   325,   405,
    1825      992,  1004,   950,  1417,    74,   104,   993,   723,  1232,   490,
    1826       94,   413,   662,   405,   579,  1005,   403,   430,   598,   225,
    1827     1429,   420,    94,    34,   823,    35,   900,  1516,   405,   474,
    1828     1349,   421,   335,  1516,   720,   729,   343,   343,   343,   923,
    1829      882,   426,  1516,  1354,   766,   997,  1516,   323,   444,   766,
    1830       74,    46,    94,   924,   343,  1161,    36,   925,   179,   180,
    1831       39,    36,   457,    46,  1355,    39,   481,    40,    41,   682,
    1832      766,   474,    40,    41,  1357,   874,   483,   325,   405,   430,
    1833      766,   463,   455,  1480,  1429,    -3,   903,   208,   405,  1006,
    1834     1362,   464,   602,   819,   603,   460,   766,    42,   159,   108,
    1835      935,   208,   604,   724,   486,   163,   938,   144,   506,  1182,
    1836      729,  1064,  1418,  1437,   190,  1475,  1525,   213,  1415,   766,
    1837      223,  1476,   579,   863,   791,   792,   793,   794,   343,    94,
    1838        8,     9,    10,    11,    12,   108,    46,   136,   137,   878,
    1839      522,   845,   325,   603,   522,   514,  1141,   522,   405,   605,
    1840       46,   526,   600,   894,  1153,   732,   405,    30,    46,     2,
    1841      202,     4,     5,     6,     7,   286,  1156,   720,   603,   530,
    1842       36,    63,   114,  1158,    39,   603,    46,   720,   325,   405,
    1843       33,    40,    41,   819,  1328,  1330,  1331,   450,  1220,  1108,
    1844      405,   563,   720,   208,   931,   564,   931,   566,   159,   531,
    1845      532,   533,    63,  1294,  1295,   185,   736,  1415,  1416,  1131,
    1846      565,   369,   758,  -428,  1131,   157,   737,    34,   343,    35,
    1847      569,   571,   534,   405,   535,   343,   536,   490,  1110,   319,
    1848      334,   572,   323,   323,   732,   587,   159,   217,    60,   126,
    1849      590,   127,   128,   129,  1227,  1458,  1459,    74,   640,   969,
    1850      502,  1394,  1395,   969,   969,   696,   787,   788,   823,   159,
    1851      789,   790,  1131,    67,   659,   795,   796,   660,   661,   663,
    1852      664,   438,  1064,   668,   255,  1196,  1198,  1200,   860,   646,
    1853      665,   670,   253,   711,   688,   751,  1049,   713,  -229,    74,
    1854      455,    94,    54,   763,   767,   605,   771,   824,  1283,  1284,
    1855      826,  1286,   828,   908,   839,   884,  1494,  1290,   323,   891,
    1856     1293,   -12,   915,   883,   211,   324,   917,     8,     9,    10,
    1857       11,    12,   911,   255,   345,    66,   323,   913,   914,   918,
    1858      691,   238,    46,   939,     8,     9,    10,    11,    12,  -405,
    1859     -510,   953,   960,   740,    30,   962,   967,   973,   974,  1093,
    1860      977,   338,   978,   400,   979,   721,   976,   450,   819,    54,
    1861      999,    30,   988,  1000,  1001,   211,  1319,    33,   418,  1015,
    1862       53,   423,   425,  1016,  1017,   343,   157,   646,   369,  1018,
    1863     1019,  1020,  1021,   436,    33,  1032,  -393,  -392,  1079,   720,
    1864      720,   323,  1081,  1046,  1089,  1090,   474,   442,  1091,  1092,
    1865     1097,   445,  1096,   446,  1099,   600,  -282,   831,   211,   605,
    1866     1098,   104,   461,     8,     9,    10,    11,    12,    63,   215,
    1867     1100,    67,  1106,   475,  1116,   768,   766,   405,    46,  1064,
    1868      343,   343,  1117,   482,   862,   769,  1118,  1109,   982,   600,
    1869       30,   425,  1123,  1127,  1130,   720,   720,  1151,  1174,  1375,
    1870       54,  1172,  1173,  1375,   369,  1175,    74,  1190,  1176,  1108,
    1871      455,  1206,  1191,    33,  1400,  1131,  1131,  1131,   211,    36,
    1872     1193,   170,   171,    39,  1049,   335,  1194,  1202,   104,  1207,
    1873       40,    41,    36,  1189,   170,   171,    39,  1208,    -3,  1213,
    1874     1515,  1218,   729,    40,    41,   922,  1224,   696,  1110,   495,
    1875     1228,  1233,  1235,  1237,  1240,  -283,   211,  1413,   255,  1244,
    1876      211,   596,     8,     9,    10,    11,    12,   624,   367,  1064,
    1877     1248,  1253,  1251,  1255,    72,  1256,  1257,  1285,    53,  1258,
    1878      629,  1259,  1261,  1268,   629,   393,  1277,   255,   394,    30,
    1879      395,   831,   605,  1278,   401,   402,  1448,  1108,  1087,   396,
    1880      397,  1302,   398,   399,  1310,    72,    60,  1288,  1289,   208,
    1881     1291,   721,    33,  1316,  1292,   666,   667,  1299,  1318,   104,
    1882     1320,   729,  1325,  1064,  1324,  1326,  1064,  1332,  1333,  1281,
    1883     1334,    67,  1336,   475,  1342,  1308,  1110,  1343,    54,    54,
    1884      218,  1344,  1345,  1356,    46,    46,   211,  1352,   345,  1353,
    1885     1363,  1131,  1131,   475,  1493,  1295,  1366,  1368,  1369,  1371,
    1886       54,   475,  1378,  1381,    74,  1388,   720,  1064,  1389,  -394,
    1887     1392,  1403,  1064,  1407,   720,   720,   720,  1409,  1414,    54,
    1888     1423,  1419,  1424,   474,   831,  1449,  1428,   716,  1425,  1426,
    1889      425,  1108,  1433,    66,  1438,  1442,   605,  1064,  1347,  1440,
    1890     1444,  1446,  -284,   436,  1453,   730,  1451,    63,    67,     8,
    1891        9,    10,    11,    12,  1472,   425,   206,   216,   720,   425,
    1892      146,  1452,   147,   343,   343,   148,   211,   348,  1474,  1464,
    1893     1110,  1478,    54,  1479,  1486,  1498,    30,    54,    53,  1499,
    1894     1495,  1518,    46,  1203,   721,  1500,  1503,   255,   345,   909,
    1895     1510,  1064,  1512,   926,   721,  1524,  1064,  1109,   104,    33,
    1896      797,   799,  1470,    46,    46,   798,   158,    54,   800,   721,
    1897     1189,  1064,  1243,  1064,   801,   926,   211,  1064,   172,   104,
    1898     1064,  1406,  1481,   696,  1301,    46,  1064,   368,  1526,  1365,
    1899     1064,   696,  1470,   809,  1497,  1239,  1379,  1467,   104,  1212,
    1900      443,   686,   687,  1094,   932,  1045,  1095,  1126,   890,   605,
    1901      435,   629,   822,   955,   596,    53,   715,   319,   816,  1311,
    1902     1105,    72,   323,   734,    74,   841,    72,   806,   172,   210,
    1903      474,   172,   963,   807,   808,     0,     0,   474,     0,     0,
    1904      343,     0,     0,   596,     0,  1109,     0,     0,   596,     0,
    1905        0,     0,     0,     0,   629,    67,   104,   345,   345,   345,
    1906        0,    54,    67,     0,   996,  1471,    36,     0,   179,   180,
    1907       39,   862,     0,     0,     0,   345,   172,    40,    41,     0,
    1908      210,   474,   998,     0,    54,    75,   104,     0,     0,     0,
    1909        0,    54,  1003,   716,     0,  1471,     0,   211,     0,     0,
    1910        0,    74,   181,     0,   475,     0,    67,  1014,     0,   255,
    1911      730,     0,   182,   928,     0,     0,    75,  1189,     0,     0,
    1912      218,     0,  1412,   210,  1189,   211,     0,     0,     0,     0,
    1913      211,     0,     0,     0,     0,    54,     0,     0,   172,  1109,
    1914      407,     0,  1039,     0,     0,     0,   475,   415,     0,   345,
    1915        0,   219,    36,     0,   179,   180,    39,     0,   954,     0,
    1916        0,   425,    53,    40,    41,     0,   721,   721,  1189,    53,
    1917        0,     0,     0,     0,     0,     0,     0,  1364,     0,     0,
    1918      104,     0,     0,   210,   255,   730,    72,     0,   261,     0,
    1919      981,     0,   172,    36,     0,   170,   171,    39,   262,   172,
    1920        0,   348,     0,   104,    40,    41,    72,     0,     0,     0,
    1921      104,     0,     0,    53,    72,     0,     0,   211,     0,   407,
    1922        0,   210,   721,   721,     0,   210,   716,     0,     0,   371,
    1923      926,   211,     0,     0,     0,     0,   716,     0,   350,   345,
    1924      348,   629,     0,     0,  1012,   629,   822,     0,    74,     0,
    1925        0,   716,     0,     0,   104,    74,     0,     0,   348,  1138,
    1926       72,  1023,     8,     9,    10,    11,    12,   172,     0,     0,
    1927        0,     0,     0,     0,   577,     8,     9,    10,    11,    12,
    1928        0,     0,   581,     0,   172,   584,     0,     0,   172,    30,
    1929        0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
    1930        0,   348,    30,     0,  1166,  1167,     0,     0,     0,  1039,
    1931        0,   210,    33,    63,     0,     0,     0,    36,     0,   179,
    1932      180,    39,     0,   211,  1468,    33,     0,     0,    40,    41,
    1933       36,     0,    75,     0,    39,   629,     0,    75,     0,     0,
    1934        0,    40,    41,     0,     0,     0,     0,   407,     0,     0,
    1935      172,   415,     0,   602,  1496,   603,     0,     0,     0,     0,
    1936     1215,  1216,  1309,   604,     0,   348,    42,     0,    77,     0,
    1937        0,  1102,     0,     0,     0,     0,   144,     0,     0,   425,
    1938      114,     0,   926,     0,     0,     0,     0,     0,     0,     0,
    1939        0,   210,     0,   721,  1523,    84,   345,     0,     0,    77,
    1940        0,   721,   721,   721,     0,     0,  1528,     0,     0,     0,
    1941      348,   348,   348,     0,     0,     0,     0,     0,     0,   511,
    1942        0,     0,     0,     0,     0,     0,    84,     0,   348,     0,
    1943      596,   219,   528,   529,   220,     0,   407,     0,     0,   926,
    1944      926,   210,     0,   423,   549,   721,   348,     0,   716,   716,
    1945        0,   345,   345,     0,     0,     0,     0,    72,     0,     0,
    1946        0,   221,     0,   348,     0,     8,     9,    10,    11,    12,
    1947        0,  1188,     2,   202,     4,     5,     6,     7,     0,     0,
    1948      529,     0,    36,     0,   179,   180,    39,     0,     0,     0,
    1949        0,     0,    30,    40,    41,     0,     0,    75,     0,    72,
    1950      224,     0,   348,     0,   716,   716,     0,     0,     0,     0,
    1951      629,     0,   350,   211,   172,    33,   529,    75,   690,     0,
    1952      405,   351,     0,     0,     0,    75,   577,   577,   692,     0,
    1953       34,  1335,    35,     0,     0,     0,     0,     0,   348,  1337,
    1954     1338,  1339,     0,     0,     0,     0,   481,   172,   358,     0,
    1955        0,   350,     0,     0,     0,     0,   949,     0,   603,     0,
    1956      323,     0,   210,   172,     0,     0,   950,   730,     0,   350,
    1957       36,    75,   179,   180,    39,     0,     0,   172,     0,   348,
    1958        0,    40,    41,  1370,     0,     0,   209,     0,     0,   348,
    1959      210,     0,   348,     0,     0,   210,   228,   218,     0,   348,
    1960        0,     0,     0,     0,   348,     0,  1491,     0,   405,     0,
    1961     1282,     0,   350,     0,   901,    77,  1492,     0,   904,     0,
    1962       77,    36,     0,   179,   180,    39,     0,   255,     0,     0,
    1963        0,    63,    40,    41,     0,     0,     0,   209,     0,   926,
    1964        0,     0,    84,     0,   716,     0,   730,    84,     0,     0,
    1965      114,   407,     0,     0,     0,     0,   926,   690,     0,   405,
    1966        0,     0,     0,     0,     0,   691,    72,   692,     0,     0,
    1967        0,     0,     0,     0,   172,   716,   350,     0,     0,     0,
    1968      209,     0,   210,   716,   716,   716,     0,     0,     0,   211,
    1969      784,   785,   786,     0,   345,   345,   210,   537,   538,   539,
    1970      540,   541,   542,   543,   544,   545,   546,     0,  1188,     0,
    1971        0,     0,     0,     0,   220,     0,     0,     0,     0,   926,
    1972      926,   350,   350,   350,     0,     0,     0,   716,     0,     0,
    1973      547,     0,     0,   529,     0,     0,     0,     0,   114,   350,
    1974      209,   221,     0,     0,     0,     0,     0,     0,     0,   348,
    1975        0,     0,     0,     0,     0,     0,     0,   350,     0,     8,
    1976        9,    10,    11,    12,   577,     0,     0,     0,    75,     0,
    1977        0,     0,     0,     0,   350,     0,     0,     0,   209,     0,
    1978       77,     0,   209,   211,     0,     0,    30,     0,   210,     0,
    1979        0,     0,     0,     0,     0,   351,     0,     0,   501,     0,
    1980       77,   348,   348,     0,   348,   348,     0,    84,    77,    33,
    1981       75,   345,     0,   350,    36,     0,   179,   180,    39,     0,
    1982        0,     0,   358,     0,    72,    40,    41,    84,     0,     0,
    1983        0,     0,   114,     0,   351,    84,     0,     0,   172,     0,
    1984        0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
    1985      181,     0,   351,     0,    77,  1188,     0,   348,   348,     0,
    1986      182,   358,  1188,     0,     0,     0,   529,     0,   209,     0,
    1987        0,     0,     0,     0,     0,     0,     0,   407,     0,   358,
    1988        0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
    1989      350,     0,     0,     0,     0,   351,     0,     0,     0,     0,
    1990      350,     0,     0,   350,     0,     0,  1188,     0,   219,     0,
    1991      350,   983,     0,  1513,     0,   350,     0,     0,     0,     0,
    1992      348,     0,   358,     0,   469,     2,   202,     4,     5,     6,
    1993        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    1994       17,    18,    19,    20,    21,    22,    23,    24,   209,     0,
    1995       25,    26,    27,     0,  1142,     0,     0,   529,    30,   351,
    1996        0,     0,     0,   218,     0,   209,     0,     0,     0,     0,
    1997     1154,     0,     0,     0,     0,     0,     0,    75,   210,     0,
    1998        0,    33,     0,    34,    72,    35,   358,     0,    37,    38,
    1999        0,     0,     0,     0,     0,     0,     0,   348,   209,   348,
    2000        0,     0,     0,     0,   351,   351,   351,     0,     0,     0,
    2001        0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2002       12,     0,   351,     0,     0,     0,     0,    -3,   348,     0,
    2003        0,   358,   358,   358,     0,     0,   348,   348,   348,     0,
    2004      351,     0,     0,    30,     0,  1221,     0,   348,   348,   358,
    2005        0,    77,     0,     0,     0,     0,     0,   351,     0,     0,
    2006      350,    72,     0,   164,     0,   168,    33,   358,   174,   175,
    2007      176,    36,   178,   179,   180,    39,     0,     0,    84,     0,
    2008      348,     0,    40,    41,   358,     0,     0,   229,     0,     0,
    2009        0,     0,     0,    77,     0,     0,   351,     0,     0,   244,
    2010      245,     0,     0,     0,     0,     0,     0,   690,     0,   405,
    2011        0,     0,   350,   350,     0,   350,   350,   692,     0,   209,
    2012       84,     0,     0,   358,     0,     0,     0,     0,     0,     0,
    2013      172,     0,   351,     0,     0,    75,     0,     0,     0,     0,
    2014        0,     0,     0,     0,     0,     0,     0,   209,     0,   529,
    2015        0,     0,   209,     0,   210,     0,     0,     0,     0,   358,
    2016        0,     0,     0,     0,   348,     0,     0,     0,   350,   350,
    2017        0,     0,     0,   351,     0,     0,     0,     8,     9,    10,
    2018       11,    12,     0,   351,     0,     0,   351,     0,     0,     0,
    2019      511,   220,     0,   351,     0,     0,     0,     0,   351,     0,
    2020      358,     0,     0,     0,    30,     0,     0,     0,    72,     0,
    2021      358,     0,     0,   358,     0,    72,     0,     0,   221,     0,
    2022      358,     0,     0,     0,     0,   358,     0,    33,     0,     0,
    2023        0,   350,    36,     0,   179,   180,    39,     0,     0,   209,
    2024        0,     0,     0,    40,    41,     0,     0,     0,   210,     0,
    2025        0,     0,     0,   209,     0,     0,     0,     0,     0,    72,
    2026       77,     8,     9,    10,    11,    12,     0,     0,  1491,     0,
    2027      405,     0,     0,   501,   219,     0,     0,     0,  1492,     0,
    2028        0,     0,     0,     0,     0,     0,     0,    84,    30,     0,
    2029        0,     0,     0,     0,     0,    75,   172,     0,     0,     0,
    2030        0,     0,     0,   529,     0,     0,     0,     0,   350,     0,
    2031      350,    33,     0,     0,     0,     0,    36,     0,   179,   180,
    2032       39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
    2033        0,     0,   123,   123,   123,     0,     0,     0,     0,   350,
    2034        0,     0,     0,   351,     0,   209,     0,   350,   350,   350,
    2035        0,     0,   261,   594,   601,     0,     0,     0,   350,   350,
    2036        0,     0,   262,     0,     0,   625,   626,     0,     0,     0,
    2037      358,     0,    75,     0,     0,     0,     0,     0,     0,     0,
    2038        0,     0,   121,   124,   125,     0,     0,     0,     0,     0,
    2039        0,   350,     0,     0,   162,   351,   351,     0,   351,   351,
    2040        0,     0,     0,   123,     0,   123,     0,     8,     9,    10,
    2041       11,    12,     0,   214,     0,     0,     0,     0,    77,     0,
    2042        0,     0,   358,   358,     0,   358,   358,     0,     0,   271,
    2043        0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
    2044        0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
    2045        0,   351,   351,   250,     0,   251,     0,    33,     0,   162,
    2046        0,     0,    36,     0,   268,     0,    39,     0,     0,     0,
    2047        0,     0,     0,    40,    41,   350,     0,     0,   358,   358,
    2048        0,     0,     0,     0,   123,     0,     0,     0,     0,     0,
    2049        0,     0,   123,   162,   123,   123,     0,     0,   736,   123,
    2050        0,   123,   123,   364,     0,     0,     0,   370,   737,     0,
    2051        0,     0,     0,     0,   351,     0,     0,     0,     0,    75,
    2052        0,     0,     0,     0,     0,   278,    75,   279,     0,     0,
    2053        0,     0,     0,     0,   390,   209,     0,     0,     0,     0,
    2054        0,   358,     0,     0,   409,   410,     0,     0,   280,   414,
    2055        0,   416,   417,     0,   281,   162,     0,   220,   282,     0,
    2056        0,   283,   284,   285,   286,    40,    41,   214,   287,   288,
    2057       75,   123,     0,     0,     0,     0,   289,     0,    77,     0,
    2058        0,     0,     0,     0,   221,   162,   456,     0,     0,     0,
    2059      290,   351,   374,   351,     0,     0,     0,     0,     0,   292,
    2060      376,   294,   295,   296,   297,    84,     0,     0,     0,   370,
    2061        0,     0,     0,  1204,     0,     0,     0,   162,   358,     0,
    2062      358,     0,   351,     0,     0,     0,     0,     0,     0,     0,
    2063      351,   351,   351,     0,     0,     0,     0,     0,     0,     0,
    2064      456,   351,   351,   162,     0,     0,     0,  1022,     0,   358,
    2065        8,     9,    10,    11,    12,    77,     0,   358,   358,   358,
    2066        0,     0,     0,     0,     0,     0,     0,     0,   358,   358,
    2067        0,     0,     0,     0,   351,     0,   278,    30,   279,     0,
    2068        0,     0,    84,     0,     0,     0,     0,     0,     0,     0,
    2069      599,     0,     0,     0,     0,   623,     0,     0,     0,   280,
    2070       33,   358,     0,     0,     0,   281,     0,     0,     0,   282,
    2071        0,   209,   283,   284,   285,   286,    40,    41,     0,   287,
    2072      288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
    2073      942,     0,   943,     0,     0,     0,     0,     0,     0,   946,
    2074      947,   290,     0,   374,   952,     0,     0,     0,     0,     0,
    2075      292,   817,   294,   295,   296,   297,   957,     0,   351,     0,
    2076        0,   961,     0,     0,     0,     0,     0,     0,     0,     0,
    2077      162,   162,     0,     0,     0,     0,     0,   364,     0,     0,
    2078        0,     0,     0,     0,     0,   358,   989,     0,     0,     0,
    2079        0,     0,     0,     0,     0,     0,     0,     0,   456,     0,
    2080        0,   456,    77,     0,     0,   209,     0,   456,     0,    77,
    2081        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2082       18,    19,    20,    21,    22,    23,    24,  -285,     0,    84,
    2083      594,     0,     0,     0,   733,     0,    84,    30,     0,     0,
    2084        0,     0,     0,     0,     0,     0,   162,     0,     0,     0,
    2085        0,     0,     0,    77,     0,     0,     0,     0,   456,     0,
    2086       33,     0,   456,     0,   162,   456,     0,     0,     0,     0,
    2087        0,  -285,     0,     0,     0,     0,     0,   364,     0,     0,
    2088       84,     0,   123,   123,     0,     0,     0,  1033,  1034,  1035,
    2089     1036,     0,  1038,     0,     0,     0,     0,     0,     0,     0,
    2090        0,     0,     0,     0,     0,     0,     0,     0,  1080,     0,
    2091        0,     0,   123,     0,     0,   123,   123,     0,   123,     0,
    2092      123,   123,  1086,     0,     0,   123,   123,     0,     0,   162,
    2093        0,     0,   811,   812,     0,     0,     0,     0,     0,     0,
    2094        0,   364,     0,   599,     0,     0,   827,     0,     0,     0,
     1743     110,   146,    46,   447,    95,   422,   111,   263,   147,   393,
     1744     394,   148,  1076,   378,   921,   395,   922,   500,   923,   401,
     1745     606,   396,   963,   138,   397,   698,   777,   256,   398,   507,
     1746     399,   860,  1077,    46,   703,    95,   709,   843,  1168,  1169,
     1747    1211,   835,   149,   836,    46,   434,    46,   611,   158,   846,
     1748     834,   150,  1128,    47,    66,   853,    46,   742,   119,   884,
     1749     837,   747,    46,   842,   189,    46,   982,   212,    46,   140,
     1750     222,   215,  1186,  1170,   237,   240,   338,   809,  1374,   151,
     1751     831,   404,    60,   173,    47,    66,    53,   112,  1506,   393,
     1752     394,   419,   921,   276,   922,   395,   923,    94,   769,   401,
     1753     198,   396,    30,   670,   397,    30,    46,  1432,   398,    46,
     1754     399,  1519,    74,    60,   402,    46,    30,    53,   875,   876,
     1755     108,   630,   832,   679,   833,   634,   939,    30,    94,   403,
     1756     141,   683,    30,   257,   893,   530,   258,   719,    30,   145,
     1757     146,    94,   108,    74,   199,   277,    46,   147,   158,   206,
     1758     148,   511,   216,   120,    46,   477,   479,   185,   530,    46,
     1759      94,   368,  1084,    94,   528,   529,   737,   108,   405,   108,
     1760    1432,  1185,  1447,   478,    30,  1136,   549,  -225,  -225,  1194,
     1761     248,   149,   405,    46,    46,   752,   158,   473,  1394,  1395,
     1762     150,   413,   753,   405,   402,   567,   483,   740,   405,    46,
     1763     286,  1196,   844,   152,   603,   773,   530,    46,   946,   158,
     1764    1176,   139,   529,   831,   143,  1198,    46,   169,   151,    46,
     1765     146,   437,   925,  1180,   163,   530,   521,   147,   966,   568,
     1766     148,   478,  1119,   459,   668,  1245,  1177,   665,   851,   530,
     1767     603,    94,  -225,   433,   938,  1394,  1395,   467,   529,    46,
     1768     165,    95,  1396,   569,    94,   832,   441,   833,   751,   964,
     1769     249,   589,  1246,    46,    46,  1377,   158,   835,  1170,   836,
     1770      46,   248,   325,  1024,   846,   462,  1011,    46,   392,   185,
     1771     553,   554,  1168,  1169,   657,   465,   837,   694,   518,   163,
     1772     338,  1138,   703,   167,   104,   104,  1456,   485,  1003,  1023,
     1773      47,    66,    94,   435,   502,  1323,   831,   611,   372,  1405,
     1774    1186,   847,   672,  1000,    94,   850,   863,  1170,   677,   665,
     1775     864,   177,  1177,   323,   373,   104,    46,   113,   368,    60,
     1776    1200,  1076,   666,    53,   474,   108,   867,   136,   234,   381,
     1777     870,   108,   719,  1436,    94,    46,    46,   473,   832,   384,
     1778     833,  1077,   820,   108,   411,   382,   673,   675,   481,    74,
     1779     104,  1120,    46,   108,    74,   385,    46,   473,  1121,   645,
     1780     156,   235,   173,   914,   386,   473,   236,   431,  1449,   779,
     1781     197,   843,   696,   674,   676,   430,   835,   439,   836,   631,
     1782     387,  1327,    46,   635,  1505,   869,   108,   160,   136,   137,
     1783    1427,  1329,    46,   865,   368,   837,   578,   866,  -281,  1360,
     1784    1514,   388,   579,   172,   666,   323,   860,  1518,   243,   904,
     1785      46,    94,   783,   784,   785,  1436,    46,   389,    46,   254,
     1786    1436,   598,   743,   246,  1170,   156,   108,   744,   136,   137,
     1787     108,   605,   136,   137,   521,   248,  1436,   430,   521,   708,
     1788     338,   521,    46,  1436,   459,   522,   495,  1186,   496,   746,
     1789    1156,  1158,   160,   172,  1186,   529,   172,  -505,   110,   319,
     1790     260,  1065,  -109,   163,   880,   719,    46,   760,   335,  1381,
     1791     580,   239,   405,  1134,    46,   719,   368,   741,    46,   745,
     1792      95,   500,    46,  -109,   474,  1087,   885,   185,  1118,   704,
     1793     719,  1092,   684,   865,   802,   967,  1186,  1102,   579,   698,
     1794     706,   172,   -10,   757,   474,   705,  1022,   393,   394,  1106,
     1795     600,  -102,   474,   395,    74,  -102,   707,   424,   401,   396,
     1796     774,   428,   397,   757,  1024,   780,   398,  1241,   399,    47,
     1797      66,   104,   813,   611,    74,   550,   583,   695,   405,   895,
     1798     551,   552,    74,   754,  1092,   897,  1462,   755,   429,  1358,
     1799     761,   319,   450,  1462,  1421,  1422,   728,  1027,    60,   873,
     1800     873,   873,    53,   172,   704,   731,     8,     9,    10,    11,
     1801      12,  1005,   467,    94,  1346,   820,   873,   605,  1347,   455,
     1802     917,   706,    46,   428,   557,   558,   490,   529,    74,  1183,
     1803     323,   323,   681,    30,    46,  1502,    46,   918,  1183,   555,
     1804     556,   338,   531,   532,   533,  1184,   523,   473,  1233,   156,
     1805     429,  -431,  1237,   402,  1303,    46,    33,   172,  1022,   559,
     1806     560,  1312,  1404,  1191,   172,   534,   723,   535,   881,   536,
     1807    -432,    46,   981,   525,   721,   822,   160,  1313,  1314,   765,
     1808     722,  1235,   862,   894,    46,   896,  1480,    46,  1103,   943,
     1809     873,   738,  1485,   588,  1315,  1361,   595,   739,   877,   571,
     1810     703,   405,   272,   522,   820,  1321,   323,   522,  1501,   572,
     1811     522,   892,  1322,  1508,   598,   628,   338,   274,   529,   632,
     1812     275,    46,   335,    46,   323,   326,   719,   719,   933,   830,
     1813     748,   605,   172,   327,   936,   764,   749,  1035,  1274,  1275,
     1814    1464,   765,  1465,   598,  -109,   767,  -109,   405,   598,   172,
     1815    -109,   942,   328,   172,    67,   768,  1114,  1081,   886,   329,
     1816     644,  1042,   561,   562,   887,  -109,  -109,    46,    46,     2,
     1817     202,     4,     5,     6,     7,   330,   319,   319,   765,   995,
     1818     873,    46,   331,   719,   719,    67,  1503,   366,  -282,   323,
     1819     248,   325,   405,   665,   474,     8,     9,    10,    11,    12,
     1820     728,   694,   367,   600,   450,   908,   910,   450,   502,   731,
     1821     104,   765,   765,   450,   371,   172,   920,   208,   695,   898,
     1822    1065,   405,    30,   379,    74,   113,   383,    34,   947,    35,
     1823     603,   455,   861,  -456,   455,  -456,   474,   600,   948,  -456,
     1824     455,   990,   426,  1002,   921,    33,   922,   991,   923,   722,
     1825     490,  1231,   319,  1354,   490,  1160,   901,   579,   405,   765,
     1826      46,  1355,   830,   605,   523,   906,    74,   765,   523,   391,
     1827     319,   523,    46,  1357,   913,   728,   403,  1362,   915,   765,
     1828     820,  1418,   335,   765,   731,   325,   405,  1415,   666,    -3,
     1829      36,   525,   179,   180,    39,   525,   696,   730,   525,   967,
     1830    1437,    40,    41,   967,   967,   420,   765,   645,   822,   529,
     1831    1474,  1367,   421,  1048,  1522,  1140,  1183,   405,  1046,  1063,
     1832     579,  1181,   108,  1308,   136,   137,   602,  1152,   603,   405,
     1833       8,     9,    10,    11,    12,   319,   604,   444,  1155,  1417,
     1834     603,    36,  1294,  1295,    46,    39,   818,   457,  1157,   595,
     1835     603,   511,    40,    41,   719,   830,  1429,    30,    46,   413,
     1836     661,   405,   719,   719,   719,  1393,    46,   605,  1401,    63,
     1837     114,   436,   460,  1219,    66,   405,   463,    42,   859,   172,
     1838      33,  1415,  1416,   595,    46,   464,   929,   144,   929,   868,
     1839     108,   126,  1107,   127,   128,   129,    72,   483,   325,   405,
     1840      63,    67,    60,   486,   645,   506,    53,   719,   286,  1435,
     1841    1457,  1458,   172,   157,  1439,   514,  1319,  1130,  1478,  1429,
     1842     757,   571,  1130,   405,   844,   325,   603,    72,   172,  1394,
     1843    1395,   572,    74,  1226,   526,   217,  1328,  1330,  1331,  1455,
     1844     530,   172,   564,   335,   790,   791,   792,   793,   563,   874,
     1845     874,   874,   565,   695,     2,   202,     4,     5,     6,     7,
     1846     566,   695,   218,   569,   529,   450,   874,   786,   787,   334,
     1847    1130,  -428,   255,  1108,  1492,   788,   789,   794,   795,   605,
     1848     587,  1063,   224,   658,  1195,  1197,  1199,   225,   590,   640,
     1849     659,   226,   455,   660,   230,   490,   232,   662,   667,   208,
     1850    1375,   730,  1048,   241,  1375,   663,   664,  1046,   253,  1086,
     1851    1513,   669,    34,   324,    35,  1092,  1513,   687,   335,   710,
     1852    -229,   255,   345,   712,   750,  1513,   762,   766,   598,  1513,
     1853     770,   823,   883,  1188,   825,   827,   838,   889,   172,   909,
     1854     874,    46,     2,   202,     4,     5,     6,     7,   -12,   348,
     1855     882,   400,   912,   911,   690,  1283,  1284,   739,  1286,   338,
     1856     916,   474,   937,  -405,  1290,    53,   418,  1293,   323,   423,
     1857     425,  -509,   951,    36,   157,  1004,   730,    39,   958,   818,
     1858     960,   965,   971,   972,    40,    41,     8,     9,    10,    11,
     1859      12,    74,   974,   975,   976,   442,   977,  1448,   986,   445,
     1860      34,   446,    35,   997,   998,   999,  1013,  1281,  1014,   828,
     1861     461,   603,  1280,    30,   104,  1015,    63,   861,  1016,   604,
     1862    1017,   475,   443,   215,  1018,  1019,  1030,  -393,   225,   208,
     1863     874,   482,  -392,  1044,  1078,  1080,    33,    46,  1063,   425,
     1864      67,    36,  1095,    72,  1088,    39,  1089,    36,    72,   170,
     1865     171,    39,    40,    41,  1090,  1202,  1091,   728,    40,    41,
     1866      54,    54,  1096,  1107,  1097,  1098,   731,    36,   818,   170,
     1867     171,    39,   450,  1099,  1130,  1130,  1130,    42,    40,    41,
     1868    1105,   104,  1115,   367,  1117,   765,  1116,   144,  1206,  1122,
     1869    1150,    54,   980,    66,  1512,  1126,  1129,  1413,  1171,   455,
     1870    1173,   172,  1172,   206,   216,  1174,   255,  1207,  1175,   596,
     1871    1189,  1190,   490,  1109,   319,   624,  1192,  1193,  1201,    -3,
     1872    1212,    60,  1400,    54,  1205,    53,    54,  1217,   629,  1063,
     1873    -283,  1223,   629,  1227,   495,   255,   728,     8,     9,    10,
     1874      11,    12,   218,   924,  1108,   731,  1232,   393,   394,  1234,
     1875    1239,    74,  1107,   395,  1236,  1243,  1247,   401,  1250,   396,
     1876    1252,  1254,   397,   859,    30,   924,   398,   225,   399,   230,
     1877    1255,  1188,  1318,   104,  1256,  1257,  1258,   665,   436,  1260,
     1878    1267,   475,  1276,  1063,  1277,  1285,  1063,    33,  1288,  1289,
     1879    1291,  1292,  1302,  1491,  1310,  1316,   345,  1299,   435,   474,
     1880    1320,   475,  1325,    53,    46,    46,  1324,  1326,    72,   475,
     1881    1332,  1130,  1130,   343,    36,  1333,   179,   180,    39,  1334,
     1882    1336,  1342,  1343,   348,  1344,    40,    41,  1063,    72,    74,
     1883    1345,  1412,  1063,  1108,  1352,   715,    72,  1353,   425,  1356,
     1884    1048,  1167,  1363,   450,   818,  1046,  1107,  1295,  1366,  1368,
     1885     181,  1371,   402,   729,   994,    63,   225,  1063,  1369,  1378,
     1886     182,  1381,   348,   425,    36,  1388,  1389,   425,    39,   208,
     1887     455,  -394,   666,  1403,  1392,    40,    41,    54,   146,  1407,
     1888     348,  1409,    72,   208,   720,   147,  1414,  1419,   148,    75,
     1889    1364,  1423,  1347,  1424,  1428,   255,   345,   159,  1425,  1493,
     1890     735,    46,  1426,  1442,  1433,  1438,  1440,    54,  1444,  1063,
     1891     736,  1446,   104,   190,  1063,  1450,   213,  1451,  1188,   223,
     1892      75,    46,    46,   348,   158,  1188,  1452,  1108,  1063,  1463,
     1893    1063,  1471,  1037,   104,  1063,  1473,  1476,  1063,  1477,  1484,
     1894    1496,   808,    46,  1063,   368,  1497,   474,  1063,  1500,  1507,
     1895      53,  1509,   104,   474,  1515,   219,   796,    53,   730,   629,
     1896     821,   335,   596,  1521,   798,   797,  1242,  1188,   799,  1301,
     1897    1406,  1479,  1523,   840,  1365,   208,    74,    36,  1495,   179,
     1898     180,    39,   800,    74,  1109,  1379,  1466,   348,    40,    41,
     1899    1238,   596,  1093,   685,   172,   474,   596,   159,   686,    53,
     1900    1094,   930,   629,   714,   815,   345,   345,   345,   888,  1125,
     1901     369,   104,  1043,   689,   953,   405,   481,  1104,  1311,   924,
     1902     733,   690,   345,   691,   805,    74,     8,     9,    10,    11,
     1903      12,   961,   348,   348,   348,   159,     0,  1467,   806,   807,
     1904     715,   104,   350,    36,    67,   170,   171,    39,  1137,   348,
     1905       0,   475,     0,    30,    40,    41,   255,   729,   159,     0,
     1906     926,     0,     0,    77,     0,     0,  1494,   348,     0,     0,
     1907     438,     0,     0,  1109,     0,     0,    33,   210,    72,   371,
     1908       0,     0,     0,     0,   348,  1349,     0,   343,     0,   720,
     1909       0,     0,     0,   475,    77,     0,   345,     0,  1037,     0,
     1910     907,     0,     0,     0,  1520,   952,   323,     0,   425,     0,
     1911       0,     0,     0,     0,     0,     0,  1525,   767,     0,   405,
     1912      72,     0,     0,   348,     0,     0,     0,   768,   210,   220,
     1913       0,   255,   729,     0,     0,   104,    75,   979,     0,     0,
     1914       0,    75,     0,     0,     0,  -284,    54,     8,     9,    10,
     1915      11,    12,     8,     9,    10,    11,    12,     0,   104,   348,
     1916       0,   172,     0,     0,   436,   104,     0,  1109,     0,     0,
     1917       0,   210,   924,   715,    30,     0,     0,   369,    36,    30,
     1918     179,   180,    39,   715,     0,     0,   345,   343,   629,    40,
     1919      41,  1010,   629,   821,   211,     0,     0,    33,   715,  1469,
     1920     348,     0,    33,    67,     0,     0,     0,   104,  1021,     0,
     1921     348,   238,     0,   348,   261,     0,   351,     0,   218,     0,
     1922     348,     0,   720,     0,   262,   348,  1470,     0,  1469,   924,
     1923     924,   210,   720,   996,     0,   219,     0,     0,   947,     0,
     1924     603,     0,     0,  1001,     0,   211,     0,   720,   948,     0,
     1925       0,   343,   319,   369,     0,  1470,     0,     0,  1012,    63,
     1926       0,     0,     0,     0,     0,     0,     0,     0,    36,   210,
     1927     179,   180,    39,   210,     0,     0,     0,     0,     0,    40,
     1928      41,   629,     0,     0,     0,     0,    72,     0,   211,     0,
     1929       0,     0,     0,     0,     0,     0,   343,   343,   343,     0,
     1930       0,    75,     0,     0,   689,     0,   405,     0,     0,     0,
     1931      77,     0,     0,   343,   691,    77,   350,  1101,     0,     0,
     1932      36,    75,   179,   180,    39,   425,   114,     0,     0,    75,
     1933       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
     1934       0,   208,   345,     0,     0,     0,     0,     0,   211,     0,
     1935       0,     0,     0,     0,     0,   350,  1489,     0,   405,   210,
     1936       0,     0,     0,    67,     0,     0,  1490,     0,     0,   348,
     1937       0,     0,     0,   350,     0,    75,   596,     0,     0,     0,
     1938       0,     0,     0,     0,     0,     0,   211,   343,     0,   423,
     1939     211,     0,    84,     0,   715,   715,     0,   345,   345,   537,
     1940     538,   539,   540,   541,   542,   543,   544,   545,   546,   220,
     1941       0,     0,     0,     0,     0,     0,   350,     0,  1187,     0,
     1942       0,   348,   348,    84,   348,   348,     0,     0,     0,     0,
     1943     924,     0,   547,     0,     0,     0,   436,     0,     0,   210,
     1944       0,    67,     0,   720,   720,    72,     0,   924,     0,     0,
     1945       0,   715,   715,     0,  1165,  1166,     0,   629,   221,     0,
    20951946       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2096        0,  1101,   846,     0,     0,   849,   850,     0,   853,     0,
    2097      855,   856,   599,     0,     0,   857,   858,   599,     0,     0,
    2098        0,     0,     0,     0,     0,     0,   364,   364,   364,     0,
     1947       0,     0,     0,     0,     0,    77,   211,   343,   348,   348,
     1948     350,     0,   209,     0,   343,     0,     0,     0,     0,   210,
     1949     351,     0,   228,     0,     0,    77,     0,     0,     0,     0,
     1950     720,   720,     0,    77,     0,     0,     0,     0,     0,   924,
     1951     924,  1214,  1215,     0,   729,     0,     0,     0,     0,     0,
     1952       0,     0,     0,     0,     0,   350,   350,   350,     0,   351,
     1953       0,     0,     0,   209,     0,     0,     0,     0,     0,     0,
     1954       0,   348,   350,     0,     0,   358,     0,   351,     0,    77,
     1955      54,     0,     0,     0,     0,     0,   211,  1282,     0,     0,
     1956     350,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1957       0,    75,     0,     0,   255,     0,   209,   350,    63,     0,
     1958       0,     0,     0,     0,   218,     0,     0,     0,    67,     0,
     1959     351,   715,     0,   729,     0,    67,     0,   114,     0,     0,
     1960       0,     0,     0,     0,     0,    72,   211,     0,     0,     0,
     1961     210,     0,     0,    75,     0,     0,   350,    54,   348,     0,
     1962     348,     0,   715,     0,     0,     0,     0,     0,     0,     0,
     1963     715,   715,   715,   343,     0,     0,   209,    67,   210,    84,
     1964    1309,   345,   345,   210,    84,     0,     0,     0,     0,   348,
     1965       0,     0,   350,     0,   351,     0,  1187,   348,   348,   348,
     1966       0,     0,     0,     0,     0,     0,     0,     0,   348,   348,
     1967       0,   720,     0,     0,   209,   715,     0,     0,   209,   720,
     1968     720,   720,  1335,    72,     0,     0,   114,     0,   343,   343,
     1969    1337,  1338,  1339,   350,   501,     0,     0,     0,     0,   351,
     1970     351,   351,   348,   350,     0,     0,   350,     0,     0,    54,
     1971       0,   219,     0,   350,     0,     0,   351,     0,   350,     0,
     1972       0,     0,     0,     0,   720,     0,     0,   211,     0,   210,
     1973       0,     0,     0,     0,   351,  1370,     0,     0,   221,     0,
     1974       0,     0,     0,   210,     0,    77,     0,     0,     0,     0,
     1975       0,   351,     0,     0,     0,   211,     0,     0,     0,   345,
     1976     211,     0,     0,     0,   209,     0,     0,     0,     0,     0,
     1977       0,     0,     0,     0,     0,     0,     0,     0,     0,    75,
     1978     114,     0,     0,     0,     0,     0,   348,    77,     0,     0,
     1979     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     1980       0,     0,     0,  1187,    84,     0,     0,     0,     0,     0,
     1981    1187,   121,   124,   125,     0,     0,     0,     0,     0,   358,
     1982       0,     0,     0,     0,    84,     0,   351,     0,     0,     0,
     1983      72,     0,    84,     0,     0,   210,     0,    72,     0,   123,
     1984     123,   123,     0,     0,   209,     0,   211,    54,    54,     0,
     1985       0,     0,  1187,     0,     0,     0,     0,     0,   358,  1510,
     1986     211,   209,   350,     0,     0,     0,     0,   351,     0,    54,
     1987       0,     0,     0,     0,     0,     0,   358,   351,    84,    72,
     1988     351,     0,   250,     0,   251,   220,     0,   351,    54,     0,
     1989       0,     0,   351,     0,   209,     0,     0,     0,     0,     0,
    20991990       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2100     1128,     0,     0,   123,   364,     0,     0,  1136,   123,   123,
    2101        0,  1140,     0,     0,   123,     0,  1144,     0,  1145,     0,
    2102        0,     0,  1147,  1148,  1149,     0,     0,  1152,     0,     0,
    2103        0,     0,     0,     0,     0,     0,  1164,     0,     0,   733,
     1991     123,     0,   123,     0,   350,   350,     0,   350,   350,   358,
     1992     164,     0,   168,     0,     0,   174,   175,   176,     0,   178,
     1993       0,     0,   343,   343,     0,     0,   271,     0,    75,     0,
     1994       0,     0,    54,     0,   229,     0,     0,    54,     0,     0,
     1995       0,     0,   211,    77,     0,     0,   244,   245,     0,     0,
     1996       0,     0,     0,   390,     0,     0,     0,     0,     0,     0,
     1997       0,   350,   350,   409,   410,     0,     0,    54,   414,     0,
     1998     416,   417,     0,   358,     0,     0,     0,     0,     0,     0,
     1999       0,   123,     0,     0,     8,     9,    10,    11,    12,   123,
     2000       0,   123,   123,     0,     0,     0,   123,     0,   123,   123,
     2001       0,     0,     0,     0,     0,   209,     0,     0,     0,     0,
     2002       0,    30,     0,     0,   210,   407,     0,     0,   358,   358,
     2003     358,     0,   415,     0,   350,     0,   351,     0,     0,     0,
     2004       0,     0,     0,   209,    33,   358,     0,     0,   209,    36,
     2005     343,   179,   180,    39,     0,     0,     0,     0,     0,     0,
     2006      40,    41,     0,   358,     0,     0,     0,     0,     0,     0,
     2007       0,    54,     0,     0,    84,     0,     0,   219,   123,     0,
     2008     358,     0,     0,     0,     0,   602,     0,   603,   351,   351,
     2009       0,   351,   351,     0,    54,   604,     0,     0,    75,     0,
     2010       0,    54,     0,     0,   407,     0,     0,     0,     0,     0,
     2011       0,   350,    77,   350,     0,     0,    84,     0,     0,   358,
     2012       0,     0,     0,     0,     0,     0,     0,     8,     9,    10,
     2013      11,    12,     0,     0,   209,     0,     0,     0,     0,     0,
     2014       0,   211,   350,    54,     0,   351,   351,     0,   209,     0,
     2015     350,   350,   350,     0,    30,   358,     0,     0,     0,   577,
     2016       0,   350,   350,     0,     0,     0,     0,   581,   501,     0,
     2017     584,     0,     0,     0,     0,     0,    75,    33,     0,     0,
     2018       0,     0,    36,     0,   179,   180,    39,     0,     0,     0,
     2019       0,     0,     0,    40,    41,   350,   358,     0,     0,     0,
     2020       0,   210,     0,     0,     0,     0,   358,     0,   351,   358,
     2021     594,   601,     0,     0,   221,     0,   358,     0,   689,     0,
     2022     405,   358,   625,   626,     0,     0,     0,     0,   691,     0,
     2023       0,     0,   407,     0,     0,     0,   415,     0,     0,     0,
     2024     209,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2025       0,   220,     0,     0,     8,     9,    10,    11,    12,    13,
     2026      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2027      24,  -285,    77,    25,    26,    27,     0,     0,     0,   350,
     2028       0,    30,    84,     0,     0,   351,     0,   351,     0,     0,
     2029       0,     0,     0,     0,     0,     0,   210,     0,     0,     0,
     2030       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
     2031       0,    37,    38,     0,     0,  -285,   351,     0,   211,     0,
     2032       0,   407,     0,    75,   351,   351,   351,     0,     0,     0,
     2033      75,     0,     0,     0,     0,   351,   351,     0,     0,     0,
     2034       0,     0,     0,     0,     0,   636,     0,   334,     0,     0,
     2035      77,     0,     0,     0,     0,   109,     0,     0,     0,     0,
     2036       0,   810,   811,     0,     0,   358,     0,     0,     0,   351,
     2037       0,     0,    75,     0,     0,     0,     0,     0,     0,     0,
     2038       8,     9,    10,    11,    12,     0,     0,     0,     0,   123,
     2039     123,   845,     0,     0,   848,   849,     0,   852,     0,   854,
     2040     855,     0,     0,     0,   856,   857,     0,    30,     0,     0,
     2041       0,   577,   577,   211,     0,     0,     0,   358,   358,   123,
     2042     358,   358,   123,   123,     0,   123,     0,   123,   123,   209,
     2043      33,     0,   123,   123,     0,    36,     0,   179,   180,    39,
     2044       0,    84,     0,     0,     0,     0,    40,    41,     0,     0,
     2045       0,     0,     0,   351,     0,     0,     0,     0,     0,  1020,
     2046       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2047       0,  1489,     0,   405,   358,   358,     0,     0,     0,     0,
     2048       0,  1490,     0,     0,     0,     0,   931,   932,   278,    30,
     2049     279,     0,   934,     0,     0,     0,     0,    77,   899,     0,
     2050       0,     0,   902,     0,    77,     0,     0,     0,     0,   123,
     2051       0,   280,    33,     0,   123,   123,     0,   281,     0,     0,
     2052     123,   282,     0,     0,   283,   284,   285,   286,    40,    41,
     2053       0,   287,   288,     0,     0,   407,     0,   358,     0,   289,
     2054       0,     0,     0,     0,     0,     0,    77,     0,     0,     0,
     2055       0,     0,     0,   290,     0,   374,     0,     0,     0,     0,
     2056     162,     0,   292,   816,   294,   295,   296,   297,     0,     0,
     2057       0,     0,     0,     0,     0,     0,     0,     0,     0,   214,
     2058     221,     0,     0,     0,     0,     0,   940,     0,   941,     0,
     2059       0,     0,     0,     0,     0,   944,   945,     0,     0,     0,
     2060     950,    84,     0,     0,     0,     0,   209,     0,     0,     0,
     2061       0,     0,   955,     0,   358,     0,   358,   959,     0,     0,
     2062       0,     0,     0,     0,     0,   162,     0,     0,     0,     0,
     2063     268,     0,     0,     8,     9,    10,    11,    12,     0,     0,
     2064       0,     0,   987,     0,     0,   358,     0,     0,   577,     0,
     2065       0,     0,     0,   358,   358,   358,     0,     0,     0,   162,
     2066      30,     0,     0,     0,   358,   358,     0,     0,     0,   364,
     2067       0,     0,     0,   370,     0,     0,     0,     0,     0,    84,
     2068       0,     0,     0,    33,     0,     0,   594,     0,    36,     0,
     2069     179,   180,    39,     0,     0,     0,     0,     0,   358,    40,
     2070      41,   209,     0,     8,     9,    10,    11,    12,    13,    14,
     2071      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2072       0,   162,     0,     0,   181,     0,     0,     0,     0,     0,
     2073      30,     0,     0,   214,   182,  1161,     0,     0,     8,     9,
     2074      10,    11,    12,  1031,  1032,  1033,  1034,     0,  1036,     0,
     2075       0,   162,   456,    33,     0,     0,     0,     0,     0,     0,
     2076     407,     0,     0,  1079,   278,    30,   279,     0,     8,     9,
     2077      10,    11,    12,     0,     0,   370,     0,  1085,     0,     0,
     2078       0,     0,   358,   162,     0,     0,     0,   280,    33,     0,
     2079       0,     0,     0,   281,     0,    30,     0,   282,     0,     0,
     2080     283,   284,   285,   286,    40,    41,   456,   287,   288,   162,
     2081       0,     0,     0,     0,     0,   289,  1100,     0,    33,     0,
     2082       0,     0,     0,    36,     0,     0,    84,    39,     0,   290,
     2083       0,   374,     0,    84,    40,    41,     0,  1141,   292,  1162,
     2084     294,   295,   296,   297,     0,     0,     0,     0,     0,     0,
     2085       0,     0,     0,  1153,     0,  1127,   599,     0,     0,   735,
     2086       0,   623,  1135,     0,     0,     0,  1139,     0,     0,   736,
     2087    1216,  1143,     0,  1144,     0,    84,     0,  1146,  1147,  1148,
     2088       0,     0,  1151,     0,     0,     0,     0,     0,     0,     0,
     2089       0,  1163,     0,     0,     0,     0,     0,     0,   123,     0,
     2090       0,   207,     0,     8,     9,    10,    11,    12,     0,  1178,
     2091    1179,   227,     0,   231,     0,   233,     0,     0,     0,     0,
     2092       0,     0,   242,     0,     0,     0,     0,     0,     0,  1220,
     2093      30,     0,     0,     0,     0,  1208,   162,   162,  1210,     0,
     2094       0,     0,     0,   364,     0,     0,     0,     0,     0,     0,
     2095       0,     0,   207,    33,   231,   233,   242,     0,    36,     0,
     2096     179,   180,    39,     0,   456,     0,     0,   456,     0,    40,
     2097      41,     0,     0,   456,     0,     0,  1225,     0,     0,     0,
     2098       0,     0,  1229,  1230,     0,     0,     0,     0,     0,     0,
     2099       0,     0,  1300,  1240,   261,   207,     0,     0,  1244,     0,
     2100     732,  1248,     0,  1249,   262,     0,  1251,     0,     0,     0,
     2101       0,     0,   162,     0,     0,     0,     0,     0,     0,  1259,
     2102     123,   153,     0,     0,   456,     0,     0,     0,   456,     0,
     2103     162,   456,  1266,     0,  1268,  1269,  1270,  1271,     0,     0,
     2104       0,     0,     0,   364,     0,     0,     0,     0,     0,     0,
     2105    1278,     0,  1279,     0,     0,   207,   168,   231,   233,   242,
     2106       0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
     2107       0,     0,     0,     0,     0,     0,     0,   252,     0,     0,
     2108       0,     0,     0,     0,  1304,  1305,     0,     0,     0,     0,
     2109       0,     0,     0,   207,     0,   162,     0,   207,     0,     0,
     2110       0,     0,     0,     0,     0,     0,     0,   364,     0,   599,
     2111       0,     0,   826,   499,     8,     9,    10,    11,    12,    13,
     2112      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2113      24,  -285,   153,     0,  1340,  1341,     0,     0,   599,     0,
     2114       0,    30,     0,   599,  1351,   380,     0,     0,     0,     0,
     2115       0,     0,   364,   364,   364,     0,     0,     0,     0,     0,
     2116       0,     0,   207,     0,    33,     0,     0,     0,   412,   364,
     2117       0,     0,     0,     0,     0,  -285,     0,     0,     0,     0,
     2118       0,     0,   427,   207,     0,     0,     0,     0,   231,   233,
     2119       0,   432,     0,  1380,     0,     0,   242,     0,     0,     0,
     2120       0,   440,     0,     0,   732,  1384,     0,  1385,  1386,  1387,
     2121       0,     0,     0,     0,     0,     0,     0,     0,     0,  1391,
     2122       0,     0,     0,     0,     0,   456,   466,     0,  1402,     0,
     2123       0,   476,     0,     0,     0,     0,     0,     0,   207,     0,
     2124    1410,     0,     0,   364,   484,   949,     0,     0,     0,     0,
     2125     494,     0,   498,     0,     0,     0,   207,     0,     0,     0,
     2126       0,   207,     0,   207,     0,     0,     0,     0,     0,   527,
     2127       0,     0,     0,     0,     0,     0,     0,     0,     0,   732,
     2128     207,     0,     0,   207,   207,     0,     0,     0,     0,     0,
     2129       0,  1453,  1454,     0,     0,     0,     0,     0,     0,   207,
     2130       0,     0,     0,     0,  1459,     0,     0,     0,     0,     0,
     2131       0,  1459,   586,   207,     0,     0,     0,   591,     0,     0,
     2132     207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2133       0,     0,     0,   364,   278,     0,   279,   623,  1488,     0,
     2134     364,     0,     0,     0,     0,   637,     0,     0,     0,   638,
     2135     639,     0,   641,     0,     0,     0,     0,   280,   651,   652,
     2136       0,   653,   654,   281,   655,  1511,   656,   282,     0,     0,
     2137     283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
     2138       0,     0,     0,   586,     0,   289,     0,     0,     0,     0,
     2139    1524,   671,     0,     0,     0,  1526,     0,     0,     0,   290,
     2140       0,   374,     0,     0,     0,     0,     0,     0,   292,   376,
     2141     294,   295,   296,   297,     0,     0,   682,     0,     0,     0,
     2142       0,     0,  1203,     0,     0,     0,     0,   688,     0,     0,
     2143       0,     0,   456,     0,   207,     0,     0,     0,     0,     0,
     2144     278,     0,   279,     0,     0,     0,     0,     0,     0,     0,
     2145     724,     0,     0,     0,     0,     0,   727,     0,     0,     0,
     2146       0,   466,   207,   280,     0,     0,     0,   207,     0,   642,
     2147       0,   136,   137,   282,   162,     0,   283,   284,   285,   286,
     2148      40,    41,     0,   287,   288,     0,     0,     0,     0,   364,
     2149       0,   289,     0,     0,     0,     0,     0,   763,     0,     0,
     2150       0,     0,     0,     0,     0,   290,     0,   643,     0,   644,
     2151     375,     0,     0,   778,   292,   376,   294,   295,   296,   297,
     2152       0,     0,     0,   599,     0,     0,     0,     8,     9,    10,
     2153      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2154      21,    22,    23,    24,   364,   364,    25,    26,    27,   804,
     2155       0,     0,     0,   207,    30,     0,     0,     0,   814,     0,
     2156       0,     0,     0,     0,     0,   817,     0,   207,     0,     0,
     2157     824,     0,     0,   278,     0,   279,     0,    33,     0,     0,
     2158       0,   839,    36,     0,    37,    38,    39,   499,     0,     0,
     2159       0,     0,     0,    40,    41,     0,   280,     0,     0,     0,
     2160       0,     0,   281,   456,     0,     0,   282,     0,     0,   283,
     2161     284,   285,   286,    40,    41,     0,   287,   288,    42,     0,
     2162     154,   879,     0,     0,   289,     0,     0,     0,    44,     0,
     2163       0,     0,     0,   317,     0,     0,     0,     0,   290,     0,
     2164     374,     0,     0,   341,     0,   771,   207,   292,   376,   294,
     2165     295,   296,   297,     0,     0,   377,   824,     0,     0,   207,
     2166       0,   732,     0,     0,     0,     0,     0,     0,     0,     0,
     2167       0,     0,     0,     0,     0,     0,     0,     0,   207,     2,
     2168     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2169      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2170      23,    24,     0,   214,    25,    26,    27,     0,     0,     0,
     2171       0,   247,    30,     0,     0,     0,     0,     0,     0,     0,
     2172       0,   956,   957,   337,   359,   317,     0,     0,     0,     0,
     2173       0,     0,     0,     0,   973,    33,     0,    34,     0,    35,
     2174     732,     0,    37,    38,     0,     0,     0,     0,     0,     0,
     2175     480,   988,     0,   989,     0,     0,   408,   993,     0,     0,
     2176       0,     0,     0,   408,   207,     0,     0,     0,     0,     0,
     2177       0,     0,     0,     0,     0,     0,     0,  -390,   678,     0,
     2178       0,     0,     0,     0,     0,     0,   627,     0,   364,   364,
     2179     207,     0,     0,     0,     0,     0,     0,     0,   214,     8,
     2180       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2181      19,    20,    21,    22,    23,    24,     0,   207,    25,    26,
     2182      27,     0,  1025,     0,     0,     0,    30,   448,     0,  1026,
     2183       0,     0,     0,     0,     0,   408,     0,     0,     0,     0,
     2184       0,     0,  1028,     0,  1029,     0,     0,     0,   207,    33,
     2185       0,     0,     0,     0,     0,     0,    37,    38,  1041,   207,
     2186       0,     0,     0,     0,  1045,   377,     0,     0,     0,     0,
     2187       0,     0,     0,     0,     0,     0,  1082,     0,     0,  1083,
    21042188       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2105        0,     0,     0,     0,  1179,  1180,     0,     0,   933,   934,
    2106      456,     0,     0,     0,   936,     0,     0,     0,     0,     0,
    2107        0,     0,     0,     0,     0,     0,     0,     0,   364,  1209,
    2108      951,     0,  1211,     8,     9,    10,    11,    12,    13,    14,
    2109       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2110        0,     0,    25,    26,    27,     0,     0,   207,     0,     0,
    2111       30,     0,     0,     0,   733,     0,     0,   227,     0,   231,
    2112     1226,   233,     0,     0,     0,     0,  1230,  1231,   242,     0,
    2113        0,     0,     0,    33,     0,     0,     0,  1241,     0,     0,
    2114      203,    38,  1245,     0,     0,  1249,     0,  1250,     0,     0,
    2115     1252,     0,     0,     0,     0,     0,     0,     0,   207,     0,
    2116      231,   233,   242,  1260,     0,     0,     0,     0,   364,     0,
    2117        0,     0,   623,     0,     0,   364,  1267,     0,  1269,  1270,
    2118     1271,  1272,     0,     0,   267,     0,     0,     0,     0,     0,
    2119        0,     0,     0,     0,  1279,     0,  1280,     0,     0,     0,
    2120      168,   207,     0,     0,     0,     0,     0,     0,     0,     0,
     2189     408,     0,   449,     0,     0,     0,   702,   591,   408,   582,
     2190     109,   408,   585,     0,     0,     0,   364,     0,     0,     0,
     2191       0,   359,     0,     0,     0,   615,     0,   278,     0,   279,
    21212192       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2122        0,     0,     0,     0,     0,     0,     0,     0,  1304,  1305,
    2123        0,     0,   201,     2,   202,     4,     5,     6,     7,     8,
    2124        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2125       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2126       27,   207,     0,   231,   233,   242,    30,     0,   456,     0,
    2127        0,     0,     0,     0,     0,   153,     0,     0,  1340,  1341,
    2128        0,     0,     0,     0,     0,     0,     0,     0,  1351,    33,
    2129        0,    34,     0,    35,    36,     0,   203,    38,    39,   207,
    2130        0,     0,     0,   207,     0,    40,    41,     0,     0,     0,
    2131      162,     0,     0,     0,     0,     0,     0,     0,     0,   499,
    2132        0,   247,     0,     0,     0,   364,     0,     0,     0,     0,
    2133       42,   252,   204,     0,     0,     0,  1380,     0,     0,     0,
    2134      205,     0,     0,     0,     0,     0,     0,     0,  1384,     0,
    2135     1385,  1386,  1387,     0,     0,     0,     0,     0,     0,   599,
    2136        0,     0,  1391,     0,     0,     0,     0,     0,   207,     0,
    2137        0,  1402,     0,     0,   278,     0,   279,     0,     0,     0,
    2138      364,   364,     0,  1410,     0,     0,   153,     0,     0,   207,
    2139        0,     0,   123,     0,   231,   233,     0,   280,     0,   380,
    2140        0,     0,   242,   281,     0,     0,     0,   282,     0,     0,
     2193       0,     0,     0,     0,   633,     0,     0,   337,     0,   207,
     2194     280,     0,     0,     0,     0,     0,   281,     0,     0,     0,
     2195     282,     0,     0,   283,   284,   285,   286,    40,    41,   456,
     2196     287,   288,     0,   408,     0,     0,   726,   408,   289,     0,
     2197       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2198       0,     0,   508,     0,  1145,     0,     0,     0,   456,     0,
     2199       0,   292,   376,   294,   295,   296,   297,     0,   359,     0,
     2200       0,     0,     0,     0,   759,     0,     0,     0,     0,     0,
     2201       0,     0,   162,     0,     0,     0,     0,   772,     0,     0,
     2202       0,   408,     0,     0,   759,   207,     0,   278,     0,   279,
     2203       0,     0,     0,     0,     0,     0,     0,   781,   782,     0,
     2204     527,     0,     0,     0,     0,     0,  1209,     0,     0,     0,
     2205     280,     0,   408,     0,     0,   359,   281,     0,     0,   803,
     2206     282,     0,     0,   283,   284,   285,   286,    40,    41,   812,
     2207     287,   288,     0,     0,     0,  1222,   341,     0,   289,     0,
     2208    1224,   772,     0,     0,     0,     0,     0,     0,  1228,     0,
     2209       0,     0,   290,     0,   408,     0,     0,   337,   359,     0,
     2210       0,   292,   376,   294,   295,   296,   297,     0,     0,     0,
     2211       0,     0,     0,     0,     0,     0,     0,     0,  1253,     0,
     2212     207,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2213    1261,   878,     0,  1262,     0,  1263,     0,     0,   377,     0,
     2214       0,     0,   408,   408,     0,     0,     0,     0,     0,  1272,
     2215    1273,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2216       0,   819,   359,     0,   359,     0,     0,     0,     0,     0,
     2217       0,  1287,     0,   615,     0,   615,   615,     0,   341,     0,
     2218       0,     0,   615,     0,     0,     0,     0,     0,     0,     0,
     2219       0,     0,   858,   359,     0,     0,     0,  1306,   359,     0,
     2220       0,     0,     0,     0,     0,     0,     0,   359,   359,   359,
     2221       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,     0,     0,   359,     0,     0,     0,     0,   408,
     2223     900,     0,     0,   408,   903,     0,     0,     0,     0,     0,
     2224     905,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2225       0,     0,     0,   772,     0,   978,     0,     0,   337,   359,
     2226     408,   983,   408,     0,     0,     0,   408,     0,   992,     0,
     2227       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2228     278,     0,   279,     0,     0,     0,     0,     0,     0,     0,
     2229    1372,     0,  1373,     0,     0,     0,     0,     0,   359,   615,
     2230       0,     0,     0,   280,     0,  1382,     0,  1383,     0,   281,
     2231       0,  1008,  1009,   282,   341,     0,   283,   284,   285,   286,
     2232      40,    41,     0,   287,   288,  1390,     0,     0,     0,   341,
     2233       0,   289,     0,   337,   359,     0,     0,     0,   408,   408,
     2234       0,  1408,     0,     0,     0,   290,     0,   374,   207,  1411,
     2235     375,     0,  1228,     0,   292,   376,   294,   295,   296,   297,
     2236       0,     0,     0,     0,     0,     0,     0,     0,     0,  1039,
     2237       0,     0,     0,   377,  1434,     0,     0,     0,     0,   408,
     2238       0,     0,     0,  1441,     0,     0,  1443,  1445,   359,     0,
     2239       0,     0,     0,     0,   819,   359,     0,     0,     0,   615,
     2240       0,   615,     0,   509,   510,   513,     0,     0,     0,     0,
     2241       0,   615,   516,   517,     0,     0,     0,   510,   510,     0,
     2242       0,     0,     0,  1472,     0,  1228,     0,     0,     0,   510,
     2243       0,     0,     0,     0,     0,     0,     0,     0,     0,  1483,
     2244       0,     0,     0,     0,     0,     0,     0,     0,   317,     0,
     2245       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2246       0,     0,     0,  1123,  1124,   510,     0,     0,     0,     0,
     2247     377,     0,     0,     0,     0,     0,   983,     0,     0,  1133,
     2248       0,   759,     0,   819,     0,     0,     0,   278,     0,   279,
     2249       0,   408,     0,     0,     0,     0,     0,   408,     0,     0,
     2250    1149,   510,     0,     0,     0,   408,     0,     0,     0,     0,
     2251     280,  1164,     0,     0,     0,     0,   281,     0,   615,   615,
     2252     282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
     2253     287,   288,     0,   377,     0,  1182,     0,     0,   289,     0,
     2254       0,     0,     0,     0,   359,     0,     0,     0,     0,     0,
     2255     408,  1204,   290,     0,   374,     0,     0,     0,     0,     0,
     2256     801,   292,   376,   294,   295,   296,   297,     0,   408,  1142,
     2257    1213,     0,     0,     0,     0,     0,     0,     0,   359,     0,
     2258       0,     0,     0,     0,   408,  1154,     0,   615,   615,  1159,
     2259     278,     0,   279,     0,     0,     0,     0,     0,     0,   359,
     2260     359,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2261       0,     0,     0,   280,     0,     0,   983,     0,     0,   281,
     2262       0,     0,     0,   282,     0,     0,   283,   284,   285,   286,
     2263      40,    41,     0,   287,   288,   878,     0,     0,     0,     0,
     2264       0,   289,     0,     0,     0,     0,     0,     0,     0,     0,
     2265    1264,  1265,     0,     0,     0,   290,     0,   374,     0,   819,
     2266     408,  1221,     0,     0,   292,   376,   294,   295,   296,   297,
     2267       0,     0,   615,     0,     0,   510,   510,   510,   510,   510,
     2268     510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
     2269     510,   510,   510,     0,     0,     0,     0,     0,     0,     0,
     2270       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2271       0,     0,     0,     0,     0,     0,   359,     0,   510,     0,
     2272       0,     0,     0,     0,     0,     0,     0,     0,     0,   983,
     2273       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2274       0,     0,     0,     0,     0,     0,     0,     0,     2,   202,
     2275       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2276      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2277      24,     0,     0,    25,    26,    27,   337,     0,     0,     0,
     2278     278,    30,   279,     0,     0,     0,     0,     0,     0,     0,
     2279       0,     0,     0,     0,     0,   359,     0,     0,     0,     0,
     2280       0,     0,     0,   280,    33,     0,    34,     0,    35,   281,
     2281       0,    37,    38,   282,     0,   510,   283,   284,   285,   286,
     2282      40,    41,     0,   287,   288,     0,     0,     0,     0,     0,
     2283       0,   289,     0,     0,     0,     0,     0,   510,     0,     0,
     2284       0,     0,     0,   359,   359,   290,     0,   339,     0,     0,
     2285     510,     0,   771,     0,   292,   340,   294,   295,   296,   297,
     2286       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2287       0,  1420,     0,     0,     0,     0,     0,     0,     0,     0,
     2288       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2289       0,     0,     0,     0,     0,   510,     0,     0,     0,     0,
     2290       0,     1,     2,   202,     4,     5,     6,     7,     8,     9,
     2291      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2292      20,    21,    22,    23,    24,     0,   510,    25,    26,    27,
     2293      28,     0,     0,    29,   278,    30,   279,     0,     0,     0,
     2294       0,   510,  1475,     0,     0,     0,     0,     0,     0,     0,
     2295       0,     0,     0,     0,     0,     0,     0,   280,    33,     0,
     2296      34,   359,    35,   281,     0,    37,    38,   282,     0,     0,
    21412297     283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
    2142        0,     0,   412,     0,     0,   289,     0,     0,     0,     0,
    2143        0,     0,     0,     0,  1454,  1455,   427,     0,   456,   290,
    2144        0,   374,  1217,     0,   207,   432,   772,  1460,   292,   376,
    2145      294,   295,   296,   297,  1460,   440,     0,     0,     0,     0,
    2146        0,     0,   207,     0,     0,     0,     0,   207,     0,   207,
     2298       0,     0,     0,     0,     0,   289,   317,     0,     0,     0,
     2299       0,     0,   278,     0,   279,     0,     0,     0,     0,   290,
     2300       0,  1062,     0,     0,     0,     0,     0,     0,   292,   293,
     2301     294,   295,   296,   297,     0,   280,     0,     0,     0,     0,
     2302       0,   281,  -126,     0,     0,   282,     0,     0,   283,   284,
     2303     285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
     2304     408,     0,     0,   289,     0,     0,     0,     0,     0,     0,
     2305       0,     0,     0,     0,     0,     0,     0,   290,     0,   374,
     2306     408,   408,   980,     0,     0,     0,   292,   376,   294,   295,
     2307     296,   297,     0,     0,     0,     0,     0,     0,     0,     0,
     2308       0,   408,     0,     0,     0,     0,     0,     0,     0,     0,
     2309       0,   510,     0,     0,     0,     1,     2,   202,     4,     5,
     2310       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2311      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2312     510,    25,    26,    27,    28,     0,     0,    29,   278,    30,
     2313    1049,  1050,   510,  1051,     0,     0,  1052,  1053,  1054,  1055,
     2314    1056,  1057,  1058,  1059,     0,  1060,     0,     0,  1061,    32,
     2315       0,   280,    33,     0,    34,     0,    35,   642,     0,    37,
     2316      38,   282,     0,     0,   283,   284,   285,   286,    40,    41,
     2317       0,   287,   288,     0,   510,     0,     0,     0,     0,   289,
    21472318       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2148      466,     0,  1490,     0,     0,   476,   207,     0,     0,   207,
    2149      207,     0,     0,     0,     0,     0,   733,     0,   484,     0,
    2150        0,     0,     0,     0,   494,   207,   498,     0,     0,     0,
    2151     1514,     0,     0,     0,   123,     0,     0,     0,     0,   207,
    2152        0,     0,     0,   527,     0,     0,   207,     0,     0,     0,
    2153        0,     0,     0,     0,     0,     0,  1527,     0,   214,     0,
    2154        0,  1529,     0,     0,     0,     0,     0,     0,     0,     0,
    2155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2156        0,     0,     0,     0,  1300,     0,   586,     0,     0,     0,
    2157        0,   591,     0,     0,     0,   733,     0,     0,     0,     0,
    2158        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2159       17,    18,    19,    20,    21,    22,    23,    24,     0,   637,
    2160       25,    26,    27,   638,   639,     0,   641,     0,    30,     0,
    2161        0,     0,   652,   653,     0,   654,   655,     0,   656,     0,
    2162      657,     0,  1162,   364,   364,     8,     9,    10,    11,    12,
    2163        0,    33,   214,     0,     0,     0,     0,   586,   203,    38,
    2164      207,     0,     0,     0,     0,   672,     0,     0,     0,     0,
    2165        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2166        0,     0,     0,     0,     0,     0,     0,     0,   207,     0,
    2167      683,     0,     0,   207,   280,    33,     0,     0,     0,     0,
    2168      281,   689,   622,     0,   282,     0,     0,   283,   284,   285,
    2169      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2170        0,     0,   289,     0,   725,     0,     0,     0,     0,     0,
    2171      728,     0,     0,     0,     0,   466,   290,     0,   374,     0,
    2172        0,     0,     0,     0,     0,   292,  1163,   294,   295,   296,
    2173      297,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2174      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2175        0,   764,     0,     0,   509,   510,   513,     0,     0,     0,
    2176      207,     0,     0,   516,   517,     0,     0,   779,   510,   510,
    2177        0,     0,     0,     0,   207,     0,     0,     0,     0,     0,
    2178      510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2179        0,     0,     0,   456,   499,     0,     0,     0,     0,     0,
    2180        0,     0,     0,   805,   337,   359,     0,     0,     0,     0,
    2181        0,     0,   815,     0,     0,     0,   510,     0,     0,   818,
    2182        0,     0,     0,   456,   825,     0,     0,     0,     0,     0,
    2183        0,     0,     0,     0,     0,   840,     0,   408,     0,     0,
    2184        0,     0,     0,     0,   408,     0,     0,     0,   162,     0,
    2185        0,     0,   510,   207,     0,     0,     0,     0,     0,     0,
    2186        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    2187        0,     0,     0,     0,     0,     0,   880,     0,     0,     0,
    2188        0,     0,     0,  -505,     0,   207,     1,     2,     3,     4,
    2189        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2190       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2191        0,   825,    25,    26,    27,    28,   408,     0,    29,     0,
    2192       30,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2194       32,     0,     0,    33,     0,    34,     0,    35,    36,     0,
    2195       37,    38,    39,     0,     0,     0,     0,     0,     0,    40,
    2196       41,     0,     0,     0,     0,     0,   247,     0,     0,     0,
    2197        0,   408,   207,     0,     0,     0,   958,   959,     0,   408,
    2198      582,     0,   408,   585,    42,     0,    43,     0,     0,   975,
    2199        0,     0,   359,     0,    44,     0,   615,     0,   207,     0,
    2200        0,     0,     0,     0,     0,     0,   990,     0,   991,     0,
    2201        0,     0,   995,     0,     0,   633,     0,     0,   337,     0,
    2202        0,     0,     0,     0,     0,   207,   510,   510,   510,   510,
    2203      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
    2204      510,   510,   510,   510,   408,     0,     0,     0,   408,   278,
    2205        0,   279,     0,     0,     0,     0,   207,     0,     0,     0,
    2206        0,     0,     0,     0,     0,     0,     0,   207,     0,   510,
    2207        0,     0,   280,     0,     0,     0,     0,  1027,   642,   359,
    2208      136,   137,   282,     0,  1028,   283,   643,   285,   286,    40,
    2209       41,     0,   287,   288,     0,     0,     0,  1030,     0,  1031,
    2210      289,     0,   408,     0,     0,     0,     0,     0,     0,     0,
    2211        0,     0,     0,  1043,   290,     0,   644,     0,   645,   375,
    2212     1047,     0,     0,   292,   376,   294,   295,   296,   297,     0,
    2213        0,     0,  1083,   408,     0,  1084,   359,     0,     0,     0,
    2214        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    2215        0,     0,     0,   591,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,     0,     0,     0,   510,     0,     0,
    2217        0,     0,     0,     0,     0,   408,     0,     0,   337,   359,
    2218        0,     0,     0,     0,     0,     0,     0,     0,     0,   510,
    2219        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2220      317,     0,   510,     0,     0,     0,     0,     0,     0,     0,
    2221      341,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2222        0,     0,   377,   408,   408,     0,     0,     0,     0,     0,
    2223        0,     0,   207,     0,     0,     0,     0,     0,     0,     0,
    2224     1146,     0,   820,   359,     0,   359,     0,   510,     0,     0,
    2225        0,     0,     0,     0,   615,     0,   615,   615,     0,     0,
    2226        0,     0,     0,   615,     0,     0,     0,     0,     0,     0,
    2227        0,     0,     0,   859,   359,     0,     0,     0,   510,   359,
    2228        0,     0,     0,     0,     0,     0,     0,     0,   359,   359,
    2229      359,     0,   317,   510,     0,   527,     0,     0,     0,     0,
    2230        0,  1210,     0,     0,     0,     0,   359,     0,     0,     0,
    2231        0,   408,   902,     0,     0,   408,   905,   480,     0,     0,
    2232        0,     0,   907,     0,     0,     0,   207,     0,     0,     0,
    2233     1223,     0,     0,     0,     0,  1225,     0,     0,     0,     0,
    2234      337,   359,   408,  1229,   408,     0,     0,     0,   408,   201,
     2319       0,     0,     0,   290,     0,  1062,     0,     0,   167,     0,
     2320       0,     0,   292,   293,   294,   295,   296,   297,     0,     0,
     2321       0,     0,     0,     0,     0,     0,  -126,     0,     0,     1,
    22352322       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    22362323      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2237       22,    23,    24,  1254,     0,    25,    26,    27,     0,     0,
    2238      359,   615,     0,    30,     0,  1262,     0,     0,  1263,     0,
    2239     1264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2240        0,     0,     0,     0,  1273,  1274,    33,     0,    34,     0,
    2241       35,     0,     0,   203,    38,   337,   359,     0,     0,     0,
    2242      408,   408,     0,     0,     0,     0,  1287,     0,     0,     0,
    2243        0,     0,   377,     0,     0,     0,     0,     0,     0,     0,
    2244        0,     0,     0,     0,   510,     0,     0,     0,     0,   204,
    2245        0,     0,  1306,     0,     0,     0,     0,   267,     0,     0,
    2246        0,   408,     0,     0,     0,     0,     0,     0,     0,     0,
    2247      359,     0,     0,   510,     0,     0,   820,   359,     0,     0,
    2248        0,   615,     0,   615,     0,   510,     0,     0,     0,     0,
    2249        0,     0,     0,   615,     0,     0,     0,     8,     9,    10,
    2250       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2251       21,    22,    23,    24,  -285,     0,    25,    26,    27,     0,
    2252        0,     0,     0,     0,    30,     0,   510,     0,     0,     0,
    2253        0,     0,     0,   727,     0,     0,     0,     0,     0,     0,
    2254        0,     0,     0,     0,  1372,     0,  1373,    33,     0,     0,
    2255        0,     0,    36,     0,   332,   333,    39,   207,  -285,  1382,
    2256        0,  1383,     0,    40,    41,     0,   820,     0,     0,     0,
    2257        0,   760,     0,     0,   408,     0,     0,     0,     0,  1390,
    2258      408,     0,     0,     0,   773,     0,     0,     0,   408,     0,
    2259      334,   760,     0,     0,     0,  1408,   510,     0,   109,     0,
    2260        0,   615,   615,  1411,   782,   783,  1229,     0,     8,     9,
     2324      22,    23,    24,     0,   510,    25,    26,    27,    28,     0,
     2325       0,    29,   278,    30,   279,     8,     9,    10,    11,    12,
     2326      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2327      23,    24,  -286,     0,     0,   280,    33,     0,    34,     0,
     2328      35,   281,    30,    37,    38,   282,     0,   510,   283,   284,
     2329     285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
     2330       0,   510,   510,   289,     0,    33,     0,     0,     0,     0,
     2331       0,     0,     0,     0,     0,     0,  -286,   290,     0,    43,
     2332       0,     0,     0,     0,     0,     0,   292,   293,   294,   295,
     2333     296,   297,     2,   202,     4,     5,     6,     7,     8,     9,
    22612334      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2262       20,    21,    22,    23,    24,  -286,   804,   359,  1434,     0,
    2263        0,     0,     0,   408,     0,    30,   813,  1441,     0,   510,
    2264     1443,  1445,     0,   341,     0,     0,     0,     0,   773,     0,
    2265        0,   408,  1143,   510,   510,     0,     0,     0,    33,     0,
    2266        0,   359,     0,     0,     0,     0,     0,   408,  1155,  -286,
    2267      615,   615,  1160,     0,     0,     0,     0,  1473,     0,  1229,
    2268        0,     0,   359,   359,     0,     0,     0,     0,     0,     0,
    2269        0,     0,     0,     0,  1485,     0,     0,     0,   879,     0,
    2270        0,     0,     0,     0,     0,     0,   377,     2,   202,     4,
    2271        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2272       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2273        0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2274       30,   820,   408,  1222,     0,     0,   341,     0,     0,     0,
    2275        0,     0,     0,     0,   615,     0,     0,     0,     0,     0,
    2276        0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
    2277      203,    38,     0,     1,     2,     3,     4,     5,     6,     7,
    2278        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2279       18,    19,    20,    21,    22,    23,    24,     0,   359,    25,
    2280       26,    27,    28,     0,     0,    29,   266,    30,    31,     0,
    2281        0,     0,     0,     0,   622,     0,     0,     0,     0,     0,
    2282        0,   773,     0,   980,     0,     0,     0,    32,     0,   985,
    2283       33,     0,    34,     0,    35,    36,   994,    37,    38,    39,
    2284        0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
    2285        0,     0,     0,   510,     0,     0,     0,     0,   337,     0,
     2335      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2336       0,     0,     0,     0,   278,    30,   279,     0,     0,     0,
    22862337       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2287      510,    42,     0,    43,     0,     0,     0,   359,     0,  1010,
    2288     1011,    44,   341,     0,     0,     0,     0,     0,     0,     0,
    2289        0,     0,     0,     0,     0,     0,     0,   341,     0,     0,
    2290        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2291       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
    2292        0,     0,     0,     0,     0,   359,   359,    30,     0,     0,
    2293        0,     0,     0,   510,   510,     0,     0,  1041,     0,     0,
    2294        0,   377,     0,     0,     0,     0,     0,     0,     0,     0,
    2295       33,     0,     0,     0,     1,     2,   202,     4,     5,     6,
    2296        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2297       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2298       25,    26,    27,    28,     0,     0,    29,   278,    30,  1050,
    2299     1051,     0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,
    2300     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2301      280,    33,     0,    34,     0,    35,   642,   317,    37,    38,
    2302      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2303      287,   288,  1124,  1125,     0,     0,     0,     0,   289,   377,
    2304        0,     0,   359,     0,     0,   985,     0,     0,  1134,     0,
    2305      760,     0,   290,     0,  1063,     0,   278,   167,   279,     0,
    2306        0,   292,   293,   294,   295,   296,   297,     0,     0,  1150,
    2307        0,     0,     0,     0,     0,  -126,     0,     0,     0,   280,
    2308     1165,     0,     0,     0,     0,   281,     0,     0,     0,   282,
    2309        0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    2310      288,     0,   377,     0,  1183,     0,     0,   289,     0,     0,
    2311        0,     0,     0,     0,     0,     0,     0,     0,     0,  1205,
    2312        0,   290,   408,   374,     0,     0,   375,     0,     0,     0,
    2313      292,   376,   294,   295,   296,   297,     0,   278,  1214,   279,
    2314     1051,     0,  1052,   408,   408,  1053,  1054,  1055,  1056,  1057,
    2315     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2316      280,     0,     0,     0,     0,   408,   642,     0,     0,     0,
    2317      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2318      287,   288,     0,     0,   985,     0,     0,     0,   289,     0,
    2319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2320        0,     0,   290,   879,   374,     0,     0,   167,     0,     0,
    2321        0,   292,   376,   294,   295,   296,   297,     0,  1265,  1266,
    2322        0,     0,     1,     2,   202,     4,     5,     6,     7,     8,
    2323        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2324       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2325       27,    28,     0,     0,    29,   278,    30,   279,     0,     0,
    2326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2327        0,     0,     0,     0,     0,     0,     0,     0,   280,    33,
    2328        0,    34,     0,    35,   281,     0,    37,    38,   282,     0,
    2329        0,   283,   284,   285,   286,    40,    41,   985,   287,   288,
    2330        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2332      290,     0,  1063,     0,     0,     0,     0,     0,     0,   292,
    2333      293,   294,   295,   296,   297,     0,     0,     0,     0,     0,
    2334        0,     0,     0,  -126,     1,     2,   202,     4,     5,     6,
    2335        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2336       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2337       25,    26,    27,    28,     0,     0,    29,   278,    30,   279,
    2338        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2340      280,    33,     0,    34,     0,    35,   281,     0,    37,    38,
    2341      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2342      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2343        0,     0,     0,     0,     0,     0,     0,     0,  1420,     0,
    2344        0,     0,   290,     0,    43,     0,     0,     0,     0,     0,
    2345        0,   292,   293,   294,   295,   296,   297,     2,   202,     4,
    2346        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2347       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2348        0,     0,    25,    26,    27,     0,     0,     0,     0,   278,
    2349       30,   279,     0,     0,     0,     0,     0,     0,     0,     0,
    2350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2351     1477,     0,   280,    33,     0,    34,     0,    35,   281,     0,
    2352       37,    38,   282,     0,     0,   283,   284,   285,   286,    40,
    2353       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2354      289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2355        0,     0,     0,     0,   290,   317,   339,     0,     0,     0,
    2356        0,   772,     0,   292,   340,   294,   295,   296,   297,     2,
    2357      202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2358       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2359       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2360        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2362        0,     0,     0,     0,   280,    33,     0,    34,     0,    35,
    2363      281,     0,    37,    38,   282,     0,     0,   283,   284,   285,
    2364      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2365        0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
    2366        0,     0,     0,     0,     0,     0,   290,     0,   921,     0,
    2367        0,     0,     0,   772,     0,   292,   340,   294,   295,   296,
    2368      297,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    2369       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2370       21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2371        0,     0,     0,   278,    30,   279,     0,     0,     0,     0,
    2372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373        0,     0,     0,     0,     0,     0,   280,    33,     0,    34,
    2374        0,    35,   281,     0,    37,    38,   282,     0,     0,   283,
    2375      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2376        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2377        0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
    2378      921,     0,     0,     0,     0,   772,     0,   292,   593,   294,
    2379      295,   296,   297,     2,   202,     4,     5,     6,     7,     8,
    2380        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2381       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2382       27,     0,     0,     0,     0,   278,    30,   279,     0,     0,
    2383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2384        0,     0,     0,     0,     0,     0,     0,     0,   280,    33,
    2385        0,    34,     0,    35,   281,     0,    37,    38,   282,     0,
    2386        0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
    2387        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2389      290,     0,   339,     0,     0,     0,     0,     0,     0,   292,
    2390      340,   294,   295,   296,   297,     2,   202,     4,     5,     6,
     2338       0,     0,     0,     0,     0,     0,     0,   280,    33,     0,
     2339      34,     0,    35,   281,     0,    37,    38,   282,     0,     0,
     2340     283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
     2341       0,     0,     0,     0,     0,   289,     0,     0,     0,     0,
     2342       0,     0,     0,     0,     0,     0,     0,     0,     0,   290,
     2343       0,   919,     0,     0,     0,     0,   771,     0,   292,   340,
     2344     294,   295,   296,   297,     0,     2,   202,     4,     5,     6,
    23912345       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    23922346      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     
    23942348       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23952349       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2396      280,    33,     0,    34,     0,    35,   281,     0,    37,    38,
    2397      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
     2350     280,    33,   510,    34,     0,    35,   281,     0,    37,    38,
     2351     282,     0,     0,   283,   284,   285,   286,    40,    41,   510,
    23982352     287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    23992353       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2400        0,     0,   290,     0,   921,     0,     0,     0,     0,     0,
    2401        0,   292,   340,   294,   295,   296,   297,     2,   202,     4,
    2402        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2403       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2404        0,     0,    25,    26,    27,     0,     0,     0,     0,   278,
    2405       30,   279,     0,     0,     0,     0,     0,     0,     0,     0,
     2354       0,     0,   290,     0,   919,     0,     0,     0,     0,   771,
     2355       0,   292,   593,   294,   295,   296,   297,     0,     2,   202,
     2356       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2357      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2358      24,   510,   510,    25,    26,    27,     0,     0,     0,     0,
     2359     278,    30,   279,     0,     0,     0,     0,     0,     0,     0,
    24062360       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2407        0,     0,   280,    33,     0,    34,     0,    35,   281,     0,
    2408      203,    38,   282,     0,     0,   283,   284,   285,   286,    40,
    2409       41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    2410      289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2411        0,     0,     0,     0,   290,     0,  1008,     0,     0,     0,
    2412        0,     0,     0,   292,  1009,   294,   295,   296,   297,     2,
    2413      202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2414       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2415       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2416        0,   278,    30,   279,     0,     0,     0,     0,     0,     0,
    2417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2418        0,     0,     0,     0,   280,    33,     0,    34,     0,    35,
    2419      281,     0,   203,    38,   282,     0,     0,   283,   284,   285,
    2420      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2421        0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
    2422        0,     0,     0,     0,     0,     0,   290,     0,   374,     0,
    2423        0,     0,     0,     0,     0,   292,   376,   294,   295,   296,
    2424      297,     1,     2,     3,     4,     5,     6,     7,     8,     9,
    2425       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2426       20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    2427       28,     0,     0,    29,     0,    30,    31,     0,     0,     0,
    2428        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2429        0,     0,     0,     0,     0,    32,     0,     0,    33,     0,
    2430       34,     0,    35,    36,     0,    37,    38,    39,     0,     0,
    2431        0,     0,     0,     0,    40,    41,     0,     0,     0,     0,
    2432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2433        0,     0,     0,     0,     0,     0,     0,     0,     0,    42,
    2434        0,    43,     0,     0,     0,  -509,     0,     0,     0,    44,
    2435        1,     2,   202,     4,     5,     6,     7,     8,     9,    10,
    2436       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2437       21,    22,    23,    24,  -285,     0,    25,    26,    27,    28,
    2438        0,     0,    29,     0,    30,     0,     0,     0,     0,     0,
    2439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2440        0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
    2441        0,    35,     0,     0,    37,    38,     0,     0,  -285,     1,
    2442        2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    2443       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2444       22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
    2445       43,    29,     0,    30,     0,     0,     0,     0,   109,     0,
    2446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2447        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2448       35,     0,     0,    37,    38,     2,   202,     4,     5,     6,
    2449        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2450       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2451       25,    26,    27,     0,     0,     0,     0,     0,    30,    43,
    2452        0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,    33,     0,    34,     0,    35,    36,     0,   203,    38,
    2455       39,     0,     0,     0,     0,     0,     0,    40,    41,     0,
    2456        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,    42,     0,   204,     0,     0,     0,     0,     0,
    2459        0,     0,   205,     2,   202,     4,     5,     6,     7,     8,
    2460        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2461       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2462       27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
    2463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2464        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2465        0,    34,     0,    35,     0,     0,    37,    38,     0,     0,
     2361       0,     0,     0,   280,    33,     0,    34,     0,    35,   281,
     2362       0,    37,    38,   282,     0,     0,   283,   284,   285,   286,
     2363      40,    41,     0,   287,   288,     0,     0,     0,     0,     0,
     2364       0,   289,     0,     0,     0,     0,     0,     0,     0,     0,
     2365       0,     0,     0,     0,     0,   290,     0,   339,     0,     0,
     2366       0,     0,     0,     0,   292,   340,   294,   295,   296,   297,
    24662367       2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    24672368      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    24682369      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    2469        0,  -390,   679,    30,     0,     0,     0,     0,     0,     0,
    2470      627,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2471        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2472       35,     0,     0,    37,    38,     0,     0,     0,     0,     0,
     2370       0,     0,   278,    30,   279,     0,     0,     0,     0,     0,
    24732371       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2474        0,     0,     0,     0,     0,  1348,     0,     0,     0,     0,
    2475        0,     0,     0,     0,     0,     0,     0,     0,     0,   679,
    2476        0,     0,     0,     0,     0,     0,     0,   627,     2,   202,
     2372       0,     0,     0,     0,     0,   280,    33,     0,    34,     0,
     2373      35,   281,     0,    37,    38,   282,     0,     0,   283,   284,
     2374     285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
     2375       0,     0,     0,   289,     0,     0,     0,     0,     0,     0,
     2376       0,     0,     0,     0,     0,     0,     0,   290,     0,   919,
     2377       0,     0,     0,     0,     0,     0,   292,   340,   294,   295,
     2378     296,   297,     2,   202,     4,     5,     6,     7,     8,     9,
     2379      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2380      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2381       0,     0,     0,     0,   278,    30,   279,     0,     0,     0,
     2382       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2383       0,     0,     0,     0,     0,     0,     0,   280,    33,     0,
     2384      34,     0,    35,   281,     0,   203,    38,   282,     0,     0,
     2385     283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
     2386       0,     0,     0,     0,     0,   289,     0,     0,     0,     0,
     2387       0,     0,     0,     0,     0,     0,     0,     0,     0,   290,
     2388       0,  1006,     0,     0,     0,     0,     0,     0,   292,  1007,
     2389     294,   295,   296,   297,     2,   202,     4,     5,     6,     7,
     2390       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2391      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2392      26,    27,     0,     0,     0,     0,   278,    30,   279,     0,
     2393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2394       0,     0,     0,     0,     0,     0,     0,     0,     0,   280,
     2395      33,     0,    34,     0,    35,   281,     0,   203,    38,   282,
     2396       0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
     2397     288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
     2398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2399       0,   290,     0,   374,     0,     0,     0,     0,     0,     0,
     2400     292,   376,   294,   295,   296,   297,  -504,     0,     0,     1,
     2401       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2402      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2403      22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
     2404       0,    29,     0,    30,    31,     0,     0,     0,     0,     0,
     2405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,    32,     0,     0,    33,     0,    34,     0,
     2407      35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
     2408       0,     0,    40,    41,     0,     0,     0,     0,     0,     0,
     2409       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2410       0,     0,     0,     0,     0,     0,     0,    42,     0,    43,
     2411       0,     0,     0,     0,     0,     0,     0,    44,     1,     2,
     2412       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2413      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2414      23,    24,     0,     0,    25,    26,    27,    28,     0,     0,
     2415      29,     0,    30,    31,     0,     0,     0,     0,     0,     0,
     2416       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2417       0,     0,    32,     0,     0,    33,     0,    34,     0,    35,
     2418      36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
     2419       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
     2420       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2421       0,     0,     0,     0,     0,     0,    42,     0,    43,     0,
     2422       0,     0,  -508,     0,     0,     0,    44,     1,     2,     3,
    24772423       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24782424      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2479       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2480        0,    30,     8,     9,    10,    11,    12,    13,    14,    15,
    2481       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2482        0,    25,    26,    27,    33,     0,    34,     0,    35,    30,
    2483        0,    37,    38,     0,     0,     0,     0,     0,     0,     0,
     2425      24,     0,     0,    25,    26,    27,    28,     0,     0,    29,
     2426       0,    30,    31,     0,     0,     0,     0,     0,     0,     0,
    24842427       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2485        0,     0,    33,  1350,     0,     0,     0,   108,     0,    37,
    2486       38,     0,     0,     0,     0,     0,     0,   679,     0,     0,
    2487        0,     0,     0,     0,     0,   627,     2,   202,     4,     5,
     2428       0,    32,     0,     0,    33,     0,    34,     0,    35,    36,
     2429       0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
     2430      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2431       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2432       0,     0,     0,     0,     0,    42,     0,    43,     0,     0,
     2433       0,     0,     0,     0,     0,    44,   201,     2,   202,     4,
     2434       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2435      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2436       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
     2437      30,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2438       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2439       0,     0,     0,    33,     0,    34,     0,    35,    36,     0,
     2440     203,    38,    39,     0,     0,     0,     0,     0,     0,    40,
     2441      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2443       0,     0,     0,     0,    42,     0,   204,     0,     0,     0,
     2444       0,     0,     0,     0,   205,     1,     2,   202,     4,     5,
     2445       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2446      16,    17,    18,    19,    20,    21,    22,    23,    24,  -285,
     2447       0,    25,    26,    27,    28,     0,     0,    29,     0,    30,
     2448       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2449       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2450       0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
     2451      38,     0,     0,  -285,     1,     2,   202,     4,     5,     6,
     2452       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2453      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2454      25,    26,    27,    28,     0,    43,    29,     0,    30,     0,
     2455       0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
     2456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2457       0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
     2458       0,   201,     2,   202,     4,     5,     6,     7,     8,     9,
     2459      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2460      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2461       0,     0,     0,     0,    43,    30,     0,     0,     0,     0,
     2462       0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
     2463       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2464      34,     0,    35,     0,     0,   203,    38,     2,   202,     4,
     2465       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2466      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2467       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
     2468      30,   204,     0,     0,     0,     0,     0,     0,     0,   267,
     2469       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2470       0,     0,     0,    33,     0,    34,     0,    35,    36,     0,
     2471     203,    38,    39,     0,     0,     0,     0,     0,     0,    40,
     2472      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2473       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2474       0,     0,     0,     0,    42,     0,   204,     0,     0,     0,
     2475       0,     0,     0,     0,   205,     2,   202,     4,     5,     6,
     2476       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2477      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2478      25,    26,    27,     0,     0,     0,     0,     0,    30,     8,
     2479       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2480      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2481      27,    33,     0,    34,     0,    35,    30,     0,    37,    38,
     2482       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2483       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2484    1348,     0,     0,     0,   108,     0,    37,    38,     0,     0,
     2485       0,     0,     0,     0,   678,     0,     0,     0,     0,     0,
     2486       0,     0,   627,     2,   202,     4,     5,     6,     7,     8,
     2487       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2488      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2489      27,     0,     0,     0,     0,     0,    30,     8,     9,    10,
     2490      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2491      21,    22,    23,    24,     0,     0,    25,    26,    27,    33,
     2492       0,    34,     0,    35,    30,     0,    37,    38,     0,     0,
     2493       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2494       0,     0,     0,     0,     0,     0,     0,    33,  1350,     0,
     2495       0,     0,     0,     0,    37,    38,     0,     0,     0,     0,
     2496       0,     0,   678,     0,     0,     0,     0,     0,     0,     0,
     2497     627,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2498      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2499      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2500       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2501       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2502       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2503       0,    35,     0,     0,   203,    38,     2,   202,     4,     5,
    24882504       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24892505      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    24902506       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2507     266,     0,     0,     0,     0,     0,     0,     0,   622,     0,
    24922508       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24932509       0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
     
    24952511      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    24962512      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2497        0,     0,     0,     0,    30,   679,     0,     0,     0,     0,
     2513       0,     0,     0,     0,    30,   678,     0,     0,     0,     0,
    24982514       0,     0,     0,   627,     0,     0,     0,     0,     0,     0,
    24992515       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     
    25352551      41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    25362552     289,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2537        0,     0,     0,     0,   290,   -33,   757,     0,     0,     0,
     2553       0,     0,     0,     0,   290,   -35,   756,     0,     0,     0,
    25382554       0,     0,     0,   292,   293,   294,   295,   296,   297,     8,
    25392555       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     
    25792595       0,     0,     0,     0,     0,     0,     0,     0,   290,     0,
    25802596     374,     0,     0,     0,     0,     0,     0,   292,   376,   294,
    2581      295,   296,   297,     8,     9,    10,    11,    12,    13,    14,
    2582       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2583     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2584       30,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2597     295,   296,   297,   469,     2,   202,     4,     5,     6,     7,
     2598       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2599      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2600      26,    27,     0,     0,     0,     0,     0,    30,     8,     9,
     2601      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2602      20,    21,    22,    23,    24,  -285,     0,    25,    26,    27,
     2603      33,     0,    34,     0,    35,    30,     0,    37,    38,     0,
    25852604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2586        0,     0,     0,    33,     0,     0,     0,     0,    36,     0,
    2587      332,   333,    39,     0,  -285,     0,     0,     0,     0,    40,
    2588       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2589       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2590       25,    26,    27,     0,   636,     0,   334,     0,    30,     0,
    2591        0,     0,     0,     0,   627,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2606       0,     0,     0,    36,     0,   332,   333,    39,     0,  -285,
     2607       0,     0,     0,     0,    40,    41,    -3,     8,     9,    10,
     2608      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2609      21,    22,    23,    24,  -285,     0,    25,    26,    27,   636,
     2610       0,   334,     0,     0,    30,     0,     0,     0,     0,   627,
     2611       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2612      18,    19,    20,    21,    22,    23,    24,    33,     0,    25,
     2613      26,    27,    36,     0,   332,   333,    39,    30,  -285,     0,
     2614       0,     0,     0,    40,    41,     0,     0,     0,     0,     0,
    25922615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2593        0,    33,     0,     0,     0,     0,    36,     0,    37,    38,
    2594       39,     0,     0,     0,     0,     0,     0,    40,    41,     8,
     2616      33,     0,     0,     0,     0,    36,     0,    37,    38,    39,
     2617     334,     0,     0,     0,     0,     0,    40,    41,   109,     8,
    25952618       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    25962619      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2597       27,     0,    42,     0,   154,     0,    30,     0,     0,     0,
    2598        0,     0,    44,     0,     0,     0,     0,     0,     0,     0,
     2620      27,    42,     0,    43,     0,     0,    30,     0,     0,     0,
     2621       0,    44,     0,     0,     0,     0,     0,     0,     0,     0,
    25992622       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2600        0,     0,     0,     0,    36,     0,    37,    38,    39,     0,
     2623       0,     0,     0,     0,    36,     0,   203,    38,    39,     0,
    26012624       0,     0,     0,     0,     0,    40,    41,     8,     9,    10,
    26022625      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    26032626      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    2604       42,     0,    43,     0,    30,     0,     0,     0,     0,     0,
    2605       44,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2627      42,     0,   266,     0,    30,     0,     0,     0,     0,     0,
     2628     205,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26062629       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    2607        0,     0,    36,     0,   203,    38,    39,     0,     0,     0,
     2630       0,     0,    36,     0,   332,   333,    39,     0,     0,     0,
    26082631       0,     0,     0,    40,    41,     8,     9,    10,    11,    12,
    26092632      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2610       23,    24,     0,     0,    25,    26,    27,     0,    42,     0,
    2611      266,     0,    30,     0,     0,     0,     0,     0,   205,     0,
     2633      23,    24,     0,     0,    25,    26,    27,     0,   636,     0,
     2634     334,     0,    30,     0,     0,     0,     0,     0,   627,     0,
    26122635       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26132636       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     
    26152638       0,    40,    41,     8,     9,    10,    11,    12,    13,    14,
    26162639      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2617        0,     0,    25,    26,    27,     0,   636,     0,   334,     0,
    2618       30,     0,     0,     0,     0,     0,   627,     0,     0,     0,
     2640    -285,     0,    25,    26,    27,     0,     0,     0,   334,     0,
     2641      30,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26192642       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2620        0,     0,     0,    33,     0,     0,     0,     0,    36,     0,
    2621      332,   333,    39,     0,     0,     0,     0,     0,     0,    40,
    2622       41,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2623       17,    18,    19,    20,    21,    22,    23,    24,  -285,     0,
    2624       25,    26,    27,     0,     0,     0,   334,     0,    30,     0,
    2625        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    2626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2627        0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
    2628        0,     0,  -285,     8,     9,    10,    11,    12,    13,    14,
    2629       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2630     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2631       30,     0,   636,     0,   334,     0,     0,     0,     0,     0,
    2632        0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
    26332643       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    26342644      37,    38,     0,     0,  -285,     8,     9,    10,    11,    12,
     
    26402650       0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    26412651      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2652      24,  -285,     0,    25,    26,    27,     0,     0,     0,     0,
     2653       0,    30,     0,     0,     0,     0,     0,     0,   449,     0,
     2654       0,     0,   935,     0,     0,     0,   109,     0,     0,     0,
     2655       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
     2656       0,    37,    38,     0,     0,  -285,     8,     9,    10,    11,
     2657      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2658      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2659       0,     0,     0,    30,   448,     0,     0,   334,     0,     0,
     2660       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
     2661       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
     2662       0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
     2663      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2664      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
     2665       0,     0,    30,     0,     0,     0,     0,     0,     0,   449,
     2666       0,     0,     0,  1218,     0,     0,     0,   109,     0,     0,
     2667       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2668     108,     0,    37,    38,     8,     9,    10,    11,    12,    13,
     2669      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    26422670      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2643        0,    30,   448,     0,     0,     0,     0,     0,   449,     0,
    2644        0,     0,   703,     0,     0,     0,   109,     0,     0,     0,
     2671       0,    30,   448,     0,     0,     0,     0,     0,    43,     0,
     2672       0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
    26452673       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    26462674       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    26472675      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2648     -285,     0,    25,    26,    27,     0,     0,     0,     0,     0,
     2676       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    26492677      30,     0,     0,     0,     0,     0,     0,   449,     0,     0,
    2650        0,   937,     0,     0,     0,   109,     0,     0,     0,     0,
    2651        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    2652       37,    38,     0,     0,  -285,     8,     9,    10,    11,    12,
    2653       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2654       23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2655        0,     0,    30,   448,     0,     0,   334,     0,     0,     0,
    2656        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    2657        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2658        0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
    2659       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2660       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2661        0,    30,     0,     0,     0,     0,     0,     0,   449,     0,
    2662        0,     0,  1219,     0,     0,     0,   109,     0,     0,     0,
    2663        0,     0,     0,     0,    33,     0,     0,     0,     0,   108,
    2664        0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    2665       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2666        0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2667       30,   448,     0,     0,     0,     0,     0,    43,     0,     0,
    26682678       0,     0,     0,     0,     0,   109,     0,     0,     0,     0,
    26692679       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     
    26712681      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    26722682       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2673        0,     0,     0,     0,     0,     0,   449,     0,     0,     0,
     2683       0,     0,     0,     0,   636,     0,   334,     0,     0,     0,
    26742684       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    26752685       0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
     
    26782688      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    26792689       0,     0,     0,   636,     0,   334,     0,     0,     0,     0,
    2680        0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
     2690       0,     0,     0,   627,     0,     0,     0,     0,     0,     0,
    26812691       0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
    26822692       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    26832693      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    26842694      26,    27,     0,     0,     0,     0,     0,    30,     0,     0,
    2685        0,     0,   636,     0,   334,     0,     0,     0,     0,     0,
    2686        0,     0,   627,     0,     0,     0,     0,     0,     0,     0,
     2695       0,     0,     0,     0,   253,     0,     0,     0,     0,     0,
     2696       0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
    26872697      33,     0,     0,     0,     0,     0,     0,    37,    38,     8,
    26882698       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    26892699      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    26902700      27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
    2691        0,     0,     0,   253,     0,     0,     0,     0,     0,     0,
     2701       0,     0,     0,   154,     0,     0,     0,     0,     0,     0,
    26922702       0,   109,     0,     0,     0,     0,     0,     0,     0,    33,
    2693        0,     0,     0,     0,     0,     0,    37,    38,     8,     9,
     2703       0,     0,     0,     0,     0,     0,   203,    38,     8,     9,
    26942704      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    26952705      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    26962706       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    2697        0,     0,   154,     0,     0,     0,     0,     0,     0,     0,
    2698      109,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2699        0,     0,     0,     0,     0,   203,    38,     8,     9,    10,
     2707       0,     0,   266,     0,     0,     0,     0,     0,     0,     0,
     2708     267,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2709       0,     0,     0,     0,     0,    37,    38,     8,     9,    10,
    27002710      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    27012711      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
    27022712       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
    2703        0,   266,     0,     0,     0,     0,     0,     0,     0,   267,
     2713       0,   253,     0,     0,     0,     0,     0,     0,     0,   627,
    27042714       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
    27052715       0,     0,     0,     0,    37,    38,     8,     9,    10,    11,
     
    27072717      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    27082718       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
    2709      253,     0,     0,     0,     0,     0,     0,     0,   627,     0,
     2719     334,     0,     0,     0,     0,     0,     0,     0,   627,     0,
    27102720       0,     0,     0,     0,     0,     0,    33,     0,     0,     0,
    27112721       0,     0,     0,    37,    38,     8,     9,    10,    11,    12,
    27122722      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    27132723      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
    2714        0,     0,    30,     0,     0,     0,     0,     0,     0,   334,
    2715        0,     0,     0,     0,     0,     0,     0,   627,     0,     0,
     2724       0,     0,    30,     0,     0,     0,     0,     0,     0,   449,
     2725       0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
    27162726       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2717        0,     0,    37,    38,     8,     9,    10,    11,    12,    13,
     2727       0,     0,   203,    38,     8,     9,    10,    11,    12,    13,
    27182728      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    27192729      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2720        0,    30,     0,     0,     0,     0,     0,     0,   449,     0,
    2721        0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
     2730       0,    30,     0,     0,     0,     0,     0,     0,   266,     0,
     2731       0,     0,     0,     0,     0,     0,   622,     0,     0,     0,
    27222732       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
    2723        0,   203,    38,     8,     9,    10,    11,    12,    13,    14,
     2733       0,    37,    38,     8,     9,    10,    11,    12,    13,    14,
    27242734      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    27252735       0,     0,    25,    26,    27,     0,     0,     0,     0,     0,
    2726       30,     0,     0,     0,     0,     0,     0,   266,     0,     0,
    2727        0,     0,     0,     0,     0,   622,     0,     0,     0,     0,
     2736      30,     0,     0,     0,     0,     0,     0,   592,     0,     0,
     2737       0,     0,     0,     0,     0,   627,     0,     0,     0,     0,
    27282738       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    27292739      37,    38,     8,     9,    10,    11,    12,    13,    14,    15,
    27302740      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    27312741       0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2732        0,     0,     0,     0,     0,     0,   592,     0,     0,     0,
    2733        0,     0,     0,     0,   627,     0,     0,     0,     0,     0,
     2742       0,     0,     0,     0,     0,     0,   334,     0,     0,     0,
     2743       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    27342744       0,     0,    33,     0,     0,     0,     0,     0,     0,    37,
    27352745      38,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    27362746      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    27372747      25,    26,    27,     0,     0,     0,     0,     0,    30,     0,
    2738        0,     0,     0,     0,     0,   334,     0,     0,     0,     0,
     2748       0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
    27392749       0,     0,     0,   109,     0,     0,     0,     0,     0,     0,
    2740        0,    33,     0,     0,     0,     0,     0,     0,    37,    38,
    2741        2,   202,     4,     5,     6,     7,     8,     9,    10,    11,
    2742       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2743       22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
    2744        0,     0,     0,    30,    43,     0,     0,     0,     0,     0,
    2745        0,     0,   109,     0,     0,     0,     0,     0,     0,     0,
    2746        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2747       35,     0,     0,    37,    38,     0,   278,     0,   279,  1051,
    2748        0,  1052,     0,     0,  1053,  1054,  1055,  1056,  1057,  1058,
    2749     1059,  1060,  1507,  1061,     0,     0,  1062,    32,     0,   280,
    2750        0,     0,     0,     0,     0,   642,     0,     0,  -403,   282,
     2750       0,    33,     0,     0,     0,     0,     0,     0,   203,    38,
     2751       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2752      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2753      26,    27,     0,     0,     0,     0,     0,    30,     0,     0,
     2754       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2755       0,     0,   267,     0,     0,     0,     0,     0,     0,     0,
     2756      33,     0,     0,     0,     0,     0,     0,   203,    38,     2,
     2757     202,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2758      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2759      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
     2760       0,     0,    30,     0,     0,     0,     0,     0,     0,     0,
     2761       0,   622,     0,     0,     0,     0,     0,     0,     0,     0,
     2762       0,     0,     0,     0,     0,    33,     0,    34,     0,    35,
     2763       0,     0,    37,    38,     0,   278,     0,   279,  1050,     0,
     2764    1051,     0,     0,  1052,  1053,  1054,  1055,  1056,  1057,  1058,
     2765    1059,  1504,  1060,     0,     0,  1061,    32,     0,   280,     0,
     2766       0,     0,     0,     0,   642,     0,     0,  -403,   282,     0,
     2767       0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
     2768       0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
     2769       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2770     290,     0,   374,     0,     0,   167,     0,     0,     0,   292,
     2771     376,   294,   295,   296,   297,     0,   278,     0,   279,  1050,
     2772       0,  1051,     0,  -126,  1052,  1053,  1054,  1055,  1056,  1057,
     2773    1058,  1059,     0,  1060,     0,     0,  1061,    32,     0,   280,
     2774       0,     0,     0,     0,     0,   642,     0,     0,     0,   282,
    27512775       0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    27522776     288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
    27532777       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    27542778       0,   290,     0,   374,     0,     0,   167,     0,     0,     0,
    2755      292,   376,   294,   295,   296,   297,     0,   278,     0,   279,
    2756     1051,     0,  1052,     0,  -126,  1053,  1054,  1055,  1056,  1057,
    2757     1058,  1059,  1060,     0,  1061,     0,     0,  1062,    32,     0,
    2758      280,     0,     0,     0,     0,     0,   642,     0,     0,     0,
    2759      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2760      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2762        0,     0,   290,     0,   374,     0,     0,   167,     0,     0,
    2763        0,   292,   376,   294,   295,   296,   297,     0,     0,     0,
    2764        0,     0,     0,     0,     0,  -126,     2,   202,     4,     5,
    2765        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2766       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2767        0,    25,    26,    27,     0,     0,     0,     0,     0,    30,
    2768        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2769       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    2770       26,    27,    33,     0,    34,     0,    35,    30,     0,    37,
    2771       38,     0,   278,     0,   279,  1051,     0,  1052,  1394,  1395,
    2772     1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,  1507,  1061,
    2773       33,  1307,  1062,    32,     0,   280,     0,    37,    38,     0,
    2774        0,   642,     0,     0,     0,   282,     0,     0,   283,   284,
    2775      285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    2776        0,     0,     0,   289,     0,     0,     0,     0,     0,     0,
    2777        0,     0,     0,     0,     0,     0,     0,   290,     0,   374,
    2778        0,     0,   167,     0,     0,     0,   292,   376,   294,   295,
    2779      296,   297,   278,     0,   279,  1051,     0,  1052,  1394,  1395,
    2780     1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,     0,  1061,
    2781        0,     0,  1062,    32,     0,   280,     0,     0,     0,     0,
    2782        0,   642,     0,     0,     0,   282,     0,     0,   283,   284,
     2779     292,   376,   294,   295,   296,   297,     0,     0,     0,     0,
     2780       0,     0,     0,     0,  -126,     2,   202,     4,     5,     6,
     2781       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2782      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2783      25,    26,    27,     0,     0,     0,     0,     0,    30,     8,
     2784       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2785      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2786      27,    33,     0,    34,     0,    35,    30,     0,    37,    38,
     2787       0,   278,     0,   279,  1050,     0,  1051,  1394,  1395,  1052,
     2788    1053,  1054,  1055,  1056,  1057,  1058,  1059,  1504,  1060,    33,
     2789    1307,  1061,    32,     0,   280,     0,   203,    38,     0,     0,
     2790     642,     0,     0,     0,   282,     0,     0,   283,   284,   285,
     2791     286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
     2792       0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
     2793       0,     0,     0,     0,     0,     0,   290,     0,   374,     0,
     2794       0,   167,     0,     0,     0,   292,   376,   294,   295,   296,
     2795     297,   278,     0,   279,  1050,     0,  1051,  1394,  1395,  1052,
     2796    1053,  1054,  1055,  1056,  1057,  1058,  1059,     0,  1060,     0,
     2797       0,  1061,    32,     0,   280,     0,     0,     0,     0,     0,
     2798     642,     0,     0,     0,   282,     0,     0,   283,   284,   285,
     2799     286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
     2800       0,     0,   289,     0,     0,     0,     0,     0,     0,     0,
     2801       0,     0,     0,     0,     0,     0,   290,     0,   374,     0,
     2802       0,   167,     0,     0,     0,   292,   376,   294,   295,   296,
     2803     297,   278,     0,   279,  1050,     0,  1051,     0,     0,  1052,
     2804    1053,  1054,  1055,  1056,  1057,  1058,  1059,     0,  1060,     0,
     2805       0,  1061,    32,     0,   280,     0,     0,     0,     0,     0,
     2806     642,     0,     0,     0,   282,     0,     0,   283,   284,   285,
     2807     286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
     2808       0,     0,   289,     0,     0,     0,     0,     0,   278,     0,
     2809     279,     0,     0,     0,     0,     0,   290,     0,   374,     0,
     2810       0,   167,     0,     0,     0,   292,   376,   294,   295,   296,
     2811     297,   280,     0,     0,     0,     0,     0,   281,     0,     0,
     2812       0,   282,     0,     0,   283,   284,   285,   286,    40,    41,
     2813       0,   287,   288,     0,     0,     0,     0,     0,     0,   289,
     2814       0,     0,     0,     0,     0,   278,     0,   279,     0,     0,
     2815       0,     0,     0,   290,     0,   374,     0,     0,     0,     0,
     2816       0,     0,   292,   725,   294,   295,   296,   297,   280,     0,
     2817       0,     0,     0,     0,   642,     0,     0,     0,   282,     0,
     2818       0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
     2819       0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
     2820       0,     0,   278,     0,   279,     0,     0,     0,     0,     0,
     2821     290,     0,   775,     0,     0,     0,     0,     0,     0,   292,
     2822     376,   294,   295,   296,   297,   280,     0,     0,     0,     0,
     2823       0,   281,     0,     0,     0,   282,     0,     0,   283,   284,
    27832824     285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    27842825       0,     0,     0,   289,     0,     0,     0,     0,     0,   278,
    27852826       0,   279,     0,     0,     0,     0,     0,   290,     0,   374,
    2786        0,     0,   167,     0,     0,     0,   292,   376,   294,   295,
     2827       0,     0,     0,     0,     0,     0,   292,   816,   294,   295,
    27872828     296,   297,   280,     0,     0,     0,     0,     0,   281,     0,
    27882829       0,     0,   282,     0,     0,   283,   284,   285,   286,    40,
    27892830      41,     0,   287,   288,     0,     0,     0,     0,     0,     0,
    27902831     289,     0,     0,     0,     0,     0,   278,     0,   279,     0,
    2791        0,     0,     0,     0,   290,     0,   374,     0,     0,     0,
    2792        0,     0,   802,   292,   376,   294,   295,   296,   297,   280,
     2832       0,     0,     0,     0,   512,     0,     0,     0,     0,     0,
     2833       0,     0,     0,   292,   376,   294,   295,   296,   297,   280,
    27932834       0,     0,     0,     0,     0,   281,     0,     0,     0,   282,
    27942835       0,     0,   283,   284,   285,   286,    40,    41,     0,   287,
    27952836     288,     0,     0,     0,     0,     0,     0,   289,     0,     0,
    2796        0,     0,     0,   278,     0,   279,     0,     0,     0,     0,
    2797        0,   290,     0,   374,     0,     0,   982,     0,     0,     0,
    2798      292,   376,   294,   295,   296,   297,   280,     0,     0,     0,
    2799        0,     0,   281,     0,     0,     0,   282,     0,     0,   283,
    2800      284,   285,   286,    40,    41,     0,   287,   288,     0,     0,
    2801        0,     0,     0,     0,   289,     0,     0,     0,     0,     0,
    2802      278,     0,   279,     0,     0,     0,     0,     0,   290,     0,
    2803      374,     0,     0,     0,     0,     0,     0,   292,   376,   294,
    2804      295,   296,   297,   280,     0,     0,     0,     0,     0,   281,
    2805        0,     0,     0,   282,     0,     0,   283,   284,   285,   286,
    2806       40,    41,     0,   287,   288,     0,     0,     0,     0,     0,
    2807        0,   289,     0,     0,     0,     0,     0,   278,     0,   279,
    2808        0,     0,     0,     0,     0,   290,     0,   374,     0,     0,
    2809        0,     0,     0,     0,   292,   726,   294,   295,   296,   297,
    2810      280,     0,     0,     0,     0,     0,   642,     0,     0,     0,
    2811      282,     0,     0,   283,   284,   285,   286,    40,    41,     0,
    2812      287,   288,     0,     0,     0,     0,     0,     0,   289,     0,
    2813        0,     0,     0,     0,   278,     0,   279,     0,     0,     0,
    2814        0,     0,   290,     0,   776,     0,     0,     0,     0,     0,
    2815        0,   292,   376,   294,   295,   296,   297,   280,     0,     0,
    2816        0,     0,     0,   281,     0,     0,     0,   282,     0,     0,
    2817      283,   284,   285,   286,    40,    41,     0,   287,   288,     0,
    2818        0,     0,     0,     0,     0,   289,     0,     0,     0,     0,
    2819        0,   278,     0,   279,     0,     0,     0,     0,     0,   290,
    2820        0,   374,     0,     0,     0,     0,     0,     0,   292,   817,
    2821      294,   295,   296,   297,   280,     0,     0,     0,     0,     0,
    2822      281,     0,     0,     0,   282,     0,     0,   283,   284,   285,
    2823      286,    40,    41,     0,   287,   288,     0,     0,     0,     0,
    2824        0,     0,   289,     0,     0,     0,     0,     0,   278,     0,
    2825      279,     0,     0,     0,     0,     0,   508,     0,     0,     0,
    2826        0,     0,     0,     0,     0,   292,   376,   294,   295,   296,
    2827      297,   280,     0,     0,     0,     0,     0,   281,     0,     0,
    2828        0,   282,     0,     0,   283,   284,   285,   286,    40,    41,
    2829        0,   287,   288,     0,     0,     0,     0,     0,     0,   289,
    2830        0,     0,     0,     0,     0,   278,     0,   279,     0,     0,
    2831        0,     0,     0,   290,     0,     0,     0,     0,     0,     0,
    2832        0,     0,   292,   376,   294,   295,   296,   297,   280,     0,
    2833        0,     0,     0,     0,   281,     0,     0,     0,   282,     0,
    2834        0,   283,   284,   285,   286,    40,    41,     0,   287,   288,
    2835        0,     0,     0,     0,     0,     0,   289,     0,     0,     0,
    2836        0,     0,   278,     0,   279,     0,     0,     0,     0,     0,
    2837      512,     0,     0,     0,     0,     0,     0,     0,     0,   292,
    2838      376,   294,   295,   296,   297,   280,     0,     0,     0,     0,
    2839        0,   281,     0,     0,     0,   282,     0,     0,   283,   284,
    2840      285,   286,    40,    41,     0,   287,   288,     0,     0,     0,
    2841        0,     0,     0,   289,     0,     0,     0,     0,     0,     0,
    2842        0,     0,     0,     0,     0,     0,     0,   515,     0,     0,
    2843        0,     0,     0,     0,     0,     0,   292,   376,   294,   295,
    2844      296,   297,     2,   202,     4,     5,     6,     7,     8,     9,
    2845       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2846       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
    2847        0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    28482837       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2849        0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2850       34,     0,    35,    36,     0,   170,   171,    39,     0,     0,
    2851        0,     0,     0,     0,    40,    41,   201,     2,   202,     4,
     2838       0,   515,     0,     0,     0,     0,     0,     0,     0,     0,
     2839     292,   376,   294,   295,   296,   297,     2,   202,     4,     5,
     2840       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2841      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2842       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
     2843       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2844       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2845       0,     0,    33,     0,    34,     0,    35,    36,     0,   170,
     2846     171,    39,     0,     0,     0,     0,     0,     0,    40,    41,
     2847     201,     2,   202,     4,     5,     6,     7,     8,     9,    10,
     2848      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2849      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2850       0,     0,     0,     0,    30,     0,     0,     0,     0,     0,
     2851       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2852       0,     0,     0,     0,     0,     0,     0,    33,     0,    34,
     2853       0,    35,     0,     0,   203,    38,   469,     2,   202,     4,
    28522854       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    28532855      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     
    28562858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28572859       0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
    2858      203,    38,   469,     2,   202,     4,     5,     6,     7,     8,
    2859        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2860       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2861       27,     0,     0,     0,     0,     0,    30,     0,     0,     0,
     2860      37,    38,     2,   202,     4,     5,     6,     7,     8,     9,
     2861      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2862      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2863       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
    28622864       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2863        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2864        0,    34,     0,    35,     0,     0,    37,    38,     2,   202,
     2865       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2866      34,     0,    35,     0,     0,   203,    38,     8,     9,    10,
     2867      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2868      21,    22,    23,    24,     0,     0,    25,    26,    27,   487,
     2869     488,   489,     0,     0,    30,     0,     0,     0,     0,     0,
     2870       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2871       0,     0,     0,     0,     0,     0,     0,    33,     0,     0,
     2872       0,     0,     0,     0,    37,    38
     2873};
     2874
     2875#define yypact_value_is_default(yystate) \
     2876  ((yystate) == (-1398))
     2877
     2878#define yytable_value_is_error(yytable_value) \
     2879  YYID (0)
     2880
     2881static const yytype_int16 yycheck[] =
     2882{
     2883       1,    42,     0,   235,     0,   200,     1,   113,    42,   181,
     2884     181,    42,   890,   165,   689,   181,   689,   275,   689,   182,
     2885     344,   181,   750,    29,   181,   450,   534,   103,   181,   277,
     2886     181,   622,   890,    31,   451,    31,   457,   604,  1028,  1029,
     2887    1078,   602,    42,   602,    42,   215,    44,   344,    44,   605,
     2888     602,    42,   986,     0,     0,   611,    54,   494,    75,   647,
     2889     602,   498,    60,   604,    60,    63,   770,    63,    66,    31,
     2890      66,    66,  1049,  1029,    80,    81,   152,   572,  1317,    42,
     2891     602,   183,     0,    54,    31,    31,     0,     1,  1485,   261,
     2892     261,   197,   767,    49,   767,   261,   767,     0,   523,   262,
     2893      27,   261,    37,   412,   261,    37,   104,  1394,   261,   107,
     2894     261,  1508,     0,    31,   182,   113,    37,    31,   637,   638,
     2895      65,   359,   602,   432,   602,   363,   714,    37,    31,    57,
     2896      11,   440,    37,   104,   653,    75,   107,   466,    37,    42,
     2897     181,    44,    65,    31,    71,   101,   144,   181,   144,    63,
     2898     181,   279,    66,   101,   152,   257,   258,    60,    75,   157,
     2899      63,   157,   102,    66,   292,   293,   490,    65,   103,    65,
     2900    1457,  1049,  1411,   101,    37,   993,   304,    42,    43,   124,
     2901     101,   181,   103,   181,   182,   102,   182,   252,    42,    43,
     2902     181,   101,   109,   103,   262,    88,   101,   492,   103,   197,
     2903      75,   124,   101,   104,   103,   103,    75,   205,   727,   205,
     2904      89,   101,   340,   735,   101,   111,   214,    52,   181,   217,
     2905     261,   217,   690,  1041,    44,    75,   290,   261,   103,   122,
     2906     261,   101,   101,   239,   404,    78,   115,   400,   101,    75,
     2907     103,   144,   107,   214,   712,    42,    43,   248,   376,   247,
     2908     123,   247,   106,   123,   157,   735,   224,   735,   506,   109,
     2909      95,   337,   105,   261,   262,   101,   262,   828,  1224,   828,
     2910     268,   101,   102,   840,   830,   243,   828,   275,   181,   182,
     2911     113,   114,  1272,  1273,   390,   247,   828,   450,   289,   109,
     2912     366,   995,   709,   106,     0,     1,    89,   268,   817,   840,
     2913     247,   247,   205,   217,   275,  1239,   828,   604,   108,   106,
     2914    1287,   606,   418,   808,   217,   610,   104,  1273,   424,   482,
     2915     108,   108,   115,   143,   124,    31,   324,     1,   324,   247,
     2916    1058,  1209,   400,   247,   252,    65,   631,    67,    68,   108,
     2917     635,    65,   671,  1398,   247,   343,   344,   412,   828,   108,
     2918     828,  1209,   590,    65,   189,   124,   420,   421,   261,   247,
     2919      66,   102,   360,    65,   252,   124,   364,   432,   109,   375,
     2920      44,   101,   343,   682,   108,   440,   106,   212,  1416,   103,
     2921       3,   948,   450,   420,   421,   205,   947,   222,   947,   360,
     2922     124,   103,   390,   364,  1485,   633,    65,    44,    67,    68,
     2923    1390,   103,   400,   104,   400,   947,   102,   108,     3,  1287,
     2924    1501,   108,   108,    54,   482,   235,  1007,  1508,   108,   667,
     2925     418,   324,   550,   551,   552,  1480,   424,   124,   426,   103,
     2926    1485,   340,   101,     0,  1390,   109,    65,   106,    67,    68,
     2927      65,   344,    67,    68,   508,   101,  1501,   267,   512,   455,
     2928     526,   515,   450,  1508,   460,   290,   121,  1434,   123,   496,
     2929    1016,  1017,   109,   104,  1441,   593,   107,     0,   469,   143,
     2930     123,   890,   102,   293,   103,   804,   474,   514,   152,   109,
     2931     101,   106,   103,   991,   482,   814,   482,   493,   486,   495,
     2932     486,   749,   490,   123,   412,   916,   648,   400,   966,   108,
     2933     829,   926,   102,   104,   568,   753,  1483,   108,   108,   934,
     2934     108,   152,   101,   514,   432,   124,   840,   689,   689,   956,
     2935     340,   104,   440,   689,   412,   108,   124,   201,   691,   689,
     2936     531,   205,   689,   534,  1101,   536,   689,  1125,   689,   486,
     2937     486,   247,   579,   840,   432,   111,   101,   450,   103,   655,
     2938     116,   117,   440,   508,   979,   657,  1434,   512,   205,  1287,
     2939     515,   235,   236,  1441,  1382,  1383,   484,   862,   486,   636,
     2940     637,   638,   486,   214,   108,   484,    10,    11,    12,    13,
     2941      14,   819,   583,   486,   104,   823,   653,   490,   108,   236,
     2942     124,   108,   590,   267,    83,    84,   270,   725,   486,   108,
     2943     420,   421,   437,    37,   602,  1483,   604,   124,   108,    81,
     2944      82,   687,    78,    79,    80,   124,   290,   682,  1117,   293,
     2945     267,   101,  1121,   691,   124,   623,    60,   268,   952,   118,
     2946     119,   108,  1360,  1052,   275,   101,   471,   103,   644,   105,
     2947     101,   639,   770,   290,   102,   591,   293,   124,   108,   108,
     2948     108,  1119,   623,   654,   652,   656,  1460,   655,   953,   724,
     2949     727,   102,  1466,   337,   124,   124,   340,   108,   639,   101,
     2950    1087,   103,   101,   508,   912,   102,   496,   512,  1482,   111,
     2951     515,   652,   109,  1487,   593,   359,   762,   101,   816,   363,
     2952     101,   689,   366,   691,   514,   102,  1025,  1026,   704,   602,
     2953     102,   604,   343,   102,   710,   102,   108,   877,  1176,  1177,
     2954    1438,   108,  1440,   622,   102,   101,   104,   103,   627,   360,
     2955     108,   722,   102,   364,     0,   111,   958,   897,   103,   102,
     2956     105,   883,    85,    86,   109,   123,   124,   735,   736,     4,
     2957       5,     6,     7,     8,     9,   102,   420,   421,   108,   109,
     2958     817,   749,   102,  1082,  1083,    31,  1484,   104,     3,   579,
     2959     101,   102,   103,   926,   682,    10,    11,    12,    13,    14,
     2960     688,   934,   101,   593,   448,   102,   102,   451,   749,   688,
     2961     486,   108,   108,   457,   101,   426,   689,    63,   691,   101,
     2962    1209,   103,    37,   107,   682,   469,   101,    62,   101,    64,
     2963     103,   448,   622,   103,   451,   105,   724,   627,   111,   109,
     2964     457,   102,   104,   102,  1489,    60,  1489,   108,  1489,   108,
     2965     494,   102,   496,   102,   498,  1020,   101,   108,   103,   108,
     2966     828,   102,   735,   736,   508,   670,   724,   108,   512,   124,
     2967     514,   515,   840,   102,   679,   763,    57,   102,   683,   108,
     2968    1088,   102,   526,   108,   763,   102,   103,   108,   926,   124,
     2969      65,   508,    67,    68,    69,   512,   934,   484,   515,  1117,
     2970     102,    76,    77,  1121,  1122,   101,   108,   883,   824,  1007,
     2971     102,  1300,   101,   889,   102,   101,   108,   103,   889,   890,
     2972     108,  1043,    65,  1222,    67,    68,   101,   101,   103,   103,
     2973      10,    11,    12,    13,    14,   579,   111,   124,   101,  1377,
     2974     103,    65,    54,    55,   912,    69,   590,   106,   101,   593,
     2975     103,  1049,    76,    77,  1253,   828,  1394,    37,   926,   101,
     2976     102,   103,  1261,  1262,  1263,  1354,   934,   840,  1357,     0,
     2977       1,   217,   106,   101,   890,   103,   124,   101,   622,   590,
     2978      60,   108,   109,   627,   952,   124,   694,   111,   696,   633,
     2979      65,    65,   957,    67,    68,    69,     0,   101,   102,   103,
     2980      31,   247,   890,   106,   980,   101,   890,  1306,    75,  1398,
     2981     108,   109,   623,    44,  1403,   101,  1234,   988,  1456,  1457,
     2982     991,   101,   993,   103,   101,   102,   103,    31,   639,    42,
     2983      43,   111,   890,  1109,   104,    66,  1245,  1246,  1247,  1428,
     2984      75,   652,   120,   687,   557,   558,   559,   560,   112,   636,
     2985     637,   638,   121,   926,     4,     5,     6,     7,     8,     9,
     2986      87,   934,    66,   123,  1162,   709,   653,   553,   554,   103,
     2987    1041,   101,   103,   957,  1469,   555,   556,   561,   562,   952,
     2988     101,  1052,    32,   102,  1055,  1056,  1057,    67,   104,   104,
     2989     102,    71,   709,   102,    74,   739,    76,   102,   101,   345,
     2990    1318,   688,  1078,    83,  1322,   102,   102,  1078,   103,   914,
     2991    1499,   104,    62,   144,    64,  1510,  1505,   104,   762,   108,
     2992     106,   152,   153,   123,   101,  1514,   104,   102,  1007,  1518,
     2993     102,   104,   108,  1049,   104,   104,   104,    28,   749,   102,
     2994     727,  1109,     4,     5,     6,     7,     8,     9,   109,   153,
     2995     109,   182,   104,   102,   109,  1189,  1190,   108,  1192,  1205,
     2996     106,  1049,   107,   102,  1198,  1049,   197,  1201,   958,   200,
     2997     201,   107,   107,    65,   205,   819,   763,    69,   101,   823,
     2998     102,   124,   102,   102,    76,    77,    10,    11,    12,    13,
     2999      14,  1049,   109,   102,   102,   226,   102,  1415,   108,   230,
     3000      62,   232,    64,   102,   102,   102,   102,  1183,   102,   101,
     3001     241,   103,  1183,    37,   890,   102,   247,  1007,   102,   111,
     3002     102,   252,   226,  1188,   102,   102,   102,   102,   208,   475,
     3003     817,   262,   102,   107,    28,   123,    60,  1205,  1209,   270,
     3004     486,    65,   107,   247,   104,    69,   102,    65,   252,    67,
     3005      68,    69,    76,    77,   102,  1060,   102,  1145,    76,    77,
     3006       0,     1,   102,  1228,   108,   104,  1145,    65,   912,    67,
     3007      68,    69,   916,   104,  1245,  1246,  1247,   101,    76,    77,
     3008     102,   957,   102,   101,   109,   108,   102,   111,   109,   108,
     3009     102,    31,   106,  1209,  1496,   108,   104,  1373,   108,   916,
     3010     102,   912,   108,  1187,  1188,   102,   337,   124,   104,   340,
     3011     101,   101,   956,   957,   958,   346,   101,   101,   101,   107,
     3012     102,  1209,  1356,    63,   104,  1209,    66,   102,   359,  1300,
     3013       3,   102,   363,   107,   121,   366,  1224,    10,    11,    12,
     3014      13,    14,   346,   690,  1228,  1224,   106,  1489,  1489,   104,
     3015     108,  1209,  1317,  1489,   124,   104,   108,  1490,   104,  1489,
     3016     102,   102,  1489,  1007,    37,   712,  1489,   347,  1489,   349,
     3017     102,  1287,   109,  1049,   104,   104,   104,  1510,   624,   102,
     3018     104,   412,   104,  1354,   104,    45,  1357,    60,   124,   124,
     3019     124,   124,   107,  1469,   102,   107,   427,   124,  1282,  1287,
     3020     102,   432,   107,  1287,  1372,  1373,   104,   104,   412,   440,
     3021     104,  1382,  1383,   153,    65,   104,    67,    68,    69,   104,
     3022     104,   104,   104,   427,   102,    76,    77,  1398,   432,  1287,
     3023     102,  1372,  1403,  1317,   104,   466,   440,   104,   469,   101,
     3024    1416,  1028,   101,  1087,  1088,  1416,  1411,    55,    54,   102,
     3025     101,   106,  1490,   484,   801,   486,   436,  1428,   102,   124,
     3026     111,   109,   466,   494,    65,   104,   104,   498,    69,   715,
     3027    1087,   102,  1510,   102,   104,    76,    77,   217,  1489,    89,
     3028     484,   101,   486,   729,   466,  1489,   107,   104,  1489,     0,
     3029    1295,   102,   108,   102,    40,   526,   527,    44,   102,  1470,
     3030     101,  1469,   102,   102,   109,   124,   124,   247,    89,  1480,
     3031     111,   102,  1188,    60,  1485,   102,    63,   124,  1434,    66,
     3032      31,  1489,  1490,   527,  1490,  1441,   109,  1411,  1499,   124,
     3033    1501,   102,   879,  1209,  1505,   107,   104,  1508,   104,   124,
     3034     101,   572,  1510,  1514,  1510,   124,  1434,  1518,   107,   107,
     3035    1434,   102,  1228,  1441,   124,    66,   563,  1441,  1145,   590,
     3036     591,  1205,   593,   102,   565,   564,  1126,  1483,   566,  1209,
     3037    1362,  1457,  1518,   604,  1296,   821,  1434,    65,  1472,    67,
     3038      68,    69,   567,  1441,  1228,  1322,  1441,   591,    76,    77,
     3039    1122,   622,   934,   448,  1205,  1483,   627,   144,   448,  1483,
     3040     936,   696,   633,   460,   583,   636,   637,   638,   649,   980,
     3041     157,  1287,   883,   101,   739,   103,  1489,   954,  1228,   966,
     3042     486,   109,   653,   111,   571,  1483,    10,    11,    12,    13,
     3043      14,   749,   636,   637,   638,   182,    -1,  1442,   571,   571,
     3044     671,  1317,   153,    65,   890,    67,    68,    69,   995,   653,
     3045      -1,   682,    -1,    37,    76,    77,   687,   688,   205,    -1,
     3046     691,    -1,    -1,     0,    -1,    -1,  1471,   671,    -1,    -1,
     3047     217,    -1,    -1,  1317,    -1,    -1,    60,    63,   682,   101,
     3048      -1,    -1,    -1,    -1,   688,  1272,    -1,   427,    -1,   671,
     3049      -1,    -1,    -1,   724,    31,    -1,   727,    -1,  1045,    -1,
     3050     671,    -1,    -1,    -1,  1509,   736,  1496,    -1,   739,    -1,
     3051      -1,    -1,    -1,    -1,    -1,    -1,  1521,   101,    -1,   103,
     3052     724,    -1,    -1,   727,    -1,    -1,    -1,   111,   114,    66,
     3053      -1,   762,   763,    -1,    -1,  1411,   247,   768,    -1,    -1,
     3054      -1,   252,    -1,    -1,    -1,     3,   486,    10,    11,    12,
     3055      13,    14,    10,    11,    12,    13,    14,    -1,  1434,   763,
     3056      -1,  1372,    -1,    -1,  1010,  1441,    -1,  1411,    -1,    -1,
     3057      -1,   157,  1119,   804,    37,    -1,    -1,   324,    65,    37,
     3058      67,    68,    69,   814,    -1,    -1,   817,   527,   819,    76,
     3059      77,   822,   823,   824,    63,    -1,    -1,    60,   829,  1443,
     3060     804,    -1,    60,  1049,    -1,    -1,    -1,  1483,   839,    -1,
     3061     814,    80,    -1,   817,   101,    -1,   153,    -1,   822,    -1,
     3062     824,    -1,   804,    -1,   111,   829,  1443,    -1,  1472,  1176,
     3063    1177,   217,   814,   804,    -1,   346,    -1,    -1,   101,    -1,
     3064     103,    -1,    -1,   814,    -1,   114,    -1,   829,   111,    -1,
     3065      -1,   591,  1496,   400,    -1,  1472,    -1,    -1,   829,   890,
     3066      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,   255,
     3067      67,    68,    69,   259,    -1,    -1,    -1,    -1,    -1,    76,
     3068      77,   912,    -1,    -1,    -1,    -1,   890,    -1,   157,    -1,
     3069      -1,    -1,    -1,    -1,    -1,    -1,   636,   637,   638,    -1,
     3070      -1,   412,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3071     247,    -1,    -1,   653,   111,   252,   427,   948,    -1,    -1,
     3072      65,   432,    67,    68,    69,   956,   957,    -1,    -1,   440,
     3073      -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3074      -1,  1187,   973,    -1,    -1,    -1,    -1,    -1,   217,    -1,
     3075      -1,    -1,    -1,    -1,    -1,   466,   101,    -1,   103,   345,
     3076      -1,    -1,    -1,  1209,    -1,    -1,   111,    -1,    -1,   973,
     3077      -1,    -1,    -1,   484,    -1,   486,  1007,    -1,    -1,    -1,
     3078      -1,    -1,    -1,    -1,    -1,    -1,   255,   727,    -1,  1020,
     3079     259,    -1,     0,    -1,  1025,  1026,    -1,  1028,  1029,    90,
     3080      91,    92,    93,    94,    95,    96,    97,    98,    99,   346,
     3081      -1,    -1,    -1,    -1,    -1,    -1,   527,    -1,  1049,    -1,
     3082      -1,  1025,  1026,    31,  1028,  1029,    -1,    -1,    -1,    -1,
     3083    1377,    -1,   123,    -1,    -1,    -1,  1282,    -1,    -1,   425,
     3084      -1,  1287,    -1,  1025,  1026,  1049,    -1,  1394,    -1,    -1,
     3085      -1,  1082,  1083,    -1,  1025,  1026,    -1,  1088,    66,    -1,
     3086      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3087      -1,    -1,    -1,    -1,    -1,   412,   345,   817,  1082,  1083,
     3088     591,    -1,    63,    -1,   824,    -1,    -1,    -1,    -1,   475,
     3089     427,    -1,    73,    -1,    -1,   432,    -1,    -1,    -1,    -1,
     3090    1082,  1083,    -1,   440,    -1,    -1,    -1,    -1,    -1,  1456,
     3091    1457,  1082,  1083,    -1,  1145,    -1,    -1,    -1,    -1,    -1,
     3092      -1,    -1,    -1,    -1,    -1,   636,   637,   638,    -1,   466,
     3093      -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
     3094      -1,  1145,   653,    -1,    -1,   153,    -1,   484,    -1,   486,
     3095     890,    -1,    -1,    -1,    -1,    -1,   425,  1188,    -1,    -1,
     3096     671,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3097      -1,   682,    -1,    -1,  1205,    -1,   157,   688,  1209,    -1,
     3098      -1,    -1,    -1,    -1,  1188,    -1,    -1,    -1,  1434,    -1,
     3099     527,  1222,    -1,  1224,    -1,  1441,    -1,  1228,    -1,    -1,
     3100      -1,    -1,    -1,    -1,    -1,  1209,   475,    -1,    -1,    -1,
     3101     596,    -1,    -1,   724,    -1,    -1,   727,   957,  1222,    -1,
     3102    1224,    -1,  1253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3103    1261,  1262,  1263,   973,    -1,    -1,   217,  1483,   624,   247,
     3104    1222,  1272,  1273,   629,   252,    -1,    -1,    -1,    -1,  1253,
     3105      -1,    -1,   763,    -1,   591,    -1,  1287,  1261,  1262,  1263,
     3106      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1272,  1273,
     3107      -1,  1253,    -1,    -1,   255,  1306,    -1,    -1,   259,  1261,
     3108    1262,  1263,  1253,  1287,    -1,    -1,  1317,    -1,  1028,  1029,
     3109    1261,  1262,  1263,   804,   275,    -1,    -1,    -1,    -1,   636,
     3110     637,   638,  1306,   814,    -1,    -1,   817,    -1,    -1,  1049,
     3111      -1,   822,    -1,   824,    -1,    -1,   653,    -1,   829,    -1,
     3112      -1,    -1,    -1,    -1,  1306,    -1,    -1,   596,    -1,   715,
     3113      -1,    -1,    -1,    -1,   671,  1306,    -1,    -1,   346,    -1,
     3114      -1,    -1,    -1,   729,    -1,   682,    -1,    -1,    -1,    -1,
     3115      -1,   688,    -1,    -1,    -1,   624,    -1,    -1,    -1,  1390,
     3116     629,    -1,    -1,    -1,   345,    -1,    -1,    -1,    -1,    -1,
     3117      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   890,
     3118    1411,    -1,    -1,    -1,    -1,    -1,  1390,   724,    -1,    -1,
     3119     727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3120      -1,    -1,    -1,  1434,   412,    -1,    -1,    -1,    -1,    -1,
     3121    1441,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,   427,
     3122      -1,    -1,    -1,    -1,   432,    -1,   763,    -1,    -1,    -1,
     3123    1434,    -1,   440,    -1,    -1,   821,    -1,  1441,    -1,    25,
     3124      26,    27,    -1,    -1,   425,    -1,   715,  1187,  1188,    -1,
     3125      -1,    -1,  1483,    -1,    -1,    -1,    -1,    -1,   466,  1490,
     3126     729,   442,   973,    -1,    -1,    -1,    -1,   804,    -1,  1209,
     3127      -1,    -1,    -1,    -1,    -1,    -1,   484,   814,   486,  1483,
     3128     817,    -1,    96,    -1,    98,   822,    -1,   824,  1228,    -1,
     3129      -1,    -1,   829,    -1,   475,    -1,    -1,    -1,    -1,    -1,
     3130      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3131      96,    -1,    98,    -1,  1025,  1026,    -1,  1028,  1029,   527,
     3132      50,    -1,    52,    -1,    -1,    55,    56,    57,    -1,    59,
     3133      -1,    -1,  1272,  1273,    -1,    -1,   122,    -1,  1049,    -1,
     3134      -1,    -1,  1282,    -1,    74,    -1,    -1,  1287,    -1,    -1,
     3135      -1,    -1,   821,   890,    -1,    -1,    86,    87,    -1,    -1,
     3136      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
     3137      -1,  1082,  1083,   187,   188,    -1,    -1,  1317,   192,    -1,
     3138     194,   195,    -1,   591,    -1,    -1,    -1,    -1,    -1,    -1,
     3139      -1,   177,    -1,    -1,    10,    11,    12,    13,    14,   185,
     3140      -1,   187,   188,    -1,    -1,    -1,   192,    -1,   194,   195,
     3141      -1,    -1,    -1,    -1,    -1,   596,    -1,    -1,    -1,    -1,
     3142      -1,    37,    -1,    -1,  1010,   185,    -1,    -1,   636,   637,
     3143     638,    -1,   192,    -1,  1145,    -1,   973,    -1,    -1,    -1,
     3144      -1,    -1,    -1,   624,    60,   653,    -1,    -1,   629,    65,
     3145    1390,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,
     3146      76,    77,    -1,   671,    -1,    -1,    -1,    -1,    -1,    -1,
     3147      -1,  1411,    -1,    -1,   682,    -1,    -1,  1188,   264,    -1,
     3148     688,    -1,    -1,    -1,    -1,   101,    -1,   103,  1025,  1026,
     3149      -1,  1028,  1029,    -1,  1434,   111,    -1,    -1,  1209,    -1,
     3150      -1,  1441,    -1,    -1,   264,    -1,    -1,    -1,    -1,    -1,
     3151      -1,  1222,  1049,  1224,    -1,    -1,   724,    -1,    -1,   727,
     3152      -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3153      13,    14,    -1,    -1,   715,    -1,    -1,    -1,    -1,    -1,
     3154      -1,  1010,  1253,  1483,    -1,  1082,  1083,    -1,   729,    -1,
     3155    1261,  1262,  1263,    -1,    37,   763,    -1,    -1,    -1,   319,
     3156      -1,  1272,  1273,    -1,    -1,    -1,    -1,   327,   749,    -1,
     3157     330,    -1,    -1,    -1,    -1,    -1,  1287,    60,    -1,    -1,
     3158      -1,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
     3159      -1,    -1,    -1,    76,    77,  1306,   804,    -1,    -1,    -1,
     3160      -1,  1187,    -1,    -1,    -1,    -1,   814,    -1,  1145,   817,
     3161     340,   341,    -1,    -1,   822,    -1,   824,    -1,   101,    -1,
     3162     103,   829,   352,   353,    -1,    -1,    -1,    -1,   111,    -1,
     3163      -1,    -1,   392,    -1,    -1,    -1,   396,    -1,    -1,    -1,
     3164     821,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3165      -1,  1188,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3166      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3167      26,    27,  1209,    29,    30,    31,    -1,    -1,    -1,  1390,
     3168      -1,    37,   890,    -1,    -1,  1222,    -1,  1224,    -1,    -1,
     3169      -1,    -1,    -1,    -1,    -1,    -1,  1282,    -1,    -1,    -1,
     3170      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
     3171      -1,    67,    68,    -1,    -1,    71,  1253,    -1,  1187,    -1,
     3172      -1,   481,    -1,  1434,  1261,  1262,  1263,    -1,    -1,    -1,
     3173    1441,    -1,    -1,    -1,    -1,  1272,  1273,    -1,    -1,    -1,
     3174      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
     3175    1287,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3176      -1,   575,   576,    -1,    -1,   973,    -1,    -1,    -1,  1306,
     3177      -1,    -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3178      10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,   575,
     3179     576,   605,    -1,    -1,   608,   609,    -1,   611,    -1,   613,
     3180     614,    -1,    -1,    -1,   618,   619,    -1,    37,    -1,    -1,
     3181      -1,   571,   572,  1282,    -1,    -1,    -1,  1025,  1026,   605,
     3182    1028,  1029,   608,   609,    -1,   611,    -1,   613,   614,  1010,
     3183      60,    -1,   618,   619,    -1,    65,    -1,    67,    68,    69,
     3184      -1,  1049,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
     3185      -1,    -1,    -1,  1390,    -1,    -1,    -1,    -1,    -1,     7,
     3186      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3187      -1,   101,    -1,   103,  1082,  1083,    -1,    -1,    -1,    -1,
     3188      -1,   111,    -1,    -1,    -1,    -1,   700,   701,    36,    37,
     3189      38,    -1,   706,    -1,    -1,    -1,    -1,  1434,   658,    -1,
     3190      -1,    -1,   662,    -1,  1441,    -1,    -1,    -1,    -1,   695,
     3191      -1,    59,    60,    -1,   700,   701,    -1,    65,    -1,    -1,
     3192     706,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3193      -1,    79,    80,    -1,    -1,   695,    -1,  1145,    -1,    87,
     3194      -1,    -1,    -1,    -1,    -1,    -1,  1483,    -1,    -1,    -1,
     3195      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
     3196      44,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3197      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
     3198    1188,    -1,    -1,    -1,    -1,    -1,   716,    -1,   718,    -1,
     3199      -1,    -1,    -1,    -1,    -1,   725,   726,    -1,    -1,    -1,
     3200     730,  1209,    -1,    -1,    -1,    -1,  1187,    -1,    -1,    -1,
     3201      -1,    -1,   742,    -1,  1222,    -1,  1224,   747,    -1,    -1,
     3202      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
     3203     114,    -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,
     3204      -1,    -1,   772,    -1,    -1,  1253,    -1,    -1,   808,    -1,
     3205      -1,    -1,    -1,  1261,  1262,  1263,    -1,    -1,    -1,   143,
     3206      37,    -1,    -1,    -1,  1272,  1273,    -1,    -1,    -1,   153,
     3207      -1,    -1,    -1,   157,    -1,    -1,    -1,    -1,    -1,  1287,
     3208      -1,    -1,    -1,    60,    -1,    -1,   816,    -1,    65,    -1,
     3209      67,    68,    69,    -1,    -1,    -1,    -1,    -1,  1306,    76,
     3210      77,  1282,    -1,    10,    11,    12,    13,    14,    15,    16,
     3211      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3212      -1,   205,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3213      37,    -1,    -1,   217,   111,     7,    -1,    -1,    10,    11,
     3214      12,    13,    14,   873,   874,   875,   876,    -1,   878,    -1,
     3215      -1,   235,   236,    60,    -1,    -1,    -1,    -1,    -1,    -1,
     3216     920,    -1,    -1,   893,    36,    37,    38,    -1,    10,    11,
     3217      12,    13,    14,    -1,    -1,   259,    -1,   907,    -1,    -1,
     3218      -1,    -1,  1390,   267,    -1,    -1,    -1,    59,    60,    -1,
     3219      -1,    -1,    -1,    65,    -1,    37,    -1,    69,    -1,    -1,
     3220      72,    73,    74,    75,    76,    77,   290,    79,    80,   293,
     3221      -1,    -1,    -1,    -1,    -1,    87,   946,    -1,    60,    -1,
     3222      -1,    -1,    -1,    65,    -1,    -1,  1434,    69,    -1,   101,
     3223      -1,   103,    -1,  1441,    76,    77,    -1,   997,   110,   111,
     3224     112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,
     3225      -1,    -1,    -1,  1013,    -1,   985,   340,    -1,    -1,   101,
     3226      -1,   345,   992,    -1,    -1,    -1,   996,    -1,    -1,   111,
     3227    1084,  1001,    -1,  1003,    -1,  1483,    -1,  1007,  1008,  1009,
     3228      -1,    -1,  1012,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3229      -1,  1021,    -1,    -1,    -1,    -1,    -1,    -1,  1084,    -1,
     3230      -1,    63,    -1,    10,    11,    12,    13,    14,    -1,  1039,
     3231    1040,    73,    -1,    75,    -1,    77,    -1,    -1,    -1,    -1,
     3232      -1,    -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,  1089,
     3233      37,    -1,    -1,    -1,    -1,  1065,   420,   421,  1068,    -1,
     3234      -1,    -1,    -1,   427,    -1,    -1,    -1,    -1,    -1,    -1,
     3235      -1,    -1,   114,    60,   116,   117,   118,    -1,    65,    -1,
     3236      67,    68,    69,    -1,   448,    -1,    -1,   451,    -1,    76,
     3237      77,    -1,    -1,   457,    -1,    -1,  1106,    -1,    -1,    -1,
     3238      -1,    -1,  1112,  1113,    -1,    -1,    -1,    -1,    -1,    -1,
     3239      -1,    -1,  1206,  1123,   101,   157,    -1,    -1,  1128,    -1,
     3240     484,  1131,    -1,  1133,   111,    -1,  1136,    -1,    -1,    -1,
     3241      -1,    -1,   496,    -1,    -1,    -1,    -1,    -1,    -1,  1149,
     3242    1206,    43,    -1,    -1,   508,    -1,    -1,    -1,   512,    -1,
     3243     514,   515,  1162,    -1,  1164,  1165,  1166,  1167,    -1,    -1,
     3244      -1,    -1,    -1,   527,    -1,    -1,    -1,    -1,    -1,    -1,
     3245    1180,    -1,  1182,    -1,    -1,   217,  1186,   219,   220,   221,
     3246      -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
     3247      -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1,
     3248      -1,    -1,    -1,    -1,  1214,  1215,    -1,    -1,    -1,    -1,
     3249      -1,    -1,    -1,   255,    -1,   579,    -1,   259,    -1,    -1,
     3250      -1,    -1,    -1,    -1,    -1,    -1,    -1,   591,    -1,   593,
     3251      -1,    -1,   596,   275,    10,    11,    12,    13,    14,    15,
     3252      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3253      26,    27,   154,    -1,  1264,  1265,    -1,    -1,   622,    -1,
     3254      -1,    37,    -1,   627,  1274,   167,    -1,    -1,    -1,    -1,
     3255      -1,    -1,   636,   637,   638,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,   324,    -1,    60,    -1,    -1,    -1,   190,   653,
     3257      -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,
     3258      -1,    -1,   204,   345,    -1,    -1,    -1,    -1,   350,   351,
     3259      -1,   213,    -1,  1323,    -1,    -1,   358,    -1,    -1,    -1,
     3260      -1,   223,    -1,    -1,   688,  1335,    -1,  1337,  1338,  1339,
     3261      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1349,
     3262      -1,    -1,    -1,    -1,    -1,   709,   248,    -1,  1358,    -1,
     3263      -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,   400,    -1,
     3264    1370,    -1,    -1,   727,   266,   729,    -1,    -1,    -1,    -1,
     3265     272,    -1,   274,    -1,    -1,    -1,   418,    -1,    -1,    -1,
     3266      -1,   423,    -1,   425,    -1,    -1,    -1,    -1,    -1,   291,
     3267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   763,
     3268     442,    -1,    -1,   445,   446,    -1,    -1,    -1,    -1,    -1,
     3269      -1,  1421,  1422,    -1,    -1,    -1,    -1,    -1,    -1,   461,
     3270      -1,    -1,    -1,    -1,  1434,    -1,    -1,    -1,    -1,    -1,
     3271      -1,  1441,   334,   475,    -1,    -1,    -1,   339,    -1,    -1,
     3272     482,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3273      -1,    -1,    -1,   817,    36,    -1,    38,   821,  1468,    -1,
     3274     824,    -1,    -1,    -1,    -1,   367,    -1,    -1,    -1,   371,
     3275     372,    -1,   374,    -1,    -1,    -1,    -1,    59,   380,   381,
     3276      -1,   383,   384,    65,   386,  1495,   388,    69,    -1,    -1,
     3277      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3278      -1,    -1,    -1,   405,    -1,    87,    -1,    -1,    -1,    -1,
     3279    1520,   413,    -1,    -1,    -1,  1525,    -1,    -1,    -1,   101,
     3280      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3281     112,   113,   114,   115,    -1,    -1,   438,    -1,    -1,    -1,
     3282      -1,    -1,   124,    -1,    -1,    -1,    -1,   449,    -1,    -1,
     3283      -1,    -1,   916,    -1,   596,    -1,    -1,    -1,    -1,    -1,
     3284      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3285     472,    -1,    -1,    -1,    -1,    -1,   478,    -1,    -1,    -1,
     3286      -1,   483,   624,    59,    -1,    -1,    -1,   629,    -1,    65,
     3287      -1,    67,    68,    69,   958,    -1,    72,    73,    74,    75,
     3288      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,   973,
     3289      -1,    87,    -1,    -1,    -1,    -1,    -1,   519,    -1,    -1,
     3290      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,   105,
     3291     106,    -1,    -1,   535,   110,   111,   112,   113,   114,   115,
     3292      -1,    -1,    -1,  1007,    -1,    -1,    -1,    10,    11,    12,
     3293      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3294      23,    24,    25,    26,  1028,  1029,    29,    30,    31,   571,
     3295      -1,    -1,    -1,   715,    37,    -1,    -1,    -1,   580,    -1,
     3296      -1,    -1,    -1,    -1,    -1,   587,    -1,   729,    -1,    -1,
     3297     592,    -1,    -1,    36,    -1,    38,    -1,    60,    -1,    -1,
     3298      -1,   603,    65,    -1,    67,    68,    69,   749,    -1,    -1,
     3299      -1,    -1,    -1,    76,    77,    -1,    59,    -1,    -1,    -1,
     3300      -1,    -1,    65,  1087,    -1,    -1,    69,    -1,    -1,    72,
     3301      73,    74,    75,    76,    77,    -1,    79,    80,   101,    -1,
     3302     103,   643,    -1,    -1,    87,    -1,    -1,    -1,   111,    -1,
     3303      -1,    -1,    -1,   143,    -1,    -1,    -1,    -1,   101,    -1,
     3304     103,    -1,    -1,   153,    -1,   108,   808,   110,   111,   112,
     3305     113,   114,   115,    -1,    -1,   165,   678,    -1,    -1,   821,
     3306      -1,  1145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3307      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,     4,
     3308       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3309      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3310      25,    26,    -1,  1187,    29,    30,    31,    -1,    -1,    -1,
     3311      -1,   733,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3312      -1,   743,   744,   152,   153,   235,    -1,    -1,    -1,    -1,
     3313      -1,    -1,    -1,    -1,   756,    60,    -1,    62,    -1,    64,
     3314    1224,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,
     3315     260,   773,    -1,   775,    -1,    -1,   185,   779,    -1,    -1,
     3316      -1,    -1,    -1,   192,   926,    -1,    -1,    -1,    -1,    -1,
     3317      -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,   103,    -1,
     3318      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,  1272,  1273,
     3319     952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1282,    10,
     3320      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3321      21,    22,    23,    24,    25,    26,    -1,   979,    29,    30,
     3322      31,    -1,   844,    -1,    -1,    -1,    37,    38,    -1,   851,
     3323      -1,    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,
     3324      -1,    -1,   864,    -1,   866,    -1,    -1,    -1,  1010,    60,
     3325      -1,    -1,    -1,    -1,    -1,    -1,    67,    68,   880,  1021,
     3326      -1,    -1,    -1,    -1,   886,   375,    -1,    -1,    -1,    -1,
     3327      -1,    -1,    -1,    -1,    -1,    -1,   898,    -1,    -1,   901,
     3328      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3329     319,    -1,   103,    -1,    -1,    -1,   107,   919,   327,   328,
     3330     111,   330,   331,    -1,    -1,    -1,  1390,    -1,    -1,    -1,
     3331      -1,   340,    -1,    -1,    -1,   344,    -1,    36,    -1,    38,
     3332      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3333      -1,    -1,    -1,    -1,   363,    -1,    -1,   366,    -1,  1101,
     3334      59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
     3335      69,    -1,    -1,    72,    73,    74,    75,    76,    77,  1443,
     3336      79,    80,    -1,   392,    -1,    -1,   476,   396,    87,    -1,
     3337      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3338      -1,    -1,   101,    -1,  1006,    -1,    -1,    -1,  1472,    -1,
     3339      -1,   110,   111,   112,   113,   114,   115,    -1,   427,    -1,
     3340      -1,    -1,    -1,    -1,   514,    -1,    -1,    -1,    -1,    -1,
     3341      -1,    -1,  1496,    -1,    -1,    -1,    -1,   527,    -1,    -1,
     3342      -1,   450,    -1,    -1,   534,  1187,    -1,    36,    -1,    38,
     3343      -1,    -1,    -1,    -1,    -1,    -1,    -1,   547,   548,    -1,
     3344    1062,    -1,    -1,    -1,    -1,    -1,  1068,    -1,    -1,    -1,
     3345      59,    -1,   481,    -1,    -1,   484,    65,    -1,    -1,   569,
     3346      69,    -1,    -1,    72,    73,    74,    75,    76,    77,   579,
     3347      79,    80,    -1,    -1,    -1,  1097,   586,    -1,    87,    -1,
     3348    1102,   591,    -1,    -1,    -1,    -1,    -1,    -1,  1110,    -1,
     3349      -1,    -1,   101,    -1,   523,    -1,    -1,   526,   527,    -1,
     3350      -1,   110,   111,   112,   113,   114,   115,    -1,    -1,    -1,
     3351      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1140,    -1,
     3352    1282,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3353    1152,   641,    -1,  1155,    -1,  1157,    -1,    -1,   648,    -1,
     3354      -1,    -1,   571,   572,    -1,    -1,    -1,    -1,    -1,  1171,
     3355    1172,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3356      -1,   590,   591,    -1,   593,    -1,    -1,    -1,    -1,    -1,
     3357      -1,  1193,    -1,   602,    -1,   604,   605,    -1,   688,    -1,
     3358      -1,    -1,   611,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3359      -1,    -1,   621,   622,    -1,    -1,    -1,  1219,   627,    -1,
     3360      -1,    -1,    -1,    -1,    -1,    -1,    -1,   636,   637,   638,
     3361      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3362      -1,    -1,    -1,    -1,   653,    -1,    -1,    -1,    -1,   658,
     3363     659,    -1,    -1,   662,   663,    -1,    -1,    -1,    -1,    -1,
     3364     669,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3365      -1,    -1,    -1,   763,    -1,   765,    -1,    -1,   687,   688,
     3366     689,   771,   691,    -1,    -1,    -1,   695,    -1,   778,    -1,
     3367      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3368      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3369    1312,    -1,  1314,    -1,    -1,    -1,    -1,    -1,   727,   728,
     3370      -1,    -1,    -1,    59,    -1,  1327,    -1,  1329,    -1,    65,
     3371      -1,   821,   822,    69,   824,    -1,    72,    73,    74,    75,
     3372      76,    77,    -1,    79,    80,  1347,    -1,    -1,    -1,   839,
     3373      -1,    87,    -1,   762,   763,    -1,    -1,    -1,   767,   768,
     3374      -1,  1363,    -1,    -1,    -1,   101,    -1,   103,  1510,  1371,
     3375     106,    -1,  1374,    -1,   110,   111,   112,   113,   114,   115,
     3376      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   879,
     3377      -1,    -1,    -1,   883,  1396,    -1,    -1,    -1,    -1,   808,
     3378      -1,    -1,    -1,  1405,    -1,    -1,  1408,  1409,   817,    -1,
     3379      -1,    -1,    -1,    -1,   823,   824,    -1,    -1,    -1,   828,
     3380      -1,   830,    -1,   278,   279,   280,    -1,    -1,    -1,    -1,
     3381      -1,   840,   287,   288,    -1,    -1,    -1,   292,   293,    -1,
     3382      -1,    -1,    -1,  1445,    -1,  1447,    -1,    -1,    -1,   304,
     3383      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1461,
     3384      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   958,    -1,
     3385      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3386      -1,    -1,    -1,   973,   974,   340,    -1,    -1,    -1,    -1,
     3387     980,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,   989,
     3388      -1,   991,    -1,   912,    -1,    -1,    -1,    36,    -1,    38,
     3389      -1,   920,    -1,    -1,    -1,    -1,    -1,   926,    -1,    -1,
     3390    1010,   376,    -1,    -1,    -1,   934,    -1,    -1,    -1,    -1,
     3391      59,  1021,    -1,    -1,    -1,    -1,    65,    -1,   947,   948,
     3392      69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
     3393      79,    80,    -1,  1043,    -1,  1045,    -1,    -1,    87,    -1,
     3394      -1,    -1,    -1,    -1,   973,    -1,    -1,    -1,    -1,    -1,
     3395     979,  1061,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
     3396     109,   110,   111,   112,   113,   114,   115,    -1,   997,   998,
     3397    1080,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1007,    -1,
     3398      -1,    -1,    -1,    -1,  1013,  1014,    -1,  1016,  1017,  1018,
     3399      36,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,  1028,
     3400    1029,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3401      -1,    -1,    -1,    59,    -1,    -1,  1126,    -1,    -1,    65,
     3402      -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,
     3403      76,    77,    -1,    79,    80,  1145,    -1,    -1,    -1,    -1,
     3404      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3405    1160,  1161,    -1,    -1,    -1,   101,    -1,   103,    -1,  1088,
     3406    1089,  1090,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3407      -1,    -1,  1101,    -1,    -1,   550,   551,   552,   553,   554,
     3408     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
     3409     565,   566,   567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3411      -1,    -1,    -1,    -1,    -1,    -1,  1145,    -1,   593,    -1,
     3412      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1239,
     3413      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3414      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     4,     5,
     3415       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3416      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3417      26,    -1,    -1,    29,    30,    31,  1205,    -1,    -1,    -1,
     3418      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3419      -1,    -1,    -1,    -1,    -1,  1224,    -1,    -1,    -1,    -1,
     3420      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,
     3421      -1,    67,    68,    69,    -1,   690,    72,    73,    74,    75,
     3422      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3423      -1,    87,    -1,    -1,    -1,    -1,    -1,   712,    -1,    -1,
     3424      -1,    -1,    -1,  1272,  1273,   101,    -1,   103,    -1,    -1,
     3425     725,    -1,   108,    -1,   110,   111,   112,   113,   114,   115,
     3426      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3427      -1,  1381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3428      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3429      -1,    -1,    -1,    -1,    -1,   770,    -1,    -1,    -1,    -1,
     3430      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3431      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3432      22,    23,    24,    25,    26,    -1,   801,    29,    30,    31,
     3433      32,    -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,
     3434      -1,   816,  1452,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3435      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3436      62,  1390,    64,    65,    -1,    67,    68,    69,    -1,    -1,
     3437      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3438      -1,    -1,    -1,    -1,    -1,    87,  1496,    -1,    -1,    -1,
     3439      -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,   101,
     3440      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3441     112,   113,   114,   115,    -1,    59,    -1,    -1,    -1,    -1,
     3442      -1,    65,   124,    -1,    -1,    69,    -1,    -1,    72,    73,
     3443      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3444    1469,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3445      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3446    1489,  1490,   106,    -1,    -1,    -1,   110,   111,   112,   113,
     3447     114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,  1510,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3449      -1,   966,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3450       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3451      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3452     995,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
     3453      38,    39,  1007,    41,    -1,    -1,    44,    45,    46,    47,
     3454      48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    57,
     3455      -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3456      68,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
     3457      -1,    79,    80,    -1,  1049,    -1,    -1,    -1,    -1,    87,
     3458      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3459      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,
     3460      -1,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,     3,
    28653462       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    28663463      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2867       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2868        0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
    2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2870        0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
    2871        0,   203,    38,     8,     9,    10,    11,    12,    13,    14,
     3464      24,    25,    26,    -1,  1119,    29,    30,    31,    32,    -1,
     3465      -1,    35,    36,    37,    38,    10,    11,    12,    13,    14,
    28723466      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2873        0,     0,    25,    26,    27,   487,   488,   489,     0,     0,
    2874       30,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2875       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2876       25,    26,    27,    33,     0,     0,     0,     0,    30,     0,
    2877       37,    38,     0,     0,     0,     0,     0,     0,     0,     0,
    2878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2879        0,    33,     0,     0,     0,     0,     0,     0,   203,    38
    2880 };
    2881 
    2882 #define yypact_value_is_default(yystate) \
    2883   ((yystate) == (-1318))
    2884 
    2885 #define yytable_value_is_error(yytable_value) \
    2886   YYID (0)
    2887 
    2888 static const yytype_int16 yycheck[] =
    2889 {
    2890        1,    42,     0,    42,     0,   181,    42,   235,   181,   165,
    2891      181,     1,   451,   200,   182,   182,   215,   648,   690,   181,
    2892      181,   484,   181,   181,   275,   602,   344,   113,   103,   751,
    2893      252,   622,   690,    31,   494,    31,   690,    31,   498,   604,
    2894      457,   892,   988,   359,    42,   602,    44,   363,    44,  1317,
    2895        1,   534,   602,   995,  1031,     0,    54,    37,    37,   183,
    2896      602,   604,    60,   602,    60,    63,   450,    63,    66,   605,
    2897       66,   344,    37,   572,   101,   611,    66,   152,    65,    65,
    2898      771,  1398,    65,    49,   715,   261,    31,    75,   261,    42,
    2899      261,  1394,   412,    44,   262,   262,   768,   691,    42,   261,
    2900      261,  1043,   261,   261,   602,    37,   104,  1030,  1031,   107,
    2901      768,   197,   432,   101,   768,   113,    27,    75,    57,   713,
    2902      440,    42,   101,   103,   103,   111,     0,    89,    75,   340,
    2903       42,    43,    37,   257,   258,   101,   101,   124,   103,   523,
    2904      181,   124,   181,  1411,   602,   181,   144,   892,   144,   101,
    2905      102,     0,   103,   115,   152,  1458,   103,    31,   109,   157,
    2906       71,   157,   101,   420,   421,  1482,    42,    43,    65,   101,
    2907     1487,   103,   101,   636,   637,   638,    37,    65,   290,   736,
    2908        0,     1,    31,   181,   182,  1050,   182,  1504,   277,    88,
    2909      412,   654,   143,    65,  1511,   107,    44,   892,    65,   197,
    2910       75,   152,    75,    37,    29,   404,   103,   205,    78,   205,
    2911      432,    31,    11,     0,    63,   103,   214,   490,   440,   217,
    2912      261,   217,   261,   122,   101,   261,   689,   102,   181,   102,
    2913      106,   103,   400,   400,   109,   105,   103,   181,   736,   496,
    2914      101,   104,   103,    63,    31,   108,    66,   248,  1225,   247,
    2915      201,   247,   829,   247,   205,    80,    81,   514,     0,     1,
    2916      181,   109,   337,   261,   262,   728,   262,   101,   104,   103,
    2917      268,   710,   829,   484,   590,   106,   841,   275,   736,   829,
    2918      108,    75,   450,   450,   235,   236,   604,   829,   289,    31,
    2919      829,   366,   492,    73,  1240,   831,   124,  1274,   841,     0,
    2920        1,   764,   247,  1487,   390,  1050,   997,   101,   420,   421,
    2921      809,    73,    42,    43,   482,   482,   267,   633,    75,   270,
    2922     1504,    63,   579,   103,    66,   105,   324,  1511,   324,   109,
    2923       31,   829,   418,   153,    54,    89,  1487,  1059,   424,   290,
    2924      108,   103,   293,   105,     0,   343,   344,   109,   111,   123,
    2925     1273,  1274,   109,   116,   117,   818,   124,   205,  1053,  1210,
    2926     1511,   115,   360,   683,   224,    66,   364,    65,   217,    67,
    2927       68,   829,   949,   247,   968,    31,   106,   104,   252,   101,
    2928      108,   108,   593,   243,   104,   950,   337,   107,   236,   340,
    2929        3,    65,   390,    67,    68,     3,   508,   217,   247,   949,
    2930      512,   123,   400,   515,   400,   103,   606,   949,   359,   108,
    2931      610,   622,   363,  1390,   239,   366,   627,   506,  1009,   267,
    2932      418,    65,  1287,    67,    68,   124,   424,   247,   426,   102,
    2933       67,   631,   106,   108,    71,   635,   109,    74,   102,    76,
    2934     1382,  1383,   290,    65,   108,   293,    83,    69,   108,   124,
    2935      123,   526,   450,     0,    76,    77,   568,   101,   107,   108,
    2936      247,   683,   106,     0,    52,  1210,   102,  1390,   469,   420,
    2937      421,   101,   108,   508,   123,   217,   474,   512,   689,   101,
    2938      515,   103,  1018,  1019,   482,   102,   482,   101,   486,   111,
    2939      486,   108,   490,   649,   214,  1126,   345,   448,   958,   750,
    2940      451,   918,   102,   725,   820,   247,   457,    95,   824,   109,
    2941      993,   108,   123,   514,   690,  1210,   102,   690,   469,   690,
    2942      113,   114,   108,   841,   692,   692,  1120,   124,   690,   690,
    2943      531,   690,   690,   534,   658,   536,   101,  1102,   412,   101,
    2944      108,   486,  1287,   494,   928,   496,   247,   498,   268,   121,
    2945      375,   123,   936,   764,   102,   275,   124,   508,   432,    83,
    2946       84,   512,   108,   514,   515,  1287,   440,  1030,   841,  1434,
    2947      656,   208,   108,   108,   108,   526,  1441,   108,   124,   668,
    2948      107,   102,   583,  1177,  1178,     0,   108,   108,   124,   124,
    2949      124,   247,   590,   124,   118,   119,   252,   981,   914,   101,
    2950      448,   189,   124,   451,   602,  1300,   604,   427,   466,   457,
    2951      484,   101,   486,   688,   637,   638,    31,   108,   104,   101,
    2952     1485,   103,   108,   343,   212,   623,   475,    42,   579,    44,
    2953      455,   654,   101,   124,   222,   460,    44,   486,  1360,   590,
    2954      360,   639,   593,   102,   364,    60,   102,   104,    63,  1088,
    2955      109,    66,   108,   108,   655,   653,   657,   104,   656,  1354,
    2956      508,   108,  1357,   863,   512,   754,   486,   515,   493,   124,
    2957      495,   622,   102,   636,   637,   638,   627,   102,   108,   878,
    2958      102,   954,   633,  1146,    65,   102,    67,    68,   763,  1434,
    2959      102,   654,   690,   104,   692,   102,  1441,   108,  1461,   486,
    2960      899,   109,   290,  1398,  1467,   728,   101,   527,  1403,   102,
    2961      347,   104,   349,    81,    82,   108,  1438,   101,  1440,   103,
    2962      101,  1484,   723,    85,    86,   106,  1489,   111,   884,   144,
    2963      123,   124,   960,  1428,   101,   143,   103,   688,   736,   737,
    2964     1485,   101,   157,   103,   486,     4,     5,     6,     7,     8,
    2965        9,   111,   750,   101,  1118,   955,   412,   102,  1122,   710,
    2966      928,   928,   101,   108,  1486,   728,   181,   182,   936,   936,
    2967      124,   591,   101,  1089,   103,   624,   432,   101,   102,   103,
    2968      102,   102,   111,  1377,   440,   486,   108,   108,   102,   740,
    2969      205,   101,   102,   103,   108,   818,    57,   205,  1009,   436,
    2970     1394,   101,   217,    62,   591,    64,   101,  1502,   103,   683,
    2971     1273,   101,   763,  1508,   672,   689,   636,   637,   638,  1491,
    2972      645,   104,  1517,   102,   108,   109,  1521,   235,   124,   108,
    2973      486,   829,   247,  1491,   654,  1022,    65,  1491,    67,    68,
    2974       69,    65,   106,   841,   102,    69,   261,    76,    77,   437,
    2975      108,   725,    76,    77,   102,   818,   101,   102,   103,   267,
    2976      108,   124,   710,  1457,  1458,   124,   101,   716,   103,   820,
    2977      102,   124,   101,   824,   103,   106,   108,   101,    44,    65,
    2978      705,   730,   111,   471,   106,   293,   711,   111,   101,  1045,
    2979      764,   892,   102,   102,    60,   102,   102,    63,   108,   108,
    2980       66,   108,   108,   623,   557,   558,   559,   560,   728,   324,
    2981       10,    11,    12,    13,    14,    65,   914,    67,    68,   639,
    2982      508,   101,   102,   103,   512,   101,   101,   515,   103,   344,
    2983      928,   104,   340,   653,   101,  1146,   103,    37,   936,     4,
    2984        5,     6,     7,     8,     9,    75,   101,   805,   103,    75,
    2985       65,     0,     1,   101,    69,   103,   954,   815,   102,   103,
    2986       60,    76,    77,   914,  1246,  1247,  1248,   918,   101,   959,
    2987      103,   112,   830,   822,   695,   120,   697,    87,   144,    78,
    2988       79,    80,    31,    54,    55,   400,   101,   108,   109,   990,
    2989      121,   157,   993,   101,   995,    44,   111,    62,   818,    64,
    2990      123,   101,   101,   103,   103,   825,   105,   958,   959,   960,
    2991      103,   111,   420,   421,  1225,   101,   182,    66,   892,    65,
    2992      104,    67,    68,    69,  1110,   108,   109,   683,   104,  1118,
    2993      750,    42,    43,  1122,  1123,   450,   553,   554,   825,   205,
    2994      555,   556,  1043,   892,   102,   561,   562,   102,   102,   102,
    2995      102,   217,  1053,   101,   103,  1056,  1057,  1058,  1009,   884,
    2996      102,   104,   103,   108,   104,   101,   891,   123,   106,   725,
    2997      918,   486,   892,   104,   102,   490,   102,   104,  1190,  1191,
    2998      104,  1193,   104,   671,   104,   108,  1470,  1199,   496,    28,
    2999     1202,   109,   680,   109,    63,   144,   684,    10,    11,    12,
    3000       13,    14,   102,   152,   153,   892,   514,   102,   104,   106,
    3001      109,    80,  1110,   107,    10,    11,    12,    13,    14,   102,
    3002      107,   107,   101,   108,    37,   102,   124,   102,   102,  1513,
    3003      102,  1206,   102,   182,   102,   466,   109,  1088,  1089,   959,
    3004      102,    37,   108,   102,   102,   114,  1235,    60,   197,   102,
    3005      892,   200,   201,   102,   102,   975,   205,   982,   324,   102,
    3006      102,   102,   102,  1012,    60,   102,   102,   102,    28,  1027,
    3007     1028,   579,   123,   107,   104,   102,  1050,   226,   102,   102,
    3008      102,   230,   107,   232,   104,   593,     3,   602,   157,   604,
    3009      108,   892,   241,    10,    11,    12,    13,    14,   247,  1189,
    3010      104,  1050,   102,   252,   102,   101,   108,   103,  1206,  1210,
    3011     1030,  1031,   102,   262,   622,   111,   109,   959,   106,   627,
    3012       37,   270,   108,   108,   104,  1083,  1084,   102,   102,  1318,
    3013     1050,   108,   108,  1322,   400,   102,   892,   101,   104,  1229,
    3014     1088,   104,   101,    60,  1356,  1246,  1247,  1248,   217,    65,
    3015      101,    67,    68,    69,  1079,  1206,   101,   101,   959,   109,
    3016       76,    77,    65,  1050,    67,    68,    69,   124,   107,   102,
    3017     1498,   102,  1146,    76,    77,   690,   102,   692,  1229,   121,
    3018      107,   106,   104,   124,   108,     3,   255,  1373,   337,   104,
    3019      259,   340,    10,    11,    12,    13,    14,   346,   101,  1300,
    3020      108,   102,   104,   102,     0,   102,   104,    45,  1050,   104,
    3021      359,   104,   102,   104,   363,  1491,   104,   366,  1491,    37,
    3022     1491,   736,   737,   104,  1492,  1492,  1415,  1317,   916,  1491,
    3023     1491,   107,  1491,  1491,   102,    31,  1210,   124,   124,  1188,
    3024      124,   672,    60,   107,   124,  1513,  1513,   124,   109,  1050,
    3025      102,  1225,   107,  1354,   104,   104,  1357,   104,   104,  1184,
    3026      104,  1210,   104,   412,   104,  1223,  1317,   104,  1188,  1189,
    3027       66,   102,   102,   101,  1372,  1373,   345,   104,   427,   104,
    3028      101,  1382,  1383,   432,  1470,    55,    54,   102,   102,   106,
    3029     1210,   440,   124,   109,  1050,   104,  1254,  1398,   104,   102,
    3030      104,   102,  1403,    89,  1262,  1263,  1264,   101,   107,  1229,
    3031      102,   104,   102,  1287,   829,  1416,    40,   466,   102,   102,
    3032      469,  1411,   109,  1210,   124,   102,   841,  1428,   108,   124,
    3033       89,   102,     3,  1282,   109,   484,   102,   486,  1287,    10,
    3034       11,    12,    13,    14,   102,   494,  1188,  1189,  1306,   498,
    3035     1491,   124,  1491,  1273,  1274,  1491,   425,   153,   107,   124,
    3036     1411,   104,  1282,   104,   124,   101,    37,  1287,  1210,   124,
    3037     1471,   124,  1470,  1061,   805,  1476,   107,   526,   527,   672,
    3038      107,  1482,   102,   691,   815,   102,  1487,  1229,  1189,    60,
    3039      563,   565,  1443,  1491,  1492,   564,  1492,  1317,   566,   830,
    3040     1287,  1502,  1127,  1504,   567,   713,   475,  1508,    54,  1210,
    3041     1511,  1362,  1458,   928,  1210,  1513,  1517,  1513,  1521,  1296,
    3042     1521,   936,  1473,   572,  1473,  1123,  1322,  1441,  1229,  1079,
    3043      226,   448,   448,   936,   697,   884,   938,   982,   650,   954,
    3044     1282,   590,   591,   740,   593,  1287,   460,  1498,   583,  1229,
    3045      956,   247,   960,   486,  1210,   604,   252,   571,   104,    63,
    3046     1434,   107,   750,   571,   571,    -1,    -1,  1441,    -1,    -1,
    3047     1390,    -1,    -1,   622,    -1,  1317,    -1,    -1,   627,    -1,
    3048       -1,    -1,    -1,    -1,   633,  1434,  1287,   636,   637,   638,
    3049       -1,  1411,  1441,    -1,   802,  1443,    65,    -1,    67,    68,
    3050       69,  1009,    -1,    -1,    -1,   654,   152,    76,    77,    -1,
    3051      114,  1485,   805,    -1,  1434,     0,  1317,    -1,    -1,    -1,
    3052       -1,  1441,   815,   672,    -1,  1473,    -1,   596,    -1,    -1,
    3053       -1,  1287,   101,    -1,   683,    -1,  1485,   830,    -1,   688,
    3054      689,    -1,   111,   692,    -1,    -1,    31,  1434,    -1,    -1,
    3055      346,    -1,  1372,   157,  1441,   624,    -1,    -1,    -1,    -1,
    3056      629,    -1,    -1,    -1,    -1,  1485,    -1,    -1,   214,  1411,
    3057      185,    -1,   880,    -1,    -1,    -1,   725,   192,    -1,   728,
    3058       -1,    66,    65,    -1,    67,    68,    69,    -1,   737,    -1,
    3059       -1,   740,  1434,    76,    77,    -1,  1027,  1028,  1485,  1441,
    3060       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1295,    -1,    -1,
    3061     1411,    -1,    -1,   217,   763,   764,   412,    -1,   101,    -1,
    3062      769,    -1,   268,    65,    -1,    67,    68,    69,   111,   275,
    3063       -1,   427,    -1,  1434,    76,    77,   432,    -1,    -1,    -1,
    3064     1441,    -1,    -1,  1485,   440,    -1,    -1,   716,    -1,   264,
    3065       -1,   255,  1083,  1084,    -1,   259,   805,    -1,    -1,   101,
    3066      968,   730,    -1,    -1,    -1,    -1,   815,    -1,   153,   818,
    3067      466,   820,    -1,    -1,   823,   824,   825,    -1,  1434,    -1,
    3068       -1,   830,    -1,    -1,  1485,  1441,    -1,    -1,   484,   997,
    3069      486,   840,    10,    11,    12,    13,    14,   343,    -1,    -1,
    3070       -1,    -1,    -1,    -1,   319,    10,    11,    12,    13,    14,
    3071       -1,    -1,   327,    -1,   360,   330,    -1,    -1,   364,    37,
    3072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1485,
    3073       -1,   527,    37,    -1,  1027,  1028,    -1,    -1,    -1,  1047,
    3074       -1,   345,    60,   892,    -1,    -1,    -1,    65,    -1,    67,
    3075       68,    69,    -1,   822,  1442,    60,    -1,    -1,    76,    77,
    3076       65,    -1,   247,    -1,    69,   914,    -1,   252,    -1,    -1,
    3077       -1,    76,    77,    -1,    -1,    -1,    -1,   392,    -1,    -1,
    3078      426,   396,    -1,   101,  1472,   103,    -1,    -1,    -1,    -1,
    3079     1083,  1084,  1223,   111,    -1,   591,   101,    -1,     0,    -1,
    3080       -1,   950,    -1,    -1,    -1,    -1,   111,    -1,    -1,   958,
    3081      959,    -1,  1120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3082       -1,   425,    -1,  1254,  1512,     0,   975,    -1,    -1,    31,
    3083       -1,  1262,  1263,  1264,    -1,    -1,  1524,    -1,    -1,    -1,
    3084      636,   637,   638,    -1,    -1,    -1,    -1,    -1,    -1,   279,
    3085       -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,   654,    -1,
    3086     1009,   346,   292,   293,    66,    -1,   481,    -1,    -1,  1177,
    3087     1178,   475,    -1,  1022,   304,  1306,   672,    -1,  1027,  1028,
    3088       -1,  1030,  1031,    -1,    -1,    -1,    -1,   683,    -1,    -1,
    3089       -1,    66,    -1,   689,    -1,    10,    11,    12,    13,    14,
    3090       -1,  1050,     4,     5,     6,     7,     8,     9,    -1,    -1,
    3091      340,    -1,    65,    -1,    67,    68,    69,    -1,    -1,    -1,
    3092       -1,    -1,    37,    76,    77,    -1,    -1,   412,    -1,   725,
    3093       32,    -1,   728,    -1,  1083,  1084,    -1,    -1,    -1,    -1,
    3094     1089,    -1,   427,  1012,   590,    60,   376,   432,   101,    -1,
    3095      103,   153,    -1,    -1,    -1,   440,   571,   572,   111,    -1,
    3096       62,  1254,    64,    -1,    -1,    -1,    -1,    -1,   764,  1262,
    3097     1263,  1264,    -1,    -1,    -1,    -1,  1491,   623,   153,    -1,
    3098       -1,   466,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3099     1498,    -1,   596,   639,    -1,    -1,   111,  1146,    -1,   484,
    3100       65,   486,    67,    68,    69,    -1,    -1,   653,    -1,   805,
    3101       -1,    76,    77,  1306,    -1,    -1,    63,    -1,    -1,   815,
    3102      624,    -1,   818,    -1,    -1,   629,    73,   823,    -1,   825,
    3103       -1,    -1,    -1,    -1,   830,    -1,   101,    -1,   103,    -1,
    3104     1189,    -1,   527,    -1,   659,   247,   111,    -1,   663,    -1,
    3105      252,    65,    -1,    67,    68,    69,    -1,  1206,    -1,    -1,
    3106       -1,  1210,    76,    77,    -1,    -1,    -1,   114,    -1,  1377,
    3107       -1,    -1,   247,    -1,  1223,    -1,  1225,   252,    -1,    -1,
    3108     1229,   696,    -1,    -1,    -1,    -1,  1394,   101,    -1,   103,
    3109       -1,    -1,    -1,    -1,    -1,   109,   892,   111,    -1,    -1,
    3110       -1,    -1,    -1,    -1,   750,  1254,   591,    -1,    -1,    -1,
    3111      157,    -1,   716,  1262,  1263,  1264,    -1,    -1,    -1,  1188,
    3112      550,   551,   552,    -1,  1273,  1274,   730,    90,    91,    92,
    3113       93,    94,    95,    96,    97,    98,    99,    -1,  1287,    -1,
    3114       -1,    -1,    -1,    -1,   346,    -1,    -1,    -1,    -1,  1457,
    3115     1458,   636,   637,   638,    -1,    -1,    -1,  1306,    -1,    -1,
    3116      123,    -1,    -1,   593,    -1,    -1,    -1,    -1,  1317,   654,
    3117      217,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   975,
    3118       -1,    -1,    -1,    -1,    -1,    -1,    -1,   672,    -1,    10,
    3119       11,    12,    13,    14,   809,    -1,    -1,    -1,   683,    -1,
    3120       -1,    -1,    -1,    -1,   689,    -1,    -1,    -1,   255,    -1,
    3121      412,    -1,   259,  1282,    -1,    -1,    37,    -1,   822,    -1,
    3122       -1,    -1,    -1,    -1,    -1,   427,    -1,    -1,   275,    -1,
    3123      432,  1027,  1028,    -1,  1030,  1031,    -1,   412,   440,    60,
    3124      725,  1390,    -1,   728,    65,    -1,    67,    68,    69,    -1,
    3125       -1,    -1,   427,    -1,  1050,    76,    77,   432,    -1,    -1,
    3126       -1,    -1,  1411,    -1,   466,   440,    -1,    -1,   914,    -1,
    3127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   764,
    3128      101,    -1,   484,    -1,   486,  1434,    -1,  1083,  1084,    -1,
    3129      111,   466,  1441,    -1,    -1,    -1,   726,    -1,   345,    -1,
    3130       -1,    -1,    -1,    -1,    -1,    -1,    -1,   922,    -1,   484,
    3131       -1,   486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3132      805,    -1,    -1,    -1,    -1,   527,    -1,    -1,    -1,    -1,
    3133      815,    -1,    -1,   818,    -1,    -1,  1485,    -1,   823,    -1,
    3134      825,   771,    -1,  1492,    -1,   830,    -1,    -1,    -1,    -1,
    3135     1146,    -1,   527,    -1,     3,     4,     5,     6,     7,     8,
    3136        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3137       19,    20,    21,    22,    23,    24,    25,    26,   425,    -1,
    3138       29,    30,    31,    -1,   999,    -1,    -1,   817,    37,   591,
    3139       -1,    -1,    -1,  1189,    -1,   442,    -1,    -1,    -1,    -1,
    3140     1015,    -1,    -1,    -1,    -1,    -1,    -1,   892,  1012,    -1,
    3141       -1,    60,    -1,    62,  1210,    64,   591,    -1,    67,    68,
    3142       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1223,   475,  1225,
    3143       -1,    -1,    -1,    -1,   636,   637,   638,    -1,    -1,    -1,
    3144       -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3145       14,    -1,   654,    -1,    -1,    -1,    -1,   106,  1254,    -1,
    3146       -1,   636,   637,   638,    -1,    -1,  1262,  1263,  1264,    -1,
    3147      672,    -1,    -1,    37,    -1,  1090,    -1,  1273,  1274,   654,
    3148       -1,   683,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
    3149      975,  1287,    -1,    50,    -1,    52,    60,   672,    55,    56,
    3150       57,    65,    59,    67,    68,    69,    -1,    -1,   683,    -1,
    3151     1306,    -1,    76,    77,   689,    -1,    -1,    74,    -1,    -1,
    3152       -1,    -1,    -1,   725,    -1,    -1,   728,    -1,    -1,    86,
    3153       87,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3154       -1,    -1,  1027,  1028,    -1,  1030,  1031,   111,    -1,   596,
    3155      725,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,    -1,
    3156     1206,    -1,   764,    -1,    -1,  1050,    -1,    -1,    -1,    -1,
    3157       -1,    -1,    -1,    -1,    -1,    -1,    -1,   624,    -1,  1009,
    3158       -1,    -1,   629,    -1,  1188,    -1,    -1,    -1,    -1,   764,
    3159       -1,    -1,    -1,    -1,  1390,    -1,    -1,    -1,  1083,  1084,
    3160       -1,    -1,    -1,   805,    -1,    -1,    -1,    10,    11,    12,
    3161       13,    14,    -1,   815,    -1,    -1,   818,    -1,    -1,    -1,
    3162     1050,   823,    -1,   825,    -1,    -1,    -1,    -1,   830,    -1,
    3163      805,    -1,    -1,    -1,    37,    -1,    -1,    -1,  1434,    -1,
    3164      815,    -1,    -1,   818,    -1,  1441,    -1,    -1,   823,    -1,
    3165      825,    -1,    -1,    -1,    -1,   830,    -1,    60,    -1,    -1,
    3166       -1,  1146,    65,    -1,    67,    68,    69,    -1,    -1,   716,
    3167       -1,    -1,    -1,    76,    77,    -1,    -1,    -1,  1282,    -1,
    3168       -1,    -1,    -1,   730,    -1,    -1,    -1,    -1,    -1,  1485,
    3169      892,    10,    11,    12,    13,    14,    -1,    -1,   101,    -1,
    3170      103,    -1,    -1,   750,  1189,    -1,    -1,    -1,   111,    -1,
    3171       -1,    -1,    -1,    -1,    -1,    -1,    -1,   892,    37,    -1,
    3172       -1,    -1,    -1,    -1,    -1,  1210,  1372,    -1,    -1,    -1,
    3173       -1,    -1,    -1,  1163,    -1,    -1,    -1,    -1,  1223,    -1,
    3174     1225,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
    3175       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
    3176       -1,    -1,    25,    26,    27,    -1,    -1,    -1,    -1,  1254,
    3177       -1,    -1,    -1,   975,    -1,   822,    -1,  1262,  1263,  1264,
    3178       -1,    -1,   101,   340,   341,    -1,    -1,    -1,  1273,  1274,
    3179       -1,    -1,   111,    -1,    -1,   352,   353,    -1,    -1,    -1,
    3180      975,    -1,  1287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3181       -1,    -1,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,
    3182       -1,  1306,    -1,    -1,    44,  1027,  1028,    -1,  1030,  1031,
    3183       -1,    -1,    -1,    96,    -1,    98,    -1,    10,    11,    12,
    3184       13,    14,    -1,    63,    -1,    -1,    -1,    -1,  1050,    -1,
    3185       -1,    -1,  1027,  1028,    -1,  1030,  1031,    -1,    -1,   122,
    3186       -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    3187       -1,    -1,    -1,    -1,    -1,  1050,    -1,    -1,    -1,    -1,
    3188       -1,  1083,  1084,    96,    -1,    98,    -1,    60,    -1,   109,
    3189       -1,    -1,    65,    -1,   114,    -1,    69,    -1,    -1,    -1,
    3190       -1,    -1,    -1,    76,    77,  1390,    -1,    -1,  1083,  1084,
    3191       -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,
    3192       -1,    -1,   185,   143,   187,   188,    -1,    -1,   101,   192,
    3193       -1,   194,   195,   153,    -1,    -1,    -1,   157,   111,    -1,
    3194       -1,    -1,    -1,    -1,  1146,    -1,    -1,    -1,    -1,  1434,
    3195       -1,    -1,    -1,    -1,    -1,    36,  1441,    38,    -1,    -1,
    3196       -1,    -1,    -1,    -1,   177,  1012,    -1,    -1,    -1,    -1,
    3197       -1,  1146,    -1,    -1,   187,   188,    -1,    -1,    59,   192,
    3198       -1,   194,   195,    -1,    65,   205,    -1,  1189,    69,    -1,
    3199       -1,    72,    73,    74,    75,    76,    77,   217,    79,    80,
    3200     1485,   264,    -1,    -1,    -1,    -1,    87,    -1,  1210,    -1,
    3201       -1,    -1,    -1,    -1,  1189,   235,   236,    -1,    -1,    -1,
    3202      101,  1223,   103,  1225,    -1,    -1,    -1,    -1,    -1,   110,
    3203      111,   112,   113,   114,   115,  1210,    -1,    -1,    -1,   259,
    3204       -1,    -1,    -1,   124,    -1,    -1,    -1,   267,  1223,    -1,
    3205     1225,    -1,  1254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3206     1262,  1263,  1264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3207      290,  1273,  1274,   293,    -1,    -1,    -1,     7,    -1,  1254,
    3208       10,    11,    12,    13,    14,  1287,    -1,  1262,  1263,  1264,
    3209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1273,  1274,
    3210       -1,    -1,    -1,    -1,  1306,    -1,    36,    37,    38,    -1,
    3211       -1,    -1,  1287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3212      340,    -1,    -1,    -1,    -1,   345,    -1,    -1,    -1,    59,
    3213       60,  1306,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3214       -1,  1188,    72,    73,    74,    75,    76,    77,    -1,    79,
    3215       80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    3216      717,    -1,   719,    -1,    -1,    -1,    -1,    -1,    -1,   726,
    3217      727,   101,    -1,   103,   731,    -1,    -1,    -1,    -1,    -1,
    3218      110,   111,   112,   113,   114,   115,   743,    -1,  1390,    -1,
    3219       -1,   748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3220      420,   421,    -1,    -1,    -1,    -1,    -1,   427,    -1,    -1,
    3221       -1,    -1,    -1,    -1,    -1,  1390,   773,    -1,    -1,    -1,
    3222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   448,    -1,
    3223       -1,   451,  1434,    -1,    -1,  1282,    -1,   457,    -1,  1441,
    3224       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3225       20,    21,    22,    23,    24,    25,    26,    27,    -1,  1434,
    3226      817,    -1,    -1,    -1,   484,    -1,  1441,    37,    -1,    -1,
    3227       -1,    -1,    -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,
    3228       -1,    -1,    -1,  1485,    -1,    -1,    -1,    -1,   508,    -1,
    3229       60,    -1,   512,    -1,   514,   515,    -1,    -1,    -1,    -1,
    3230       -1,    71,    -1,    -1,    -1,    -1,    -1,   527,    -1,    -1,
    3231     1485,    -1,   575,   576,    -1,    -1,    -1,   874,   875,   876,
    3232      877,    -1,   879,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   895,    -1,
    3234       -1,    -1,   605,    -1,    -1,   608,   609,    -1,   611,    -1,
    3235      613,   614,   909,    -1,    -1,   618,   619,    -1,    -1,   579,
    3236       -1,    -1,   575,   576,    -1,    -1,    -1,    -1,    -1,    -1,
    3237       -1,   591,    -1,   593,    -1,    -1,   596,    -1,    -1,    -1,
     3467      25,    26,    27,    -1,    -1,    59,    60,    -1,    62,    -1,
     3468      64,    65,    37,    67,    68,    69,    -1,  1162,    72,    73,
     3469      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3470      -1,  1176,  1177,    87,    -1,    60,    -1,    -1,    -1,    -1,
     3471      -1,    -1,    -1,    -1,    -1,    -1,    71,   101,    -1,   103,
     3472      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3473     114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
     3474      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3475      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3476      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
    32383477      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3239       -1,   948,   605,    -1,    -1,   608,   609,    -1,   611,    -1,
    3240      613,   614,   622,    -1,    -1,   618,   619,   627,    -1,    -1,
    3241       -1,    -1,    -1,    -1,    -1,    -1,   636,   637,   638,    -1,
    3242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3243      987,    -1,    -1,   696,   654,    -1,    -1,   994,   701,   702,
    3244       -1,   998,    -1,    -1,   707,    -1,  1003,    -1,  1005,    -1,
    3245       -1,    -1,  1009,  1010,  1011,    -1,    -1,  1014,    -1,    -1,
    3246       -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,    -1,   689,
    3247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3248       -1,    -1,    -1,    -1,  1041,  1042,    -1,    -1,   701,   702,
    3249      710,    -1,    -1,    -1,   707,    -1,    -1,    -1,    -1,    -1,
    3250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   728,  1066,
    3251      730,    -1,  1069,    10,    11,    12,    13,    14,    15,    16,
    3252       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3253       -1,    -1,    29,    30,    31,    -1,    -1,    63,    -1,    -1,
    3254       37,    -1,    -1,    -1,   764,    -1,    -1,    73,    -1,    75,
    3255     1107,    77,    -1,    -1,    -1,    -1,  1113,  1114,    84,    -1,
    3256       -1,    -1,    -1,    60,    -1,    -1,    -1,  1124,    -1,    -1,
    3257       67,    68,  1129,    -1,    -1,  1132,    -1,  1134,    -1,    -1,
    3258     1137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,
    3259      116,   117,   118,  1150,    -1,    -1,    -1,    -1,   818,    -1,
    3260       -1,    -1,   822,    -1,    -1,   825,  1163,    -1,  1165,  1166,
    3261     1167,  1168,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3262       -1,    -1,    -1,    -1,  1181,    -1,  1183,    -1,    -1,    -1,
    3263     1187,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1215,  1216,
    3266       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3267       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3268       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3269       31,   217,    -1,   219,   220,   221,    37,    -1,   918,    -1,
    3270       -1,    -1,    -1,    -1,    -1,    43,    -1,    -1,  1265,  1266,
    3271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1275,    60,
    3272       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,   255,
    3273       -1,    -1,    -1,   259,    -1,    76,    77,    -1,    -1,    -1,
    3274      960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,
    3275       -1,    89,    -1,    -1,    -1,   975,    -1,    -1,    -1,    -1,
    3276      101,    99,   103,    -1,    -1,    -1,  1323,    -1,    -1,    -1,
    3277      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1335,    -1,
    3278     1337,  1338,  1339,    -1,    -1,    -1,    -1,    -1,    -1,  1009,
    3279       -1,    -1,  1349,    -1,    -1,    -1,    -1,    -1,   324,    -1,
    3280       -1,  1358,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,
    3281     1030,  1031,    -1,  1370,    -1,    -1,   154,    -1,    -1,   345,
    3282       -1,    -1,  1085,    -1,   350,   351,    -1,    59,    -1,   167,
    3283       -1,    -1,   358,    65,    -1,    -1,    -1,    69,    -1,    -1,
     3478      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
     3479      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    32843480      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
    3285       -1,    -1,   190,    -1,    -1,    87,    -1,    -1,    -1,    -1,
    3286       -1,    -1,    -1,    -1,  1421,  1422,   204,    -1,  1088,   101,
    3287       -1,   103,  1085,    -1,   400,   213,   108,  1434,   110,   111,
    3288      112,   113,   114,   115,  1441,   223,    -1,    -1,    -1,    -1,
    3289       -1,    -1,   418,    -1,    -1,    -1,    -1,   423,    -1,   425,
    3290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3291      248,    -1,  1469,    -1,    -1,   253,   442,    -1,    -1,   445,
    3292      446,    -1,    -1,    -1,    -1,    -1,  1146,    -1,   266,    -1,
    3293       -1,    -1,    -1,    -1,   272,   461,   274,    -1,    -1,    -1,
    3294     1497,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    -1,   475,
    3295       -1,    -1,    -1,   291,    -1,    -1,   482,    -1,    -1,    -1,
    3296       -1,    -1,    -1,    -1,    -1,    -1,  1523,    -1,  1188,    -1,
    3297       -1,  1528,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3299       -1,    -1,    -1,    -1,  1207,    -1,   334,    -1,    -1,    -1,
    3300       -1,   339,    -1,    -1,    -1,  1225,    -1,    -1,    -1,    -1,
    3301       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3302       19,    20,    21,    22,    23,    24,    25,    26,    -1,   367,
    3303       29,    30,    31,   371,   372,    -1,   374,    -1,    37,    -1,
    3304       -1,    -1,   380,   381,    -1,   383,   384,    -1,   386,    -1,
    3305      388,    -1,     7,  1273,  1274,    10,    11,    12,    13,    14,
    3306       -1,    60,  1282,    -1,    -1,    -1,    -1,   405,    67,    68,
    3307      596,    -1,    -1,    -1,    -1,   413,    -1,    -1,    -1,    -1,
    3308       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    3309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   624,    -1,
    3310      438,    -1,    -1,   629,    59,    60,    -1,    -1,    -1,    -1,
    3311       65,   449,   111,    -1,    69,    -1,    -1,    72,    73,    74,
    3312       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3313       -1,    -1,    87,    -1,   472,    -1,    -1,    -1,    -1,    -1,
    3314      478,    -1,    -1,    -1,    -1,   483,   101,    -1,   103,    -1,
    3315       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    3316      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3317     1390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3318       -1,   519,    -1,    -1,   278,   279,   280,    -1,    -1,    -1,
    3319      716,    -1,    -1,   287,   288,    -1,    -1,   535,   292,   293,
    3320       -1,    -1,    -1,    -1,   730,    -1,    -1,    -1,    -1,    -1,
    3321      304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3322       -1,    -1,    -1,  1443,   750,    -1,    -1,    -1,    -1,    -1,
    3323       -1,    -1,    -1,   571,   152,   153,    -1,    -1,    -1,    -1,
    3324       -1,    -1,   580,    -1,    -1,    -1,   340,    -1,    -1,   587,
    3325       -1,    -1,    -1,  1473,   592,    -1,    -1,    -1,    -1,    -1,
    3326       -1,    -1,    -1,    -1,    -1,   603,    -1,   185,    -1,    -1,
    3327       -1,    -1,    -1,    -1,   192,    -1,    -1,    -1,  1498,    -1,
    3328       -1,    -1,   376,   809,    -1,    -1,    -1,    -1,    -1,    -1,
    3329       -1,    -1,    -1,    -1,    -1,    -1,   822,    -1,    -1,    -1,
    3330       -1,    -1,    -1,    -1,    -1,    -1,   644,    -1,    -1,    -1,
    3331       -1,    -1,    -1,     0,    -1,   841,     3,     4,     5,     6,
    3332        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3333       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3334       -1,   679,    29,    30,    31,    32,   264,    -1,    35,    -1,
    3335       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3337       57,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
    3338       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
    3339       77,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,    -1,
    3340       -1,   319,   928,    -1,    -1,    -1,   744,   745,    -1,   327,
    3341      328,    -1,   330,   331,   101,    -1,   103,    -1,    -1,   757,
    3342       -1,    -1,   340,    -1,   111,    -1,   344,    -1,   954,    -1,
    3343       -1,    -1,    -1,    -1,    -1,    -1,   774,    -1,   776,    -1,
    3344       -1,    -1,   780,    -1,    -1,   363,    -1,    -1,   366,    -1,
    3345       -1,    -1,    -1,    -1,    -1,   981,   550,   551,   552,   553,
    3346      554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
    3347      564,   565,   566,   567,   392,    -1,    -1,    -1,   396,    36,
    3348       -1,    38,    -1,    -1,    -1,    -1,  1012,    -1,    -1,    -1,
    3349       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1023,    -1,   593,
    3350       -1,    -1,    59,    -1,    -1,    -1,    -1,   845,    65,   427,
    3351       67,    68,    69,    -1,   852,    72,    73,    74,    75,    76,
    3352       77,    -1,    79,    80,    -1,    -1,    -1,   865,    -1,   867,
    3353       87,    -1,   450,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3354       -1,    -1,    -1,   881,   101,    -1,   103,    -1,   105,   106,
    3355      888,    -1,    -1,   110,   111,   112,   113,   114,   115,    -1,
    3356       -1,    -1,   900,   481,    -1,   903,   484,    -1,    -1,    -1,
    3357       -1,    -1,    -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,
    3358       -1,    -1,    -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,
    3359       -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,    -1,    -1,
    3360       -1,    -1,    -1,    -1,    -1,   523,    -1,    -1,   526,   527,
    3361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   713,
    3362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3363      143,    -1,   726,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3364      153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,   165,   571,   572,    -1,    -1,    -1,    -1,    -1,
    3366       -1,    -1,  1188,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3367     1008,    -1,   590,   591,    -1,   593,    -1,   771,    -1,    -1,
    3368       -1,    -1,    -1,    -1,   602,    -1,   604,   605,    -1,    -1,
    3369       -1,    -1,    -1,   611,    -1,    -1,    -1,    -1,    -1,    -1,
    3370       -1,    -1,    -1,   621,   622,    -1,    -1,    -1,   802,   627,
    3371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   636,   637,
    3372      638,    -1,   235,   817,    -1,  1063,    -1,    -1,    -1,    -1,
    3373       -1,  1069,    -1,    -1,    -1,    -1,   654,    -1,    -1,    -1,
    3374       -1,   659,   660,    -1,    -1,   663,   664,   260,    -1,    -1,
    3375       -1,    -1,   670,    -1,    -1,    -1,  1282,    -1,    -1,    -1,
    3376     1098,    -1,    -1,    -1,    -1,  1103,    -1,    -1,    -1,    -1,
    3377      688,   689,   690,  1111,   692,    -1,    -1,    -1,   696,     3,
    3378        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3379       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3380       24,    25,    26,  1141,    -1,    29,    30,    31,    -1,    -1,
    3381      728,   729,    -1,    37,    -1,  1153,    -1,    -1,  1156,    -1,
    3382     1158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3383       -1,    -1,    -1,    -1,  1172,  1173,    60,    -1,    62,    -1,
    3384       64,    -1,    -1,    67,    68,   763,   764,    -1,    -1,    -1,
    3385      768,   769,    -1,    -1,    -1,    -1,  1194,    -1,    -1,    -1,
    3386       -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3387       -1,    -1,    -1,    -1,   968,    -1,    -1,    -1,    -1,   103,
    3388       -1,    -1,  1220,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3389       -1,   809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3390      818,    -1,    -1,   997,    -1,    -1,   824,   825,    -1,    -1,
    3391       -1,   829,    -1,   831,    -1,  1009,    -1,    -1,    -1,    -1,
    3392       -1,    -1,    -1,   841,    -1,    -1,    -1,    10,    11,    12,
    3393       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3394       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
    3395       -1,    -1,    -1,    -1,    37,    -1,  1050,    -1,    -1,    -1,
    3396       -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,
    3397       -1,    -1,    -1,    -1,  1312,    -1,  1314,    60,    -1,    -1,
    3398       -1,    -1,    65,    -1,    67,    68,    69,  1513,    71,  1327,
    3399       -1,  1329,    -1,    76,    77,    -1,   914,    -1,    -1,    -1,
    3400       -1,   514,    -1,    -1,   922,    -1,    -1,    -1,    -1,  1347,
    3401      928,    -1,    -1,    -1,   527,    -1,    -1,    -1,   936,    -1,
    3402      103,   534,    -1,    -1,    -1,  1363,  1120,    -1,   111,    -1,
    3403       -1,   949,   950,  1371,   547,   548,  1374,    -1,    10,    11,
    3404       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3405       22,    23,    24,    25,    26,    27,   569,   975,  1396,    -1,
    3406       -1,    -1,    -1,   981,    -1,    37,   579,  1405,    -1,  1163,
    3407     1408,  1409,    -1,   586,    -1,    -1,    -1,    -1,   591,    -1,
    3408       -1,   999,  1000,  1177,  1178,    -1,    -1,    -1,    60,    -1,
    3409       -1,  1009,    -1,    -1,    -1,    -1,    -1,  1015,  1016,    71,
    3410     1018,  1019,  1020,    -1,    -1,    -1,    -1,  1445,    -1,  1447,
    3411       -1,    -1,  1030,  1031,    -1,    -1,    -1,    -1,    -1,    -1,
    3412       -1,    -1,    -1,    -1,  1462,    -1,    -1,    -1,   641,    -1,
    3413       -1,    -1,    -1,    -1,    -1,    -1,   649,     4,     5,     6,
    3414        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3415       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3416       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3417       37,  1089,  1090,  1091,    -1,    -1,   689,    -1,    -1,    -1,
    3418       -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,    -1,    -1,
    3419       -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,
    3420       67,    68,    -1,     3,     4,     5,     6,     7,     8,     9,
    3421       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3422       20,    21,    22,    23,    24,    25,    26,    -1,  1146,    29,
    3423       30,    31,    32,    -1,    -1,    35,   103,    37,    38,    -1,
    3424       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3425       -1,   764,    -1,   766,    -1,    -1,    -1,    57,    -1,   772,
    3426       60,    -1,    62,    -1,    64,    65,   779,    67,    68,    69,
    3427       -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
    3428       -1,    -1,    -1,  1377,    -1,    -1,    -1,    -1,  1206,    -1,
    3429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3430     1394,   101,    -1,   103,    -1,    -1,    -1,  1225,    -1,   822,
    3431      823,   111,   825,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3432       -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,    -1,
    3433       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3434       20,    21,    22,    23,    24,    25,    26,    -1,    -1,    -1,
    3435       -1,    -1,    -1,    -1,    -1,  1273,  1274,    37,    -1,    -1,
    3436       -1,    -1,    -1,  1457,  1458,    -1,    -1,   880,    -1,    -1,
    3437       -1,   884,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3438       60,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3439        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3440       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3441       29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
    3442       39,    -1,    41,    -1,    -1,    44,    45,    46,    47,    48,
    3443       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3444       59,    60,    -1,    62,    -1,    64,    65,   960,    67,    68,
    3445       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3446       79,    80,   975,   976,    -1,    -1,    -1,    -1,    87,   982,
    3447       -1,    -1,  1390,    -1,    -1,   988,    -1,    -1,   991,    -1,
    3448      993,    -1,   101,    -1,   103,    -1,    36,   106,    38,    -1,
    3449       -1,   110,   111,   112,   113,   114,   115,    -1,    -1,  1012,
    3450       -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,    59,
    3451     1023,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3452       -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    3453       80,    -1,  1045,    -1,  1047,    -1,    -1,    87,    -1,    -1,
    3454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,
    3455       -1,   101,  1470,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3456      110,   111,   112,   113,   114,   115,    -1,    36,  1081,    38,
    3457       39,    -1,    41,  1491,  1492,    44,    45,    46,    47,    48,
    3458       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3459       59,    -1,    -1,    -1,    -1,  1513,    65,    -1,    -1,    -1,
    3460       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3461       79,    80,    -1,    -1,  1127,    -1,    -1,    -1,    87,    -1,
    3462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3463       -1,    -1,   101,  1146,   103,    -1,    -1,   106,    -1,    -1,
    3464       -1,   110,   111,   112,   113,   114,   115,    -1,  1161,  1162,
    3465       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3466       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3467       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3468       31,    32,    -1,    -1,    35,    36,    37,    38,    -1,    -1,
    3469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
    3471       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,    -1,
    3472       -1,    72,    73,    74,    75,    76,    77,  1240,    79,    80,
    3473       -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
    3474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3475      101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    3476      111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,    -1,   124,     3,     4,     5,     6,     7,     8,
    3478        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3479       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3480       29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
    3481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3483       59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    3484       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3485       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1381,    -1,
    3487       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3488       -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
    3489        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3490       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3491       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
    3492       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3494     1453,    -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,
    3495       67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3496       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3497       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3498       -1,    -1,    -1,    -1,   101,  1498,   103,    -1,    -1,    -1,
    3499       -1,   108,    -1,   110,   111,   112,   113,   114,   115,     4,
    3500        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3501       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3502       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3503       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3505       -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
    3506       65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
    3507       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3508       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3509       -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3510       -1,    -1,    -1,   108,    -1,   110,   111,   112,   113,   114,
    3511      115,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3512       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3513       23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
    3514       -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,
    3515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3516       -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,
    3517       -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,    72,
    3518       73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    3519       -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    3520       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3521      103,    -1,    -1,    -1,    -1,   108,    -1,   110,   111,   112,
    3522      113,   114,   115,     4,     5,     6,     7,     8,     9,    10,
    3523       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3524       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3525       31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,
    3526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
    3528       -1,    62,    -1,    64,    65,    -1,    67,    68,    69,    -1,
    3529       -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
    3530       -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
    3531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3532      101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    3533      111,   112,   113,   114,   115,     4,     5,     6,     7,     8,
     3481      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3482      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3483      -1,   103,    -1,    -1,    -1,    -1,   108,    -1,   110,   111,
     3484     112,   113,   114,   115,    -1,     4,     5,     6,     7,     8,
    35343485       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35353486      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     
    35373488      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35383489      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3539       59,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    3540       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
     3490      59,    60,  1377,    62,    -1,    64,    65,    -1,    67,    68,
     3491      69,    -1,    -1,    72,    73,    74,    75,    76,    77,  1394,
    35413492      79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    35423493      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3543       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3544       -1,   110,   111,   112,   113,   114,   115,     4,     5,     6,
    3545        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3546       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3547       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
    3548       37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,   108,
     3495      -1,   110,   111,   112,   113,   114,   115,    -1,     4,     5,
     3496       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3497      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3498      26,  1456,  1457,    29,    30,    31,    -1,    -1,    -1,    -1,
     3499      36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35493500      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3550       -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,    -1,
    3551       67,    68,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3552       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3553       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3554       -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    3555       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,     4,
    3556        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3557       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3558       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3559       -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
     3501      -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,    65,
     3502      -1,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
     3503      76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
     3504      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
     3506      -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
     3507       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3508      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3509      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3510      -1,    -1,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
    35603511      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3561       -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,    64,
    3562       65,    -1,    67,    68,    69,    -1,    -1,    72,    73,    74,
    3563       75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    3564       -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3565       -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
    3566       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    3567      115,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3512      -1,    -1,    -1,    -1,    -1,    59,    60,    -1,    62,    -1,
     3513      64,    65,    -1,    67,    68,    69,    -1,    -1,    72,    73,
     3514      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
     3515      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3516      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3517      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
     3518     114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
    35683519      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    35693520      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
    3570       32,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
     3521      -1,    -1,    -1,    -1,    36,    37,    38,    -1,    -1,    -1,
    35713522      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3572       -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
     3523      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
    35733524      62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,
     3525      72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
     3526      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
     3527      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
     3528      -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
     3529     112,   113,   114,   115,     4,     5,     6,     7,     8,     9,
     3530      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3531      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3532      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    -1,
    35753533      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
    3577       -1,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
    3578        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3579       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3580       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
    3581       -1,    -1,    35,    -1,    37,    -1,    -1,    -1,    -1,    -1,
     3534      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
     3535      60,    -1,    62,    -1,    64,    65,    -1,    67,    68,    69,
     3536      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3537      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    35823538      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
    3584       -1,    64,    -1,    -1,    67,    68,    -1,    -1,    71,     3,
     3539      -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
     3540     110,   111,   112,   113,   114,   115,     0,    -1,    -1,     3,
    35853541       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    35863542      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    35873543      24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
    3588      103,    35,    -1,    37,    -1,    -1,    -1,    -1,   111,    -1,
     3544      -1,    35,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,
    35893545      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3590       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3591       64,    -1,    -1,    67,    68,     4,     5,     6,     7,     8,
     3546      -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    62,    -1,
     3547      64,    65,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,
     3548      -1,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,
     3549      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3550      -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
     3551      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     3,     4,
     3552       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3553      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3554      25,    26,    -1,    -1,    29,    30,    31,    32,    -1,    -1,
     3555      35,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
     3556      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3557      -1,    -1,    57,    -1,    -1,    60,    -1,    62,    -1,    64,
     3558      65,    -1,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,
     3559      -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3560      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3561      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
     3562      -1,    -1,   107,    -1,    -1,    -1,   111,     3,     4,     5,
     3563       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3564      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3565      26,    -1,    -1,    29,    30,    31,    32,    -1,    -1,    35,
     3566      -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    57,    -1,    -1,    60,    -1,    62,    -1,    64,    65,
     3569      -1,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,
     3570      76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3571      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3572      -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
     3573      -1,    -1,    -1,    -1,    -1,   111,     3,     4,     5,     6,
     3574       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3575      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3576      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3577      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3578      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3579      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
     3580      67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
     3581      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3582      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3583      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3584      -1,    -1,    -1,    -1,   111,     3,     4,     5,     6,     7,
     3585       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3586      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3587      -1,    29,    30,    31,    32,    -1,    -1,    35,    -1,    37,
     3588      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3589      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3590      -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
     3591      68,    -1,    -1,    71,     3,     4,     5,     6,     7,     8,
    35923592       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35933593      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3594       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,   103,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3594      29,    30,    31,    32,    -1,   103,    35,    -1,    37,    -1,
     3595      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    35963596      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3597       -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,    68,
    3598       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
     3597      -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,    68,
     3598      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3599      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3600      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3601      -1,    -1,    -1,    -1,   103,    37,    -1,    -1,    -1,    -1,
     3602      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3603      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3604      62,    -1,    64,    -1,    -1,    67,    68,     4,     5,     6,
     3605       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3606      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3607      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3608      37,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    35993609      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3610      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,
     3611      67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
     3612      77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36003613      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3601       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
     3614      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
     3615      -1,    -1,    -1,    -1,   111,     4,     5,     6,     7,     8,
     3616       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3617      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3618      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    10,
     3619      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3620      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3621      31,    60,    -1,    62,    -1,    64,    37,    -1,    67,    68,
     3622      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
     3624      89,    -1,    -1,    -1,    65,    -1,    67,    68,    -1,    -1,
     3625      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    36023626      -1,    -1,   111,     4,     5,     6,     7,     8,     9,    10,
    36033627      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    36043628      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3605       31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
     3629      31,    -1,    -1,    -1,    -1,    -1,    37,    10,    11,    12,
     3630      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3631      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    60,
     3632      -1,    62,    -1,    64,    37,    -1,    67,    68,    -1,    -1,
    36063633      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    3608       -1,    62,    -1,    64,    -1,    -1,    67,    68,    -1,    -1,
    3609        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3610       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3611       24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
    3612       -1,   102,   103,    37,    -1,    -1,    -1,    -1,    -1,    -1,
    3613      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3614       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3615       64,    -1,    -1,    67,    68,    -1,    -1,    -1,    -1,    -1,
     3634      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    89,    -1,
     3635      -1,    -1,    -1,    -1,    67,    68,    -1,    -1,    -1,    -1,
     3636      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3637     111,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3638      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3639      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3640      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    36163641      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3617       -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,
    3618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
    3619       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,     4,     5,
    3620        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3621       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3622       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    3623       -1,    37,    10,    11,    12,    13,    14,    15,    16,    17,
    3624       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3625       -1,    29,    30,    31,    60,    -1,    62,    -1,    64,    37,
    3626       -1,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3628       -1,    -1,    60,    89,    -1,    -1,    -1,    65,    -1,    67,
    3629       68,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
    3630       -1,    -1,    -1,    -1,    -1,   111,     4,     5,     6,     7,
     3642      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3643      -1,    64,    -1,    -1,    67,    68,     4,     5,     6,     7,
    36313644       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    36323645      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    36333646      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3647     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
    36353648      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36363649      -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,    67,
     
    37223735      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    37233736     103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
    3724      113,   114,   115,    10,    11,    12,    13,    14,    15,    16,
    3725       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3726       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3727       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737     113,   114,   115,     3,     4,     5,     6,     7,     8,     9,
     3738      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3739      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3740      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    10,    11,
     3741      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3742      22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
     3743      60,    -1,    62,    -1,    64,    37,    -1,    67,    68,    -1,
    37283744      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3729       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
    3730       67,    68,    69,    -1,    71,    -1,    -1,    -1,    -1,    76,
    3731       77,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3732       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    3733       29,    30,    31,    -1,   101,    -1,   103,    -1,    37,    -1,
    3734       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3745      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     3746      -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,    71,
     3747      -1,    -1,    -1,    -1,    76,    77,   106,    10,    11,    12,
     3748      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3749      23,    24,    25,    26,    27,    -1,    29,    30,    31,   101,
     3750      -1,   103,    -1,    -1,    37,    -1,    -1,    -1,    -1,   111,
     3751      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3752      20,    21,    22,    23,    24,    25,    26,    60,    -1,    29,
     3753      30,    31,    65,    -1,    67,    68,    69,    37,    71,    -1,
     3754      -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,
    37353755      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3736       -1,    60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,
    3737       69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    10,
     3756      60,    -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,
     3757     103,    -1,    -1,    -1,    -1,    -1,    76,    77,   111,    10,
    37383758      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    37393759      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    3740       31,    -1,   101,    -1,   103,    -1,    37,    -1,    -1,    -1,
    3741       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3760      31,   101,    -1,   103,    -1,    -1,    37,    -1,    -1,    -1,
     3761      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37423762      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    37433763      -1,    -1,    -1,    -1,    65,    -1,    67,    68,    69,    -1,
     
    37583778      -1,    76,    77,    10,    11,    12,    13,    14,    15,    16,
    37593779      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3760       -1,    -1,    29,    30,    31,    -1,   101,    -1,   103,    -1,
     3780      27,    -1,    29,    30,    31,    -1,    -1,    -1,   103,    -1,
    37613781      37,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    37623782      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,    -1,
    3764       67,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,
    3765       77,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3766       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3767       29,    30,    31,    -1,    -1,    -1,   103,    -1,    37,    -1,
    3768       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3770       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
    3771       -1,    -1,    71,    10,    11,    12,    13,    14,    15,    16,
    3772       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3773       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3774       37,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3775       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37763783      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    37773784      67,    68,    -1,    -1,    71,    10,    11,    12,    13,    14,
     
    37833790      -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
    37843791      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3792      26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3793      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
     3794      -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3795      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
     3796      -1,    67,    68,    -1,    -1,    71,    10,    11,    12,    13,
     3797      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3798      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3799      -1,    -1,    -1,    37,    38,    -1,    -1,   103,    -1,    -1,
     3800      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
     3801      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
     3802      -1,    -1,    -1,    67,    68,    10,    11,    12,    13,    14,
     3803      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3804      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
     3805      -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,   103,
     3806      -1,    -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,
     3807      -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
     3808      65,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
     3809      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    37853810      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    37863811      -1,    37,    38,    -1,    -1,    -1,    -1,    -1,   103,    -1,
    3787       -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    37883813      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
    37893814      -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    37903815      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3791       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
     3816      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    37923817      37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
    3793       -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    3794       -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
    3795       67,    68,    -1,    -1,    71,    10,    11,    12,    13,    14,
    3796       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3797       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3798       -1,    -1,    37,    38,    -1,    -1,   103,    -1,    -1,    -1,
    3799       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3800       -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
    3801       -1,    -1,    67,    68,    10,    11,    12,    13,    14,    15,
    3802       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3803       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    3804       -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
    3805       -1,    -1,   107,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3806       -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    65,
    3807       -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    3808       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3809       -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
    3810       37,    38,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
    38113818      -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,
    38123819      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
     
    38143821      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    38153822      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3816       -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,
     3823      -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    38173824      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    38183825      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     
    38263833      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
    38273834      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
    3828       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
     3835      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    38293836      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38303837      60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,    10,
     
    38823889      -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    38833890      -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,
    3884        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3885       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3886       24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
    3887       -1,    -1,    -1,    37,   103,    -1,    -1,    -1,    -1,    -1,
     3891      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3892      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3893      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
     3894      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38883895      -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,
    3890       64,    -1,    -1,    67,    68,    -1,    36,    -1,    38,    39,
    3891       -1,    41,    -1,    -1,    44,    45,    46,    47,    48,    49,
    3892       50,    51,    52,    53,    -1,    -1,    56,    57,    -1,    59,
    3893       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,   102,    69,
     3896      60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68,     4,
     3897       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3898      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3899      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
     3900      -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3901      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3902      -1,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,
     3903      -1,    -1,    67,    68,    -1,    36,    -1,    38,    39,    -1,
     3904      41,    -1,    -1,    44,    45,    46,    47,    48,    49,    50,
     3905      51,    52,    53,    -1,    -1,    56,    57,    -1,    59,    -1,
     3906      -1,    -1,    -1,    -1,    65,    -1,    -1,   102,    69,    -1,
     3907      -1,    72,    73,    74,    75,    76,    77,    -1,    79,    80,
     3908      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     3909      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3910     101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,   110,
     3911     111,   112,   113,   114,   115,    -1,    36,    -1,    38,    39,
     3912      -1,    41,    -1,   124,    44,    45,    46,    47,    48,    49,
     3913      50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,    59,
     3914      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    38943915      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    38953916      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    38963917      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38973918      -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3898      110,   111,   112,   113,   114,   115,    -1,    36,    -1,    38,
    3899       39,    -1,    41,    -1,   124,    44,    45,    46,    47,    48,
    3900       49,    50,    51,    -1,    53,    -1,    -1,    56,    57,    -1,
    3901       59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
    3902       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3903       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3905       -1,    -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,
    3906       -1,   110,   111,   112,   113,   114,   115,    -1,    -1,    -1,
    3907       -1,    -1,    -1,    -1,    -1,   124,     4,     5,     6,     7,
    3908        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3909       18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
    3910       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,
    3911       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3912       20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
    3913       30,    31,    60,    -1,    62,    -1,    64,    37,    -1,    67,
    3914       68,    -1,    36,    -1,    38,    39,    -1,    41,    42,    43,
    3915       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
    3916       60,    89,    56,    57,    -1,    59,    -1,    67,    68,    -1,
    3917       -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    3918       74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3919       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3920       -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3921       -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,
    3922      114,   115,    36,    -1,    38,    39,    -1,    41,    42,    43,
    3923       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
    3924       -1,    -1,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,
    3925       -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    3926       74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3927       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,
    3928       -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    3929       -1,    -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,
    3930      114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
    3931       -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
    3932       77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
    3933       87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
    3934       -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,
    3935       -1,    -1,   109,   110,   111,   112,   113,   114,   115,    59,
    3936       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
    3937       -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
    3938       80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    3939       -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,
    3940       -1,   101,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
    3941      110,   111,   112,   113,   114,   115,    59,    -1,    -1,    -1,
    3942       -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,
    3943       73,    74,    75,    76,    77,    -1,    79,    80,    -1,    -1,
    3944       -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
    3945       36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,
    3946      103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
    3947      113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,
    3948       -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,
    3949       76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,
    3950       -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,
    3951       -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,    -1,
    3952       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
    3953       59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
    3954       69,    -1,    -1,    72,    73,    74,    75,    76,    77,    -1,
    3955       79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
    3956       -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,    -1,
    3957       -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,    -1,
    3958       -1,   110,   111,   112,   113,   114,   115,    59,    -1,    -1,
    3959       -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,    -1,
    3960       72,    73,    74,    75,    76,    77,    -1,    79,    80,    -1,
    3961       -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
    3962       -1,    36,    -1,    38,    -1,    -1,    -1,    -1,    -1,   101,
    3963       -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
    3964      112,   113,   114,   115,    59,    -1,    -1,    -1,    -1,    -1,
     3919     110,   111,   112,   113,   114,   115,    -1,    -1,    -1,    -1,
     3920      -1,    -1,    -1,    -1,   124,     4,     5,     6,     7,     8,
     3921       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3922      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3923      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    37,    10,
     3924      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3925      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3926      31,    60,    -1,    62,    -1,    64,    37,    -1,    67,    68,
     3927      -1,    36,    -1,    38,    39,    -1,    41,    42,    43,    44,
     3928      45,    46,    47,    48,    49,    50,    51,    52,    53,    60,
     3929      89,    56,    57,    -1,    59,    -1,    67,    68,    -1,    -1,
     3930      65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,
     3931      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
     3932      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3933      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
     3934      -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,   114,
     3935     115,    36,    -1,    38,    39,    -1,    41,    42,    43,    44,
     3936      45,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
     3937      -1,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,
     3938      65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,
     3939      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
     3940      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3941      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
     3942      -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,   114,
     3943     115,    36,    -1,    38,    39,    -1,    41,    -1,    -1,    44,
     3944      45,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
     3945      -1,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,
    39653946      65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,    74,
    39663947      75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,    -1,
    39673948      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,    -1,
    3968       38,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,
    3969       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
     3949      38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
     3950      -1,   106,    -1,    -1,    -1,   110,   111,   112,   113,   114,
    39703951     115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
    39713952      -1,    69,    -1,    -1,    72,    73,    74,    75,    76,    77,
    39723953      -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    87,
    39733954      -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,    -1,
    3974       -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,
     3955      -1,    -1,    -1,   101,    -1,   103,    -1,    -1,    -1,    -1,
    39753956      -1,    -1,   110,   111,   112,   113,   114,   115,    59,    -1,
    39763957      -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,    -1,
     
    39783959      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
    39793960      -1,    -1,    36,    -1,    38,    -1,    -1,    -1,    -1,    -1,
    3980      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
     3961     101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   110,
    39813962     111,   112,   113,   114,   115,    59,    -1,    -1,    -1,    -1,
    39823963      -1,    65,    -1,    -1,    -1,    69,    -1,    -1,    72,    73,
    39833964      74,    75,    76,    77,    -1,    79,    80,    -1,    -1,    -1,
    3984       -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3985       -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,
     3965      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    36,
     3966      -1,    38,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,
    39863967      -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
    3987      114,   115,     4,     5,     6,     7,     8,     9,    10,    11,
    3988       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3989       22,    23,    24,    25,    26,    -1,    -1,    -1,    -1,    -1,
    3990       -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
     3968     114,   115,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
     3969      -1,    -1,    69,    -1,    -1,    72,    73,    74,    75,    76,
     3970      77,    -1,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
     3971      87,    -1,    -1,    -1,    -1,    -1,    36,    -1,    38,    -1,
     3972      -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,    -1,    -1,
     3973      -1,    -1,    -1,   110,   111,   112,   113,   114,   115,    59,
     3974      -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    69,
     3975      -1,    -1,    72,    73,    74,    75,    76,    77,    -1,    79,
     3976      80,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,
    39913977      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
    3993       62,    -1,    64,    65,    -1,    67,    68,    69,    -1,    -1,
    3994       -1,    -1,    -1,    -1,    76,    77,     3,     4,     5,     6,
     3978      -1,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3979     110,   111,   112,   113,   114,   115,     4,     5,     6,     7,
     3980       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3981      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3982      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
     3983      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3984      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3985      -1,    -1,    60,    -1,    62,    -1,    64,    65,    -1,    67,
     3986      68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3987       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3988      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3989      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3990      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
     3991      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    62,
     3993      -1,    64,    -1,    -1,    67,    68,     3,     4,     5,     6,
    39953994       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    39963995      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     
    39993998      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40003999      -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,    -1,
    4001       67,    68,     3,     4,     5,     6,     7,     8,     9,    10,
    4002       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    4003       21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
    4004       31,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
     4000      67,    68,     4,     5,     6,     7,     8,     9,    10,    11,
     4001      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4002      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     4003      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
    40054004      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
    4007       -1,    62,    -1,    64,    -1,    -1,    67,    68,     4,     5,
    4008        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    4009       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4010       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    4011       -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4005      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
     4006      62,    -1,    64,    -1,    -1,    67,    68,    10,    11,    12,
     4007      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     4008      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    32,
     4009      33,    34,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
    40124010      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4013       -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    64,    -1,
    4014       -1,    67,    68,    10,    11,    12,    13,    14,    15,    16,
    4015       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4016       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
    4017       37,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4018       19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
    4019       29,    30,    31,    60,    -1,    -1,    -1,    -1,    37,    -1,
    4020       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4022       -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    67,    68
     4011      -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
     4012      -1,    -1,    -1,    -1,    67,    68
    40234013};
    40244014
     
    40314021      22,    23,    24,    25,    26,    29,    30,    31,    32,    35,
    40324022      37,    38,    57,    60,    62,    64,    65,    67,    68,    69,
    4033       76,    77,   101,   103,   111,   129,   132,   189,   203,   204,
    4034      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    4035      215,   216,   217,   218,   219,   220,   222,   223,   224,   225,
    4036      226,   227,   228,   229,   231,   232,   233,   234,   235,   236,
    4037      237,   245,   246,   272,   273,   274,   282,   285,   291,   292,
    4038      294,   296,   297,   303,   308,   312,   313,   314,   315,   316,
    4039      317,   318,   319,   339,   356,   357,   358,   359,    65,   111,
    4040      131,   206,   208,   216,   218,   228,   232,   234,   273,    75,
    4041      101,   301,   302,   303,   301,   301,    65,    67,    68,    69,
    4042      130,   131,   262,   263,   283,   284,    67,    68,   263,   101,
    4043      294,    11,   190,   101,   111,   308,   313,   314,   315,   317,
    4044      318,   319,   104,   126,   103,   209,   216,   218,   312,   316,
    4045      355,   356,   359,   360,   127,   123,   266,   106,   127,   164,
    4046       67,    68,   129,   261,   127,   127,   127,   108,   127,    67,
    4047       68,   101,   111,   298,   307,   308,   309,   310,   311,   312,
    4048      316,   320,   321,   322,   323,   324,   330,     3,    27,    71,
    4049      230,     3,     5,    67,   103,   111,   208,   219,   223,   226,
    4050      235,   274,   312,   316,   359,   206,   208,   218,   228,   232,
    4051      234,   273,   312,   316,    32,   224,   224,   219,   226,   127,
    4052      224,   219,   224,   219,    68,   101,   106,   263,   274,   106,
    4053      263,   224,   219,   108,   127,   127,     0,   126,   101,   164,
    4054      301,   301,   126,   103,   216,   218,   357,   261,   261,   218,
    4055      123,   101,   111,   298,   308,   312,   103,   111,   359,   295,
    4056      221,   303,   101,   279,   101,   101,    49,   101,    36,    38,
     4023      76,    77,   101,   103,   111,   129,   132,   189,   202,   203,
     4024     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
     4025     214,   215,   216,   217,   218,   219,   221,   222,   223,   224,
     4026     225,   226,   227,   228,   230,   231,   232,   233,   234,   235,
     4027     236,   244,   245,   271,   272,   273,   281,   284,   290,   291,
     4028     293,   295,   296,   302,   307,   311,   312,   313,   314,   315,
     4029     316,   317,   318,   338,   355,   356,   357,   358,    65,   111,
     4030     131,   205,   207,   215,   217,   227,   231,   233,   272,    75,
     4031     101,   300,   301,   302,   300,   300,    65,    67,    68,    69,
     4032     130,   131,   261,   262,   282,   283,    67,    68,   262,   101,
     4033     293,    11,   190,   101,   111,   307,   312,   313,   314,   316,
     4034     317,   318,   104,   126,   103,   208,   215,   217,   311,   315,
     4035     354,   355,   358,   359,   127,   123,   265,   106,   127,   164,
     4036      67,    68,   129,   260,   127,   127,   127,   108,   127,    67,
     4037      68,   101,   111,   297,   306,   307,   308,   309,   310,   311,
     4038     315,   319,   320,   321,   322,   323,   329,     3,    27,    71,
     4039     229,     3,     5,    67,   103,   111,   207,   218,   222,   225,
     4040     234,   273,   311,   315,   358,   205,   207,   217,   227,   231,
     4041     233,   272,   311,   315,    32,   223,   223,   218,   225,   127,
     4042     223,   218,   223,   218,    68,   101,   106,   262,   273,   106,
     4043     262,   223,   218,   108,   127,   127,     0,   126,   101,   164,
     4044     300,   300,   126,   103,   215,   217,   356,   260,   260,   217,
     4045     123,   101,   111,   297,   307,   311,   103,   111,   358,   294,
     4046     220,   302,   101,   278,   101,   101,    49,   101,    36,    38,
    40574047      59,    65,    69,    72,    73,    74,    75,    79,    80,    87,
    40584048     101,   103,   110,   111,   112,   113,   114,   115,   128,   132,
    40594049     133,   134,   135,   140,   141,   142,   143,   144,   145,   146,
    4060      147,   148,   149,   150,   151,   152,   153,   155,   157,   216,
    4061      265,   281,   355,   360,   218,   102,   102,   102,   102,   102,
    4062      102,   102,    67,    68,   103,   216,   261,   339,   357,   103,
    4063      111,   155,   208,   209,   215,   218,   222,   223,   228,   231,
    4064      232,   234,   251,   252,   256,   257,   258,   259,   273,   339,
    4065      351,   352,   353,   354,   359,   360,   104,   101,   312,   316,
    4066      359,   101,   108,   124,   103,   106,   111,   155,   267,   107,
     4050     147,   148,   149,   150,   151,   152,   153,   155,   157,   215,
     4051     264,   280,   354,   359,   217,   102,   102,   102,   102,   102,
     4052     102,   102,    67,    68,   103,   215,   260,   338,   356,   103,
     4053     111,   155,   207,   208,   214,   217,   221,   222,   227,   230,
     4054     231,   233,   250,   251,   255,   256,   257,   258,   272,   338,
     4055     350,   351,   352,   353,   358,   359,   104,   101,   311,   315,
     4056     358,   101,   108,   124,   103,   106,   111,   155,   266,   107,
    40674057     126,   108,   124,   101,   108,   124,   108,   124,   108,   124,
    4068      301,   124,   308,   309,   310,   311,   321,   322,   323,   324,
    4069      218,   307,   320,    57,   300,   103,   301,   338,   339,   301,
    4070      301,   164,   126,   101,   301,   338,   301,   301,   218,   298,
    4071      101,   101,   217,   218,   216,   218,   104,   126,   216,   355,
    4072      360,   164,   126,   261,   266,   208,   223,   312,   316,   164,
    4073      126,   283,   218,   228,   124,   218,   218,   281,    38,   103,
    4074      216,   238,   239,   240,   241,   355,   359,   106,   247,   263,
    4075      106,   218,   283,   124,   124,   294,   126,   131,   260,     3,
    4076      127,   198,   199,   213,   215,   218,   126,   300,   101,   300,
    4077      155,   308,   218,   101,   126,   261,   106,    32,    33,    34,
    4078      216,   275,   276,   278,   126,   121,   123,   280,   126,   219,
    4079      225,   226,   261,   304,   305,   306,   101,   133,   101,   140,
     4058     300,   124,   307,   308,   309,   310,   320,   321,   322,   323,
     4059     217,   306,   319,    57,   299,   103,   300,   337,   338,   300,
     4060     300,   164,   126,   101,   300,   337,   300,   300,   217,   297,
     4061     101,   101,   216,   217,   215,   217,   104,   126,   215,   354,
     4062     359,   164,   126,   260,   265,   207,   222,   311,   315,   164,
     4063     126,   282,   217,   227,   124,   217,   217,   280,    38,   103,
     4064     215,   237,   238,   239,   240,   354,   358,   106,   246,   262,
     4065     106,   217,   282,   124,   124,   293,   126,   131,   259,     3,
     4066     127,   198,   199,   212,   214,   217,   126,   299,   101,   299,
     4067     155,   307,   217,   101,   126,   260,   106,    32,    33,    34,
     4068     215,   274,   275,   277,   126,   121,   123,   279,   126,   218,
     4069     224,   225,   260,   303,   304,   305,   101,   133,   101,   140,
    40804070     140,   142,   101,   140,   101,   101,   140,   140,   131,   103,
    4081      155,   160,   164,   216,   264,   355,   104,   126,   142,   142,
     4071     155,   160,   164,   215,   263,   354,   104,   126,   142,   142,
    40824072      75,    78,    79,    80,   101,   103,   105,    90,    91,    92,
    40834073      93,    94,    95,    96,    97,    98,    99,   123,   159,   142,
    40844074     111,   116,   117,   113,   114,    81,    82,    83,    84,   118,
    40854075     119,    85,    86,   112,   120,   121,    87,    88,   122,   123,
    4086      362,   101,   111,   334,   335,   336,   337,   338,   102,   108,
    4087      101,   338,   339,   101,   338,   339,   126,   101,   216,   357,
    4088      104,   126,   103,   111,   127,   216,   218,   350,   351,   359,
    4089      360,   127,   101,   103,   111,   308,   325,   326,   327,   328,
    4090      329,   330,   331,   332,   333,   339,   340,   341,   342,   343,
    4091      344,   345,   111,   359,   218,   127,   127,   111,   216,   218,
    4092      352,   261,   216,   339,   352,   261,   101,   126,   126,   126,
    4093      104,   126,    65,    73,   103,   105,   263,   267,   268,   269,
    4094      270,   271,   126,   126,   126,   126,   126,   126,   298,   102,
    4095      102,   102,   102,   102,   102,   102,   307,   320,   101,   266,
    4096      104,   198,   126,   298,   160,   265,   160,   265,   298,   103,
    4097      198,   300,   164,   126,   198,   102,   240,   241,   104,   126,
    4098      101,   109,   111,   242,   244,   307,   308,   320,   338,   346,
    4099      347,   348,   349,   107,   239,   108,   124,   108,   124,   263,
    4100      238,   108,   361,   123,   248,   247,   218,   253,   254,   255,
    4101      258,   259,   102,   108,   164,   126,   111,   155,   126,   215,
    4102      218,   252,   351,   359,   292,   293,   101,   111,   325,   102,
    4103      108,   362,   263,   275,   101,   106,   263,   265,   275,   102,
    4104      108,   101,   133,   102,   109,   264,   264,   103,   131,   137,
    4105      155,   265,   264,   104,   126,   102,   108,   102,   101,   111,
    4106      346,   102,   108,   155,   103,   131,   103,   136,   137,   126,
    4107      103,   131,   155,   155,   142,   142,   142,   143,   143,   144,
    4108      144,   145,   145,   145,   145,   146,   146,   147,   148,   149,
    4109      150,   151,   109,   160,   155,   126,   335,   336,   337,   218,
    4110      334,   301,   301,   155,   265,   126,   260,   111,   126,   216,
    4111      339,   352,   218,   222,   104,   126,   104,   359,   104,   101,
    4112      126,   308,   326,   327,   328,   331,   341,   342,   343,   104,
    4113      126,   218,   325,   329,   340,   101,   301,   344,   362,   301,
    4114      301,   362,   101,   301,   344,   301,   301,   301,   301,   339,
    4115      216,   350,   360,   261,   104,   108,   104,   108,   362,   216,
    4116      352,   362,   249,   250,   251,   252,   249,   249,   261,   155,
    4117      126,   103,   263,   109,   108,   361,   267,    73,   103,   109,
    4118      271,    28,   200,   201,   261,   249,   131,   298,   131,   300,
    4119      101,   338,   339,   101,   338,   339,   133,   339,   164,   253,
    4120      102,   102,   102,   102,   104,   164,   198,   164,   106,   124,
    4121      124,   103,   308,   347,   348,   349,   153,   154,   218,   346,
    4122      243,   244,   243,   301,   301,   263,   301,   107,   263,   107,
    4123      154,   361,   127,   127,   131,   213,   127,   127,   249,   101,
    4124      111,   359,   127,   107,   218,   276,   277,   127,   126,   126,
    4125      101,   127,   102,   305,   160,   161,   109,   124,   103,   133,
    4126      191,   192,   193,   102,   102,   126,   109,   102,   102,   102,
    4127      155,   218,   106,   142,   157,   155,   156,   158,   108,   127,
    4128      126,   126,   102,   108,   155,   126,   153,   109,   253,   102,
    4129      102,   102,   334,   253,   102,   249,   216,   352,   103,   111,
    4130      155,   155,   218,   331,   253,   102,   102,   102,   102,   102,
    4131      102,   102,     7,   218,   325,   329,   340,   126,   126,   362,
    4132      126,   126,   102,   127,   127,   127,   127,   266,   127,   153,
    4133      154,   155,   299,   126,   267,   269,   107,   126,   202,   263,
    4134       38,    39,    41,    44,    45,    46,    47,    48,    49,    50,
    4135       51,    53,    56,   103,   131,   161,   162,   163,   164,   165,
    4136      166,   168,   169,   181,   183,   184,   189,   203,   297,    28,
    4137      127,   123,   266,   126,   126,   102,   127,   164,   238,   104,
    4138      102,   102,   102,   346,   242,   248,   107,   102,   108,   104,
    4139      104,   127,   218,   108,   362,   279,   102,   275,   206,   208,
    4140      216,   287,   288,   289,   290,   281,   102,   102,   109,   154,
    4141      101,   102,   109,   108,   155,   155,   268,   108,   127,   158,
    4142      104,   131,   138,   139,   155,   137,   127,   138,   153,   157,
    4143      127,   101,   338,   339,   127,   127,   126,   127,   127,   127,
    4144      155,   102,   127,   101,   338,   339,   101,   344,   101,   344,
    4145      339,   217,     7,   111,   127,   155,   253,   253,   252,   256,
    4146      256,   257,   108,   108,   102,   102,   104,    89,   115,   127,
    4147      127,   138,   267,   155,   108,   124,   203,   207,   218,   222,
    4148      101,   101,   162,   101,   101,   124,   131,   124,   131,   111,
    4149      131,   161,   101,   164,   124,   155,   104,   109,   124,   127,
    4150      126,   127,   202,   102,   155,   253,   253,   301,   102,   107,
    4151      101,   338,   339,   126,   102,   126,   127,   298,   107,   126,
    4152      127,   127,   102,   106,   191,   104,   154,   124,   191,   193,
    4153      108,   127,   361,   156,   104,   127,    78,   105,   108,   127,
    4154      127,   104,   127,   102,   126,   102,   102,   104,   104,   104,
    4155      127,   102,   126,   126,   126,   155,   155,   127,   104,   127,
    4156      127,   127,   127,   126,   126,   154,   154,   104,   104,   127,
    4157      127,   263,   218,   160,   160,    45,   160,   126,   124,   124,
     4076     361,   101,   111,   333,   334,   335,   336,   337,   102,   108,
     4077     101,   337,   338,   101,   337,   338,   126,   101,   215,   356,
     4078     104,   126,   103,   111,   127,   215,   217,   349,   350,   358,
     4079     359,   127,   101,   103,   111,   307,   324,   325,   326,   327,
     4080     328,   329,   330,   331,   332,   338,   339,   340,   341,   342,
     4081     343,   344,   111,   358,   217,   127,   127,   111,   215,   217,
     4082     351,   260,   215,   338,   351,   260,   101,   126,   126,   126,
     4083     104,   126,    65,   103,   105,   262,   266,   267,   268,   269,
     4084     270,   126,   126,   126,   126,   126,   126,   297,   102,   102,
     4085     102,   102,   102,   102,   102,   306,   319,   101,   265,   104,
     4086     198,   126,   297,   160,   264,   160,   264,   297,   103,   198,
     4087     299,   164,   126,   198,   102,   239,   240,   104,   126,   101,
     4088     109,   111,   241,   243,   306,   307,   319,   337,   345,   346,
     4089     347,   348,   107,   238,   108,   124,   108,   124,   262,   237,
     4090     108,   360,   123,   247,   246,   217,   252,   253,   254,   257,
     4091     258,   102,   108,   164,   126,   111,   155,   126,   214,   217,
     4092     251,   350,   358,   291,   292,   101,   111,   324,   102,   108,
     4093     361,   262,   274,   101,   106,   262,   264,   274,   102,   108,
     4094     101,   133,   102,   109,   263,   263,   103,   131,   137,   155,
     4095     264,   263,   104,   126,   102,   108,   102,   101,   111,   345,
     4096     102,   108,   155,   103,   131,   103,   136,   137,   126,   103,
     4097     131,   155,   155,   142,   142,   142,   143,   143,   144,   144,
     4098     145,   145,   145,   145,   146,   146,   147,   148,   149,   150,
     4099     151,   109,   160,   155,   126,   334,   335,   336,   217,   333,
     4100     300,   300,   155,   264,   126,   259,   111,   126,   215,   338,
     4101     351,   217,   221,   104,   126,   104,   358,   104,   101,   126,
     4102     307,   325,   326,   327,   330,   340,   341,   342,   104,   126,
     4103     217,   324,   328,   339,   101,   300,   343,   361,   300,   300,
     4104     361,   101,   300,   343,   300,   300,   300,   300,   338,   215,
     4105     349,   359,   260,   104,   108,   104,   108,   361,   215,   351,
     4106     361,   248,   249,   250,   251,   248,   248,   260,   155,   126,
     4107     103,   262,   109,   108,   360,   266,   103,   109,   270,    28,
     4108     200,   201,   260,   248,   131,   297,   131,   299,   101,   337,
     4109     338,   101,   337,   338,   133,   338,   164,   252,   102,   102,
     4110     102,   102,   104,   164,   198,   164,   106,   124,   124,   103,
     4111     307,   346,   347,   348,   153,   154,   217,   345,   242,   243,
     4112     242,   300,   300,   262,   300,   107,   262,   107,   154,   360,
     4113     127,   127,   131,   212,   127,   127,   248,   101,   111,   358,
     4114     127,   107,   217,   275,   276,   127,   126,   126,   101,   127,
     4115     102,   304,   160,   161,   109,   124,   103,   133,   191,   192,
     4116     193,   102,   102,   126,   109,   102,   102,   102,   155,   217,
     4117     106,   142,   157,   155,   156,   158,   108,   127,   126,   126,
     4118     102,   108,   155,   126,   153,   109,   252,   102,   102,   102,
     4119     333,   252,   102,   248,   215,   351,   103,   111,   155,   155,
     4120     217,   330,   252,   102,   102,   102,   102,   102,   102,   102,
     4121       7,   217,   324,   328,   339,   126,   126,   361,   126,   126,
     4122     102,   127,   127,   127,   127,   265,   127,   153,   154,   155,
     4123     298,   126,   266,   268,   107,   126,   131,   195,   262,    38,
     4124      39,    41,    44,    45,    46,    47,    48,    49,    50,    51,
     4125      53,    56,   103,   131,   161,   162,   163,   164,   165,   166,
     4126     168,   169,   181,   183,   184,   189,   202,   296,    28,   127,
     4127     123,   265,   126,   126,   102,   127,   164,   237,   104,   102,
     4128     102,   102,   345,   241,   247,   107,   102,   108,   104,   104,
     4129     127,   217,   108,   361,   278,   102,   274,   205,   207,   215,
     4130     286,   287,   288,   289,   280,   102,   102,   109,   154,   101,
     4131     102,   109,   108,   155,   155,   267,   108,   127,   158,   104,
     4132     131,   138,   139,   155,   137,   127,   138,   153,   157,   127,
     4133     101,   337,   338,   127,   127,   126,   127,   127,   127,   155,
     4134     102,   127,   101,   337,   338,   101,   343,   101,   343,   338,
     4135     216,     7,   111,   127,   155,   252,   252,   251,   255,   255,
     4136     256,   108,   108,   102,   102,   104,    89,   115,   127,   127,
     4137     138,   266,   155,   108,   124,   202,   206,   217,   221,   101,
     4138     101,   162,   101,   101,   124,   131,   124,   131,   111,   131,
     4139     161,   101,   164,   124,   155,   104,   109,   124,   127,   126,
     4140     127,   195,   102,   155,   252,   252,   300,   102,   107,   101,
     4141     337,   338,   126,   102,   126,   127,   297,   107,   126,   127,
     4142     127,   102,   106,   191,   104,   154,   124,   191,   193,   108,
     4143     127,   360,   156,   104,   127,    78,   105,   108,   127,   127,
     4144     104,   127,   102,   126,   102,   102,   104,   104,   104,   127,
     4145     102,   126,   126,   126,   155,   155,   127,   104,   127,   127,
     4146     127,   127,   126,   126,   154,   154,   104,   104,   127,   127,
     4147     131,   262,   217,   160,   160,    45,   160,   126,   124,   124,
    41584148     160,   124,   124,   160,    54,    55,   185,   186,   187,   124,
    4159      301,   166,   107,   124,   127,   127,   126,    89,   258,   259,
    4160      102,   288,   108,   124,   108,   124,   107,   286,   109,   133,
     4149     300,   166,   107,   124,   127,   127,   126,    89,   257,   258,
     4150     102,   287,   108,   124,   108,   124,   107,   285,   109,   133,
    41614151     102,   102,   109,   158,   104,   107,   104,   103,   139,   103,
    4162      139,   139,   104,   104,   104,   253,   104,   253,   253,   253,
    4163      127,   127,   104,   104,   102,   102,   104,   108,    89,   252,
     4152     139,   139,   104,   104,   104,   252,   104,   252,   252,   252,
     4153     127,   127,   104,   104,   102,   102,   104,   108,    89,   251,
    41644154      89,   127,   104,   104,   102,   102,   101,   102,   161,   182,
    4165      203,   124,   102,   101,   164,   187,    54,   162,   102,   102,
    4166      253,   106,   126,   126,   287,   133,   194,   101,   124,   194,
     4155     202,   124,   102,   101,   164,   187,    54,   162,   102,   102,
     4156     252,   106,   126,   126,   286,   133,   194,   101,   124,   194,
    41674157     127,   109,   126,   126,   127,   127,   127,   127,   104,   104,
    41684158     126,   127,   104,   162,    42,    43,   106,   172,   173,   174,
    41694159     160,   162,   127,   102,   161,   106,   174,    89,   126,   101,
    4170      127,   126,   261,   298,   107,   108,   109,   154,   102,   104,
    4171      155,   138,   138,   102,   102,   102,   102,   256,    40,   154,
    4172      170,   171,   299,   109,   126,   162,   172,   102,   124,   162,
    4173      124,   126,   102,   126,    89,   126,   102,   287,   133,   131,
    4174      195,   102,   124,   109,   127,   127,   162,    89,   108,   109,
    4175      127,   196,   197,   203,   124,   161,   161,   196,   164,   188,
    4176      216,   355,   102,   126,   107,   102,   108,   155,   104,   104,
    4177      154,   170,   173,   175,   176,   126,   124,   173,   177,   178,
    4178      127,   101,   111,   298,   346,   131,   164,   188,   101,   124,
    4179      131,   162,   167,   107,   173,   203,   161,    52,   167,   180,
    4180      107,   173,   102,   218,   127,   281,   162,   167,   124,   179,
    4181      180,   167,   180,   164,   102,   102,   179,   127,   164,   127
     4160     127,   126,   260,   297,   107,   108,   109,   154,   102,   104,
     4161     155,   138,   138,   102,   102,   102,   102,   255,    40,   154,
     4162     170,   171,   298,   109,   126,   162,   172,   102,   124,   162,
     4163     124,   126,   102,   126,    89,   126,   102,   286,   133,   195,
     4164     102,   124,   109,   127,   127,   162,    89,   108,   109,   127,
     4165     196,   197,   202,   124,   161,   161,   196,   164,   188,   215,
     4166     354,   102,   126,   107,   102,   155,   104,   104,   154,   170,
     4167     173,   175,   176,   126,   124,   173,   177,   178,   127,   101,
     4168     111,   297,   345,   131,   164,   188,   101,   124,   162,   167,
     4169     107,   173,   202,   161,    52,   167,   180,   107,   173,   102,
     4170     217,   127,   280,   162,   167,   124,   179,   180,   167,   180,
     4171     164,   102,   102,   179,   127,   164,   127
    41824172};
    41834173
     
    50845074/* Line 1806 of yacc.c  */
    50855075#line 341 "parser.yy"
     5076    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5077    break;
     5078
     5079  case 20:
     5080
     5081/* Line 1806 of yacc.c  */
     5082#line 343 "parser.yy"
     5083    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5084    break;
     5085
     5086  case 21:
     5087
     5088/* Line 1806 of yacc.c  */
     5089#line 345 "parser.yy"
    50865090    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    50875091    break;
    50885092
    5089   case 20:
    5090 
    5091 /* Line 1806 of yacc.c  */
    5092 #line 343 "parser.yy"
     5093  case 22:
     5094
     5095/* Line 1806 of yacc.c  */
     5096#line 347 "parser.yy"
    50935097    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    50945098    break;
    50955099
    5096   case 22:
    5097 
    5098 /* Line 1806 of yacc.c  */
    5099 #line 353 "parser.yy"
     5100  case 24:
     5101
     5102/* Line 1806 of yacc.c  */
     5103#line 357 "parser.yy"
    51005104    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    51015105    break;
    51025106
    5103   case 23:
    5104 
    5105 /* Line 1806 of yacc.c  */
    5106 #line 355 "parser.yy"
     5107  case 25:
     5108
     5109/* Line 1806 of yacc.c  */
     5110#line 359 "parser.yy"
    51075111    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    51085112    break;
    51095113
    5110   case 24:
    5111 
    5112 /* Line 1806 of yacc.c  */
    5113 #line 357 "parser.yy"
     5114  case 26:
     5115
     5116/* Line 1806 of yacc.c  */
     5117#line 361 "parser.yy"
    51145118    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51155119    break;
    51165120
    5117   case 26:
    5118 
    5119 /* Line 1806 of yacc.c  */
    5120 #line 360 "parser.yy"
     5121  case 28:
     5122
     5123/* Line 1806 of yacc.c  */
     5124#line 364 "parser.yy"
    51215125    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51225126    break;
    51235127
    5124   case 28:
    5125 
    5126 /* Line 1806 of yacc.c  */
    5127 #line 363 "parser.yy"
     5128  case 30:
     5129
     5130/* Line 1806 of yacc.c  */
     5131#line 367 "parser.yy"
    51285132    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    51295133    break;
    51305134
    5131   case 29:
    5132 
    5133 /* Line 1806 of yacc.c  */
    5134 #line 365 "parser.yy"
     5135  case 31:
     5136
     5137/* Line 1806 of yacc.c  */
     5138#line 369 "parser.yy"
    51355139    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    51365140    break;
    51375141
    5138   case 30:
    5139 
    5140 /* Line 1806 of yacc.c  */
    5141 #line 368 "parser.yy"
     5142  case 32:
     5143
     5144/* Line 1806 of yacc.c  */
     5145#line 372 "parser.yy"
    51425146    { (yyval.en) = 0; }
    51435147    break;
    51445148
    5145   case 32:
    5146 
    5147 /* Line 1806 of yacc.c  */
    5148 #line 374 "parser.yy"
     5149  case 34:
     5150
     5151/* Line 1806 of yacc.c  */
     5152#line 378 "parser.yy"
    51495153    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    51505154    break;
    51515155
    5152   case 33:
    5153 
    5154 /* Line 1806 of yacc.c  */
    5155 #line 379 "parser.yy"
     5156  case 35:
     5157
     5158/* Line 1806 of yacc.c  */
     5159#line 383 "parser.yy"
    51565160    { (yyval.en) = 0; }
    51575161    break;
    51585162
    5159   case 35:
    5160 
    5161 /* Line 1806 of yacc.c  */
    5162 #line 382 "parser.yy"
     5163  case 37:
     5164
     5165/* Line 1806 of yacc.c  */
     5166#line 386 "parser.yy"
    51635167    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    51645168    break;
    51655169
    5166   case 36:
    5167 
    5168 /* Line 1806 of yacc.c  */
    5169 #line 387 "parser.yy"
     5170  case 38:
     5171
     5172/* Line 1806 of yacc.c  */
     5173#line 391 "parser.yy"
    51705174    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    51715175    break;
    51725176
    5173   case 37:
    5174 
    5175 /* Line 1806 of yacc.c  */
    5176 #line 389 "parser.yy"
     5177  case 39:
     5178
     5179/* Line 1806 of yacc.c  */
     5180#line 393 "parser.yy"
    51775181    { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); }
    51785182    break;
    51795183
    5180   case 39:
    5181 
    5182 /* Line 1806 of yacc.c  */
    5183 #line 394 "parser.yy"
     5184  case 41:
     5185
     5186/* Line 1806 of yacc.c  */
     5187#line 398 "parser.yy"
    51845188    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    51855189    break;
    51865190
    5187   case 40:
    5188 
    5189 /* Line 1806 of yacc.c  */
    5190 #line 399 "parser.yy"
     5191  case 42:
     5192
     5193/* Line 1806 of yacc.c  */
     5194#line 403 "parser.yy"
    51915195    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51925196    break;
    51935197
    5194   case 41:
    5195 
    5196 /* Line 1806 of yacc.c  */
    5197 #line 401 "parser.yy"
     5198  case 43:
     5199
     5200/* Line 1806 of yacc.c  */
     5201#line 405 "parser.yy"
    51985202    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    51995203    break;
    52005204
    5201   case 42:
    5202 
    5203 /* Line 1806 of yacc.c  */
    5204 #line 403 "parser.yy"
     5205  case 44:
     5206
     5207/* Line 1806 of yacc.c  */
     5208#line 407 "parser.yy"
    52055209    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52065210    break;
    52075211
    5208   case 43:
    5209 
    5210 /* Line 1806 of yacc.c  */
    5211 #line 405 "parser.yy"
     5212  case 45:
     5213
     5214/* Line 1806 of yacc.c  */
     5215#line 409 "parser.yy"
    52125216    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52135217    break;
    52145218
    5215   case 44:
    5216 
    5217 /* Line 1806 of yacc.c  */
    5218 #line 407 "parser.yy"
     5219  case 46:
     5220
     5221/* Line 1806 of yacc.c  */
     5222#line 411 "parser.yy"
    52195223    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52205224    break;
    52215225
    5222   case 46:
    5223 
    5224 /* Line 1806 of yacc.c  */
    5225 #line 415 "parser.yy"
    5226     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5227     break;
    5228 
    5229   case 47:
     5226  case 48:
    52305227
    52315228/* Line 1806 of yacc.c  */
    52325229#line 417 "parser.yy"
    5233     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5234     break;
    5235 
    5236   case 48:
     5230    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
     5231    break;
     5232
     5233  case 49:
    52375234
    52385235/* Line 1806 of yacc.c  */
    52395236#line 419 "parser.yy"
    5240     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    5241     break;
    5242 
    5243   case 49:
     5237    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5238    break;
     5239
     5240  case 50:
    52445241
    52455242/* Line 1806 of yacc.c  */
    52465243#line 421 "parser.yy"
    5247     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    5248     break;
    5249 
    5250   case 50:
     5244    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5245    break;
     5246
     5247  case 51:
    52515248
    52525249/* Line 1806 of yacc.c  */
    52535250#line 423 "parser.yy"
    5254     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    5255     break;
    5256 
    5257   case 51:
     5251    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5252    break;
     5253
     5254  case 52:
    52585255
    52595256/* Line 1806 of yacc.c  */
    52605257#line 425 "parser.yy"
    5261     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5262     break;
    5263 
    5264   case 52:
     5258    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
     5259    break;
     5260
     5261  case 53:
    52655262
    52665263/* Line 1806 of yacc.c  */
    52675264#line 427 "parser.yy"
    5268     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    5269     break;
    5270 
    5271   case 53:
    5272 
    5273 /* Line 1806 of yacc.c  */
    5274 #line 429 "parser.yy"
    52755265    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    52765266    break;
     
    52795269
    52805270/* Line 1806 of yacc.c  */
     5271#line 433 "parser.yy"
     5272    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
     5273    break;
     5274
     5275  case 55:
     5276
     5277/* Line 1806 of yacc.c  */
    52815278#line 435 "parser.yy"
    5282     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    5283     break;
    5284 
    5285   case 55:
     5279    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5280    break;
     5281
     5282  case 56:
    52865283
    52875284/* Line 1806 of yacc.c  */
    52885285#line 437 "parser.yy"
    5289     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5290     break;
    5291 
    5292   case 56:
     5286    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
     5287    break;
     5288
     5289  case 57:
    52935290
    52945291/* Line 1806 of yacc.c  */
    52955292#line 439 "parser.yy"
    5296     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    5297     break;
    5298 
    5299   case 57:
     5293    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5294    break;
     5295
     5296  case 58:
    53005297
    53015298/* Line 1806 of yacc.c  */
    53025299#line 441 "parser.yy"
    5303     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5304     break;
    5305 
    5306   case 58:
     5300    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5301    break;
     5302
     5303  case 59:
    53075304
    53085305/* Line 1806 of yacc.c  */
    53095306#line 443 "parser.yy"
    5310     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    5311     break;
    5312 
    5313   case 59:
     5307    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
     5308    break;
     5309
     5310  case 60:
    53145311
    53155312/* Line 1806 of yacc.c  */
    53165313#line 445 "parser.yy"
    5317     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    5318     break;
    5319 
    5320   case 60:
     5314    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5315    break;
     5316
     5317  case 61:
    53215318
    53225319/* Line 1806 of yacc.c  */
    53235320#line 447 "parser.yy"
    5324     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5325     break;
    5326 
    5327   case 61:
    5328 
    5329 /* Line 1806 of yacc.c  */
    5330 #line 449 "parser.yy"
    53315321    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true )); }
    53325322    break;
     
    53355325
    53365326/* Line 1806 of yacc.c  */
     5327#line 451 "parser.yy"
     5328    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
     5329    break;
     5330
     5331  case 63:
     5332
     5333/* Line 1806 of yacc.c  */
     5334#line 452 "parser.yy"
     5335    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5336    break;
     5337
     5338  case 64:
     5339
     5340/* Line 1806 of yacc.c  */
    53375341#line 453 "parser.yy"
    5338     { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    5339     break;
    5340 
    5341   case 63:
     5342    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5343    break;
     5344
     5345  case 65:
    53425346
    53435347/* Line 1806 of yacc.c  */
    53445348#line 454 "parser.yy"
    5345     { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    5346     break;
    5347 
    5348   case 64:
    5349 
    5350 /* Line 1806 of yacc.c  */
    5351 #line 455 "parser.yy"
    5352     { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    5353     break;
    5354 
    5355   case 65:
    5356 
    5357 /* Line 1806 of yacc.c  */
    5358 #line 456 "parser.yy"
    53595349    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    53605350    break;
    53615351
    53625352  case 67:
     5353
     5354/* Line 1806 of yacc.c  */
     5355#line 460 "parser.yy"
     5356    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5357    break;
     5358
     5359  case 68:
    53635360
    53645361/* Line 1806 of yacc.c  */
     
    53675364    break;
    53685365
    5369   case 68:
    5370 
    5371 /* Line 1806 of yacc.c  */
    5372 #line 464 "parser.yy"
    5373     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5374     break;
    5375 
    53765366  case 70:
    53775367
    53785368/* Line 1806 of yacc.c  */
     5369#line 468 "parser.yy"
     5370    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5371    break;
     5372
     5373  case 71:
     5374
     5375/* Line 1806 of yacc.c  */
    53795376#line 470 "parser.yy"
    5380     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5381     break;
    5382 
    5383   case 71:
     5377    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5378    break;
     5379
     5380  case 72:
    53845381
    53855382/* Line 1806 of yacc.c  */
    53865383#line 472 "parser.yy"
    5387     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5388     break;
    5389 
    5390   case 72:
    5391 
    5392 /* Line 1806 of yacc.c  */
    5393 #line 474 "parser.yy"
    53945384    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53955385    break;
     
    53985388
    53995389/* Line 1806 of yacc.c  */
     5390#line 478 "parser.yy"
     5391    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5392    break;
     5393
     5394  case 75:
     5395
     5396/* Line 1806 of yacc.c  */
    54005397#line 480 "parser.yy"
    5401     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5402     break;
    5403 
    5404   case 75:
    5405 
    5406 /* Line 1806 of yacc.c  */
    5407 #line 482 "parser.yy"
    54085398    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54095399    break;
     
    54125402
    54135403/* Line 1806 of yacc.c  */
     5404#line 486 "parser.yy"
     5405    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5406    break;
     5407
     5408  case 78:
     5409
     5410/* Line 1806 of yacc.c  */
    54145411#line 488 "parser.yy"
    5415     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5416     break;
    5417 
    5418   case 78:
    5419 
    5420 /* Line 1806 of yacc.c  */
    5421 #line 490 "parser.yy"
    54225412    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54235413    break;
     
    54265416
    54275417/* Line 1806 of yacc.c  */
     5418#line 494 "parser.yy"
     5419    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5420    break;
     5421
     5422  case 81:
     5423
     5424/* Line 1806 of yacc.c  */
    54285425#line 496 "parser.yy"
    5429     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5430     break;
    5431 
    5432   case 81:
     5426    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5427    break;
     5428
     5429  case 82:
    54335430
    54345431/* Line 1806 of yacc.c  */
    54355432#line 498 "parser.yy"
    5436     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5437     break;
    5438 
    5439   case 82:
     5433    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5434    break;
     5435
     5436  case 83:
    54405437
    54415438/* Line 1806 of yacc.c  */
    54425439#line 500 "parser.yy"
    5443     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5444     break;
    5445 
    5446   case 83:
    5447 
    5448 /* Line 1806 of yacc.c  */
    5449 #line 502 "parser.yy"
    54505440    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54515441    break;
     
    54545444
    54555445/* Line 1806 of yacc.c  */
     5446#line 506 "parser.yy"
     5447    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5448    break;
     5449
     5450  case 86:
     5451
     5452/* Line 1806 of yacc.c  */
    54565453#line 508 "parser.yy"
    5457     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5458     break;
    5459 
    5460   case 86:
    5461 
    5462 /* Line 1806 of yacc.c  */
    5463 #line 510 "parser.yy"
    54645454    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54655455    break;
     
    54685458
    54695459/* Line 1806 of yacc.c  */
    5470 #line 516 "parser.yy"
     5460#line 514 "parser.yy"
    54715461    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54725462    break;
     
    54755465
    54765466/* Line 1806 of yacc.c  */
    5477 #line 522 "parser.yy"
     5467#line 520 "parser.yy"
    54785468    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54795469    break;
     
    54825472
    54835473/* Line 1806 of yacc.c  */
    5484 #line 528 "parser.yy"
     5474#line 526 "parser.yy"
    54855475    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54865476    break;
     
    54895479
    54905480/* Line 1806 of yacc.c  */
    5491 #line 534 "parser.yy"
     5481#line 532 "parser.yy"
    54925482    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54935483    break;
     
    54965486
    54975487/* Line 1806 of yacc.c  */
    5498 #line 540 "parser.yy"
     5488#line 538 "parser.yy"
    54995489    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55005490    break;
     
    55035493
    55045494/* Line 1806 of yacc.c  */
     5495#line 544 "parser.yy"
     5496    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5497    break;
     5498
     5499  case 99:
     5500
     5501/* Line 1806 of yacc.c  */
    55055502#line 546 "parser.yy"
     5503    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5504    break;
     5505
     5506  case 100:
     5507
     5508/* Line 1806 of yacc.c  */
     5509#line 548 "parser.yy"
    55065510    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55075511    break;
    55085512
    5509   case 99:
    5510 
    5511 /* Line 1806 of yacc.c  */
    5512 #line 548 "parser.yy"
    5513     { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    5514     break;
    5515 
    5516   case 100:
    5517 
    5518 /* Line 1806 of yacc.c  */
    5519 #line 550 "parser.yy"
    5520     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    5521     break;
    5522 
    55235513  case 103:
    55245514
    55255515/* Line 1806 of yacc.c  */
     5516#line 559 "parser.yy"
     5517    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5518    break;
     5519
     5520  case 104:
     5521
     5522/* Line 1806 of yacc.c  */
    55265523#line 561 "parser.yy"
    5527     { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5528     break;
    5529 
    5530   case 104:
     5524    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5525    break;
     5526
     5527  case 105:
    55315528
    55325529/* Line 1806 of yacc.c  */
    55335530#line 563 "parser.yy"
    5534     { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5535     break;
    5536 
    5537   case 105:
    5538 
    5539 /* Line 1806 of yacc.c  */
    5540 #line 565 "parser.yy"
    55415531    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    55425532    break;
     
    55455535
    55465536/* Line 1806 of yacc.c  */
    5547 #line 570 "parser.yy"
     5537#line 568 "parser.yy"
    55485538    { (yyval.en) = new NullExprNode; }
    55495539    break;
     
    55525542
    55535543/* Line 1806 of yacc.c  */
     5544#line 576 "parser.yy"
     5545    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5546    break;
     5547
     5548  case 109:
     5549
     5550/* Line 1806 of yacc.c  */
    55545551#line 578 "parser.yy"
    5555     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    5556     break;
    5557 
    5558   case 109:
     5552    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5553    break;
     5554
     5555  case 110:
    55595556
    55605557/* Line 1806 of yacc.c  */
    55615558#line 580 "parser.yy"
    5562     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    5563     break;
    5564 
    5565   case 110:
     5559    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
     5560    break;
     5561
     5562  case 111:
    55665563
    55675564/* Line 1806 of yacc.c  */
    55685565#line 582 "parser.yy"
    5569     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    5570     break;
    5571 
    5572   case 111:
    5573 
    5574 /* Line 1806 of yacc.c  */
    5575 #line 584 "parser.yy"
    55765566    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    55775567    break;
     
    55805570
    55815571/* Line 1806 of yacc.c  */
    5582 #line 590 "parser.yy"
     5572#line 588 "parser.yy"
    55835573    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    55845574    break;
     
    55875577
    55885578/* Line 1806 of yacc.c  */
     5579#line 592 "parser.yy"
     5580    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
     5581    break;
     5582
     5583  case 115:
     5584
     5585/* Line 1806 of yacc.c  */
     5586#line 593 "parser.yy"
     5587    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5588    break;
     5589
     5590  case 116:
     5591
     5592/* Line 1806 of yacc.c  */
    55895593#line 594 "parser.yy"
    5590     { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    5591     break;
    5592 
    5593   case 115:
     5594    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5595    break;
     5596
     5597  case 117:
    55945598
    55955599/* Line 1806 of yacc.c  */
    55965600#line 595 "parser.yy"
    5597     { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    5598     break;
    5599 
    5600   case 116:
     5601    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5602    break;
     5603
     5604  case 118:
    56015605
    56025606/* Line 1806 of yacc.c  */
    56035607#line 596 "parser.yy"
    5604     { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    5605     break;
    5606 
    5607   case 117:
     5608    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5609    break;
     5610
     5611  case 119:
    56085612
    56095613/* Line 1806 of yacc.c  */
    56105614#line 597 "parser.yy"
    5611     { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    5612     break;
    5613 
    5614   case 118:
     5615    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5616    break;
     5617
     5618  case 120:
    56155619
    56165620/* Line 1806 of yacc.c  */
    56175621#line 598 "parser.yy"
    5618     { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    5619     break;
    5620 
    5621   case 119:
     5622    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5623    break;
     5624
     5625  case 121:
    56225626
    56235627/* Line 1806 of yacc.c  */
    56245628#line 599 "parser.yy"
    5625     { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    5626     break;
    5627 
    5628   case 120:
     5629    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5630    break;
     5631
     5632  case 122:
    56295633
    56305634/* Line 1806 of yacc.c  */
    56315635#line 600 "parser.yy"
    5632     { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    5633     break;
    5634 
    5635   case 121:
     5636    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5637    break;
     5638
     5639  case 123:
    56365640
    56375641/* Line 1806 of yacc.c  */
    56385642#line 601 "parser.yy"
    5639     { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    5640     break;
    5641 
    5642   case 122:
    5643 
    5644 /* Line 1806 of yacc.c  */
    5645 #line 602 "parser.yy"
    5646     { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    5647     break;
    5648 
    5649   case 123:
    5650 
    5651 /* Line 1806 of yacc.c  */
    5652 #line 603 "parser.yy"
    56535643    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    56545644    break;
     
    56575647
    56585648/* Line 1806 of yacc.c  */
    5659 #line 609 "parser.yy"
     5649#line 607 "parser.yy"
    56605650    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56615651    break;
     
    56645654
    56655655/* Line 1806 of yacc.c  */
    5666 #line 614 "parser.yy"
     5656#line 612 "parser.yy"
    56675657    { (yyval.en) = 0; }
    56685658    break;
     
    56715661
    56725662/* Line 1806 of yacc.c  */
    5673 #line 623 "parser.yy"
     5663#line 621 "parser.yy"
    56745664    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56755665    break;
     
    56785668
    56795669/* Line 1806 of yacc.c  */
    5680 #line 633 "parser.yy"
     5670#line 631 "parser.yy"
    56815671    {
    56825672                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56875677
    56885678/* Line 1806 of yacc.c  */
    5689 #line 640 "parser.yy"
     5679#line 638 "parser.yy"
    56905680    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    56915681    break;
     
    56945684
    56955685/* Line 1806 of yacc.c  */
    5696 #line 647 "parser.yy"
     5686#line 645 "parser.yy"
    56975687    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    56985688    break;
     
    57015691
    57025692/* Line 1806 of yacc.c  */
    5703 #line 653 "parser.yy"
     5693#line 651 "parser.yy"
    57045694    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57055695    break;
     
    57085698
    57095699/* Line 1806 of yacc.c  */
     5700#line 656 "parser.yy"
     5701    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5702    break;
     5703
     5704  case 142:
     5705
     5706/* Line 1806 of yacc.c  */
    57105707#line 658 "parser.yy"
     5708    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
     5709    break;
     5710
     5711  case 143:
     5712
     5713/* Line 1806 of yacc.c  */
     5714#line 660 "parser.yy"
    57115715    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57125716    break;
    57135717
    5714   case 142:
    5715 
    5716 /* Line 1806 of yacc.c  */
    5717 #line 660 "parser.yy"
    5718     { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    5719     break;
    5720 
    5721   case 143:
    5722 
    5723 /* Line 1806 of yacc.c  */
    5724 #line 662 "parser.yy"
    5725     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    5726     break;
    5727 
    57285718  case 146:
    57295719
    57305720/* Line 1806 of yacc.c  */
    5731 #line 669 "parser.yy"
     5721#line 667 "parser.yy"
    57325722    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57335723    break;
     
    57365726
    57375727/* Line 1806 of yacc.c  */
    5738 #line 674 "parser.yy"
     5728#line 672 "parser.yy"
    57395729    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    57405730    break;
     
    57435733
    57445734/* Line 1806 of yacc.c  */
     5735#line 678 "parser.yy"
     5736    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5737    break;
     5738
     5739  case 149:
     5740
     5741/* Line 1806 of yacc.c  */
    57455742#line 680 "parser.yy"
    5746     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5747     break;
    5748 
    5749   case 149:
     5743    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
     5744    break;
     5745
     5746  case 150:
    57505747
    57515748/* Line 1806 of yacc.c  */
    57525749#line 682 "parser.yy"
    5753     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    5754     break;
    5755 
    5756   case 150:
     5750    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5751    break;
     5752
     5753  case 151:
    57575754
    57585755/* Line 1806 of yacc.c  */
    57595756#line 684 "parser.yy"
    5760     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5761     break;
    5762 
    5763   case 151:
    5764 
    5765 /* Line 1806 of yacc.c  */
    5766 #line 686 "parser.yy"
    57675757    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    57685758    break;
     
    57715761
    57725762/* Line 1806 of yacc.c  */
     5763#line 689 "parser.yy"
     5764    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5765    break;
     5766
     5767  case 153:
     5768
     5769/* Line 1806 of yacc.c  */
    57735770#line 691 "parser.yy"
    5774     { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5775     break;
    5776 
    5777   case 153:
    5778 
    5779 /* Line 1806 of yacc.c  */
    5780 #line 693 "parser.yy"
    57815771    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57825772    break;
     
    57855775
    57865776/* Line 1806 of yacc.c  */
     5777#line 698 "parser.yy"
     5778    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     5779    break;
     5780
     5781  case 155:
     5782
     5783/* Line 1806 of yacc.c  */
    57875784#line 700 "parser.yy"
    5788     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    5789     break;
    5790 
    5791   case 155:
    5792 
    5793 /* Line 1806 of yacc.c  */
    5794 #line 702 "parser.yy"
    57955785    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57965786    break;
     
    57995789
    58005790/* Line 1806 of yacc.c  */
    5801 #line 709 "parser.yy"
     5791#line 707 "parser.yy"
    58025792    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58035793    break;
     
    58065796
    58075797/* Line 1806 of yacc.c  */
    5808 #line 713 "parser.yy"
     5798#line 711 "parser.yy"
    58095799    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58105800    break;
     
    58135803
    58145804/* Line 1806 of yacc.c  */
    5815 #line 714 "parser.yy"
     5805#line 712 "parser.yy"
    58165806    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58175807    break;
     
    58205810
    58215811/* Line 1806 of yacc.c  */
    5822 #line 720 "parser.yy"
     5812#line 718 "parser.yy"
    58235813    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58245814    break;
     
    58275817
    58285818/* Line 1806 of yacc.c  */
    5829 #line 724 "parser.yy"
     5819#line 722 "parser.yy"
    58305820    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58315821    break;
     
    58345824
    58355825/* Line 1806 of yacc.c  */
    5836 #line 729 "parser.yy"
     5826#line 727 "parser.yy"
    58375827    { (yyval.sn) = 0; }
    58385828    break;
     
    58415831
    58425832/* Line 1806 of yacc.c  */
     5833#line 733 "parser.yy"
     5834    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5835    break;
     5836
     5837  case 167:
     5838
     5839/* Line 1806 of yacc.c  */
    58435840#line 735 "parser.yy"
     5841    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5842    break;
     5843
     5844  case 168:
     5845
     5846/* Line 1806 of yacc.c  */
     5847#line 740 "parser.yy"
     5848    { (yyval.sn) = 0; }
     5849    break;
     5850
     5851  case 170:
     5852
     5853/* Line 1806 of yacc.c  */
     5854#line 746 "parser.yy"
    58445855    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58455856    break;
    58465857
    5847   case 167:
    5848 
    5849 /* Line 1806 of yacc.c  */
    5850 #line 737 "parser.yy"
     5858  case 171:
     5859
     5860/* Line 1806 of yacc.c  */
     5861#line 748 "parser.yy"
     5862    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
     5863    break;
     5864
     5865  case 172:
     5866
     5867/* Line 1806 of yacc.c  */
     5868#line 750 "parser.yy"
    58515869    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58525870    break;
    58535871
    5854   case 168:
    5855 
    5856 /* Line 1806 of yacc.c  */
    5857 #line 742 "parser.yy"
     5872  case 173:
     5873
     5874/* Line 1806 of yacc.c  */
     5875#line 752 "parser.yy"
     5876    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
     5877    break;
     5878
     5879  case 174:
     5880
     5881/* Line 1806 of yacc.c  */
     5882#line 757 "parser.yy"
    58585883    { (yyval.sn) = 0; }
    58595884    break;
    58605885
    5861   case 170:
    5862 
    5863 /* Line 1806 of yacc.c  */
    5864 #line 748 "parser.yy"
    5865     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5866     break;
    5867 
    5868   case 171:
    5869 
    5870 /* Line 1806 of yacc.c  */
    5871 #line 750 "parser.yy"
    5872     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    5873     break;
    5874 
    5875   case 172:
    5876 
    5877 /* Line 1806 of yacc.c  */
    5878 #line 752 "parser.yy"
    5879     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    5880     break;
    5881 
    5882   case 173:
    5883 
    5884 /* Line 1806 of yacc.c  */
    5885 #line 754 "parser.yy"
    5886     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
    5887     break;
    5888 
    5889   case 174:
    5890 
    5891 /* Line 1806 of yacc.c  */
    5892 #line 759 "parser.yy"
    5893     { (yyval.sn) = 0; }
    5894     break;
    5895 
    58965886  case 176:
    58975887
    58985888/* Line 1806 of yacc.c  */
    5899 #line 764 "parser.yy"
     5889#line 762 "parser.yy"
    59005890    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59015891    break;
     
    59045894
    59055895/* Line 1806 of yacc.c  */
    5906 #line 765 "parser.yy"
     5896#line 763 "parser.yy"
    59075897    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59085898    break;
     
    59115901
    59125902/* Line 1806 of yacc.c  */
     5903#line 768 "parser.yy"
     5904    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5905    break;
     5906
     5907  case 179:
     5908
     5909/* Line 1806 of yacc.c  */
    59135910#line 770 "parser.yy"
    5914     { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5915     break;
    5916 
    5917   case 179:
     5911    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
     5912    break;
     5913
     5914  case 180:
    59185915
    59195916/* Line 1806 of yacc.c  */
    59205917#line 772 "parser.yy"
    5921     { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    5922     break;
    5923 
    5924   case 180:
    5925 
    5926 /* Line 1806 of yacc.c  */
    5927 #line 774 "parser.yy"
    59285918    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59295919    break;
     
    59325922
    59335923/* Line 1806 of yacc.c  */
     5924#line 777 "parser.yy"
     5925    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
     5926    break;
     5927
     5928  case 182:
     5929
     5930/* Line 1806 of yacc.c  */
    59345931#line 779 "parser.yy"
    5935     { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    5936     break;
    5937 
    5938   case 182:
    5939 
    5940 /* Line 1806 of yacc.c  */
    5941 #line 781 "parser.yy"
    59425932    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59435933    break;
     
    59465936
    59475937/* Line 1806 of yacc.c  */
    5948 #line 786 "parser.yy"
     5938#line 784 "parser.yy"
    59495939    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59505940    break;
     
    59535943
    59545944/* Line 1806 of yacc.c  */
    5955 #line 790 "parser.yy"
     5945#line 788 "parser.yy"
    59565946    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59575947    break;
     
    59605950
    59615951/* Line 1806 of yacc.c  */
    5962 #line 793 "parser.yy"
     5952#line 791 "parser.yy"
    59635953    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    59645954    break;
     
    59675957
    59685958/* Line 1806 of yacc.c  */
    5969 #line 797 "parser.yy"
     5959#line 795 "parser.yy"
    59705960    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59715961    break;
     
    59745964
    59755965/* Line 1806 of yacc.c  */
    5976 #line 800 "parser.yy"
     5966#line 798 "parser.yy"
    59775967    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    59785968    break;
     
    59815971
    59825972/* Line 1806 of yacc.c  */
     5973#line 802 "parser.yy"
     5974    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     5975    break;
     5976
     5977  case 189:
     5978
     5979/* Line 1806 of yacc.c  */
    59835980#line 804 "parser.yy"
    5984     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    5985     break;
    5986 
    5987   case 189:
     5981    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     5982    break;
     5983
     5984  case 190:
    59885985
    59895986/* Line 1806 of yacc.c  */
    59905987#line 806 "parser.yy"
    5991     { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    5992     break;
    5993 
    5994   case 190:
     5988    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     5989    break;
     5990
     5991  case 191:
    59955992
    59965993/* Line 1806 of yacc.c  */
    59975994#line 808 "parser.yy"
    5998     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    5999     break;
    6000 
    6001   case 191:
    6002 
    6003 /* Line 1806 of yacc.c  */
    6004 #line 810 "parser.yy"
    60055995    { (yyval.sn) = new StatementNode( StatementNode::Throw ); }
    60065996    break;
    60075997
    60085998  case 192:
     5999
     6000/* Line 1806 of yacc.c  */
     6001#line 813 "parser.yy"
     6002    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6003    break;
     6004
     6005  case 193:
    60096006
    60106007/* Line 1806 of yacc.c  */
     
    60136010    break;
    60146011
    6015   case 193:
     6012  case 194:
    60166013
    60176014/* Line 1806 of yacc.c  */
    60186015#line 817 "parser.yy"
    6019     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6020     break;
    6021 
    6022   case 194:
    6023 
    6024 /* Line 1806 of yacc.c  */
    6025 #line 819 "parser.yy"
    60266016    {
    60276017                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60336023
    60346024/* Line 1806 of yacc.c  */
     6025#line 828 "parser.yy"
     6026    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
     6027    break;
     6028
     6029  case 197:
     6030
     6031/* Line 1806 of yacc.c  */
    60356032#line 830 "parser.yy"
    6036     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6037     break;
    6038 
    6039   case 197:
    6040 
    6041 /* Line 1806 of yacc.c  */
    6042 #line 832 "parser.yy"
    60436033    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60446034    break;
     
    60476037
    60486038/* Line 1806 of yacc.c  */
     6039#line 835 "parser.yy"
     6040    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6041    break;
     6042
     6043  case 199:
     6044
     6045/* Line 1806 of yacc.c  */
    60496046#line 837 "parser.yy"
    6050     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    6051     break;
    6052 
    6053   case 199:
    6054 
    6055 /* Line 1806 of yacc.c  */
    6056 #line 839 "parser.yy"
    60576047    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60586048    break;
     
    60616051
    60626052/* Line 1806 of yacc.c  */
    6063 #line 844 "parser.yy"
     6053#line 842 "parser.yy"
    60646054    {
    60656055                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    60716061
    60726062/* Line 1806 of yacc.c  */
    6073 #line 858 "parser.yy"
     6063#line 856 "parser.yy"
    60746064    {
    60756065                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60816071
    60826072/* Line 1806 of yacc.c  */
     6073#line 861 "parser.yy"
     6074    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     6075    break;
     6076
     6077  case 204:
     6078
     6079/* Line 1806 of yacc.c  */
    60836080#line 863 "parser.yy"
    6084     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    6085     break;
    6086 
    6087   case 204:
    6088 
    6089 /* Line 1806 of yacc.c  */
    6090 #line 865 "parser.yy"
    60916081    {
    60926082                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60986088
    60996089/* Line 1806 of yacc.c  */
     6090#line 872 "parser.yy"
     6091    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
     6092    break;
     6093
     6094  case 207:
     6095
     6096/* Line 1806 of yacc.c  */
    61006097#line 874 "parser.yy"
    6101     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    6102     break;
    6103 
    6104   case 207:
     6098    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
     6099    break;
     6100
     6101  case 208:
    61056102
    61066103/* Line 1806 of yacc.c  */
    61076104#line 876 "parser.yy"
    6108     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    6109     break;
    6110 
    6111   case 208:
     6105    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
     6106    break;
     6107
     6108  case 209:
    61126109
    61136110/* Line 1806 of yacc.c  */
    61146111#line 878 "parser.yy"
    6115     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    6116     break;
    6117 
    6118   case 209:
     6112    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
     6113    break;
     6114
     6115  case 210:
    61196116
    61206117/* Line 1806 of yacc.c  */
    61216118#line 880 "parser.yy"
    6122     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
    6123     break;
    6124 
    6125   case 210:
    6126 
    6127 /* Line 1806 of yacc.c  */
    6128 #line 882 "parser.yy"
    61296119    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
    61306120    break;
     
    61336123
    61346124/* Line 1806 of yacc.c  */
     6125#line 885 "parser.yy"
     6126    { (yyval.flag) = false; }
     6127    break;
     6128
     6129  case 212:
     6130
     6131/* Line 1806 of yacc.c  */
    61356132#line 887 "parser.yy"
    6136     { (yyval.flag) = false; }
    6137     break;
    6138 
    6139   case 212:
    6140 
    6141 /* Line 1806 of yacc.c  */
    6142 #line 889 "parser.yy"
    61436133    { (yyval.flag) = true; }
    61446134    break;
     
    61476137
    61486138/* Line 1806 of yacc.c  */
    6149 #line 894 "parser.yy"
     6139#line 892 "parser.yy"
    61506140    { (yyval.en) = 0; }
    61516141    break;
     
    61546144
    61556145/* Line 1806 of yacc.c  */
    6156 #line 901 "parser.yy"
     6146#line 899 "parser.yy"
    61576147    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    61586148    break;
     
    61616151
    61626152/* Line 1806 of yacc.c  */
     6153#line 904 "parser.yy"
     6154    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
     6155    break;
     6156
     6157  case 218:
     6158
     6159/* Line 1806 of yacc.c  */
    61636160#line 906 "parser.yy"
    6164     { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    6165     break;
    6166 
    6167   case 218:
    6168 
    6169 /* Line 1806 of yacc.c  */
    6170 #line 908 "parser.yy"
    61716161    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    61726162    break;
     
    61756165
    61766166/* Line 1806 of yacc.c  */
     6167#line 911 "parser.yy"
     6168    { (yyval.constant) = 0; }
     6169    break;
     6170
     6171  case 220:
     6172
     6173/* Line 1806 of yacc.c  */
    61776174#line 913 "parser.yy"
    6178     { (yyval.constant) = 0; }
    6179     break;
    6180 
    6181   case 220:
     6175    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6176    break;
     6177
     6178  case 221:
    61826179
    61836180/* Line 1806 of yacc.c  */
    61846181#line 915 "parser.yy"
    6185     { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    6186     break;
    6187 
    6188   case 221:
    6189 
    6190 /* Line 1806 of yacc.c  */
    6191 #line 917 "parser.yy"
    61926182    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    61936183    break;
     
    61966186
    61976187/* Line 1806 of yacc.c  */
     6188#line 920 "parser.yy"
     6189    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
     6190    break;
     6191
     6192  case 223:
     6193
     6194/* Line 1806 of yacc.c  */
    61986195#line 922 "parser.yy"
    6199     { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    6200     break;
    6201 
    6202   case 223:
    6203 
    6204 /* Line 1806 of yacc.c  */
    6205 #line 924 "parser.yy"
    62066196    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    62076197    break;
     
    62106200
    62116201/* Line 1806 of yacc.c  */
    6212 #line 931 "parser.yy"
     6202#line 929 "parser.yy"
    62136203    { (yyval.decl) = 0; }
    62146204    break;
     
    62176207
    62186208/* Line 1806 of yacc.c  */
    6219 #line 938 "parser.yy"
     6209#line 936 "parser.yy"
    62206210    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62216211    break;
     
    62246214
    62256215/* Line 1806 of yacc.c  */
    6226 #line 943 "parser.yy"
     6216#line 941 "parser.yy"
    62276217    { (yyval.decl) = 0; }
    62286218    break;
     
    62316221
    62326222/* Line 1806 of yacc.c  */
    6233 #line 950 "parser.yy"
     6223#line 948 "parser.yy"
    62346224    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62356225    break;
     
    62386228
    62396229/* Line 1806 of yacc.c  */
    6240 #line 964 "parser.yy"
     6230#line 962 "parser.yy"
    62416231    {}
    62426232    break;
     
    62456235
    62466236/* Line 1806 of yacc.c  */
    6247 #line 965 "parser.yy"
     6237#line 963 "parser.yy"
    62486238    {}
    62496239    break;
     
    62526242
    62536243/* Line 1806 of yacc.c  */
    6254 #line 994 "parser.yy"
     6244#line 992 "parser.yy"
    62556245    {
    62566246                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62626252
    62636253/* Line 1806 of yacc.c  */
    6264 #line 1001 "parser.yy"
     6254#line 999 "parser.yy"
    62656255    {
    62666256                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62726262
    62736263/* Line 1806 of yacc.c  */
    6274 #line 1006 "parser.yy"
     6264#line 1004 "parser.yy"
    62756265    {
    62766266                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    62826272
    62836273/* Line 1806 of yacc.c  */
    6284 #line 1016 "parser.yy"
     6274#line 1014 "parser.yy"
    62856275    {
    62866276                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    62926282
    62936283/* Line 1806 of yacc.c  */
    6294 #line 1021 "parser.yy"
     6284#line 1019 "parser.yy"
    62956285    {
    62966286                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63026292
    63036293/* Line 1806 of yacc.c  */
    6304 #line 1026 "parser.yy"
     6294#line 1024 "parser.yy"
    63056295    {
    63066296                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63126302
    63136303/* Line 1806 of yacc.c  */
    6314 #line 1034 "parser.yy"
     6304#line 1032 "parser.yy"
    63156305    {
    63166306                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63226312
    63236313/* Line 1806 of yacc.c  */
    6324 #line 1039 "parser.yy"
     6314#line 1037 "parser.yy"
    63256315    {
    63266316                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63326322
    63336323/* Line 1806 of yacc.c  */
    6334 #line 1044 "parser.yy"
     6324#line 1042 "parser.yy"
    63356325    {
    63366326                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63426332
    63436333/* Line 1806 of yacc.c  */
    6344 #line 1049 "parser.yy"
     6334#line 1047 "parser.yy"
    63456335    {
    63466336                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63526342
    63536343/* Line 1806 of yacc.c  */
    6354 #line 1054 "parser.yy"
     6344#line 1052 "parser.yy"
    63556345    {
    63566346                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63626352
    63636353/* Line 1806 of yacc.c  */
    6364 #line 1062 "parser.yy"
     6354#line 1060 "parser.yy"
    63656355    {
    63666356                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    63716361
    63726362/* Line 1806 of yacc.c  */
    6373 #line 1085 "parser.yy"
     6363#line 1083 "parser.yy"
    63746364    {
    63756365                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63806370
    63816371/* Line 1806 of yacc.c  */
    6382 #line 1089 "parser.yy"
     6372#line 1087 "parser.yy"
    63836373    {
    63846374                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63896379
    63906380/* Line 1806 of yacc.c  */
    6391 #line 1096 "parser.yy"
     6381#line 1094 "parser.yy"
    63926382    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    63936383    break;
     
    63966386
    63976387/* Line 1806 of yacc.c  */
    6398 #line 1100 "parser.yy"
     6388#line 1098 "parser.yy"
    63996389    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64006390    break;
     
    64036393
    64046394/* Line 1806 of yacc.c  */
    6405 #line 1105 "parser.yy"
     6395#line 1103 "parser.yy"
    64066396    {
    64076397                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64136403
    64146404/* Line 1806 of yacc.c  */
    6415 #line 1110 "parser.yy"
     6405#line 1108 "parser.yy"
    64166406    {
    64176407                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64236413
    64246414/* Line 1806 of yacc.c  */
    6425 #line 1115 "parser.yy"
     6415#line 1113 "parser.yy"
    64266416    {
    64276417                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64336423
    64346424/* Line 1806 of yacc.c  */
    6435 #line 1126 "parser.yy"
     6425#line 1124 "parser.yy"
    64366426    {
    64376427                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64436433
    64446434/* Line 1806 of yacc.c  */
    6445 #line 1131 "parser.yy"
     6435#line 1129 "parser.yy"
    64466436    {
    64476437                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64536443
    64546444/* Line 1806 of yacc.c  */
    6455 #line 1136 "parser.yy"
     6445#line 1134 "parser.yy"
    64566446    {
    64576447                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64636453
    64646454/* Line 1806 of yacc.c  */
    6465 #line 1141 "parser.yy"
     6455#line 1139 "parser.yy"
    64666456    {
    64676457                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64736463
    64746464/* Line 1806 of yacc.c  */
    6475 #line 1146 "parser.yy"
     6465#line 1144 "parser.yy"
    64766466    {
    64776467                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64836473
    64846474/* Line 1806 of yacc.c  */
    6485 #line 1155 "parser.yy"
     6475#line 1153 "parser.yy"
    64866476    {
    64876477                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    64936483
    64946484/* Line 1806 of yacc.c  */
    6495 #line 1160 "parser.yy"
     6485#line 1158 "parser.yy"
    64966486    {
    64976487                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65036493
    65046494/* Line 1806 of yacc.c  */
    6505 #line 1177 "parser.yy"
     6495#line 1175 "parser.yy"
    65066496    {
    65076497                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65136503
    65146504/* Line 1806 of yacc.c  */
    6515 #line 1182 "parser.yy"
     6505#line 1180 "parser.yy"
    65166506    {
    65176507                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65236513
    65246514/* Line 1806 of yacc.c  */
    6525 #line 1204 "parser.yy"
     6515#line 1202 "parser.yy"
    65266516    { (yyval.decl) = 0; }
    65276517    break;
     
    65306520
    65316521/* Line 1806 of yacc.c  */
    6532 #line 1216 "parser.yy"
     6522#line 1214 "parser.yy"
    65336523    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65346524    break;
     
    65376527
    65386528/* Line 1806 of yacc.c  */
     6529#line 1225 "parser.yy"
     6530    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6531    break;
     6532
     6533  case 292:
     6534
     6535/* Line 1806 of yacc.c  */
    65396536#line 1227 "parser.yy"
    6540     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    6541     break;
    6542 
    6543   case 292:
     6537    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6538    break;
     6539
     6540  case 293:
    65446541
    65456542/* Line 1806 of yacc.c  */
    65466543#line 1229 "parser.yy"
    6547     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    6548     break;
    6549 
    6550   case 293:
     6544    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6545    break;
     6546
     6547  case 294:
    65516548
    65526549/* Line 1806 of yacc.c  */
    65536550#line 1231 "parser.yy"
    6554     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    6555     break;
    6556 
    6557   case 294:
     6551    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
     6552    break;
     6553
     6554  case 295:
    65586555
    65596556/* Line 1806 of yacc.c  */
    65606557#line 1233 "parser.yy"
    6561     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    6562     break;
    6563 
    6564   case 295:
     6558    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
     6559    break;
     6560
     6561  case 296:
    65656562
    65666563/* Line 1806 of yacc.c  */
    65676564#line 1235 "parser.yy"
    6568     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    6569     break;
    6570 
    6571   case 296:
    6572 
    6573 /* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
    65756565    {
    65766566                        typedefTable.enterScope();
     
    65816571
    65826572/* Line 1806 of yacc.c  */
    6583 #line 1241 "parser.yy"
     6573#line 1239 "parser.yy"
    65846574    {
    65856575                        typedefTable.leaveScope();
     
    65916581
    65926582/* Line 1806 of yacc.c  */
     6583#line 1248 "parser.yy"
     6584    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6585    break;
     6586
     6587  case 300:
     6588
     6589/* Line 1806 of yacc.c  */
    65936590#line 1250 "parser.yy"
     6591    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6592    break;
     6593
     6594  case 302:
     6595
     6596/* Line 1806 of yacc.c  */
     6597#line 1261 "parser.yy"
    65946598    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65956599    break;
    65966600
    6597   case 300:
    6598 
    6599 /* Line 1806 of yacc.c  */
    6600 #line 1252 "parser.yy"
     6601  case 304:
     6602
     6603/* Line 1806 of yacc.c  */
     6604#line 1270 "parser.yy"
     6605    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6606    break;
     6607
     6608  case 305:
     6609
     6610/* Line 1806 of yacc.c  */
     6611#line 1272 "parser.yy"
     6612    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6613    break;
     6614
     6615  case 306:
     6616
     6617/* Line 1806 of yacc.c  */
     6618#line 1274 "parser.yy"
     6619    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6620    break;
     6621
     6622  case 307:
     6623
     6624/* Line 1806 of yacc.c  */
     6625#line 1276 "parser.yy"
     6626    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6627    break;
     6628
     6629  case 308:
     6630
     6631/* Line 1806 of yacc.c  */
     6632#line 1278 "parser.yy"
     6633    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6634    break;
     6635
     6636  case 309:
     6637
     6638/* Line 1806 of yacc.c  */
     6639#line 1280 "parser.yy"
     6640    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6641    break;
     6642
     6643  case 310:
     6644
     6645/* Line 1806 of yacc.c  */
     6646#line 1282 "parser.yy"
     6647    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6648    break;
     6649
     6650  case 311:
     6651
     6652/* Line 1806 of yacc.c  */
     6653#line 1284 "parser.yy"
     6654    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6655    break;
     6656
     6657  case 312:
     6658
     6659/* Line 1806 of yacc.c  */
     6660#line 1289 "parser.yy"
     6661    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6662    break;
     6663
     6664  case 313:
     6665
     6666/* Line 1806 of yacc.c  */
     6667#line 1291 "parser.yy"
     6668    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6669    break;
     6670
     6671  case 314:
     6672
     6673/* Line 1806 of yacc.c  */
     6674#line 1293 "parser.yy"
     6675    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6676    break;
     6677
     6678  case 315:
     6679
     6680/* Line 1806 of yacc.c  */
     6681#line 1295 "parser.yy"
     6682    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6683    break;
     6684
     6685  case 316:
     6686
     6687/* Line 1806 of yacc.c  */
     6688#line 1297 "parser.yy"
     6689    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6690    break;
     6691
     6692  case 317:
     6693
     6694/* Line 1806 of yacc.c  */
     6695#line 1299 "parser.yy"
     6696    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6697    break;
     6698
     6699  case 318:
     6700
     6701/* Line 1806 of yacc.c  */
     6702#line 1301 "parser.yy"
     6703    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6704    break;
     6705
     6706  case 319:
     6707
     6708/* Line 1806 of yacc.c  */
     6709#line 1303 "parser.yy"
     6710    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6711    break;
     6712
     6713  case 320:
     6714
     6715/* Line 1806 of yacc.c  */
     6716#line 1305 "parser.yy"
     6717    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6718    break;
     6719
     6720  case 321:
     6721
     6722/* Line 1806 of yacc.c  */
     6723#line 1307 "parser.yy"
     6724    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6725    break;
     6726
     6727  case 322:
     6728
     6729/* Line 1806 of yacc.c  */
     6730#line 1309 "parser.yy"
     6731    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6732    break;
     6733
     6734  case 323:
     6735
     6736/* Line 1806 of yacc.c  */
     6737#line 1311 "parser.yy"
     6738    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6739    break;
     6740
     6741  case 325:
     6742
     6743/* Line 1806 of yacc.c  */
     6744#line 1318 "parser.yy"
     6745    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6746    break;
     6747
     6748  case 326:
     6749
     6750/* Line 1806 of yacc.c  */
     6751#line 1320 "parser.yy"
     6752    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6753    break;
     6754
     6755  case 327:
     6756
     6757/* Line 1806 of yacc.c  */
     6758#line 1322 "parser.yy"
    66016759    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66026760    break;
    66036761
    6604   case 302:
    6605 
    6606 /* Line 1806 of yacc.c  */
    6607 #line 1263 "parser.yy"
     6762  case 328:
     6763
     6764/* Line 1806 of yacc.c  */
     6765#line 1324 "parser.yy"
     6766    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6767    break;
     6768
     6769  case 330:
     6770
     6771/* Line 1806 of yacc.c  */
     6772#line 1330 "parser.yy"
     6773    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6774    break;
     6775
     6776  case 332:
     6777
     6778/* Line 1806 of yacc.c  */
     6779#line 1337 "parser.yy"
     6780    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6781    break;
     6782
     6783  case 333:
     6784
     6785/* Line 1806 of yacc.c  */
     6786#line 1339 "parser.yy"
    66086787    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66096788    break;
    66106789
    6611   case 304:
    6612 
    6613 /* Line 1806 of yacc.c  */
    6614 #line 1272 "parser.yy"
    6615     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6616     break;
    6617 
    6618   case 305:
    6619 
    6620 /* Line 1806 of yacc.c  */
    6621 #line 1274 "parser.yy"
    6622     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6623     break;
    6624 
    6625   case 306:
    6626 
    6627 /* Line 1806 of yacc.c  */
    6628 #line 1276 "parser.yy"
    6629     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6630     break;
    6631 
    6632   case 307:
    6633 
    6634 /* Line 1806 of yacc.c  */
    6635 #line 1278 "parser.yy"
    6636     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6637     break;
    6638 
    6639   case 308:
    6640 
    6641 /* Line 1806 of yacc.c  */
    6642 #line 1280 "parser.yy"
    6643     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6644     break;
    6645 
    6646   case 309:
    6647 
    6648 /* Line 1806 of yacc.c  */
    6649 #line 1282 "parser.yy"
    6650     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6651     break;
    6652 
    6653   case 310:
    6654 
    6655 /* Line 1806 of yacc.c  */
    6656 #line 1284 "parser.yy"
    6657     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    6658     break;
    6659 
    6660   case 311:
    6661 
    6662 /* Line 1806 of yacc.c  */
    6663 #line 1286 "parser.yy"
    6664     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    6665     break;
    6666 
    6667   case 312:
    6668 
    6669 /* Line 1806 of yacc.c  */
    6670 #line 1291 "parser.yy"
    6671     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6672     break;
    6673 
    6674   case 313:
    6675 
    6676 /* Line 1806 of yacc.c  */
    6677 #line 1293 "parser.yy"
    6678     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6679     break;
    6680 
    6681   case 314:
    6682 
    6683 /* Line 1806 of yacc.c  */
    6684 #line 1295 "parser.yy"
    6685     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6686     break;
    6687 
    6688   case 315:
    6689 
    6690 /* Line 1806 of yacc.c  */
    6691 #line 1297 "parser.yy"
    6692     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6693     break;
    6694 
    6695   case 316:
    6696 
    6697 /* Line 1806 of yacc.c  */
    6698 #line 1299 "parser.yy"
    6699     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6700     break;
    6701 
    6702   case 317:
    6703 
    6704 /* Line 1806 of yacc.c  */
    6705 #line 1301 "parser.yy"
    6706     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6707     break;
    6708 
    6709   case 318:
    6710 
    6711 /* Line 1806 of yacc.c  */
    6712 #line 1303 "parser.yy"
    6713     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6714     break;
    6715 
    6716   case 319:
    6717 
    6718 /* Line 1806 of yacc.c  */
    6719 #line 1305 "parser.yy"
    6720     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6721     break;
    6722 
    6723   case 320:
    6724 
    6725 /* Line 1806 of yacc.c  */
    6726 #line 1307 "parser.yy"
    6727     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    6728     break;
    6729 
    6730   case 321:
    6731 
    6732 /* Line 1806 of yacc.c  */
    6733 #line 1309 "parser.yy"
    6734     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    6735     break;
    6736 
    6737   case 322:
    6738 
    6739 /* Line 1806 of yacc.c  */
    6740 #line 1311 "parser.yy"
    6741     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    6742     break;
    6743 
    6744   case 323:
    6745 
    6746 /* Line 1806 of yacc.c  */
    6747 #line 1313 "parser.yy"
    6748     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    6749     break;
    6750 
    6751   case 325:
    6752 
    6753 /* Line 1806 of yacc.c  */
    6754 #line 1320 "parser.yy"
     6790  case 334:
     6791
     6792/* Line 1806 of yacc.c  */
     6793#line 1341 "parser.yy"
     6794    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6795    break;
     6796
     6797  case 335:
     6798
     6799/* Line 1806 of yacc.c  */
     6800#line 1346 "parser.yy"
     6801    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6802    break;
     6803
     6804  case 336:
     6805
     6806/* Line 1806 of yacc.c  */
     6807#line 1348 "parser.yy"
     6808    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6809    break;
     6810
     6811  case 337:
     6812
     6813/* Line 1806 of yacc.c  */
     6814#line 1350 "parser.yy"
     6815    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6816    break;
     6817
     6818  case 338:
     6819
     6820/* Line 1806 of yacc.c  */
     6821#line 1352 "parser.yy"
     6822    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6823    break;
     6824
     6825  case 340:
     6826
     6827/* Line 1806 of yacc.c  */
     6828#line 1358 "parser.yy"
    67556829    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67566830    break;
    67576831
    6758   case 326:
    6759 
    6760 /* Line 1806 of yacc.c  */
    6761 #line 1322 "parser.yy"
     6832  case 341:
     6833
     6834/* Line 1806 of yacc.c  */
     6835#line 1360 "parser.yy"
    67626836    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67636837    break;
    67646838
    6765   case 327:
    6766 
    6767 /* Line 1806 of yacc.c  */
    6768 #line 1324 "parser.yy"
     6839  case 342:
     6840
     6841/* Line 1806 of yacc.c  */
     6842#line 1362 "parser.yy"
    67696843    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67706844    break;
    67716845
    6772   case 328:
    6773 
    6774 /* Line 1806 of yacc.c  */
    6775 #line 1326 "parser.yy"
    6776     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6777     break;
    6778 
    6779   case 330:
    6780 
    6781 /* Line 1806 of yacc.c  */
    6782 #line 1332 "parser.yy"
    6783     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6784     break;
    6785 
    6786   case 332:
    6787 
    6788 /* Line 1806 of yacc.c  */
    6789 #line 1339 "parser.yy"
     6846  case 344:
     6847
     6848/* Line 1806 of yacc.c  */
     6849#line 1368 "parser.yy"
    67906850    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67916851    break;
    67926852
    6793   case 333:
    6794 
    6795 /* Line 1806 of yacc.c  */
    6796 #line 1341 "parser.yy"
     6853  case 345:
     6854
     6855/* Line 1806 of yacc.c  */
     6856#line 1370 "parser.yy"
    67976857    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67986858    break;
    67996859
    6800   case 334:
    6801 
    6802 /* Line 1806 of yacc.c  */
    6803 #line 1343 "parser.yy"
    6804     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6805     break;
    6806 
    6807   case 335:
    6808 
    6809 /* Line 1806 of yacc.c  */
    6810 #line 1348 "parser.yy"
    6811     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6812     break;
    6813 
    6814   case 336:
    6815 
    6816 /* Line 1806 of yacc.c  */
    6817 #line 1350 "parser.yy"
    6818     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6819     break;
    6820 
    6821   case 337:
    6822 
    6823 /* Line 1806 of yacc.c  */
    6824 #line 1352 "parser.yy"
    6825     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6826     break;
    6827 
    6828   case 338:
    6829 
    6830 /* Line 1806 of yacc.c  */
    6831 #line 1354 "parser.yy"
    6832     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6833     break;
    6834 
    6835   case 340:
    6836 
    6837 /* Line 1806 of yacc.c  */
    6838 #line 1360 "parser.yy"
     6860  case 347:
     6861
     6862/* Line 1806 of yacc.c  */
     6863#line 1376 "parser.yy"
    68396864    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68406865    break;
    68416866
    6842   case 341:
    6843 
    6844 /* Line 1806 of yacc.c  */
    6845 #line 1362 "parser.yy"
     6867  case 348:
     6868
     6869/* Line 1806 of yacc.c  */
     6870#line 1378 "parser.yy"
    68466871    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68476872    break;
    68486873
    6849   case 342:
    6850 
    6851 /* Line 1806 of yacc.c  */
    6852 #line 1364 "parser.yy"
     6874  case 349:
     6875
     6876/* Line 1806 of yacc.c  */
     6877#line 1380 "parser.yy"
    68536878    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68546879    break;
    68556880
    6856   case 344:
    6857 
    6858 /* Line 1806 of yacc.c  */
    6859 #line 1370 "parser.yy"
    6860     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6861     break;
    6862 
    6863   case 345:
    6864 
    6865 /* Line 1806 of yacc.c  */
    6866 #line 1372 "parser.yy"
     6881  case 350:
     6882
     6883/* Line 1806 of yacc.c  */
     6884#line 1385 "parser.yy"
     6885    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     6886    break;
     6887
     6888  case 351:
     6889
     6890/* Line 1806 of yacc.c  */
     6891#line 1387 "parser.yy"
     6892    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6893    break;
     6894
     6895  case 352:
     6896
     6897/* Line 1806 of yacc.c  */
     6898#line 1389 "parser.yy"
    68676899    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68686900    break;
    68696901
    6870   case 347:
    6871 
    6872 /* Line 1806 of yacc.c  */
    6873 #line 1378 "parser.yy"
    6874     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6875     break;
    6876 
    6877   case 348:
    6878 
    6879 /* Line 1806 of yacc.c  */
    6880 #line 1380 "parser.yy"
    6881     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6882     break;
    6883 
    6884   case 349:
    6885 
    6886 /* Line 1806 of yacc.c  */
    6887 #line 1382 "parser.yy"
    6888     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6889     break;
    6890 
    6891   case 350:
    6892 
    6893 /* Line 1806 of yacc.c  */
    6894 #line 1387 "parser.yy"
    6895     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    6896     break;
    6897 
    6898   case 351:
    6899 
    6900 /* Line 1806 of yacc.c  */
    6901 #line 1389 "parser.yy"
    6902     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6903     break;
    6904 
    6905   case 352:
    6906 
    6907 /* Line 1806 of yacc.c  */
    6908 #line 1391 "parser.yy"
    6909     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6910     break;
    6911 
    69126902  case 355:
    69136903
    69146904/* Line 1806 of yacc.c  */
     6905#line 1399 "parser.yy"
     6906    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
     6907    break;
     6908
     6909  case 356:
     6910
     6911/* Line 1806 of yacc.c  */
    69156912#line 1401 "parser.yy"
    6916     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    6917     break;
    6918 
    6919   case 356:
     6913    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
     6914    break;
     6915
     6916  case 357:
    69206917
    69216918/* Line 1806 of yacc.c  */
    69226919#line 1403 "parser.yy"
    6923     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    6924     break;
    6925 
    6926   case 357:
     6920    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     6921    break;
     6922
     6923  case 358:
    69276924
    69286925/* Line 1806 of yacc.c  */
    69296926#line 1405 "parser.yy"
    6930     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
    6931     break;
    6932 
    6933   case 358:
     6927    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
     6928    break;
     6929
     6930  case 359:
    69346931
    69356932/* Line 1806 of yacc.c  */
    69366933#line 1407 "parser.yy"
    6937     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    6938     break;
    6939 
    6940   case 359:
    6941 
    6942 /* Line 1806 of yacc.c  */
    6943 #line 1409 "parser.yy"
    69446934    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69456935    break;
     
    69486938
    69496939/* Line 1806 of yacc.c  */
     6940#line 1412 "parser.yy"
     6941    { (yyval.aggKey) = DeclarationNode::Struct; }
     6942    break;
     6943
     6944  case 361:
     6945
     6946/* Line 1806 of yacc.c  */
    69506947#line 1414 "parser.yy"
    6951     { (yyval.aggKey) = DeclarationNode::Struct; }
    6952     break;
    6953 
    6954   case 361:
    6955 
    6956 /* Line 1806 of yacc.c  */
    6957 #line 1416 "parser.yy"
    69586948    { (yyval.aggKey) = DeclarationNode::Union; }
    69596949    break;
     
    69626952
    69636953/* Line 1806 of yacc.c  */
     6954#line 1419 "parser.yy"
     6955    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
     6956    break;
     6957
     6958  case 363:
     6959
     6960/* Line 1806 of yacc.c  */
    69646961#line 1421 "parser.yy"
    6965     { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    6966     break;
    6967 
    6968   case 363:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1423 "parser.yy"
    69726962    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    69736963    break;
     
    69766966
    69776967/* Line 1806 of yacc.c  */
    6978 #line 1429 "parser.yy"
     6968#line 1427 "parser.yy"
    69796969    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    69806970    break;
     
    69836973
    69846974/* Line 1806 of yacc.c  */
    6985 #line 1432 "parser.yy"
     6975#line 1430 "parser.yy"
    69866976    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    69876977    break;
     
    69906980
    69916981/* Line 1806 of yacc.c  */
     6982#line 1436 "parser.yy"
     6983    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     6984    break;
     6985
     6986  case 370:
     6987
     6988/* Line 1806 of yacc.c  */
    69926989#line 1438 "parser.yy"
    6993     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    6994     break;
    6995 
    6996   case 370:
     6990    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     6991    break;
     6992
     6993  case 371:
    69976994
    69986995/* Line 1806 of yacc.c  */
    69996996#line 1440 "parser.yy"
    7000     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    7001     break;
    7002 
    7003   case 371:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1442 "parser.yy"
    70076997    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70086998    break;
     
    70117001
    70127002/* Line 1806 of yacc.c  */
     7003#line 1445 "parser.yy"
     7004    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7005    break;
     7006
     7007  case 373:
     7008
     7009/* Line 1806 of yacc.c  */
    70137010#line 1447 "parser.yy"
    7014     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7015     break;
    7016 
    7017   case 373:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1449 "parser.yy"
    70217011    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70227012    break;
     
    70257015
    70267016/* Line 1806 of yacc.c  */
     7017#line 1452 "parser.yy"
     7018    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7019    break;
     7020
     7021  case 375:
     7022
     7023/* Line 1806 of yacc.c  */
    70277024#line 1454 "parser.yy"
    7028     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    7029     break;
    7030 
    7031   case 375:
    7032 
    7033 /* Line 1806 of yacc.c  */
    7034 #line 1456 "parser.yy"
    70357025    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70367026    break;
     
    70397029
    70407030/* Line 1806 of yacc.c  */
    7041 #line 1459 "parser.yy"
     7031#line 1457 "parser.yy"
    70427032    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70437033    break;
     
    70467036
    70477037/* Line 1806 of yacc.c  */
    7048 #line 1462 "parser.yy"
     7038#line 1460 "parser.yy"
    70497039    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70507040    break;
     
    70537043
    70547044/* Line 1806 of yacc.c  */
     7045#line 1466 "parser.yy"
     7046    { (yyval.en) = 0; }
     7047    break;
     7048
     7049  case 380:
     7050
     7051/* Line 1806 of yacc.c  */
    70557052#line 1468 "parser.yy"
     7053    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     7054    break;
     7055
     7056  case 381:
     7057
     7058/* Line 1806 of yacc.c  */
     7059#line 1473 "parser.yy"
     7060    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     7061    break;
     7062
     7063  case 383:
     7064
     7065/* Line 1806 of yacc.c  */
     7066#line 1482 "parser.yy"
     7067    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7068    break;
     7069
     7070  case 384:
     7071
     7072/* Line 1806 of yacc.c  */
     7073#line 1484 "parser.yy"
     7074    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
     7075    break;
     7076
     7077  case 385:
     7078
     7079/* Line 1806 of yacc.c  */
     7080#line 1486 "parser.yy"
     7081    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
     7082    break;
     7083
     7084  case 386:
     7085
     7086/* Line 1806 of yacc.c  */
     7087#line 1491 "parser.yy"
     7088    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7089    break;
     7090
     7091  case 387:
     7092
     7093/* Line 1806 of yacc.c  */
     7094#line 1493 "parser.yy"
     7095    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7096    break;
     7097
     7098  case 388:
     7099
     7100/* Line 1806 of yacc.c  */
     7101#line 1498 "parser.yy"
    70567102    { (yyval.en) = 0; }
    70577103    break;
    70587104
    7059   case 380:
    7060 
    7061 /* Line 1806 of yacc.c  */
    7062 #line 1470 "parser.yy"
    7063     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7064     break;
    7065 
    7066   case 381:
    7067 
    7068 /* Line 1806 of yacc.c  */
    7069 #line 1475 "parser.yy"
     7105  case 389:
     7106
     7107/* Line 1806 of yacc.c  */
     7108#line 1500 "parser.yy"
    70707109    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    70717110    break;
    70727111
    7073   case 383:
    7074 
    7075 /* Line 1806 of yacc.c  */
    7076 #line 1484 "parser.yy"
    7077     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7078     break;
    7079 
    7080   case 384:
    7081 
    7082 /* Line 1806 of yacc.c  */
    7083 #line 1486 "parser.yy"
    7084     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    7085     break;
    7086 
    7087   case 385:
    7088 
    7089 /* Line 1806 of yacc.c  */
    7090 #line 1488 "parser.yy"
    7091     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    7092     break;
    7093 
    7094   case 386:
    7095 
    7096 /* Line 1806 of yacc.c  */
    7097 #line 1493 "parser.yy"
    7098     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    7099     break;
    7100 
    7101   case 387:
    7102 
    7103 /* Line 1806 of yacc.c  */
    7104 #line 1495 "parser.yy"
    7105     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    7106     break;
    7107 
    7108   case 388:
    7109 
    7110 /* Line 1806 of yacc.c  */
    7111 #line 1500 "parser.yy"
    7112     { (yyval.en) = 0; }
    7113     break;
    7114 
    7115   case 389:
    7116 
    7117 /* Line 1806 of yacc.c  */
    7118 #line 1502 "parser.yy"
    7119     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7120     break;
    7121 
    71227112  case 390:
    71237113
    71247114/* Line 1806 of yacc.c  */
    7125 #line 1509 "parser.yy"
     7115#line 1507 "parser.yy"
    71267116    { (yyval.decl) = 0; }
    71277117    break;
     
    71307120
    71317121/* Line 1806 of yacc.c  */
     7122#line 1515 "parser.yy"
     7123    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7124    break;
     7125
     7126  case 395:
     7127
     7128/* Line 1806 of yacc.c  */
    71327129#line 1517 "parser.yy"
    7133     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7134     break;
    7135 
    7136   case 395:
     7130    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7131    break;
     7132
     7133  case 396:
    71377134
    71387135/* Line 1806 of yacc.c  */
     
    71417138    break;
    71427139
    7143   case 396:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1521 "parser.yy"
    7147     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7148     break;
    7149 
    71507140  case 398:
     7141
     7142/* Line 1806 of yacc.c  */
     7143#line 1527 "parser.yy"
     7144    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7145    break;
     7146
     7147  case 399:
    71517148
    71527149/* Line 1806 of yacc.c  */
     
    71557152    break;
    71567153
    7157   case 399:
     7154  case 400:
    71587155
    71597156/* Line 1806 of yacc.c  */
    71607157#line 1531 "parser.yy"
     7158    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7159    break;
     7160
     7161  case 402:
     7162
     7163/* Line 1806 of yacc.c  */
     7164#line 1537 "parser.yy"
    71617165    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71627166    break;
    71637167
    7164   case 400:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1533 "parser.yy"
    7168     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7169     break;
    7170 
    7171   case 402:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1539 "parser.yy"
     7168  case 403:
     7169
     7170/* Line 1806 of yacc.c  */
     7171#line 1542 "parser.yy"
     7172    { (yyval.decl) = 0; }
     7173    break;
     7174
     7175  case 406:
     7176
     7177/* Line 1806 of yacc.c  */
     7178#line 1549 "parser.yy"
     7179    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7180    break;
     7181
     7182  case 409:
     7183
     7184/* Line 1806 of yacc.c  */
     7185#line 1556 "parser.yy"
    71757186    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71767187    break;
    71777188
    7178   case 403:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1544 "parser.yy"
    7182     { (yyval.decl) = 0; }
    7183     break;
    7184 
    7185   case 406:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1551 "parser.yy"
    7189     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7190     break;
    7191 
    7192   case 409:
     7189  case 410:
    71937190
    71947191/* Line 1806 of yacc.c  */
     
    71977194    break;
    71987195
    7199   case 410:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1560 "parser.yy"
    7203     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7204     break;
    7205 
    72067196  case 412:
    72077197
    72087198/* Line 1806 of yacc.c  */
    7209 #line 1569 "parser.yy"
     7199#line 1567 "parser.yy"
    72107200    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72117201    break;
     
    72147204
    72157205/* Line 1806 of yacc.c  */
     7206#line 1570 "parser.yy"
     7207    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7208    break;
     7209
     7210  case 414:
     7211
     7212/* Line 1806 of yacc.c  */
    72167213#line 1572 "parser.yy"
    7217     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7218     break;
    7219 
    7220   case 414:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1574 "parser.yy"
    72247214    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72257215    break;
     
    72287218
    72297219/* Line 1806 of yacc.c  */
    7230 #line 1584 "parser.yy"
     7220#line 1582 "parser.yy"
    72317221    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72327222    break;
     
    72357225
    72367226/* Line 1806 of yacc.c  */
    7237 #line 1590 "parser.yy"
     7227#line 1588 "parser.yy"
    72387228    {
    72397229                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72457235
    72467236/* Line 1806 of yacc.c  */
    7247 #line 1595 "parser.yy"
     7237#line 1593 "parser.yy"
    72487238    {
    72497239                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72557245
    72567246/* Line 1806 of yacc.c  */
    7257 #line 1604 "parser.yy"
     7247#line 1602 "parser.yy"
    72587248    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72597249    break;
     
    72627252
    72637253/* Line 1806 of yacc.c  */
     7254#line 1611 "parser.yy"
     7255    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
     7256    break;
     7257
     7258  case 426:
     7259
     7260/* Line 1806 of yacc.c  */
    72647261#line 1613 "parser.yy"
    7265     { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    7266     break;
    7267 
    7268   case 426:
    7269 
    7270 /* Line 1806 of yacc.c  */
    7271 #line 1615 "parser.yy"
    72727262    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    72737263    break;
     
    72767266
    72777267/* Line 1806 of yacc.c  */
    7278 #line 1640 "parser.yy"
     7268#line 1638 "parser.yy"
    72797269    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72807270    break;
     
    72837273
    72847274/* Line 1806 of yacc.c  */
    7285 #line 1648 "parser.yy"
     7275#line 1646 "parser.yy"
    72867276    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72877277    break;
     
    72907280
    72917281/* Line 1806 of yacc.c  */
     7282#line 1651 "parser.yy"
     7283    { (yyval.in) = 0; }
     7284    break;
     7285
     7286  case 444:
     7287
     7288/* Line 1806 of yacc.c  */
    72927289#line 1653 "parser.yy"
    7293     { (yyval.in) = 0; }
    7294     break;
    7295 
    7296   case 444:
    7297 
    7298 /* Line 1806 of yacc.c  */
    7299 #line 1655 "parser.yy"
    73007290    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73017291    break;
     
    73047294
    73057295/* Line 1806 of yacc.c  */
    7306 #line 1659 "parser.yy"
     7296#line 1657 "parser.yy"
    73077297    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73087298    break;
     
    73117301
    73127302/* Line 1806 of yacc.c  */
    7313 #line 1660 "parser.yy"
     7303#line 1658 "parser.yy"
    73147304    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73157305    break;
     
    73187308
    73197309/* Line 1806 of yacc.c  */
    7320 #line 1665 "parser.yy"
     7310#line 1663 "parser.yy"
    73217311    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73227312    break;
     
    73257315
    73267316/* Line 1806 of yacc.c  */
     7317#line 1664 "parser.yy"
     7318    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7319    break;
     7320
     7321  case 450:
     7322
     7323/* Line 1806 of yacc.c  */
    73277324#line 1666 "parser.yy"
    7328     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7329     break;
    7330 
    7331   case 450:
    7332 
    7333 /* Line 1806 of yacc.c  */
    7334 #line 1668 "parser.yy"
    73357325    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73367326    break;
     
    73397329
    73407330/* Line 1806 of yacc.c  */
    7341 #line 1684 "parser.yy"
     7331#line 1682 "parser.yy"
    73427332    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    73437333    break;
     
    73467336
    73477337/* Line 1806 of yacc.c  */
    7348 #line 1690 "parser.yy"
     7338#line 1688 "parser.yy"
    73497339    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    73507340    break;
     
    73537343
    73547344/* Line 1806 of yacc.c  */
     7345#line 1694 "parser.yy"
     7346    { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); }
     7347    break;
     7348
     7349  case 456:
     7350
     7351/* Line 1806 of yacc.c  */
    73557352#line 1697 "parser.yy"
    7356     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    7357     break;
    7358 
    7359   case 456:
     7353    { (yyval.en) = (yyvsp[(3) - (5)].en); }
     7354    break;
     7355
     7356  case 457:
    73607357
    73617358/* Line 1806 of yacc.c  */
    73627359#line 1699 "parser.yy"
    7363     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    7364     break;
    7365 
    7366   case 457:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1702 "parser.yy"
    7370     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7360    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    73717361    break;
    73727362
     
    73747364
    73757365/* Line 1806 of yacc.c  */
    7376 #line 1704 "parser.yy"
    7377     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7366#line 1701 "parser.yy"
     7367    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ); }
    73787368    break;
    73797369
     
    73817371
    73827372/* Line 1806 of yacc.c  */
    7383 #line 1706 "parser.yy"
    7384     { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    7385     break;
    7386 
    7387   case 460:
    7388 
    7389 /* Line 1806 of yacc.c  */
    7390 #line 1708 "parser.yy"
    7391     { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
     7373#line 1703 "parser.yy"
     7374    { (yyval.en) = (yyvsp[(4) - (6)].en); }
     7375    break;
     7376
     7377  case 461:
     7378
     7379/* Line 1806 of yacc.c  */
     7380#line 1727 "parser.yy"
     7381    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73927382    break;
    73937383
     
    73957385
    73967386/* Line 1806 of yacc.c  */
    7397 #line 1732 "parser.yy"
     7387#line 1729 "parser.yy"
     7388    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7389    break;
     7390
     7391  case 463:
     7392
     7393/* Line 1806 of yacc.c  */
     7394#line 1731 "parser.yy"
     7395    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7396    break;
     7397
     7398  case 465:
     7399
     7400/* Line 1806 of yacc.c  */
     7401#line 1737 "parser.yy"
    73987402    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73997403    break;
    74007404
    7401   case 463:
    7402 
    7403 /* Line 1806 of yacc.c  */
    7404 #line 1734 "parser.yy"
     7405  case 466:
     7406
     7407/* Line 1806 of yacc.c  */
     7408#line 1739 "parser.yy"
    74057409    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74067410    break;
    74077411
    7408   case 464:
    7409 
    7410 /* Line 1806 of yacc.c  */
    7411 #line 1736 "parser.yy"
    7412     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7413     break;
    7414 
    7415   case 466:
    7416 
    7417 /* Line 1806 of yacc.c  */
    7418 #line 1742 "parser.yy"
    7419     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7420     break;
    7421 
    74227412  case 467:
    74237413
    74247414/* Line 1806 of yacc.c  */
    74257415#line 1744 "parser.yy"
    7426     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7427     break;
    7428 
    7429   case 468:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1749 "parser.yy"
    74337416    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74347417    break;
    74357418
     7419  case 469:
     7420
     7421/* Line 1806 of yacc.c  */
     7422#line 1750 "parser.yy"
     7423    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7424    break;
     7425
    74367426  case 470:
    74377427
    74387428/* Line 1806 of yacc.c  */
    74397429#line 1755 "parser.yy"
    7440     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7430    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    74417431    break;
    74427432
     
    74447434
    74457435/* Line 1806 of yacc.c  */
    7446 #line 1760 "parser.yy"
    7447     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7448     break;
    7449 
    7450   case 472:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1762 "parser.yy"
     7436#line 1757 "parser.yy"
    74547437    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    74557438    break;
    74567439
     7440  case 473:
     7441
     7442/* Line 1806 of yacc.c  */
     7443#line 1763 "parser.yy"
     7444    { (yyval.tclass) = DeclarationNode::Type; }
     7445    break;
     7446
    74577447  case 474:
    74587448
    74597449/* Line 1806 of yacc.c  */
    7460 #line 1768 "parser.yy"
    7461     { (yyval.tclass) = DeclarationNode::Type; }
     7450#line 1765 "parser.yy"
     7451    { (yyval.tclass) = DeclarationNode::Ftype; }
    74627452    break;
    74637453
     
    74657455
    74667456/* Line 1806 of yacc.c  */
    7467 #line 1770 "parser.yy"
    7468     { (yyval.tclass) = DeclarationNode::Ftype; }
     7457#line 1767 "parser.yy"
     7458    { (yyval.tclass) = DeclarationNode::Dtype; }
    74697459    break;
    74707460
     
    74737463/* Line 1806 of yacc.c  */
    74747464#line 1772 "parser.yy"
    7475     { (yyval.tclass) = DeclarationNode::Dtype; }
     7465    { (yyval.decl) = 0; }
    74767466    break;
    74777467
     
    74797469
    74807470/* Line 1806 of yacc.c  */
    7481 #line 1777 "parser.yy"
    7482     { (yyval.decl) = 0; }
     7471#line 1774 "parser.yy"
     7472    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    74837473    break;
    74847474
     
    74877477/* Line 1806 of yacc.c  */
    74887478#line 1779 "parser.yy"
    7489     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7490     break;
    7491 
    7492   case 479:
    7493 
    7494 /* Line 1806 of yacc.c  */
    7495 #line 1784 "parser.yy"
    74967479    {
    74977480                        typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
     
    75007483    break;
    75017484
     7485  case 479:
     7486
     7487/* Line 1806 of yacc.c  */
     7488#line 1784 "parser.yy"
     7489    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7490    break;
     7491
    75027492  case 480:
    75037493
    75047494/* Line 1806 of yacc.c  */
    7505 #line 1789 "parser.yy"
    7506     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7495#line 1786 "parser.yy"
     7496    { (yyval.decl) = 0; }
    75077497    break;
    75087498
     
    75117501/* Line 1806 of yacc.c  */
    75127502#line 1791 "parser.yy"
    7513     { (yyval.decl) = 0; }
    7514     break;
    7515 
    7516   case 482:
     7503    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7504    break;
     7505
     7506  case 483:
     7507
     7508/* Line 1806 of yacc.c  */
     7509#line 1794 "parser.yy"
     7510    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7511    break;
     7512
     7513  case 484:
    75177514
    75187515/* Line 1806 of yacc.c  */
    75197516#line 1796 "parser.yy"
    7520     { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    7521     break;
    7522 
    7523   case 484:
    7524 
    7525 /* Line 1806 of yacc.c  */
    7526 #line 1799 "parser.yy"
    7527     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7517    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    75287518    break;
    75297519
     
    75327522/* Line 1806 of yacc.c  */
    75337523#line 1801 "parser.yy"
    7534     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7524    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    75357525    break;
    75367526
     
    75387528
    75397529/* Line 1806 of yacc.c  */
    7540 #line 1806 "parser.yy"
    7541     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7530#line 1803 "parser.yy"
     7531    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    75427532    break;
    75437533
     
    75457535
    75467536/* Line 1806 of yacc.c  */
    7547 #line 1808 "parser.yy"
    7548     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7537#line 1805 "parser.yy"
     7538    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    75497539    break;
    75507540
     
    75537543/* Line 1806 of yacc.c  */
    75547544#line 1810 "parser.yy"
    7555     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
     7545    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    75567546    break;
    75577547
     
    75597549
    75607550/* Line 1806 of yacc.c  */
    7561 #line 1815 "parser.yy"
    7562     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
     7551#line 1812 "parser.yy"
     7552    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    75637553    break;
    75647554
     
    75677557/* Line 1806 of yacc.c  */
    75687558#line 1817 "parser.yy"
    7569     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    7570     break;
    7571 
    7572   case 491:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1822 "parser.yy"
    75767559    {
    75777560                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    75807563    break;
    75817564
    7582   case 492:
    7583 
    7584 /* Line 1806 of yacc.c  */
    7585 #line 1827 "parser.yy"
     7565  case 491:
     7566
     7567/* Line 1806 of yacc.c  */
     7568#line 1822 "parser.yy"
    75867569    {
    75877570                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    75907573    break;
    75917574
    7592   case 493:
    7593 
    7594 /* Line 1806 of yacc.c  */
    7595 #line 1835 "parser.yy"
     7575  case 492:
     7576
     7577/* Line 1806 of yacc.c  */
     7578#line 1830 "parser.yy"
    75967579    {
    75977580                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76007583    break;
    76017584
    7602   case 494:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1840 "parser.yy"
     7585  case 493:
     7586
     7587/* Line 1806 of yacc.c  */
     7588#line 1835 "parser.yy"
    76067589    {
    76077590                        typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     
    76107593    break;
    76117594
    7612   case 495:
    7613 
    7614 /* Line 1806 of yacc.c  */
    7615 #line 1845 "parser.yy"
     7595  case 494:
     7596
     7597/* Line 1806 of yacc.c  */
     7598#line 1840 "parser.yy"
    76167599    {
    76177600                        typedefTable.leaveContext();
     
    76217604    break;
    76227605
    7623   case 497:
    7624 
    7625 /* Line 1806 of yacc.c  */
    7626 #line 1855 "parser.yy"
     7606  case 496:
     7607
     7608/* Line 1806 of yacc.c  */
     7609#line 1850 "parser.yy"
    76277610    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
     7611    break;
     7612
     7613  case 499:
     7614
     7615/* Line 1806 of yacc.c  */
     7616#line 1860 "parser.yy"
     7617    {
     7618                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     7619                        (yyval.decl) = (yyvsp[(1) - (1)].decl);
     7620                }
    76287621    break;
    76297622
     
    76437636#line 1870 "parser.yy"
    76447637    {
    7645                         typedefTable.addToEnclosingScope2( TypedefTable::ID );
    7646                         (yyval.decl) = (yyvsp[(1) - (1)].decl);
    7647                 }
    7648     break;
    7649 
    7650   case 502:
    7651 
    7652 /* Line 1806 of yacc.c  */
    7653 #line 1875 "parser.yy"
    7654     {
    76557638                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
    76567639                        (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) );
     
    76587641    break;
    76597642
    7660   case 503:
    7661 
    7662 /* Line 1806 of yacc.c  */
    7663 #line 1883 "parser.yy"
     7643  case 502:
     7644
     7645/* Line 1806 of yacc.c  */
     7646#line 1878 "parser.yy"
    76647647    {
    76657648                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76687651    break;
    76697652
    7670   case 504:
    7671 
    7672 /* Line 1806 of yacc.c  */
    7673 #line 1888 "parser.yy"
     7653  case 503:
     7654
     7655/* Line 1806 of yacc.c  */
     7656#line 1883 "parser.yy"
    76747657    {
    76757658                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76787661    break;
    76797662
     7663  case 504:
     7664
     7665/* Line 1806 of yacc.c  */
     7666#line 1893 "parser.yy"
     7667    {}
     7668    break;
     7669
    76807670  case 505:
    76817671
    76827672/* Line 1806 of yacc.c  */
    7683 #line 1898 "parser.yy"
    7684     {}
    7685     break;
    7686 
    7687   case 506:
    7688 
    7689 /* Line 1806 of yacc.c  */
    7690 #line 1900 "parser.yy"
     7673#line 1895 "parser.yy"
    76917674    {
    76927675                        if ( theTree ) {
     
    76987681    break;
    76997682
     7683  case 507:
     7684
     7685/* Line 1806 of yacc.c  */
     7686#line 1907 "parser.yy"
     7687    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     7688    break;
     7689
    77007690  case 508:
    77017691
    77027692/* Line 1806 of yacc.c  */
    77037693#line 1912 "parser.yy"
    7704     { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    7705     break;
    7706 
    7707   case 509:
    7708 
    7709 /* Line 1806 of yacc.c  */
    7710 #line 1917 "parser.yy"
    77117694    { (yyval.decl) = 0; }
    77127695    break;
    77137696
     7697  case 512:
     7698
     7699/* Line 1806 of yacc.c  */
     7700#line 1920 "parser.yy"
     7701    {}
     7702    break;
     7703
    77147704  case 513:
    77157705
    77167706/* Line 1806 of yacc.c  */
    7717 #line 1925 "parser.yy"
    7718     {}
    7719     break;
    7720 
    7721   case 514:
    7722 
    7723 /* Line 1806 of yacc.c  */
    7724 #line 1927 "parser.yy"
     7707#line 1922 "parser.yy"
    77257708    {
    77267709                        linkageStack.push( linkage );
     
    77297712    break;
    77307713
    7731   case 515:
    7732 
    7733 /* Line 1806 of yacc.c  */
    7734 #line 1932 "parser.yy"
     7714  case 514:
     7715
     7716/* Line 1806 of yacc.c  */
     7717#line 1927 "parser.yy"
    77357718    {
    77367719                        linkage = linkageStack.top();
     
    77407723    break;
    77417724
    7742   case 516:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1938 "parser.yy"
     7725  case 515:
     7726
     7727/* Line 1806 of yacc.c  */
     7728#line 1933 "parser.yy"
    77467729    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77477730    break;
    77487731
    7749   case 518:
    7750 
    7751 /* Line 1806 of yacc.c  */
    7752 #line 1948 "parser.yy"
     7732  case 517:
     7733
     7734/* Line 1806 of yacc.c  */
     7735#line 1943 "parser.yy"
    77537736    {
    77547737                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77587741    break;
    77597742
    7760   case 519:
    7761 
    7762 /* Line 1806 of yacc.c  */
    7763 #line 1954 "parser.yy"
     7743  case 518:
     7744
     7745/* Line 1806 of yacc.c  */
     7746#line 1949 "parser.yy"
    77647747    {
    77657748                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77697752    break;
    77707753
    7771   case 520:
    7772 
    7773 /* Line 1806 of yacc.c  */
    7774 #line 1963 "parser.yy"
     7754  case 519:
     7755
     7756/* Line 1806 of yacc.c  */
     7757#line 1958 "parser.yy"
    77757758    {
    77767759                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77807763    break;
    77817764
    7782   case 521:
    7783 
    7784 /* Line 1806 of yacc.c  */
    7785 #line 1969 "parser.yy"
     7765  case 520:
     7766
     7767/* Line 1806 of yacc.c  */
     7768#line 1964 "parser.yy"
    77867769    {
    77877770                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77917774    break;
    77927775
    7793   case 522:
    7794 
    7795 /* Line 1806 of yacc.c  */
    7796 #line 1975 "parser.yy"
     7776  case 521:
     7777
     7778/* Line 1806 of yacc.c  */
     7779#line 1970 "parser.yy"
    77977780    {
    77987781                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78027785    break;
    78037786
    7804   case 523:
    7805 
    7806 /* Line 1806 of yacc.c  */
    7807 #line 1981 "parser.yy"
     7787  case 522:
     7788
     7789/* Line 1806 of yacc.c  */
     7790#line 1976 "parser.yy"
    78087791    {
    78097792                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78137796    break;
    78147797
    7815   case 524:
    7816 
    7817 /* Line 1806 of yacc.c  */
    7818 #line 1987 "parser.yy"
     7798  case 523:
     7799
     7800/* Line 1806 of yacc.c  */
     7801#line 1982 "parser.yy"
    78197802    {
    78207803                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78247807    break;
    78257808
    7826   case 525:
    7827 
    7828 /* Line 1806 of yacc.c  */
    7829 #line 1995 "parser.yy"
     7809  case 524:
     7810
     7811/* Line 1806 of yacc.c  */
     7812#line 1990 "parser.yy"
    78307813    {
    78317814                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78357818    break;
    78367819
    7837   case 526:
    7838 
    7839 /* Line 1806 of yacc.c  */
    7840 #line 2001 "parser.yy"
     7820  case 525:
     7821
     7822/* Line 1806 of yacc.c  */
     7823#line 1996 "parser.yy"
    78417824    {
    78427825                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78467829    break;
    78477830
    7848   case 527:
    7849 
    7850 /* Line 1806 of yacc.c  */
    7851 #line 2009 "parser.yy"
     7831  case 526:
     7832
     7833/* Line 1806 of yacc.c  */
     7834#line 2004 "parser.yy"
    78527835    {
    78537836                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78577840    break;
    78587841
    7859   case 528:
    7860 
    7861 /* Line 1806 of yacc.c  */
    7862 #line 2015 "parser.yy"
     7842  case 527:
     7843
     7844/* Line 1806 of yacc.c  */
     7845#line 2010 "parser.yy"
    78637846    {
    78647847                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78687851    break;
    78697852
    7870   case 532:
    7871 
    7872 /* Line 1806 of yacc.c  */
    7873 #line 2030 "parser.yy"
     7853  case 531:
     7854
     7855/* Line 1806 of yacc.c  */
     7856#line 2025 "parser.yy"
    78747857    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    78757858    break;
    78767859
    7877   case 535:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 2040 "parser.yy"
     7860  case 534:
     7861
     7862/* Line 1806 of yacc.c  */
     7863#line 2035 "parser.yy"
    78817864    { (yyval.decl) = 0; }
    78827865    break;
    78837866
     7867  case 537:
     7868
     7869/* Line 1806 of yacc.c  */
     7870#line 2042 "parser.yy"
     7871    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7872    break;
     7873
    78847874  case 538:
    78857875
    78867876/* Line 1806 of yacc.c  */
    7887 #line 2047 "parser.yy"
    7888     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7889     break;
    7890 
    7891   case 539:
    7892 
    7893 /* Line 1806 of yacc.c  */
    7894 #line 2053 "parser.yy"
     7877#line 2048 "parser.yy"
    78957878    { (yyval.decl) = 0; }
    78967879    break;
    78977880
     7881  case 544:
     7882
     7883/* Line 1806 of yacc.c  */
     7884#line 2063 "parser.yy"
     7885    {}
     7886    break;
     7887
    78987888  case 545:
    78997889
    79007890/* Line 1806 of yacc.c  */
    7901 #line 2068 "parser.yy"
     7891#line 2064 "parser.yy"
    79027892    {}
    79037893    break;
     
    79067896
    79077897/* Line 1806 of yacc.c  */
    7908 #line 2069 "parser.yy"
     7898#line 2065 "parser.yy"
    79097899    {}
    79107900    break;
     
    79137903
    79147904/* Line 1806 of yacc.c  */
    7915 #line 2070 "parser.yy"
     7905#line 2066 "parser.yy"
    79167906    {}
    79177907    break;
     
    79207910
    79217911/* Line 1806 of yacc.c  */
    7922 #line 2071 "parser.yy"
    7923     {}
    7924     break;
    7925 
    7926   case 549:
     7912#line 2101 "parser.yy"
     7913    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7914    break;
     7915
     7916  case 550:
     7917
     7918/* Line 1806 of yacc.c  */
     7919#line 2104 "parser.yy"
     7920    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7921    break;
     7922
     7923  case 551:
    79277924
    79287925/* Line 1806 of yacc.c  */
     
    79317928    break;
    79327929
    7933   case 551:
    7934 
    7935 /* Line 1806 of yacc.c  */
    7936 #line 2109 "parser.yy"
    7937     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7938     break;
    7939 
    79407930  case 552:
    79417931
    79427932/* Line 1806 of yacc.c  */
    79437933#line 2111 "parser.yy"
    7944     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7945     break;
    7946 
    7947   case 553:
    7948 
    7949 /* Line 1806 of yacc.c  */
    7950 #line 2116 "parser.yy"
    79517934    {
    79527935                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    79557938    break;
    79567939
     7940  case 553:
     7941
     7942/* Line 1806 of yacc.c  */
     7943#line 2116 "parser.yy"
     7944    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7945    break;
     7946
    79577947  case 554:
    79587948
    79597949/* Line 1806 of yacc.c  */
    79607950#line 2121 "parser.yy"
     7951    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     7952    break;
     7953
     7954  case 555:
     7955
     7956/* Line 1806 of yacc.c  */
     7957#line 2123 "parser.yy"
     7958    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     7959    break;
     7960
     7961  case 556:
     7962
     7963/* Line 1806 of yacc.c  */
     7964#line 2125 "parser.yy"
    79617965    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79627966    break;
    79637967
    7964   case 555:
    7965 
    7966 /* Line 1806 of yacc.c  */
    7967 #line 2126 "parser.yy"
     7968  case 557:
     7969
     7970/* Line 1806 of yacc.c  */
     7971#line 2130 "parser.yy"
     7972    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     7973    break;
     7974
     7975  case 558:
     7976
     7977/* Line 1806 of yacc.c  */
     7978#line 2132 "parser.yy"
     7979    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7980    break;
     7981
     7982  case 559:
     7983
     7984/* Line 1806 of yacc.c  */
     7985#line 2134 "parser.yy"
     7986    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     7987    break;
     7988
     7989  case 560:
     7990
     7991/* Line 1806 of yacc.c  */
     7992#line 2136 "parser.yy"
     7993    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7994    break;
     7995
     7996  case 561:
     7997
     7998/* Line 1806 of yacc.c  */
     7999#line 2141 "parser.yy"
     8000    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8001    break;
     8002
     8003  case 562:
     8004
     8005/* Line 1806 of yacc.c  */
     8006#line 2143 "parser.yy"
     8007    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8008    break;
     8009
     8010  case 563:
     8011
     8012/* Line 1806 of yacc.c  */
     8013#line 2153 "parser.yy"
     8014    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8015    break;
     8016
     8017  case 565:
     8018
     8019/* Line 1806 of yacc.c  */
     8020#line 2156 "parser.yy"
     8021    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8022    break;
     8023
     8024  case 566:
     8025
     8026/* Line 1806 of yacc.c  */
     8027#line 2161 "parser.yy"
     8028    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8029    break;
     8030
     8031  case 567:
     8032
     8033/* Line 1806 of yacc.c  */
     8034#line 2163 "parser.yy"
     8035    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8036    break;
     8037
     8038  case 568:
     8039
     8040/* Line 1806 of yacc.c  */
     8041#line 2165 "parser.yy"
     8042    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8043    break;
     8044
     8045  case 569:
     8046
     8047/* Line 1806 of yacc.c  */
     8048#line 2170 "parser.yy"
    79688049    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    79698050    break;
    79708051
    7971   case 556:
    7972 
    7973 /* Line 1806 of yacc.c  */
    7974 #line 2128 "parser.yy"
     8052  case 570:
     8053
     8054/* Line 1806 of yacc.c  */
     8055#line 2172 "parser.yy"
    79758056    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    79768057    break;
    79778058
    7978   case 557:
    7979 
    7980 /* Line 1806 of yacc.c  */
    7981 #line 2130 "parser.yy"
     8059  case 571:
     8060
     8061/* Line 1806 of yacc.c  */
     8062#line 2174 "parser.yy"
    79828063    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79838064    break;
    79848065
    7985   case 558:
    7986 
    7987 /* Line 1806 of yacc.c  */
    7988 #line 2135 "parser.yy"
    7989     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    7990     break;
    7991 
    7992   case 559:
    7993 
    7994 /* Line 1806 of yacc.c  */
    7995 #line 2137 "parser.yy"
     8066  case 572:
     8067
     8068/* Line 1806 of yacc.c  */
     8069#line 2179 "parser.yy"
    79968070    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    79978071    break;
    79988072
    7999   case 560:
    8000 
    8001 /* Line 1806 of yacc.c  */
    8002 #line 2139 "parser.yy"
     8073  case 573:
     8074
     8075/* Line 1806 of yacc.c  */
     8076#line 2181 "parser.yy"
    80038077    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80048078    break;
    80058079
    8006   case 561:
    8007 
    8008 /* Line 1806 of yacc.c  */
    8009 #line 2141 "parser.yy"
     8080  case 574:
     8081
     8082/* Line 1806 of yacc.c  */
     8083#line 2183 "parser.yy"
    80108084    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80118085    break;
    80128086
    8013   case 562:
    8014 
    8015 /* Line 1806 of yacc.c  */
    8016 #line 2146 "parser.yy"
    8017     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8018     break;
    8019 
    8020   case 563:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2148 "parser.yy"
     8087  case 578:
     8088
     8089/* Line 1806 of yacc.c  */
     8090#line 2198 "parser.yy"
     8091    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8092    break;
     8093
     8094  case 579:
     8095
     8096/* Line 1806 of yacc.c  */
     8097#line 2200 "parser.yy"
     8098    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8099    break;
     8100
     8101  case 580:
     8102
     8103/* Line 1806 of yacc.c  */
     8104#line 2202 "parser.yy"
    80248105    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80258106    break;
    80268107
    8027   case 564:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2158 "parser.yy"
     8108  case 581:
     8109
     8110/* Line 1806 of yacc.c  */
     8111#line 2207 "parser.yy"
     8112    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8113    break;
     8114
     8115  case 582:
     8116
     8117/* Line 1806 of yacc.c  */
     8118#line 2209 "parser.yy"
     8119    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8120    break;
     8121
     8122  case 583:
     8123
     8124/* Line 1806 of yacc.c  */
     8125#line 2211 "parser.yy"
     8126    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8127    break;
     8128
     8129  case 584:
     8130
     8131/* Line 1806 of yacc.c  */
     8132#line 2216 "parser.yy"
     8133    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8134    break;
     8135
     8136  case 585:
     8137
     8138/* Line 1806 of yacc.c  */
     8139#line 2218 "parser.yy"
     8140    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8141    break;
     8142
     8143  case 586:
     8144
     8145/* Line 1806 of yacc.c  */
     8146#line 2220 "parser.yy"
     8147    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8148    break;
     8149
     8150  case 587:
     8151
     8152/* Line 1806 of yacc.c  */
     8153#line 2235 "parser.yy"
    80318154    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80328155    break;
    80338156
    8034   case 566:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2161 "parser.yy"
     8157  case 589:
     8158
     8159/* Line 1806 of yacc.c  */
     8160#line 2238 "parser.yy"
    80388161    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80398162    break;
    80408163
    8041   case 567:
    8042 
    8043 /* Line 1806 of yacc.c  */
    8044 #line 2166 "parser.yy"
    8045     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8046     break;
    8047 
    8048   case 568:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2168 "parser.yy"
    8052     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8053     break;
    8054 
    8055   case 569:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2170 "parser.yy"
    8059     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8060     break;
    8061 
    8062   case 570:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2175 "parser.yy"
    8066     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8067     break;
    8068 
    8069   case 571:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2177 "parser.yy"
    8073     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8074     break;
    8075 
    8076   case 572:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2179 "parser.yy"
    8080     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8081     break;
    8082 
    8083   case 573:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2184 "parser.yy"
    8087     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8088     break;
    8089 
    8090   case 574:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2186 "parser.yy"
    8094     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8095     break;
    8096 
    8097   case 575:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2188 "parser.yy"
    8101     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8102     break;
    8103 
    8104   case 579:
    8105 
    8106 /* Line 1806 of yacc.c  */
    8107 #line 2203 "parser.yy"
    8108     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8109     break;
    8110 
    8111   case 580:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2205 "parser.yy"
    8115     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8116     break;
    8117 
    8118   case 581:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2207 "parser.yy"
    8122     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8123     break;
    8124 
    8125   case 582:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2212 "parser.yy"
    8129     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8130     break;
    8131 
    8132   case 583:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2214 "parser.yy"
    8136     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8137     break;
    8138 
    8139   case 584:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2216 "parser.yy"
    8143     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8144     break;
    8145 
    8146   case 585:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2221 "parser.yy"
    8150     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8151     break;
    8152 
    8153   case 586:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2223 "parser.yy"
    8157     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8158     break;
    8159 
    8160   case 587:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2225 "parser.yy"
    8164     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8165     break;
    8166 
    8167   case 588:
     8164  case 590:
    81688165
    81698166/* Line 1806 of yacc.c  */
     
    81728169    break;
    81738170
    8174   case 590:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
     8171  case 592:
     8172
     8173/* Line 1806 of yacc.c  */
     8174#line 2246 "parser.yy"
     8175    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8176    break;
     8177
     8178  case 593:
     8179
     8180/* Line 1806 of yacc.c  */
     8181#line 2251 "parser.yy"
     8182    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8183    break;
     8184
     8185  case 594:
     8186
     8187/* Line 1806 of yacc.c  */
     8188#line 2253 "parser.yy"
     8189    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8190    break;
     8191
     8192  case 595:
     8193
     8194/* Line 1806 of yacc.c  */
     8195#line 2255 "parser.yy"
     8196    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8197    break;
     8198
     8199  case 596:
     8200
     8201/* Line 1806 of yacc.c  */
     8202#line 2260 "parser.yy"
     8203    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8204    break;
     8205
     8206  case 597:
     8207
     8208/* Line 1806 of yacc.c  */
     8209#line 2262 "parser.yy"
     8210    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8211    break;
     8212
     8213  case 598:
     8214
     8215/* Line 1806 of yacc.c  */
     8216#line 2264 "parser.yy"
     8217    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8218    break;
     8219
     8220  case 599:
     8221
     8222/* Line 1806 of yacc.c  */
     8223#line 2266 "parser.yy"
     8224    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8225    break;
     8226
     8227  case 600:
     8228
     8229/* Line 1806 of yacc.c  */
     8230#line 2271 "parser.yy"
     8231    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8232    break;
     8233
     8234  case 601:
     8235
     8236/* Line 1806 of yacc.c  */
     8237#line 2273 "parser.yy"
     8238    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8239    break;
     8240
     8241  case 602:
     8242
     8243/* Line 1806 of yacc.c  */
     8244#line 2275 "parser.yy"
     8245    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8246    break;
     8247
     8248  case 603:
     8249
     8250/* Line 1806 of yacc.c  */
     8251#line 2285 "parser.yy"
    81788252    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81798253    break;
    81808254
    8181   case 591:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
     8255  case 605:
     8256
     8257/* Line 1806 of yacc.c  */
     8258#line 2288 "parser.yy"
    81858259    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81868260    break;
    81878261
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2251 "parser.yy"
    8192     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8193     break;
    8194 
    8195   case 594:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2256 "parser.yy"
    8199     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8200     break;
    8201 
    8202   case 595:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2258 "parser.yy"
    8206     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8207     break;
    8208 
    8209   case 596:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2260 "parser.yy"
    8213     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8214     break;
    8215 
    8216   case 597:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2265 "parser.yy"
    8220     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8221     break;
    8222 
    8223   case 598:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2267 "parser.yy"
    8227     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8228     break;
    8229 
    8230   case 599:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2269 "parser.yy"
    8234     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8235     break;
    8236 
    8237   case 600:
    8238 
    8239 /* Line 1806 of yacc.c  */
    8240 #line 2271 "parser.yy"
    8241     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8242     break;
    8243 
    8244   case 601:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2276 "parser.yy"
    8248     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8249     break;
    8250 
    8251   case 602:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2278 "parser.yy"
    8255     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8256     break;
    8257 
    8258   case 603:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2280 "parser.yy"
    8262     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8263     break;
    8264 
    8265   case 604:
     8262  case 606:
    82668263
    82678264/* Line 1806 of yacc.c  */
     
    82708267    break;
    82718268
    8272   case 606:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2293 "parser.yy"
     8269  case 607:
     8270
     8271/* Line 1806 of yacc.c  */
     8272#line 2295 "parser.yy"
     8273    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8274    break;
     8275
     8276  case 608:
     8277
     8278/* Line 1806 of yacc.c  */
     8279#line 2297 "parser.yy"
     8280    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8281    break;
     8282
     8283  case 609:
     8284
     8285/* Line 1806 of yacc.c  */
     8286#line 2299 "parser.yy"
     8287    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8288    break;
     8289
     8290  case 610:
     8291
     8292/* Line 1806 of yacc.c  */
     8293#line 2304 "parser.yy"
     8294    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8295    break;
     8296
     8297  case 611:
     8298
     8299/* Line 1806 of yacc.c  */
     8300#line 2306 "parser.yy"
     8301    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8302    break;
     8303
     8304  case 612:
     8305
     8306/* Line 1806 of yacc.c  */
     8307#line 2308 "parser.yy"
     8308    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8309    break;
     8310
     8311  case 613:
     8312
     8313/* Line 1806 of yacc.c  */
     8314#line 2310 "parser.yy"
     8315    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8316    break;
     8317
     8318  case 614:
     8319
     8320/* Line 1806 of yacc.c  */
     8321#line 2315 "parser.yy"
     8322    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8323    break;
     8324
     8325  case 615:
     8326
     8327/* Line 1806 of yacc.c  */
     8328#line 2317 "parser.yy"
     8329    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8330    break;
     8331
     8332  case 616:
     8333
     8334/* Line 1806 of yacc.c  */
     8335#line 2319 "parser.yy"
     8336    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8337    break;
     8338
     8339  case 617:
     8340
     8341/* Line 1806 of yacc.c  */
     8342#line 2350 "parser.yy"
    82768343    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82778344    break;
    82788345
    8279   case 607:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2295 "parser.yy"
     8346  case 619:
     8347
     8348/* Line 1806 of yacc.c  */
     8349#line 2353 "parser.yy"
    82838350    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82848351    break;
    82858352
    8286   case 608:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2300 "parser.yy"
    8290     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8291     break;
    8292 
    8293   case 609:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2302 "parser.yy"
    8297     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8298     break;
    8299 
    8300   case 610:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2304 "parser.yy"
    8304     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8305     break;
    8306 
    8307   case 611:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2309 "parser.yy"
    8311     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8312     break;
    8313 
    8314   case 612:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2311 "parser.yy"
    8318     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8319     break;
    8320 
    8321   case 613:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2313 "parser.yy"
    8325     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8326     break;
    8327 
    8328   case 614:
    8329 
    8330 /* Line 1806 of yacc.c  */
    8331 #line 2315 "parser.yy"
    8332     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8333     break;
    8334 
    8335   case 615:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2320 "parser.yy"
    8339     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8340     break;
    8341 
    8342   case 616:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2322 "parser.yy"
    8346     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8347     break;
    8348 
    8349   case 617:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2324 "parser.yy"
    8353     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8354     break;
    8355 
    8356   case 618:
     8353  case 620:
    83578354
    83588355/* Line 1806 of yacc.c  */
     
    83618358    break;
    83628359
    8363   case 620:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2358 "parser.yy"
    8367     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8368     break;
    8369 
    83708360  case 621:
    83718361
    83728362/* Line 1806 of yacc.c  */
    83738363#line 2360 "parser.yy"
    8374     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8364    {
     8365                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     8366                        (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );
     8367                }
    83758368    break;
    83768369
     
    83888381
    83898382/* Line 1806 of yacc.c  */
    8390 #line 2370 "parser.yy"
    8391     {
    8392                         typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
    8393                         (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) );
    8394                 }
     8383#line 2373 "parser.yy"
     8384    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83958385    break;
    83968386
     
    83988388
    83998389/* Line 1806 of yacc.c  */
    8400 #line 2378 "parser.yy"
     8390#line 2375 "parser.yy"
     8391    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8392    break;
     8393
     8394  case 625:
     8395
     8396/* Line 1806 of yacc.c  */
     8397#line 2377 "parser.yy"
     8398    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8399    break;
     8400
     8401  case 626:
     8402
     8403/* Line 1806 of yacc.c  */
     8404#line 2382 "parser.yy"
     8405    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8406    break;
     8407
     8408  case 627:
     8409
     8410/* Line 1806 of yacc.c  */
     8411#line 2384 "parser.yy"
     8412    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8413    break;
     8414
     8415  case 628:
     8416
     8417/* Line 1806 of yacc.c  */
     8418#line 2389 "parser.yy"
     8419    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8420    break;
     8421
     8422  case 629:
     8423
     8424/* Line 1806 of yacc.c  */
     8425#line 2391 "parser.yy"
     8426    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8427    break;
     8428
     8429  case 631:
     8430
     8431/* Line 1806 of yacc.c  */
     8432#line 2406 "parser.yy"
     8433    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8434    break;
     8435
     8436  case 632:
     8437
     8438/* Line 1806 of yacc.c  */
     8439#line 2408 "parser.yy"
     8440    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8441    break;
     8442
     8443  case 633:
     8444
     8445/* Line 1806 of yacc.c  */
     8446#line 2413 "parser.yy"
     8447    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8448    break;
     8449
     8450  case 634:
     8451
     8452/* Line 1806 of yacc.c  */
     8453#line 2415 "parser.yy"
     8454    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8455    break;
     8456
     8457  case 635:
     8458
     8459/* Line 1806 of yacc.c  */
     8460#line 2417 "parser.yy"
    84018461    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84028462    break;
    84038463
    8404   case 625:
    8405 
    8406 /* Line 1806 of yacc.c  */
    8407 #line 2380 "parser.yy"
     8464  case 636:
     8465
     8466/* Line 1806 of yacc.c  */
     8467#line 2419 "parser.yy"
    84088468    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84098469    break;
    84108470
    8411   case 626:
    8412 
    8413 /* Line 1806 of yacc.c  */
    8414 #line 2382 "parser.yy"
     8471  case 637:
     8472
     8473/* Line 1806 of yacc.c  */
     8474#line 2421 "parser.yy"
    84158475    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84168476    break;
    84178477
    8418   case 627:
    8419 
    8420 /* Line 1806 of yacc.c  */
    8421 #line 2387 "parser.yy"
     8478  case 639:
     8479
     8480/* Line 1806 of yacc.c  */
     8481#line 2427 "parser.yy"
     8482    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8483    break;
     8484
     8485  case 640:
     8486
     8487/* Line 1806 of yacc.c  */
     8488#line 2429 "parser.yy"
     8489    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8490    break;
     8491
     8492  case 641:
     8493
     8494/* Line 1806 of yacc.c  */
     8495#line 2431 "parser.yy"
     8496    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8497    break;
     8498
     8499  case 642:
     8500
     8501/* Line 1806 of yacc.c  */
     8502#line 2436 "parser.yy"
     8503    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8504    break;
     8505
     8506  case 643:
     8507
     8508/* Line 1806 of yacc.c  */
     8509#line 2438 "parser.yy"
     8510    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8511    break;
     8512
     8513  case 644:
     8514
     8515/* Line 1806 of yacc.c  */
     8516#line 2440 "parser.yy"
     8517    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8518    break;
     8519
     8520  case 645:
     8521
     8522/* Line 1806 of yacc.c  */
     8523#line 2446 "parser.yy"
     8524    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8525    break;
     8526
     8527  case 646:
     8528
     8529/* Line 1806 of yacc.c  */
     8530#line 2448 "parser.yy"
     8531    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8532    break;
     8533
     8534  case 648:
     8535
     8536/* Line 1806 of yacc.c  */
     8537#line 2454 "parser.yy"
     8538    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8539    break;
     8540
     8541  case 649:
     8542
     8543/* Line 1806 of yacc.c  */
     8544#line 2456 "parser.yy"
     8545    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8546    break;
     8547
     8548  case 650:
     8549
     8550/* Line 1806 of yacc.c  */
     8551#line 2458 "parser.yy"
     8552    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8553    break;
     8554
     8555  case 651:
     8556
     8557/* Line 1806 of yacc.c  */
     8558#line 2460 "parser.yy"
     8559    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8560    break;
     8561
     8562  case 653:
     8563
     8564/* Line 1806 of yacc.c  */
     8565#line 2475 "parser.yy"
     8566    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8567    break;
     8568
     8569  case 654:
     8570
     8571/* Line 1806 of yacc.c  */
     8572#line 2477 "parser.yy"
     8573    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8574    break;
     8575
     8576  case 655:
     8577
     8578/* Line 1806 of yacc.c  */
     8579#line 2482 "parser.yy"
     8580    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8581    break;
     8582
     8583  case 656:
     8584
     8585/* Line 1806 of yacc.c  */
     8586#line 2484 "parser.yy"
     8587    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8588    break;
     8589
     8590  case 657:
     8591
     8592/* Line 1806 of yacc.c  */
     8593#line 2486 "parser.yy"
     8594    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8595    break;
     8596
     8597  case 658:
     8598
     8599/* Line 1806 of yacc.c  */
     8600#line 2488 "parser.yy"
     8601    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8602    break;
     8603
     8604  case 659:
     8605
     8606/* Line 1806 of yacc.c  */
     8607#line 2490 "parser.yy"
     8608    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8609    break;
     8610
     8611  case 661:
     8612
     8613/* Line 1806 of yacc.c  */
     8614#line 2496 "parser.yy"
     8615    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8616    break;
     8617
     8618  case 662:
     8619
     8620/* Line 1806 of yacc.c  */
     8621#line 2498 "parser.yy"
     8622    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8623    break;
     8624
     8625  case 663:
     8626
     8627/* Line 1806 of yacc.c  */
     8628#line 2500 "parser.yy"
     8629    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8630    break;
     8631
     8632  case 664:
     8633
     8634/* Line 1806 of yacc.c  */
     8635#line 2505 "parser.yy"
     8636    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8637    break;
     8638
     8639  case 665:
     8640
     8641/* Line 1806 of yacc.c  */
     8642#line 2507 "parser.yy"
     8643    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8644    break;
     8645
     8646  case 666:
     8647
     8648/* Line 1806 of yacc.c  */
     8649#line 2509 "parser.yy"
     8650    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8651    break;
     8652
     8653  case 668:
     8654
     8655/* Line 1806 of yacc.c  */
     8656#line 2516 "parser.yy"
    84228657    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84238658    break;
    84248659
    8425   case 628:
    8426 
    8427 /* Line 1806 of yacc.c  */
    8428 #line 2389 "parser.yy"
     8660  case 670:
     8661
     8662/* Line 1806 of yacc.c  */
     8663#line 2527 "parser.yy"
     8664    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8665    break;
     8666
     8667  case 671:
     8668
     8669/* Line 1806 of yacc.c  */
     8670#line 2530 "parser.yy"
     8671    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8672    break;
     8673
     8674  case 672:
     8675
     8676/* Line 1806 of yacc.c  */
     8677#line 2532 "parser.yy"
     8678    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8679    break;
     8680
     8681  case 673:
     8682
     8683/* Line 1806 of yacc.c  */
     8684#line 2535 "parser.yy"
     8685    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8686    break;
     8687
     8688  case 674:
     8689
     8690/* Line 1806 of yacc.c  */
     8691#line 2537 "parser.yy"
     8692    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8693    break;
     8694
     8695  case 675:
     8696
     8697/* Line 1806 of yacc.c  */
     8698#line 2539 "parser.yy"
     8699    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8700    break;
     8701
     8702  case 677:
     8703
     8704/* Line 1806 of yacc.c  */
     8705#line 2553 "parser.yy"
     8706    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8707    break;
     8708
     8709  case 678:
     8710
     8711/* Line 1806 of yacc.c  */
     8712#line 2555 "parser.yy"
     8713    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8714    break;
     8715
     8716  case 679:
     8717
     8718/* Line 1806 of yacc.c  */
     8719#line 2560 "parser.yy"
     8720    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8721    break;
     8722
     8723  case 680:
     8724
     8725/* Line 1806 of yacc.c  */
     8726#line 2562 "parser.yy"
     8727    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8728    break;
     8729
     8730  case 681:
     8731
     8732/* Line 1806 of yacc.c  */
     8733#line 2564 "parser.yy"
     8734    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8735    break;
     8736
     8737  case 682:
     8738
     8739/* Line 1806 of yacc.c  */
     8740#line 2566 "parser.yy"
     8741    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8742    break;
     8743
     8744  case 683:
     8745
     8746/* Line 1806 of yacc.c  */
     8747#line 2568 "parser.yy"
     8748    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8749    break;
     8750
     8751  case 685:
     8752
     8753/* Line 1806 of yacc.c  */
     8754#line 2574 "parser.yy"
    84298755    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84308756    break;
    84318757
    8432   case 629:
    8433 
    8434 /* Line 1806 of yacc.c  */
    8435 #line 2394 "parser.yy"
    8436     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8437     break;
    8438 
    8439   case 630:
    8440 
    8441 /* Line 1806 of yacc.c  */
    8442 #line 2396 "parser.yy"
     8758  case 686:
     8759
     8760/* Line 1806 of yacc.c  */
     8761#line 2576 "parser.yy"
     8762    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8763    break;
     8764
     8765  case 687:
     8766
     8767/* Line 1806 of yacc.c  */
     8768#line 2578 "parser.yy"
     8769    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8770    break;
     8771
     8772  case 688:
     8773
     8774/* Line 1806 of yacc.c  */
     8775#line 2583 "parser.yy"
    84438776    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84448777    break;
    84458778
    8446   case 632:
    8447 
    8448 /* Line 1806 of yacc.c  */
    8449 #line 2411 "parser.yy"
    8450     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8451     break;
    8452 
    8453   case 633:
    8454 
    8455 /* Line 1806 of yacc.c  */
    8456 #line 2413 "parser.yy"
    8457     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8458     break;
    8459 
    8460   case 634:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2418 "parser.yy"
    8464     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8465     break;
    8466 
    8467   case 635:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2420 "parser.yy"
    8471     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8472     break;
    8473 
    8474   case 636:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2422 "parser.yy"
    8478     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8479     break;
    8480 
    8481   case 637:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2424 "parser.yy"
    8485     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8486     break;
    8487 
    8488   case 638:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2426 "parser.yy"
     8779  case 689:
     8780
     8781/* Line 1806 of yacc.c  */
     8782#line 2585 "parser.yy"
    84928783    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84938784    break;
    84948785
    8495   case 640:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2432 "parser.yy"
    8499     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8500     break;
    8501 
    8502   case 641:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2434 "parser.yy"
    8506     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8507     break;
    8508 
    8509   case 642:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2436 "parser.yy"
    8513     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8514     break;
    8515 
    8516   case 643:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2441 "parser.yy"
    8520     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8521     break;
    8522 
    8523   case 644:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2443 "parser.yy"
    8527     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8528     break;
    8529 
    8530   case 645:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2445 "parser.yy"
    8534     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8535     break;
    8536 
    8537   case 646:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2451 "parser.yy"
    8541     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8542     break;
    8543 
    8544   case 647:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2453 "parser.yy"
    8548     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8549     break;
    8550 
    8551   case 649:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2459 "parser.yy"
    8555     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8556     break;
    8557 
    8558   case 650:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2461 "parser.yy"
    8562     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8563     break;
    8564 
    8565   case 651:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2463 "parser.yy"
    8569     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8570     break;
    8571 
    8572   case 652:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2465 "parser.yy"
    8576     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8577     break;
    8578 
    8579   case 654:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2480 "parser.yy"
    8583     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8584     break;
    8585 
    8586   case 655:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2482 "parser.yy"
    8590     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8591     break;
    8592 
    8593   case 656:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2487 "parser.yy"
    8597     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8598     break;
    8599 
    8600   case 657:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2489 "parser.yy"
    8604     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8605     break;
    8606 
    8607   case 658:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2491 "parser.yy"
    8611     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8612     break;
    8613 
    8614   case 659:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2493 "parser.yy"
    8618     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8619     break;
    8620 
    8621   case 660:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2495 "parser.yy"
    8625     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8626     break;
    8627 
    8628   case 662:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2501 "parser.yy"
    8632     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8633     break;
    8634 
    8635   case 663:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2503 "parser.yy"
    8639     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8640     break;
    8641 
    8642   case 664:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2505 "parser.yy"
    8646     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8647     break;
    8648 
    8649   case 665:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2510 "parser.yy"
    8653     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8654     break;
    8655 
    8656   case 666:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2512 "parser.yy"
    8660     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8661     break;
    8662 
    8663   case 667:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2514 "parser.yy"
    8667     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8668     break;
    8669 
    8670   case 669:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2521 "parser.yy"
    8674     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8675     break;
    8676 
    8677   case 671:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2532 "parser.yy"
    8681     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8682     break;
    8683 
    8684   case 672:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2535 "parser.yy"
     8786  case 692:
     8787
     8788/* Line 1806 of yacc.c  */
     8789#line 2595 "parser.yy"
     8790    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8791    break;
     8792
     8793  case 695:
     8794
     8795/* Line 1806 of yacc.c  */
     8796#line 2605 "parser.yy"
     8797    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8798    break;
     8799
     8800  case 696:
     8801
     8802/* Line 1806 of yacc.c  */
     8803#line 2607 "parser.yy"
     8804    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8805    break;
     8806
     8807  case 697:
     8808
     8809/* Line 1806 of yacc.c  */
     8810#line 2609 "parser.yy"
     8811    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8812    break;
     8813
     8814  case 698:
     8815
     8816/* Line 1806 of yacc.c  */
     8817#line 2611 "parser.yy"
     8818    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8819    break;
     8820
     8821  case 699:
     8822
     8823/* Line 1806 of yacc.c  */
     8824#line 2613 "parser.yy"
     8825    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8826    break;
     8827
     8828  case 700:
     8829
     8830/* Line 1806 of yacc.c  */
     8831#line 2615 "parser.yy"
     8832    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8833    break;
     8834
     8835  case 701:
     8836
     8837/* Line 1806 of yacc.c  */
     8838#line 2622 "parser.yy"
     8839    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8840    break;
     8841
     8842  case 702:
     8843
     8844/* Line 1806 of yacc.c  */
     8845#line 2624 "parser.yy"
     8846    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8847    break;
     8848
     8849  case 703:
     8850
     8851/* Line 1806 of yacc.c  */
     8852#line 2626 "parser.yy"
     8853    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8854    break;
     8855
     8856  case 704:
     8857
     8858/* Line 1806 of yacc.c  */
     8859#line 2628 "parser.yy"
     8860    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8861    break;
     8862
     8863  case 705:
     8864
     8865/* Line 1806 of yacc.c  */
     8866#line 2630 "parser.yy"
     8867    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8868    break;
     8869
     8870  case 706:
     8871
     8872/* Line 1806 of yacc.c  */
     8873#line 2632 "parser.yy"
     8874    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8875    break;
     8876
     8877  case 707:
     8878
     8879/* Line 1806 of yacc.c  */
     8880#line 2634 "parser.yy"
     8881    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8882    break;
     8883
     8884  case 708:
     8885
     8886/* Line 1806 of yacc.c  */
     8887#line 2636 "parser.yy"
     8888    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8889    break;
     8890
     8891  case 709:
     8892
     8893/* Line 1806 of yacc.c  */
     8894#line 2638 "parser.yy"
     8895    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8896    break;
     8897
     8898  case 710:
     8899
     8900/* Line 1806 of yacc.c  */
     8901#line 2640 "parser.yy"
     8902    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8903    break;
     8904
     8905  case 711:
     8906
     8907/* Line 1806 of yacc.c  */
     8908#line 2645 "parser.yy"
    86888909    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    86898910    break;
    86908911
    8691   case 673:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2537 "parser.yy"
    8695     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8696     break;
    8697 
    8698   case 674:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2540 "parser.yy"
     8912  case 712:
     8913
     8914/* Line 1806 of yacc.c  */
     8915#line 2647 "parser.yy"
    87028916    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87038917    break;
    87048918
    8705   case 675:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2542 "parser.yy"
    8709     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8710     break;
    8711 
    8712   case 676:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2544 "parser.yy"
    8716     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8717     break;
    8718 
    8719   case 678:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2558 "parser.yy"
    8723     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8724     break;
    8725 
    8726   case 679:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2560 "parser.yy"
    8730     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8731     break;
    8732 
    8733   case 680:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2565 "parser.yy"
    8737     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8738     break;
    8739 
    8740   case 681:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2567 "parser.yy"
    8744     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8745     break;
    8746 
    8747   case 682:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2569 "parser.yy"
    8751     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8752     break;
    8753 
    8754   case 683:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2571 "parser.yy"
    8758     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8759     break;
    8760 
    8761   case 684:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2573 "parser.yy"
    8765     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8766     break;
    8767 
    8768   case 686:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2579 "parser.yy"
    8772     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8773     break;
    8774 
    8775   case 687:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2581 "parser.yy"
    8779     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8780     break;
    8781 
    8782   case 688:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2583 "parser.yy"
    8786     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8787     break;
    8788 
    8789   case 689:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2588 "parser.yy"
    8793     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8794     break;
    8795 
    8796   case 690:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2590 "parser.yy"
    8800     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8801     break;
    8802 
    8803   case 693:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2600 "parser.yy"
     8919  case 713:
     8920
     8921/* Line 1806 of yacc.c  */
     8922#line 2652 "parser.yy"
     8923    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     8924    break;
     8925
     8926  case 714:
     8927
     8928/* Line 1806 of yacc.c  */
     8929#line 2654 "parser.yy"
     8930    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     8931    break;
     8932
     8933  case 716:
     8934
     8935/* Line 1806 of yacc.c  */
     8936#line 2681 "parser.yy"
    88078937    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88088938    break;
    88098939
    8810   case 696:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2610 "parser.yy"
     8940  case 720:
     8941
     8942/* Line 1806 of yacc.c  */
     8943#line 2692 "parser.yy"
    88148944    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88158945    break;
    88168946
    8817   case 697:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2612 "parser.yy"
     8947  case 721:
     8948
     8949/* Line 1806 of yacc.c  */
     8950#line 2694 "parser.yy"
    88218951    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88228952    break;
    88238953
    8824   case 698:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2614 "parser.yy"
     8954  case 722:
     8955
     8956/* Line 1806 of yacc.c  */
     8957#line 2696 "parser.yy"
    88288958    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88298959    break;
    88308960
    8831   case 699:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2616 "parser.yy"
     8961  case 723:
     8962
     8963/* Line 1806 of yacc.c  */
     8964#line 2698 "parser.yy"
    88358965    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88368966    break;
    88378967
    8838   case 700:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2618 "parser.yy"
     8968  case 724:
     8969
     8970/* Line 1806 of yacc.c  */
     8971#line 2700 "parser.yy"
    88428972    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88438973    break;
    88448974
    8845   case 701:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2620 "parser.yy"
     8975  case 725:
     8976
     8977/* Line 1806 of yacc.c  */
     8978#line 2702 "parser.yy"
    88498979    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88508980    break;
    88518981
    8852   case 702:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2627 "parser.yy"
     8982  case 726:
     8983
     8984/* Line 1806 of yacc.c  */
     8985#line 2709 "parser.yy"
    88568986    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88578987    break;
    88588988
    8859   case 703:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2629 "parser.yy"
     8989  case 727:
     8990
     8991/* Line 1806 of yacc.c  */
     8992#line 2711 "parser.yy"
     8993    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8994    break;
     8995
     8996  case 728:
     8997
     8998/* Line 1806 of yacc.c  */
     8999#line 2713 "parser.yy"
    88639000    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88649001    break;
    88659002
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2631 "parser.yy"
     9003  case 729:
     9004
     9005/* Line 1806 of yacc.c  */
     9006#line 2715 "parser.yy"
     9007    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9008    break;
     9009
     9010  case 730:
     9011
     9012/* Line 1806 of yacc.c  */
     9013#line 2717 "parser.yy"
    88709014    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88719015    break;
    88729016
    8873   case 705:
    8874 
    8875 /* Line 1806 of yacc.c  */
    8876 #line 2633 "parser.yy"
    8877     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8878     break;
    8879 
    8880   case 706:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2635 "parser.yy"
     9017  case 731:
     9018
     9019/* Line 1806 of yacc.c  */
     9020#line 2719 "parser.yy"
    88849021    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88859022    break;
    88869023
    8887   case 707:
    8888 
    8889 /* Line 1806 of yacc.c  */
    8890 #line 2637 "parser.yy"
    8891     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8892     break;
    8893 
    8894   case 708:
    8895 
    8896 /* Line 1806 of yacc.c  */
    8897 #line 2639 "parser.yy"
    8898     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8899     break;
    8900 
    8901   case 709:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2641 "parser.yy"
    8905     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    8906     break;
    8907 
    8908   case 710:
    8909 
    8910 /* Line 1806 of yacc.c  */
    8911 #line 2643 "parser.yy"
    8912     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    8913     break;
    8914 
    8915   case 711:
    8916 
    8917 /* Line 1806 of yacc.c  */
    8918 #line 2645 "parser.yy"
    8919     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    8920     break;
    8921 
    8922   case 712:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2650 "parser.yy"
    8926     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    8927     break;
    8928 
    8929   case 713:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2652 "parser.yy"
    8933     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    8934     break;
    8935 
    8936   case 714:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2657 "parser.yy"
    8940     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    8941     break;
    8942 
    8943   case 715:
    8944 
    8945 /* Line 1806 of yacc.c  */
    8946 #line 2659 "parser.yy"
    8947     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    8948     break;
    8949 
    8950   case 717:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2686 "parser.yy"
    8954     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8955     break;
    8956 
    8957   case 721:
    8958 
    8959 /* Line 1806 of yacc.c  */
    8960 #line 2697 "parser.yy"
    8961     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8962     break;
    8963 
    8964   case 722:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2699 "parser.yy"
    8968     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8969     break;
    8970 
    8971   case 723:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2701 "parser.yy"
    8975     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8976     break;
    8977 
    8978   case 724:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2703 "parser.yy"
    8982     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8983     break;
    8984 
    8985   case 725:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2705 "parser.yy"
    8989     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8990     break;
    8991 
    8992   case 726:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2707 "parser.yy"
    8996     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    8997     break;
    8998 
    8999   case 727:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2714 "parser.yy"
    9003     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9004     break;
    9005 
    9006   case 728:
    9007 
    9008 /* Line 1806 of yacc.c  */
    9009 #line 2716 "parser.yy"
    9010     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9011     break;
    9012 
    9013   case 729:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2718 "parser.yy"
    9017     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9018     break;
    9019 
    9020   case 730:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2720 "parser.yy"
    9024     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9025     break;
    9026 
    9027   case 731:
    9028 
    9029 /* Line 1806 of yacc.c  */
    9030 #line 2722 "parser.yy"
    9031     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9032     break;
    9033 
    90349024  case 732:
    90359025
    90369026/* Line 1806 of yacc.c  */
    90379027#line 2724 "parser.yy"
    9038     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9028    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    90399029    break;
    90409030
     
    90439033/* Line 1806 of yacc.c  */
    90449034#line 2729 "parser.yy"
    9045     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     9035    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    90469036    break;
    90479037
     
    90499039
    90509040/* Line 1806 of yacc.c  */
    9051 #line 2734 "parser.yy"
    9052     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
     9041#line 2731 "parser.yy"
     9042    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90539043    break;
    90549044
     
    90569046
    90579047/* Line 1806 of yacc.c  */
    9058 #line 2736 "parser.yy"
     9048#line 2733 "parser.yy"
    90599049    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90609050    break;
    90619051
    9062   case 736:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2738 "parser.yy"
    9066     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9052  case 738:
     9053
     9054/* Line 1806 of yacc.c  */
     9055#line 2757 "parser.yy"
     9056    { (yyval.en) = 0; }
    90679057    break;
    90689058
     
    90709060
    90719061/* Line 1806 of yacc.c  */
    9072 #line 2762 "parser.yy"
    9073     { (yyval.en) = 0; }
    9074     break;
    9075 
    9076   case 740:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2764 "parser.yy"
     9062#line 2759 "parser.yy"
    90809063    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    90819064    break;
     
    90849067
    90859068/* Line 1806 of yacc.c  */
    9086 #line 9087 "Parser/parser.cc"
     9069#line 9070 "Parser/parser.cc"
    90879070      default: break;
    90889071    }
     
    93159298
    93169299/* Line 2067 of yacc.c  */
    9317 #line 2767 "parser.yy"
     9300#line 2762 "parser.yy"
    93189301
    93199302// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.