Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r4040425 rbd85400  
    138138     SIGNED = 277,
    139139     UNSIGNED = 278,
    140      VALIST = 279,
    141      BOOL = 280,
    142      COMPLEX = 281,
    143      IMAGINARY = 282,
    144      TYPEOF = 283,
    145      LABEL = 284,
    146      ENUM = 285,
    147      STRUCT = 286,
    148      UNION = 287,
    149      OTYPE = 288,
    150      FTYPE = 289,
    151      DTYPE = 290,
    152      TRAIT = 291,
    153      SIZEOF = 292,
    154      OFFSETOF = 293,
    155      ATTRIBUTE = 294,
    156      EXTENSION = 295,
    157      IF = 296,
    158      ELSE = 297,
    159      SWITCH = 298,
    160      CASE = 299,
    161      DEFAULT = 300,
    162      DO = 301,
    163      WHILE = 302,
    164      FOR = 303,
    165      BREAK = 304,
    166      CONTINUE = 305,
    167      GOTO = 306,
    168      RETURN = 307,
    169      CHOOSE = 308,
    170      DISABLE = 309,
    171      ENABLE = 310,
    172      FALLTHRU = 311,
    173      TRY = 312,
    174      CATCH = 313,
    175      CATCHRESUME = 314,
    176      FINALLY = 315,
    177      THROW = 316,
    178      THROWRESUME = 317,
    179      AT = 318,
    180      ASM = 319,
    181      ALIGNAS = 320,
    182      ALIGNOF = 321,
    183      ATOMIC = 322,
    184      GENERIC = 323,
    185      NORETURN = 324,
    186      STATICASSERT = 325,
    187      THREADLOCAL = 326,
    188      IDENTIFIER = 327,
    189      QUOTED_IDENTIFIER = 328,
    190      TYPEDEFname = 329,
    191      TYPEGENname = 330,
    192      ATTR_IDENTIFIER = 331,
    193      ATTR_TYPEDEFname = 332,
    194      ATTR_TYPEGENname = 333,
    195      INTEGERconstant = 334,
    196      FLOATINGconstant = 335,
    197      CHARACTERconstant = 336,
    198      STRINGliteral = 337,
    199      ZERO = 338,
    200      ONE = 339,
    201      ARROW = 340,
    202      ICR = 341,
    203      DECR = 342,
    204      LS = 343,
    205      RS = 344,
    206      LE = 345,
    207      GE = 346,
    208      EQ = 347,
    209      NE = 348,
    210      ANDAND = 349,
    211      OROR = 350,
    212      ELLIPSIS = 351,
    213      MULTassign = 352,
    214      DIVassign = 353,
    215      MODassign = 354,
    216      PLUSassign = 355,
    217      MINUSassign = 356,
    218      LSassign = 357,
    219      RSassign = 358,
    220      ANDassign = 359,
    221      ERassign = 360,
    222      ORassign = 361,
    223      ATassign = 362,
    224      THEN = 363
     140     BOOL = 279,
     141     COMPLEX = 280,
     142     IMAGINARY = 281,
     143     TYPEOF = 282,
     144     LABEL = 283,
     145     ENUM = 284,
     146     STRUCT = 285,
     147     UNION = 286,
     148     TYPE = 287,
     149     FTYPE = 288,
     150     DTYPE = 289,
     151     CONTEXT = 290,
     152     SIZEOF = 291,
     153     OFFSETOF = 292,
     154     ATTRIBUTE = 293,
     155     EXTENSION = 294,
     156     IF = 295,
     157     ELSE = 296,
     158     SWITCH = 297,
     159     CASE = 298,
     160     DEFAULT = 299,
     161     DO = 300,
     162     WHILE = 301,
     163     FOR = 302,
     164     BREAK = 303,
     165     CONTINUE = 304,
     166     GOTO = 305,
     167     RETURN = 306,
     168     CHOOSE = 307,
     169     DISABLE = 308,
     170     ENABLE = 309,
     171     FALLTHRU = 310,
     172     TRY = 311,
     173     CATCH = 312,
     174     CATCHRESUME = 313,
     175     FINALLY = 314,
     176     THROW = 315,
     177     THROWRESUME = 316,
     178     AT = 317,
     179     ASM = 318,
     180     ALIGNAS = 319,
     181     ALIGNOF = 320,
     182     ATOMIC = 321,
     183     GENERIC = 322,
     184     NORETURN = 323,
     185     STATICASSERT = 324,
     186     THREADLOCAL = 325,
     187     IDENTIFIER = 326,
     188     QUOTED_IDENTIFIER = 327,
     189     TYPEDEFname = 328,
     190     TYPEGENname = 329,
     191     ATTR_IDENTIFIER = 330,
     192     ATTR_TYPEDEFname = 331,
     193     ATTR_TYPEGENname = 332,
     194     INTEGERconstant = 333,
     195     FLOATINGconstant = 334,
     196     CHARACTERconstant = 335,
     197     STRINGliteral = 336,
     198     ZERO = 337,
     199     ONE = 338,
     200     ARROW = 339,
     201     ICR = 340,
     202     DECR = 341,
     203     LS = 342,
     204     RS = 343,
     205     LE = 344,
     206     GE = 345,
     207     EQ = 346,
     208     NE = 347,
     209     ANDAND = 348,
     210     OROR = 349,
     211     ELLIPSIS = 350,
     212     MULTassign = 351,
     213     DIVassign = 352,
     214     MODassign = 353,
     215     PLUSassign = 354,
     216     MINUSassign = 355,
     217     LSassign = 356,
     218     RSassign = 357,
     219     ANDassign = 358,
     220     ERassign = 359,
     221     ORassign = 360,
     222     ATassign = 361,
     223     THEN = 362
    225224   };
    226225#endif
     
    247246#define SIGNED 277
    248247#define UNSIGNED 278
    249 #define VALIST 279
    250 #define BOOL 280
    251 #define COMPLEX 281
    252 #define IMAGINARY 282
    253 #define TYPEOF 283
    254 #define LABEL 284
    255 #define ENUM 285
    256 #define STRUCT 286
    257 #define UNION 287
    258 #define OTYPE 288
    259 #define FTYPE 289
    260 #define DTYPE 290
    261 #define TRAIT 291
    262 #define SIZEOF 292
    263 #define OFFSETOF 293
    264 #define ATTRIBUTE 294
    265 #define EXTENSION 295
    266 #define IF 296
    267 #define ELSE 297
    268 #define SWITCH 298
    269 #define CASE 299
    270 #define DEFAULT 300
    271 #define DO 301
    272 #define WHILE 302
    273 #define FOR 303
    274 #define BREAK 304
    275 #define CONTINUE 305
    276 #define GOTO 306
    277 #define RETURN 307
    278 #define CHOOSE 308
    279 #define DISABLE 309
    280 #define ENABLE 310
    281 #define FALLTHRU 311
    282 #define TRY 312
    283 #define CATCH 313
    284 #define CATCHRESUME 314
    285 #define FINALLY 315
    286 #define THROW 316
    287 #define THROWRESUME 317
    288 #define AT 318
    289 #define ASM 319
    290 #define ALIGNAS 320
    291 #define ALIGNOF 321
    292 #define ATOMIC 322
    293 #define GENERIC 323
    294 #define NORETURN 324
    295 #define STATICASSERT 325
    296 #define THREADLOCAL 326
    297 #define IDENTIFIER 327
    298 #define QUOTED_IDENTIFIER 328
    299 #define TYPEDEFname 329
    300 #define TYPEGENname 330
    301 #define ATTR_IDENTIFIER 331
    302 #define ATTR_TYPEDEFname 332
    303 #define ATTR_TYPEGENname 333
    304 #define INTEGERconstant 334
    305 #define FLOATINGconstant 335
    306 #define CHARACTERconstant 336
    307 #define STRINGliteral 337
    308 #define ZERO 338
    309 #define ONE 339
    310 #define ARROW 340
    311 #define ICR 341
    312 #define DECR 342
    313 #define LS 343
    314 #define RS 344
    315 #define LE 345
    316 #define GE 346
    317 #define EQ 347
    318 #define NE 348
    319 #define ANDAND 349
    320 #define OROR 350
    321 #define ELLIPSIS 351
    322 #define MULTassign 352
    323 #define DIVassign 353
    324 #define MODassign 354
    325 #define PLUSassign 355
    326 #define MINUSassign 356
    327 #define LSassign 357
    328 #define RSassign 358
    329 #define ANDassign 359
    330 #define ERassign 360
    331 #define ORassign 361
    332 #define ATassign 362
    333 #define THEN 363
     248#define BOOL 279
     249#define COMPLEX 280
     250#define IMAGINARY 281
     251#define TYPEOF 282
     252#define LABEL 283
     253#define ENUM 284
     254#define STRUCT 285
     255#define UNION 286
     256#define TYPE 287
     257#define FTYPE 288
     258#define DTYPE 289
     259#define CONTEXT 290
     260#define SIZEOF 291
     261#define OFFSETOF 292
     262#define ATTRIBUTE 293
     263#define EXTENSION 294
     264#define IF 295
     265#define ELSE 296
     266#define SWITCH 297
     267#define CASE 298
     268#define DEFAULT 299
     269#define DO 300
     270#define WHILE 301
     271#define FOR 302
     272#define BREAK 303
     273#define CONTINUE 304
     274#define GOTO 305
     275#define RETURN 306
     276#define CHOOSE 307
     277#define DISABLE 308
     278#define ENABLE 309
     279#define FALLTHRU 310
     280#define TRY 311
     281#define CATCH 312
     282#define CATCHRESUME 313
     283#define FINALLY 314
     284#define THROW 315
     285#define THROWRESUME 316
     286#define AT 317
     287#define ASM 318
     288#define ALIGNAS 319
     289#define ALIGNOF 320
     290#define ATOMIC 321
     291#define GENERIC 322
     292#define NORETURN 323
     293#define STATICASSERT 324
     294#define THREADLOCAL 325
     295#define IDENTIFIER 326
     296#define QUOTED_IDENTIFIER 327
     297#define TYPEDEFname 328
     298#define TYPEGENname 329
     299#define ATTR_IDENTIFIER 330
     300#define ATTR_TYPEDEFname 331
     301#define ATTR_TYPEGENname 332
     302#define INTEGERconstant 333
     303#define FLOATINGconstant 334
     304#define CHARACTERconstant 335
     305#define STRINGliteral 336
     306#define ZERO 337
     307#define ONE 338
     308#define ARROW 339
     309#define ICR 340
     310#define DECR 341
     311#define LS 342
     312#define RS 343
     313#define LE 344
     314#define GE 345
     315#define EQ 346
     316#define NE 347
     317#define ANDAND 348
     318#define OROR 349
     319#define ELLIPSIS 350
     320#define MULTassign 351
     321#define DIVassign 352
     322#define MODassign 353
     323#define PLUSassign 354
     324#define MINUSassign 355
     325#define LSassign 356
     326#define RSassign 357
     327#define ANDassign 358
     328#define ERassign 359
     329#define ORassign 360
     330#define ATassign 361
     331#define THEN 362
    334332
    335333
     
    341339
    342340/* Line 293 of yacc.c  */
    343 #line 111 "parser.yy"
     341#line 110 "parser.yy"
    344342
    345343        Token tok;
     
    358356
    359357/* Line 293 of yacc.c  */
    360 #line 361 "Parser/parser.cc"
     358#line 359 "Parser/parser.cc"
    361359} YYSTYPE;
    362360# define YYSTYPE_IS_TRIVIAL 1
     
    370368
    371369/* Line 343 of yacc.c  */
    372 #line 373 "Parser/parser.cc"
     370#line 371 "Parser/parser.cc"
    373371
    374372#ifdef short
     
    587585
    588586/* YYFINAL -- State number of the termination state.  */
    589 #define YYFINAL  249
     587#define YYFINAL  248
    590588/* YYLAST -- Last index in YYTABLE.  */
    591 #define YYLAST   11290
     589#define YYLAST   11042
    592590
    593591/* YYNTOKENS -- Number of terminals.  */
    594 #define YYNTOKENS  133
     592#define YYNTOKENS  132
    595593/* YYNNTS -- Number of nonterminals.  */
    596594#define YYNNTS  238
    597595/* YYNRULES -- Number of rules.  */
    598 #define YYNRULES  752
     596#define YYNRULES  751
    599597/* YYNRULES -- Number of states.  */
    600 #define YYNSTATES  1579
     598#define YYNSTATES  1578
    601599
    602600/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    603601#define YYUNDEFTOK  2
    604 #define YYMAXUTOK   363
     602#define YYMAXUTOK   362
    605603
    606604#define YYTRANSLATE(YYX)                                                \
     
    613611       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    614612       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    615        2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
    616      109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
    617        2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
    618      126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
     613       2,     2,     2,   117,     2,     2,     2,   124,   119,     2,
     614     108,   109,   118,   120,   115,   121,   112,   123,     2,     2,
     615       2,     2,     2,     2,     2,     2,     2,     2,   116,   131,
     616     125,   130,   126,   129,     2,     2,     2,     2,     2,     2,
    619617       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    620618       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621        2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
     619       2,   110,     2,   111,   127,     2,     2,     2,     2,     2,
    622620       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    623621       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624        2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
     622       2,     2,     2,   113,   128,   114,   122,     2,     2,     2,
    625623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    626624       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    646644      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    647645      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    648      105,   106,   107,   108
     646     105,   106,   107
    649647};
    650648
     
    687685    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    688686    1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
    689     1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
    690     1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
    691     1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
    692     1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1316,  1324,
    693     1327,  1330,  1333,  1335,  1338,  1341,  1345,  1348,  1352,  1354,
    694     1357,  1361,  1364,  1367,  1372,  1373,  1375,  1378,  1381,  1383,
    695     1384,  1386,  1389,  1392,  1398,  1405,  1408,  1411,  1416,  1417,
    696     1420,  1421,  1423,  1425,  1427,  1433,  1439,  1445,  1447,  1453,
    697     1459,  1469,  1471,  1477,  1478,  1480,  1482,  1488,  1490,  1492,
    698     1498,  1504,  1506,  1510,  1514,  1519,  1521,  1523,  1525,  1527,
    699     1530,  1532,  1536,  1540,  1542,  1545,  1547,  1551,  1553,  1555,
    700     1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1576,
    701     1578,  1580,  1582,  1585,  1586,  1589,  1592,  1594,  1599,  1600,
    702     1602,  1605,  1609,  1614,  1617,  1620,  1622,  1625,  1627,  1630,
    703     1636,  1642,  1650,  1657,  1659,  1662,  1665,  1669,  1671,  1674,
    704     1677,  1682,  1685,  1690,  1691,  1696,  1699,  1701,  1703,  1705,
    705     1706,  1709,  1715,  1721,  1735,  1737,  1739,  1743,  1747,  1750,
    706     1754,  1758,  1761,  1766,  1768,  1775,  1785,  1786,  1798,  1800,
    707     1804,  1808,  1812,  1814,  1816,  1822,  1825,  1831,  1832,  1834,
    708     1836,  1840,  1841,  1843,  1845,  1847,  1849,  1850,  1857,  1860,
    709     1862,  1865,  1870,  1873,  1877,  1881,  1885,  1890,  1896,  1902,
    710     1908,  1915,  1917,  1919,  1921,  1925,  1926,  1932,  1933,  1935,
    711     1937,  1940,  1947,  1949,  1953,  1954,  1956,  1961,  1963,  1965,
    712     1967,  1969,  1972,  1974,  1977,  1980,  1982,  1986,  1989,  1993,
    713     1997,  2000,  2005,  2010,  2014,  2023,  2027,  2030,  2032,  2035,
    714     2042,  2051,  2055,  2058,  2062,  2066,  2071,  2076,  2080,  2082,
    715     2084,  2086,  2091,  2098,  2102,  2105,  2109,  2113,  2118,  2123,
    716     2127,  2130,  2132,  2135,  2138,  2140,  2144,  2147,  2151,  2155,
    717     2158,  2163,  2168,  2172,  2179,  2188,  2192,  2195,  2197,  2200,
    718     2203,  2206,  2210,  2214,  2217,  2222,  2227,  2231,  2238,  2247,
    719     2251,  2254,  2256,  2259,  2262,  2264,  2266,  2269,  2273,  2277,
    720     2280,  2285,  2292,  2301,  2303,  2306,  2309,  2311,  2314,  2317,
    721     2321,  2325,  2327,  2332,  2337,  2341,  2347,  2356,  2360,  2363,
    722     2367,  2369,  2375,  2381,  2388,  2395,  2397,  2400,  2403,  2405,
    723     2408,  2411,  2415,  2419,  2421,  2426,  2431,  2435,  2441,  2450,
    724     2454,  2456,  2459,  2461,  2464,  2471,  2477,  2484,  2492,  2500,
    725     2502,  2505,  2508,  2510,  2513,  2516,  2520,  2524,  2526,  2531,
    726     2536,  2540,  2549,  2553,  2555,  2557,  2560,  2562,  2564,  2567,
    727     2571,  2574,  2578,  2581,  2585,  2589,  2592,  2597,  2601,  2604,
    728     2608,  2611,  2616,  2620,  2623,  2630,  2637,  2644,  2652,  2654,
    729     2657,  2659,  2661,  2663,  2666,  2670,  2673,  2677,  2680,  2684,
    730     2688,  2693,  2696,  2700,  2705,  2708,  2714,  2720,  2727,  2734,
    731     2735,  2737,  2738
     687    1197,  1199,  1201,  1203,  1205,  1208,  1211,  1215,  1219,  1221,
     688    1225,  1227,  1230,  1233,  1236,  1241,  1246,  1251,  1256,  1258,
     689    1261,  1264,  1268,  1270,  1273,  1276,  1278,  1281,  1284,  1288,
     690    1290,  1293,  1296,  1298,  1300,  1305,  1308,  1314,  1322,  1325,
     691    1328,  1331,  1333,  1336,  1339,  1343,  1346,  1350,  1352,  1355,
     692    1359,  1362,  1365,  1370,  1371,  1373,  1376,  1379,  1381,  1382,
     693    1384,  1387,  1390,  1396,  1403,  1406,  1409,  1414,  1415,  1418,
     694    1419,  1421,  1423,  1425,  1431,  1437,  1443,  1445,  1451,  1457,
     695    1467,  1469,  1475,  1476,  1478,  1480,  1486,  1488,  1490,  1496,
     696    1502,  1504,  1508,  1512,  1517,  1519,  1521,  1523,  1525,  1528,
     697    1530,  1534,  1538,  1540,  1543,  1545,  1549,  1551,  1553,  1555,
     698    1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1574,  1576,
     699    1578,  1580,  1583,  1584,  1587,  1590,  1592,  1597,  1598,  1600,
     700    1603,  1607,  1612,  1615,  1618,  1620,  1623,  1625,  1628,  1634,
     701    1640,  1648,  1655,  1657,  1660,  1663,  1667,  1669,  1672,  1675,
     702    1680,  1683,  1688,  1689,  1694,  1697,  1699,  1701,  1703,  1704,
     703    1707,  1713,  1719,  1733,  1735,  1737,  1741,  1745,  1748,  1752,
     704    1756,  1759,  1764,  1766,  1773,  1783,  1784,  1796,  1798,  1802,
     705    1806,  1810,  1812,  1814,  1820,  1823,  1829,  1830,  1832,  1834,
     706    1838,  1839,  1841,  1843,  1845,  1847,  1848,  1855,  1858,  1860,
     707    1863,  1868,  1871,  1875,  1879,  1883,  1888,  1894,  1900,  1906,
     708    1913,  1915,  1917,  1919,  1923,  1924,  1930,  1931,  1933,  1935,
     709    1938,  1945,  1947,  1951,  1952,  1954,  1959,  1961,  1963,  1965,
     710    1967,  1970,  1972,  1975,  1978,  1980,  1984,  1987,  1991,  1995,
     711    1998,  2003,  2008,  2012,  2021,  2025,  2028,  2030,  2033,  2040,
     712    2049,  2053,  2056,  2060,  2064,  2069,  2074,  2078,  2080,  2082,
     713    2084,  2089,  2096,  2100,  2103,  2107,  2111,  2116,  2121,  2125,
     714    2128,  2130,  2133,  2136,  2138,  2142,  2145,  2149,  2153,  2156,
     715    2161,  2166,  2170,  2177,  2186,  2190,  2193,  2195,  2198,  2201,
     716    2204,  2208,  2212,  2215,  2220,  2225,  2229,  2236,  2245,  2249,
     717    2252,  2254,  2257,  2260,  2262,  2264,  2267,  2271,  2275,  2278,
     718    2283,  2290,  2299,  2301,  2304,  2307,  2309,  2312,  2315,  2319,
     719    2323,  2325,  2330,  2335,  2339,  2345,  2354,  2358,  2361,  2365,
     720    2367,  2373,  2379,  2386,  2393,  2395,  2398,  2401,  2403,  2406,
     721    2409,  2413,  2417,  2419,  2424,  2429,  2433,  2439,  2448,  2452,
     722    2454,  2457,  2459,  2462,  2469,  2475,  2482,  2490,  2498,  2500,
     723    2503,  2506,  2508,  2511,  2514,  2518,  2522,  2524,  2529,  2534,
     724    2538,  2547,  2551,  2553,  2555,  2558,  2560,  2562,  2565,  2569,
     725    2572,  2576,  2579,  2583,  2587,  2590,  2595,  2599,  2602,  2606,
     726    2609,  2614,  2618,  2621,  2628,  2635,  2642,  2650,  2652,  2655,
     727    2657,  2659,  2661,  2664,  2668,  2671,  2675,  2678,  2682,  2686,
     728    2691,  2694,  2698,  2703,  2706,  2712,  2718,  2725,  2732,  2733,
     729    2735,  2736
    732730};
    733731
     
    735733static const yytype_int16 yyrhs[] =
    736734{
    737      299,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    738       -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    739       -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
    740       -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
    741      110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
    742      134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
    743      143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
    744      112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
    745      146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
    746      109,   272,   110,   114,   276,   369,   115,    -1,   143,   114,
    747      144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    748      163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
    749      112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
    750      112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
    751      139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
    752      146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
    753      111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
    754      141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
    755       -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
    756       37,   148,    -1,    37,   109,   272,   110,    -1,    38,   109,
    757      272,   116,   139,   110,    -1,    76,    -1,    76,   109,   273,
    758      110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
    759       66,   109,   272,   110,    -1,    94,   139,    -1,   120,    -1,
    760      121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   272,
    761      110,   150,    -1,   109,   272,   110,   165,    -1,   150,    -1,
    762      151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
    763      150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
    764      151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
    765      152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
    766      153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
    767      154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
    768      155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
    769      156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
    770      159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
    771      160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
    772      117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
    773       -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
    774       -1,   165,   370,    -1,    -1,   163,    -1,   111,   112,    -1,
    775      111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
    776      135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
    777       -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
    778       -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
    779       -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
    780      116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
    781      176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
    782      197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
    783      117,   309,   170,    -1,   114,   115,    -1,   114,   134,   134,
    784      208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
    785       -1,   211,    -1,    40,   211,    -1,   305,    -1,   170,   135,
    786       -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
    787      109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
    788       42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
    789      109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
    790      109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
    791      134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
    792       -1,   307,    -1,   178,    -1,   179,   116,   178,    -1,    44,
    793      179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
    794       -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
    795      184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
    796      181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
    797      175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
    798       -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
    799      109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
    800      170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
    801      169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
    802      168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
    803       49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
    804       -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
    805      164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
    806      172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
    807       58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
    808      110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
    809       59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
    810      196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
    811      134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
    812      134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
    813      134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
    814       -1,   224,    -1,   224,   306,    -1,   224,   354,    -1,   363,
    815      139,    -1,   363,    -1,    64,   198,   109,   141,   110,   132,
    816       -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
    817       64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
    818       -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
    819      202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
    820      117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
    821       11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
    822       -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
    823      109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
    824       -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
    825       -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
    826       -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
    827       29,   210,   132,    -1,   209,    29,   210,   132,    -1,   271,
    828       -1,   210,   116,   271,    -1,   212,    -1,   221,    -1,   213,
    829      135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
    830       -1,   290,   135,   132,    -1,   293,   135,   132,    -1,   214,
    831      274,    -1,   230,   214,   274,    -1,   213,   135,   116,   134,
    832      269,   274,    -1,   364,   269,   308,    -1,   367,   269,   308,
    833       -1,   226,   367,   269,   308,    -1,   216,    -1,   226,   216,
    834       -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
    835      116,   134,   269,    -1,   111,   112,   269,   109,   134,   257,
    836      135,   110,    -1,   367,   269,   109,   134,   257,   135,   110,
    837       -1,   217,   269,   109,   134,   257,   135,   110,    -1,   111,
    838      134,   259,   135,   112,    -1,   111,   134,   259,   135,   116,
    839      134,   260,   135,   112,    -1,     3,   214,    -1,     3,   216,
    840       -1,   218,   135,   116,   134,   139,    -1,     3,   224,   306,
    841       -1,   219,   135,   116,   134,   306,    -1,   226,     3,   224,
    842      306,    -1,   224,     3,   306,    -1,   224,     3,   226,   306,
    843       -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
    844      139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
    845      132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
    846      223,   306,   308,   274,    -1,   222,   116,   309,   306,   308,
    847      274,    -1,   235,    -1,   239,    -1,   241,    -1,   280,    -1,
    848      236,    -1,   240,    -1,   242,    -1,   281,    -1,    -1,   226,
    849       -1,   227,    -1,   226,   227,    -1,   228,    -1,   311,    -1,
    850       10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
    851       -1,    13,   109,   229,   283,   110,    -1,   231,    -1,   226,
    852      231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
    853       -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
    854       -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
     735     298,     0,    -1,    -1,    -1,    78,    -1,    79,    -1,    80,
     736      -1,    71,    -1,    75,    -1,   139,    -1,    71,    -1,    75,
     737      -1,    71,    -1,   139,    -1,    82,    -1,    83,    -1,    81,
     738      -1,   140,    81,    -1,    71,    -1,   139,    -1,   108,   167,
     739     109,    -1,   108,   171,   109,    -1,   141,    -1,   142,   110,
     740     133,   162,   134,   111,    -1,   142,   108,   143,   109,    -1,
     741     142,   112,   138,    -1,   142,   112,   110,   133,   145,   134,
     742     111,    -1,   142,    84,   138,    -1,   142,    84,   110,   133,
     743     145,   134,   111,    -1,   142,    85,    -1,   142,    86,    -1,
     744     108,   271,   109,   113,   275,   368,   114,    -1,   142,   113,
     745     143,   114,    -1,   144,    -1,   143,   115,   144,    -1,    -1,
     746     162,    -1,   138,   116,   162,    -1,   110,   133,   162,   134,
     747     111,   116,   162,    -1,   110,   133,   162,   115,   165,   134,
     748     111,   116,   162,    -1,   146,    -1,   145,   115,   146,    -1,
     749     138,    -1,   138,   112,   146,    -1,   138,   112,   110,   133,
     750     145,   134,   111,    -1,   138,    84,   146,    -1,   138,    84,
     751     110,   133,   145,   134,   111,    -1,   142,    -1,   135,    -1,
     752     140,    -1,    85,   147,    -1,    86,   147,    -1,    39,   149,
     753      -1,   148,   149,    -1,   117,   149,    -1,   118,   149,    -1,
     754      36,   147,    -1,    36,   108,   271,   109,    -1,    37,   108,
     755     271,   115,   138,   109,    -1,    75,    -1,    75,   108,   272,
     756     109,    -1,    75,   108,   144,   109,    -1,    65,   147,    -1,
     757      65,   108,   271,   109,    -1,    93,   138,    -1,   119,    -1,
     758     120,    -1,   121,    -1,   122,    -1,   147,    -1,   108,   271,
     759     109,   149,    -1,   108,   271,   109,   164,    -1,   149,    -1,
     760     150,   118,   149,    -1,   150,   123,   149,    -1,   150,   124,
     761     149,    -1,   150,    -1,   151,   120,   150,    -1,   151,   121,
     762     150,    -1,   151,    -1,   152,    87,   151,    -1,   152,    88,
     763     151,    -1,   152,    -1,   153,   125,   152,    -1,   153,   126,
     764     152,    -1,   153,    89,   152,    -1,   153,    90,   152,    -1,
     765     153,    -1,   154,    91,   153,    -1,   154,    92,   153,    -1,
     766     154,    -1,   155,   119,   154,    -1,   155,    -1,   156,   127,
     767     155,    -1,   156,    -1,   157,   128,   156,    -1,   157,    -1,
     768     158,    93,   157,    -1,   158,    -1,   159,    94,   158,    -1,
     769     159,    -1,   159,   129,   167,   116,   160,    -1,   159,   129,
     770     116,   160,    -1,   159,   129,   167,   116,   164,    -1,   160,
     771      -1,   160,    -1,   147,   130,   162,    -1,   147,   166,   162,
     772      -1,   164,   369,    -1,    -1,   162,    -1,   110,   111,    -1,
     773     110,   133,   162,   134,   111,    -1,   110,   133,   115,   165,
     774     134,   111,    -1,   110,   133,   162,   115,   165,   134,   111,
     775      -1,   163,    -1,   165,   115,   163,    -1,    96,    -1,    97,
     776      -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,
     777      -1,   103,    -1,   104,    -1,   105,    -1,   162,    -1,   167,
     778     115,   162,    -1,    -1,   167,    -1,   170,    -1,   171,    -1,
     779     175,    -1,   176,    -1,   188,    -1,   190,    -1,   191,    -1,
     780     196,    -1,   127,   142,   113,   143,   114,   131,    -1,   138,
     781     116,   308,   169,    -1,   113,   114,    -1,   113,   133,   133,
     782     207,   172,   134,   114,    -1,   173,    -1,   172,   133,   173,
     783      -1,   210,    -1,    39,   210,    -1,   304,    -1,   169,   134,
     784      -1,   169,    -1,   174,   169,    -1,   168,   131,    -1,    40,
     785     108,   167,   109,   169,    -1,    40,   108,   167,   109,   169,
     786      41,   169,    -1,    42,   108,   167,   109,   181,    -1,    42,
     787     108,   167,   109,   113,   133,   203,   182,   114,    -1,    52,
     788     108,   167,   109,   181,    -1,    52,   108,   167,   109,   113,
     789     133,   203,   184,   114,    -1,   161,    -1,   161,    95,   161,
     790      -1,   306,    -1,   177,    -1,   178,   115,   177,    -1,    43,
     791     178,   116,    -1,    44,   116,    -1,   179,    -1,   180,   179,
     792      -1,   180,   169,    -1,    -1,   183,    -1,   180,   174,    -1,
     793     183,   180,   174,    -1,    -1,   185,    -1,   180,   187,    -1,
     794     180,   174,   186,    -1,   185,   180,   187,    -1,   185,   180,
     795     174,   186,    -1,    -1,   187,    -1,    55,    -1,    55,   131,
     796      -1,    46,   108,   167,   109,   169,    -1,    45,   169,    46,
     797     108,   167,   109,   131,    -1,    47,   108,   133,   189,   109,
     798     169,    -1,   168,   134,   131,   168,   131,   168,    -1,   210,
     799     168,   131,   168,    -1,    50,   138,   131,    -1,    50,   118,
     800     167,   131,    -1,    49,   131,    -1,    49,   138,   131,    -1,
     801      48,   131,    -1,    48,   138,   131,    -1,    51,   168,   131,
     802      -1,    60,   163,   131,    -1,    61,   163,   131,    -1,    61,
     803     163,    62,   162,   131,    -1,    56,   171,   192,    -1,    56,
     804     171,   194,    -1,    56,   171,   192,   194,    -1,   193,    -1,
     805      57,   108,    95,   109,   171,    -1,   193,    57,   108,    95,
     806     109,   171,    -1,    58,   108,    95,   109,   171,    -1,   193,
     807      58,   108,    95,   109,   171,    -1,    57,   108,   133,   133,
     808     195,   134,   109,   171,   134,    -1,   193,    57,   108,   133,
     809     133,   195,   134,   109,   171,   134,    -1,    58,   108,   133,
     810     133,   195,   134,   109,   171,   134,    -1,   193,    58,   108,
     811     133,   133,   195,   134,   109,   171,   134,    -1,    59,   171,
     812      -1,   223,    -1,   223,   305,    -1,   223,   353,    -1,   362,
     813     138,    -1,   362,    -1,    63,   197,   108,   140,   109,   131,
     814      -1,    63,   197,   108,   140,   116,   198,   109,   131,    -1,
     815      63,   197,   108,   140,   116,   198,   116,   198,   109,   131,
     816      -1,    63,   197,   108,   140,   116,   198,   116,   198,   116,
     817     201,   109,   131,    -1,    63,   197,    50,   108,   140,   116,
     818     116,   198,   116,   201,   116,   202,   109,   131,    -1,    -1,
     819      11,    -1,    -1,   199,    -1,   200,    -1,   199,   115,   200,
     820      -1,   140,   108,   161,   109,    -1,   110,   161,   111,   140,
     821     108,   161,   109,    -1,    -1,   140,    -1,   201,   115,   140,
     822      -1,   138,    -1,   202,   115,   138,    -1,   134,    -1,   204,
     823      -1,   210,    -1,   204,   133,   210,    -1,   134,    -1,   206,
     824      -1,   220,    -1,   206,   133,   220,    -1,    -1,   208,    -1,
     825      28,   209,   131,    -1,   208,    28,   209,   131,    -1,   270,
     826      -1,   209,   115,   270,    -1,   211,    -1,   220,    -1,   212,
     827     134,   131,    -1,   217,   134,   131,    -1,   214,   134,   131,
     828      -1,   289,   134,   131,    -1,   292,   134,   131,    -1,   213,
     829     273,    -1,   229,   213,   273,    -1,   212,   134,   115,   133,
     830     268,   273,    -1,   363,   268,   307,    -1,   366,   268,   307,
     831      -1,   225,   366,   268,   307,    -1,   215,    -1,   225,   215,
     832      -1,   229,   215,    -1,   229,   225,   215,    -1,   214,   134,
     833     115,   133,   268,    -1,   110,   111,   268,   108,   133,   256,
     834     134,   109,    -1,   366,   268,   108,   133,   256,   134,   109,
     835      -1,   216,   268,   108,   133,   256,   134,   109,    -1,   110,
     836     133,   258,   134,   111,    -1,   110,   133,   258,   134,   115,
     837     133,   259,   134,   111,    -1,     3,   213,    -1,     3,   215,
     838      -1,   217,   134,   115,   133,   138,    -1,     3,   223,   305,
     839      -1,   218,   134,   115,   133,   305,    -1,   225,     3,   223,
     840     305,    -1,   223,     3,   305,    -1,   223,     3,   225,   305,
     841      -1,     3,   138,   130,   162,    -1,   219,   134,   115,   133,
     842     138,   130,   162,    -1,   221,   134,   131,    -1,   218,   134,
     843     131,    -1,   219,   134,   131,    -1,   238,   134,   131,    -1,
     844     222,   305,   307,   273,    -1,   221,   115,   308,   305,   307,
     845     273,    -1,   234,    -1,   238,    -1,   240,    -1,   279,    -1,
     846     235,    -1,   239,    -1,   241,    -1,   280,    -1,    -1,   225,
     847      -1,   226,    -1,   225,   226,    -1,   227,    -1,   310,    -1,
     848      10,    -1,    12,    -1,    11,    -1,    14,    -1,    66,    -1,
     849      -1,    13,   108,   228,   282,   109,    -1,   230,    -1,   225,
     850     230,    -1,   229,   225,   230,    -1,   231,    -1,   230,   231,
     851      -1,   232,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     852      -1,     8,    -1,     9,    -1,    68,    -1,    70,    -1,    16,
    855853      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    856       -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
    857       -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
    858      235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
    859       -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
    860      234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
    861      273,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
    862      273,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
    863      230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
    864      243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
    865      230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
    866       74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
    867      254,    -1,   245,   114,   246,   115,    -1,   245,   271,    -1,
    868      245,   271,   114,   246,   115,    -1,   245,   109,   289,   110,
    869      114,   246,   115,    -1,   245,   282,    -1,    31,   309,    -1,
    870       32,   309,    -1,   247,    -1,   246,   247,    -1,   248,   132,
    871       -1,    40,   248,   132,    -1,   249,   132,    -1,    40,   249,
    872      132,    -1,   363,    -1,   363,   271,    -1,   248,   116,   271,
    873       -1,   248,   116,    -1,   224,   250,    -1,   249,   116,   309,
    874      250,    -1,    -1,   252,    -1,   315,   251,    -1,   328,   251,
    875       -1,   354,    -1,    -1,   252,    -1,   117,   162,    -1,    30,
    876      309,    -1,   253,   114,   255,   369,   115,    -1,   253,   271,
    877      114,   255,   369,   115,    -1,   253,   271,    -1,   271,   256,
    878       -1,   255,   116,   271,   256,    -1,    -1,   131,   162,    -1,
    879       -1,   258,    -1,   260,    -1,   259,    -1,   259,   135,   116,
    880      134,   260,    -1,   260,   135,   116,   134,    96,    -1,   259,
    881      135,   116,   134,    96,    -1,   264,    -1,   260,   135,   116,
    882      134,   264,    -1,   259,   135,   116,   134,   264,    -1,   259,
    883      135,   116,   134,   260,   135,   116,   134,   264,    -1,   265,
    884       -1,   260,   135,   116,   134,   265,    -1,    -1,   262,    -1,
    885      263,    -1,   263,   135,   116,   134,    96,    -1,   267,    -1,
    886      266,    -1,   263,   135,   116,   134,   267,    -1,   263,   135,
    887      116,   134,   266,    -1,   266,    -1,   359,   269,   370,    -1,
    888      367,   269,   370,    -1,   226,   367,   269,   370,    -1,   216,
    889       -1,   267,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
    890      368,    -1,   223,   333,   370,    -1,   223,   337,   370,    -1,
    891      223,    -1,   223,   348,    -1,   139,    -1,   268,   116,   139,
    892       -1,   137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,
    893       -1,    75,    -1,   139,    -1,    74,    -1,    75,    -1,   363,
    894       -1,   224,    -1,   224,   354,    -1,   363,    -1,   368,    -1,
    895      224,    -1,   224,   342,    -1,    -1,   131,   275,    -1,   107,
    896      275,    -1,   163,    -1,   114,   276,   369,   115,    -1,    -1,
    897      275,    -1,   277,   275,    -1,   276,   116,   275,    -1,   276,
    898      116,   277,   275,    -1,   278,   117,    -1,   271,   117,    -1,
    899      279,    -1,   278,   279,    -1,    80,    -1,   113,   271,    -1,
    900      111,   134,   163,   135,   112,    -1,   111,   134,   307,   135,
    901      112,    -1,   111,   134,   162,    96,   162,   135,   112,    -1,
    902      113,   111,   134,   146,   135,   112,    -1,   281,    -1,   230,
    903      281,    -1,   280,   232,    -1,   280,   232,   226,    -1,   282,
    904       -1,   226,   282,    -1,   281,   227,    -1,    75,   109,   289,
    905      110,    -1,   284,   370,    -1,   283,   116,   284,   370,    -1,
    906       -1,   286,   271,   285,   287,    -1,   224,   333,    -1,    33,
    907       -1,    35,    -1,    34,    -1,    -1,   287,   288,    -1,   129,
    908      271,   109,   289,   110,    -1,   129,   114,   134,   295,   115,
    909       -1,   129,   109,   134,   283,   135,   110,   114,   134,   295,
    910      115,   109,   289,   110,    -1,   273,    -1,   163,    -1,   289,
    911      116,   273,    -1,   289,   116,   163,    -1,    33,   291,    -1,
    912      231,    33,   291,    -1,   290,   116,   291,    -1,   292,   287,
    913       -1,   292,   287,   131,   273,    -1,   271,    -1,   270,   109,
    914      134,   283,   135,   110,    -1,    36,   271,   109,   134,   283,
    915      135,   110,   114,   115,    -1,    -1,    36,   271,   109,   134,
    916      283,   135,   110,   114,   294,   295,   115,    -1,   296,    -1,
    917      295,   134,   296,    -1,   297,   135,   132,    -1,   298,   135,
    918      132,    -1,   214,    -1,   216,    -1,   297,   135,   116,   134,
    919      269,    -1,   224,   306,    -1,   298,   135,   116,   134,   306,
    920       -1,    -1,   300,    -1,   302,    -1,   300,   134,   302,    -1,
    921       -1,   300,    -1,   211,    -1,   304,    -1,   197,    -1,    -1,
    922        5,    82,   303,   114,   301,   115,    -1,    40,   302,    -1,
    923      305,    -1,   320,   172,    -1,   324,   134,   206,   172,    -1,
    924      215,   172,    -1,   223,   320,   172,    -1,   226,   320,   172,
    925       -1,   230,   320,   172,    -1,   230,   226,   320,   172,    -1,
    926      223,   324,   134,   206,   172,    -1,   226,   324,   134,   206,
    927      172,    -1,   230,   324,   134,   206,   172,    -1,   230,   226,
    928      324,   134,   206,   172,    -1,   315,    -1,   320,    -1,   328,
    929       -1,   162,   123,   162,    -1,    -1,    64,   109,   141,   110,
    930      309,    -1,    -1,   310,    -1,   311,    -1,   310,   311,    -1,
    931       39,   109,   109,   312,   110,   110,    -1,   313,    -1,   312,
    932      116,   313,    -1,    -1,   314,    -1,   314,   109,   169,   110,
    933       -1,   269,    -1,   233,    -1,   234,    -1,   227,    -1,   316,
    934      309,    -1,   317,    -1,   318,   309,    -1,   319,   309,    -1,
    935      137,    -1,   109,   316,   110,    -1,   119,   315,    -1,   119,
    936      226,   315,    -1,   109,   317,   110,    -1,   316,   346,    -1,
    937      109,   317,   110,   346,    -1,   109,   318,   110,   347,    -1,
    938      109,   318,   110,    -1,   109,   317,   110,   109,   134,   261,
    939      135,   110,    -1,   109,   319,   110,    -1,   321,   309,    -1,
    940      322,    -1,   323,   309,    -1,   316,   109,   134,   261,   135,
    941      110,    -1,   109,   322,   110,   109,   134,   261,   135,   110,
    942       -1,   109,   321,   110,    -1,   119,   320,    -1,   119,   226,
    943      320,    -1,   109,   322,   110,    -1,   109,   322,   110,   346,
    944       -1,   109,   323,   110,   347,    -1,   109,   323,   110,    -1,
    945      325,    -1,   326,    -1,   327,    -1,   316,   109,   268,   110,
    946       -1,   109,   326,   110,   109,   268,   110,    -1,   109,   325,
    947      110,    -1,   119,   324,    -1,   119,   226,   324,    -1,   109,
    948      326,   110,    -1,   109,   326,   110,   346,    -1,   109,   327,
    949      110,   347,    -1,   109,   327,   110,    -1,   329,   309,    -1,
    950      330,    -1,   331,   309,    -1,   332,   309,    -1,   338,    -1,
    951      109,   329,   110,    -1,   119,   328,    -1,   119,   226,   328,
    952       -1,   109,   330,   110,    -1,   329,   346,    -1,   109,   330,
    953      110,   346,    -1,   109,   331,   110,   347,    -1,   109,   331,
    954      110,    -1,   329,   109,   134,   261,   135,   110,    -1,   109,
    955      330,   110,   109,   134,   261,   135,   110,    -1,   109,   332,
    956      110,    -1,   316,   309,    -1,   334,    -1,   335,   309,    -1,
    957      336,   309,    -1,   119,   333,    -1,   119,   226,   333,    -1,
    958      109,   334,   110,    -1,   316,   352,    -1,   109,   334,   110,
    959      346,    -1,   109,   335,   110,   347,    -1,   109,   335,   110,
    960       -1,   316,   109,   134,   261,   135,   110,    -1,   109,   334,
    961      110,   109,   134,   261,   135,   110,    -1,   109,   336,   110,
    962       -1,   338,   309,    -1,   339,    -1,   340,   309,    -1,   341,
    963      309,    -1,    74,    -1,    75,    -1,   119,   337,    -1,   119,
    964      226,   337,    -1,   109,   339,   110,    -1,   338,   352,    -1,
    965      109,   339,   110,   352,    -1,   338,   109,   134,   261,   135,
    966      110,    -1,   109,   339,   110,   109,   134,   261,   135,   110,
    967       -1,   343,    -1,   344,   309,    -1,   345,   309,    -1,   119,
    968       -1,   119,   226,    -1,   119,   342,    -1,   119,   226,   342,
    969       -1,   109,   343,   110,    -1,   346,    -1,   109,   343,   110,
    970      346,    -1,   109,   344,   110,   347,    -1,   109,   344,   110,
    971       -1,   109,   134,   261,   135,   110,    -1,   109,   343,   110,
    972      109,   134,   261,   135,   110,    -1,   109,   345,   110,    -1,
    973      111,   112,    -1,   111,   112,   347,    -1,   347,    -1,   111,
    974      134,   163,   135,   112,    -1,   111,   134,   119,   135,   112,
    975       -1,   347,   111,   134,   163,   135,   112,    -1,   347,   111,
    976      134,   119,   135,   112,    -1,   349,    -1,   350,   309,    -1,
    977      351,   309,    -1,   119,    -1,   119,   226,    -1,   119,   348,
    978       -1,   119,   226,   348,    -1,   109,   349,   110,    -1,   352,
    979       -1,   109,   349,   110,   352,    -1,   109,   350,   110,   347,
    980       -1,   109,   350,   110,    -1,   109,   134,   261,   135,   110,
    981       -1,   109,   349,   110,   109,   134,   261,   135,   110,    -1,
    982      109,   351,   110,    -1,   353,    -1,   353,   347,    -1,   347,
    983       -1,   111,   112,    -1,   111,   134,   226,   119,   135,   112,
    984       -1,   111,   134,   226,   135,   112,    -1,   111,   134,   226,
    985      163,   135,   112,    -1,   111,   134,     7,   225,   163,   135,
    986      112,    -1,   111,   134,   226,     7,   163,   135,   112,    -1,
    987      355,    -1,   356,   309,    -1,   357,   309,    -1,   119,    -1,
    988      119,   226,    -1,   119,   354,    -1,   119,   226,   354,    -1,
    989      109,   355,   110,    -1,   346,    -1,   109,   355,   110,   346,
    990       -1,   109,   356,   110,   347,    -1,   109,   356,   110,    -1,
    991      109,   355,   110,   109,   134,   261,   135,   110,    -1,   109,
    992      357,   110,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
    993      360,    -1,   361,    -1,   119,   224,    -1,   226,   119,   224,
    994       -1,   119,   368,    -1,   226,   119,   368,    -1,   119,   358,
    995       -1,   226,   119,   358,    -1,   111,   112,   224,    -1,   362,
    996      224,    -1,   111,   112,   347,   224,    -1,   362,   347,   224,
    997       -1,   347,   224,    -1,   111,   112,   360,    -1,   362,   360,
    998       -1,   111,   112,   347,   360,    -1,   362,   347,   360,    -1,
    999      347,   360,    -1,   111,   134,   226,   119,   135,   112,    -1,
    1000      111,   134,   226,   163,   135,   112,    -1,   111,   134,   230,
    1001      163,   135,   112,    -1,   111,   134,   230,   226,   163,   135,
    1002      112,    -1,   367,    -1,   226,   367,    -1,   364,    -1,   365,
    1003       -1,   366,    -1,   119,   224,    -1,   226,   119,   224,    -1,
    1004      119,   368,    -1,   226,   119,   368,    -1,   119,   363,    -1,
    1005      226,   119,   363,    -1,   111,   112,   224,    -1,   111,   112,
    1006      347,   224,    -1,   347,   224,    -1,   111,   112,   365,    -1,
    1007      111,   112,   347,   365,    -1,   347,   365,    -1,   111,   134,
    1008      260,   135,   112,    -1,   111,   112,   109,   257,   110,    -1,
    1009      367,   109,   134,   257,   135,   110,    -1,   217,   109,   134,
    1010      257,   135,   110,    -1,    -1,   116,    -1,    -1,   131,   163,
    1011       -1
     854      -1,    22,    -1,    23,    -1,    15,    -1,    24,    -1,    25,
     855      -1,    26,    -1,   235,    -1,   229,   235,    -1,   234,   231,
     856      -1,   234,   231,   225,    -1,   234,   231,   235,    -1,   236,
     857      -1,   224,   237,   224,    -1,   233,    -1,   225,   233,    -1,
     858     236,   226,    -1,   236,   233,    -1,    27,   108,   272,   109,
     859      -1,    27,   108,   167,   109,    -1,    77,   108,   272,   109,
     860      -1,    77,   108,   167,   109,    -1,   239,    -1,   229,   239,
     861      -1,   238,   231,    -1,   238,   231,   225,    -1,   242,    -1,
     862     225,   242,    -1,   239,   226,    -1,   241,    -1,   229,   241,
     863      -1,   240,   231,    -1,   240,   231,   225,    -1,    73,    -1,
     864     225,    73,    -1,   241,   226,    -1,   243,    -1,   253,    -1,
     865     244,   113,   245,   114,    -1,   244,   270,    -1,   244,   270,
     866     113,   245,   114,    -1,   244,   108,   288,   109,   113,   245,
     867     114,    -1,   244,   281,    -1,    30,   308,    -1,    31,   308,
     868      -1,   246,    -1,   245,   246,    -1,   247,   131,    -1,    39,
     869     247,   131,    -1,   248,   131,    -1,    39,   248,   131,    -1,
     870     362,    -1,   362,   270,    -1,   247,   115,   270,    -1,   247,
     871     115,    -1,   223,   249,    -1,   248,   115,   308,   249,    -1,
     872      -1,   251,    -1,   314,   250,    -1,   327,   250,    -1,   353,
     873      -1,    -1,   251,    -1,   116,   161,    -1,    29,   308,    -1,
     874     252,   113,   254,   368,   114,    -1,   252,   270,   113,   254,
     875     368,   114,    -1,   252,   270,    -1,   270,   255,    -1,   254,
     876     115,   270,   255,    -1,    -1,   130,   161,    -1,    -1,   257,
     877      -1,   259,    -1,   258,    -1,   258,   134,   115,   133,   259,
     878      -1,   259,   134,   115,   133,    95,    -1,   258,   134,   115,
     879     133,    95,    -1,   263,    -1,   259,   134,   115,   133,   263,
     880      -1,   258,   134,   115,   133,   263,    -1,   258,   134,   115,
     881     133,   259,   134,   115,   133,   263,    -1,   264,    -1,   259,
     882     134,   115,   133,   264,    -1,    -1,   261,    -1,   262,    -1,
     883     262,   134,   115,   133,    95,    -1,   266,    -1,   265,    -1,
     884     262,   134,   115,   133,   266,    -1,   262,   134,   115,   133,
     885     265,    -1,   265,    -1,   358,   268,   369,    -1,   366,   268,
     886     369,    -1,   225,   366,   268,   369,    -1,   215,    -1,   266,
     887      -1,   358,    -1,   366,    -1,   225,   366,    -1,   367,    -1,
     888     222,   332,   369,    -1,   222,   336,   369,    -1,   222,    -1,
     889     222,   347,    -1,   138,    -1,   267,   115,   138,    -1,   136,
     890      -1,    73,    -1,    74,    -1,   137,    -1,    73,    -1,    74,
     891      -1,   138,    -1,    73,    -1,    74,    -1,   362,    -1,   223,
     892      -1,   223,   353,    -1,   362,    -1,   367,    -1,   223,    -1,
     893     223,   341,    -1,    -1,   130,   274,    -1,   106,   274,    -1,
     894     162,    -1,   113,   275,   368,   114,    -1,    -1,   274,    -1,
     895     276,   274,    -1,   275,   115,   274,    -1,   275,   115,   276,
     896     274,    -1,   277,   116,    -1,   270,   116,    -1,   278,    -1,
     897     277,   278,    -1,    79,    -1,   112,   270,    -1,   110,   133,
     898     162,   134,   111,    -1,   110,   133,   306,   134,   111,    -1,
     899     110,   133,   161,    95,   161,   134,   111,    -1,   112,   110,
     900     133,   145,   134,   111,    -1,   280,    -1,   229,   280,    -1,
     901     279,   231,    -1,   279,   231,   225,    -1,   281,    -1,   225,
     902     281,    -1,   280,   226,    -1,    74,   108,   288,   109,    -1,
     903     283,   369,    -1,   282,   115,   283,   369,    -1,    -1,   285,
     904     270,   284,   286,    -1,   223,   332,    -1,    32,    -1,    34,
     905      -1,    33,    -1,    -1,   286,   287,    -1,   128,   270,   108,
     906     288,   109,    -1,   128,   113,   133,   294,   114,    -1,   128,
     907     108,   133,   282,   134,   109,   113,   133,   294,   114,   108,
     908     288,   109,    -1,   272,    -1,   162,    -1,   288,   115,   272,
     909      -1,   288,   115,   162,    -1,    32,   290,    -1,   230,    32,
     910     290,    -1,   289,   115,   290,    -1,   291,   286,    -1,   291,
     911     286,   130,   272,    -1,   270,    -1,   269,   108,   133,   282,
     912     134,   109,    -1,    35,   270,   108,   133,   282,   134,   109,
     913     113,   114,    -1,    -1,    35,   270,   108,   133,   282,   134,
     914     109,   113,   293,   294,   114,    -1,   295,    -1,   294,   133,
     915     295,    -1,   296,   134,   131,    -1,   297,   134,   131,    -1,
     916     213,    -1,   215,    -1,   296,   134,   115,   133,   268,    -1,
     917     223,   305,    -1,   297,   134,   115,   133,   305,    -1,    -1,
     918     299,    -1,   301,    -1,   299,   133,   301,    -1,    -1,   299,
     919      -1,   210,    -1,   303,    -1,   196,    -1,    -1,     5,    81,
     920     302,   113,   300,   114,    -1,    39,   301,    -1,   304,    -1,
     921     319,   171,    -1,   323,   133,   205,   171,    -1,   214,   171,
     922      -1,   222,   319,   171,    -1,   225,   319,   171,    -1,   229,
     923     319,   171,    -1,   229,   225,   319,   171,    -1,   222,   323,
     924     133,   205,   171,    -1,   225,   323,   133,   205,   171,    -1,
     925     229,   323,   133,   205,   171,    -1,   229,   225,   323,   133,
     926     205,   171,    -1,   314,    -1,   319,    -1,   327,    -1,   161,
     927     122,   161,    -1,    -1,    63,   108,   140,   109,   308,    -1,
     928      -1,   309,    -1,   310,    -1,   309,   310,    -1,    38,   108,
     929     108,   311,   109,   109,    -1,   312,    -1,   311,   115,   312,
     930      -1,    -1,   313,    -1,   313,   108,   168,   109,    -1,   268,
     931      -1,   232,    -1,   233,    -1,   226,    -1,   315,   308,    -1,
     932     316,    -1,   317,   308,    -1,   318,   308,    -1,   136,    -1,
     933     108,   315,   109,    -1,   118,   314,    -1,   118,   225,   314,
     934      -1,   108,   316,   109,    -1,   315,   345,    -1,   108,   316,
     935     109,   345,    -1,   108,   317,   109,   346,    -1,   108,   317,
     936     109,    -1,   108,   316,   109,   108,   133,   260,   134,   109,
     937      -1,   108,   318,   109,    -1,   320,   308,    -1,   321,    -1,
     938     322,   308,    -1,   315,   108,   133,   260,   134,   109,    -1,
     939     108,   321,   109,   108,   133,   260,   134,   109,    -1,   108,
     940     320,   109,    -1,   118,   319,    -1,   118,   225,   319,    -1,
     941     108,   321,   109,    -1,   108,   321,   109,   345,    -1,   108,
     942     322,   109,   346,    -1,   108,   322,   109,    -1,   324,    -1,
     943     325,    -1,   326,    -1,   315,   108,   267,   109,    -1,   108,
     944     325,   109,   108,   267,   109,    -1,   108,   324,   109,    -1,
     945     118,   323,    -1,   118,   225,   323,    -1,   108,   325,   109,
     946      -1,   108,   325,   109,   345,    -1,   108,   326,   109,   346,
     947      -1,   108,   326,   109,    -1,   328,   308,    -1,   329,    -1,
     948     330,   308,    -1,   331,   308,    -1,   337,    -1,   108,   328,
     949     109,    -1,   118,   327,    -1,   118,   225,   327,    -1,   108,
     950     329,   109,    -1,   328,   345,    -1,   108,   329,   109,   345,
     951      -1,   108,   330,   109,   346,    -1,   108,   330,   109,    -1,
     952     328,   108,   133,   260,   134,   109,    -1,   108,   329,   109,
     953     108,   133,   260,   134,   109,    -1,   108,   331,   109,    -1,
     954     315,   308,    -1,   333,    -1,   334,   308,    -1,   335,   308,
     955      -1,   118,   332,    -1,   118,   225,   332,    -1,   108,   333,
     956     109,    -1,   315,   351,    -1,   108,   333,   109,   345,    -1,
     957     108,   334,   109,   346,    -1,   108,   334,   109,    -1,   315,
     958     108,   133,   260,   134,   109,    -1,   108,   333,   109,   108,
     959     133,   260,   134,   109,    -1,   108,   335,   109,    -1,   337,
     960     308,    -1,   338,    -1,   339,   308,    -1,   340,   308,    -1,
     961      73,    -1,    74,    -1,   118,   336,    -1,   118,   225,   336,
     962      -1,   108,   338,   109,    -1,   337,   351,    -1,   108,   338,
     963     109,   351,    -1,   337,   108,   133,   260,   134,   109,    -1,
     964     108,   338,   109,   108,   133,   260,   134,   109,    -1,   342,
     965      -1,   343,   308,    -1,   344,   308,    -1,   118,    -1,   118,
     966     225,    -1,   118,   341,    -1,   118,   225,   341,    -1,   108,
     967     342,   109,    -1,   345,    -1,   108,   342,   109,   345,    -1,
     968     108,   343,   109,   346,    -1,   108,   343,   109,    -1,   108,
     969     133,   260,   134,   109,    -1,   108,   342,   109,   108,   133,
     970     260,   134,   109,    -1,   108,   344,   109,    -1,   110,   111,
     971      -1,   110,   111,   346,    -1,   346,    -1,   110,   133,   162,
     972     134,   111,    -1,   110,   133,   118,   134,   111,    -1,   346,
     973     110,   133,   162,   134,   111,    -1,   346,   110,   133,   118,
     974     134,   111,    -1,   348,    -1,   349,   308,    -1,   350,   308,
     975      -1,   118,    -1,   118,   225,    -1,   118,   347,    -1,   118,
     976     225,   347,    -1,   108,   348,   109,    -1,   351,    -1,   108,
     977     348,   109,   351,    -1,   108,   349,   109,   346,    -1,   108,
     978     349,   109,    -1,   108,   133,   260,   134,   109,    -1,   108,
     979     348,   109,   108,   133,   260,   134,   109,    -1,   108,   350,
     980     109,    -1,   352,    -1,   352,   346,    -1,   346,    -1,   110,
     981     111,    -1,   110,   133,   225,   118,   134,   111,    -1,   110,
     982     133,   225,   134,   111,    -1,   110,   133,   225,   162,   134,
     983     111,    -1,   110,   133,     7,   224,   162,   134,   111,    -1,
     984     110,   133,   225,     7,   162,   134,   111,    -1,   354,    -1,
     985     355,   308,    -1,   356,   308,    -1,   118,    -1,   118,   225,
     986      -1,   118,   353,    -1,   118,   225,   353,    -1,   108,   354,
     987     109,    -1,   345,    -1,   108,   354,   109,   345,    -1,   108,
     988     355,   109,   346,    -1,   108,   355,   109,    -1,   108,   354,
     989     109,   108,   133,   260,   134,   109,    -1,   108,   356,   109,
     990      -1,   358,    -1,   366,    -1,   225,   366,    -1,   359,    -1,
     991     360,    -1,   118,   223,    -1,   225,   118,   223,    -1,   118,
     992     367,    -1,   225,   118,   367,    -1,   118,   357,    -1,   225,
     993     118,   357,    -1,   110,   111,   223,    -1,   361,   223,    -1,
     994     110,   111,   346,   223,    -1,   361,   346,   223,    -1,   346,
     995     223,    -1,   110,   111,   359,    -1,   361,   359,    -1,   110,
     996     111,   346,   359,    -1,   361,   346,   359,    -1,   346,   359,
     997      -1,   110,   133,   225,   118,   134,   111,    -1,   110,   133,
     998     225,   162,   134,   111,    -1,   110,   133,   229,   162,   134,
     999     111,    -1,   110,   133,   229,   225,   162,   134,   111,    -1,
     1000     366,    -1,   225,   366,    -1,   363,    -1,   364,    -1,   365,
     1001      -1,   118,   223,    -1,   225,   118,   223,    -1,   118,   367,
     1002      -1,   225,   118,   367,    -1,   118,   362,    -1,   225,   118,
     1003     362,    -1,   110,   111,   223,    -1,   110,   111,   346,   223,
     1004      -1,   346,   223,    -1,   110,   111,   364,    -1,   110,   111,
     1005     346,   364,    -1,   346,   364,    -1,   110,   133,   259,   134,
     1006     111,    -1,   110,   111,   108,   256,   109,    -1,   366,   108,
     1007     133,   256,   134,   109,    -1,   216,   108,   133,   256,   134,
     1008     109,    -1,    -1,   115,    -1,    -1,   130,   162,    -1
    10121009};
    10131010
     
    10151012static const yytype_uint16 yyrline[] =
    10161013{
    1017        0,   291,   291,   297,   306,   307,   308,   312,   313,   314,
    1018      318,   319,   323,   324,   328,   329,   333,   334,   340,   342,
    1019      344,   346,   351,   352,   358,   362,   364,   365,   367,   368,
    1020      370,   372,   374,   382,   383,   389,   390,   391,   396,   398,
    1021      403,   404,   408,   412,   414,   416,   418,   423,   426,   428,
    1022      430,   432,   434,   436,   438,   440,   446,   448,   450,   452,
    1023      454,   456,   458,   460,   462,   467,   468,   469,   470,   474,
    1024      475,   477,   482,   483,   485,   487,   492,   493,   495,   500,
    1025      501,   503,   508,   509,   511,   513,   515,   520,   521,   523,
    1026      528,   529,   534,   535,   540,   541,   546,   547,   552,   553,
    1027      558,   559,   561,   563,   568,   573,   574,   576,   578,   584,
    1028      585,   591,   593,   595,   597,   602,   603,   608,   609,   610,
    1029      611,   612,   613,   614,   615,   616,   617,   621,   622,   628,
    1030      629,   635,   636,   637,   638,   639,   640,   641,   642,   643,
    1031      652,   659,   661,   671,   672,   677,   679,   681,   683,   687,
    1032      688,   693,   698,   701,   703,   705,   710,   712,   720,   721,
    1033      723,   727,   728,   733,   734,   739,   740,   744,   749,   750,
    1034      754,   756,   762,   763,   767,   769,   771,   773,   779,   780,
    1035      784,   785,   789,   791,   793,   798,   800,   805,   807,   811,
    1036      814,   818,   821,   825,   827,   831,   833,   840,   842,   844,
    1037      853,   855,   857,   859,   861,   866,   868,   870,   872,   877,
    1038      890,   891,   896,   898,   903,   907,   909,   911,   913,   915,
    1039      921,   922,   928,   929,   933,   934,   939,   941,   947,   948,
    1040      950,   955,   957,   964,   966,   970,   971,   976,   978,   982,
    1041      983,   987,   989,   993,   994,   998,   999,  1003,  1004,  1019,
    1042     1020,  1021,  1022,  1023,  1027,  1032,  1039,  1049,  1054,  1059,
    1043     1067,  1072,  1077,  1082,  1087,  1095,  1117,  1122,  1129,  1131,
    1044     1138,  1143,  1148,  1159,  1164,  1169,  1174,  1179,  1188,  1193,
    1045     1201,  1202,  1203,  1204,  1210,  1215,  1223,  1224,  1225,  1226,
    1046     1230,  1231,  1232,  1233,  1238,  1239,  1248,  1249,  1254,  1255,
    1047     1260,  1262,  1264,  1266,  1268,  1271,  1270,  1282,  1283,  1285,
    1048     1295,  1296,  1301,  1305,  1307,  1309,  1311,  1313,  1315,  1317,
    1049     1319,  1324,  1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,
    1050     1342,  1344,  1346,  1348,  1354,  1355,  1357,  1359,  1361,  1366,
    1051     1367,  1373,  1374,  1376,  1378,  1383,  1385,  1387,  1389,  1394,
    1052     1395,  1397,  1399,  1404,  1405,  1407,  1412,  1413,  1415,  1417,
    1053     1422,  1424,  1426,  1431,  1432,  1436,  1438,  1440,  1442,  1444,
    1054     1449,  1451,  1456,  1458,  1463,  1464,  1466,  1467,  1472,  1473,
    1055     1475,  1477,  1482,  1484,  1490,  1491,  1493,  1496,  1499,  1504,
    1056     1505,  1510,  1515,  1519,  1521,  1523,  1528,  1530,  1536,  1537,
    1057     1545,  1546,  1550,  1551,  1552,  1554,  1556,  1563,  1564,  1566,
    1058     1568,  1573,  1574,  1580,  1581,  1585,  1586,  1591,  1592,  1593,
    1059     1595,  1603,  1604,  1606,  1609,  1611,  1615,  1616,  1617,  1619,
    1060     1621,  1625,  1630,  1638,  1639,  1648,  1650,  1655,  1656,  1657,
    1061     1661,  1662,  1663,  1667,  1668,  1669,  1673,  1674,  1675,  1680,
    1062     1681,  1682,  1683,  1689,  1690,  1692,  1697,  1698,  1703,  1704,
    1063     1705,  1706,  1707,  1722,  1723,  1728,  1729,  1737,  1739,  1741,
    1064     1744,  1746,  1748,  1771,  1772,  1774,  1776,  1781,  1782,  1784,
    1065     1789,  1794,  1795,  1801,  1800,  1804,  1808,  1810,  1812,  1818,
    1066     1819,  1824,  1829,  1831,  1836,  1838,  1839,  1841,  1846,  1848,
    1067     1850,  1855,  1857,  1862,  1867,  1875,  1881,  1880,  1894,  1895,
    1068     1900,  1901,  1905,  1910,  1915,  1923,  1928,  1939,  1940,  1951,
    1069     1952,  1958,  1959,  1963,  1964,  1965,  1968,  1967,  1978,  1983,
    1070     1988,  1994,  2003,  2009,  2015,  2021,  2027,  2035,  2041,  2049,
    1071     2055,  2064,  2065,  2066,  2070,  2074,  2076,  2081,  2082,  2086,
    1072     2087,  2092,  2098,  2099,  2102,  2104,  2105,  2109,  2110,  2111,
    1073     2112,  2146,  2148,  2149,  2151,  2156,  2161,  2166,  2168,  2170,
    1074     2175,  2177,  2179,  2181,  2186,  2188,  2198,  2200,  2201,  2206,
    1075     2208,  2210,  2215,  2217,  2219,  2224,  2226,  2228,  2237,  2238,
    1076     2239,  2243,  2245,  2247,  2252,  2254,  2256,  2261,  2263,  2265,
    1077     2280,  2282,  2283,  2285,  2290,  2291,  2296,  2298,  2300,  2305,
    1078     2307,  2309,  2311,  2316,  2318,  2320,  2330,  2332,  2333,  2335,
    1079     2340,  2342,  2344,  2349,  2351,  2353,  2355,  2360,  2362,  2364,
    1080     2395,  2397,  2398,  2400,  2405,  2410,  2418,  2420,  2422,  2427,
    1081     2429,  2434,  2436,  2450,  2451,  2453,  2458,  2460,  2462,  2464,
    1082     2466,  2471,  2472,  2474,  2476,  2481,  2483,  2485,  2491,  2493,
    1083     2495,  2499,  2501,  2503,  2505,  2519,  2520,  2522,  2527,  2529,
    1084     2531,  2533,  2535,  2540,  2541,  2543,  2545,  2550,  2552,  2554,
    1085     2560,  2561,  2563,  2572,  2575,  2577,  2580,  2582,  2584,  2597,
    1086     2598,  2600,  2605,  2607,  2609,  2611,  2613,  2618,  2619,  2621,
    1087     2623,  2628,  2630,  2638,  2639,  2640,  2645,  2646,  2650,  2652,
    1088     2654,  2656,  2658,  2660,  2667,  2669,  2671,  2673,  2675,  2677,
    1089     2679,  2681,  2683,  2685,  2690,  2692,  2694,  2699,  2725,  2726,
    1090     2728,  2732,  2733,  2737,  2739,  2741,  2743,  2745,  2747,  2754,
    1091     2756,  2758,  2760,  2762,  2764,  2769,  2774,  2776,  2778,  2796,
    1092     2798,  2803,  2804
     1014       0,   290,   290,   296,   305,   306,   307,   311,   312,   313,
     1015     317,   318,   322,   323,   327,   328,   332,   333,   339,   341,
     1016     343,   345,   350,   351,   357,   361,   363,   364,   366,   367,
     1017     369,   371,   373,   381,   382,   388,   389,   390,   395,   397,
     1018     402,   403,   407,   411,   413,   415,   417,   422,   425,   427,
     1019     429,   431,   433,   435,   437,   439,   445,   447,   449,   451,
     1020     453,   455,   457,   459,   461,   466,   467,   468,   469,   473,
     1021     474,   476,   481,   482,   484,   486,   491,   492,   494,   499,
     1022     500,   502,   507,   508,   510,   512,   514,   519,   520,   522,
     1023     527,   528,   533,   534,   539,   540,   545,   546,   551,   552,
     1024     557,   558,   560,   562,   567,   572,   573,   575,   577,   583,
     1025     584,   590,   592,   594,   596,   601,   602,   607,   608,   609,
     1026     610,   611,   612,   613,   614,   615,   616,   620,   621,   627,
     1027     628,   634,   635,   636,   637,   638,   639,   640,   641,   642,
     1028     651,   658,   660,   670,   671,   676,   678,   680,   682,   686,
     1029     687,   692,   697,   700,   702,   704,   709,   711,   719,   720,
     1030     722,   726,   727,   732,   733,   738,   739,   743,   748,   749,
     1031     753,   755,   761,   762,   766,   768,   770,   772,   778,   779,
     1032     783,   784,   788,   790,   792,   797,   799,   804,   806,   810,
     1033     813,   817,   820,   824,   826,   830,   832,   839,   841,   843,
     1034     852,   854,   856,   858,   860,   865,   867,   869,   871,   876,
     1035     889,   890,   895,   897,   902,   906,   908,   910,   912,   914,
     1036     920,   921,   927,   928,   932,   933,   938,   940,   946,   947,
     1037     949,   954,   956,   963,   965,   969,   970,   975,   977,   981,
     1038     982,   986,   988,   992,   993,   997,   998,  1002,  1003,  1018,
     1039    1019,  1020,  1021,  1022,  1026,  1031,  1038,  1048,  1053,  1058,
     1040    1066,  1071,  1076,  1081,  1086,  1094,  1116,  1121,  1128,  1130,
     1041    1137,  1142,  1147,  1158,  1163,  1168,  1173,  1178,  1187,  1192,
     1042    1200,  1201,  1202,  1203,  1209,  1214,  1222,  1223,  1224,  1225,
     1043    1229,  1230,  1231,  1232,  1237,  1238,  1247,  1248,  1253,  1254,
     1044    1259,  1261,  1263,  1265,  1267,  1270,  1269,  1281,  1282,  1284,
     1045    1294,  1295,  1300,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
     1046    1318,  1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,
     1047    1341,  1343,  1345,  1351,  1352,  1354,  1356,  1358,  1363,  1364,
     1048    1370,  1371,  1373,  1375,  1380,  1382,  1384,  1386,  1391,  1392,
     1049    1394,  1396,  1401,  1402,  1404,  1409,  1410,  1412,  1414,  1419,
     1050    1421,  1423,  1428,  1429,  1433,  1435,  1437,  1439,  1441,  1446,
     1051    1448,  1453,  1455,  1460,  1461,  1463,  1464,  1469,  1470,  1472,
     1052    1474,  1479,  1481,  1487,  1488,  1490,  1493,  1496,  1501,  1502,
     1053    1507,  1512,  1516,  1518,  1520,  1525,  1527,  1533,  1534,  1542,
     1054    1543,  1547,  1548,  1549,  1551,  1553,  1560,  1561,  1563,  1565,
     1055    1570,  1571,  1577,  1578,  1582,  1583,  1588,  1589,  1590,  1592,
     1056    1600,  1601,  1603,  1606,  1608,  1612,  1613,  1614,  1616,  1618,
     1057    1622,  1627,  1635,  1636,  1645,  1647,  1652,  1653,  1654,  1658,
     1058    1659,  1660,  1664,  1665,  1666,  1670,  1671,  1672,  1677,  1678,
     1059    1679,  1680,  1686,  1687,  1689,  1694,  1695,  1700,  1701,  1702,
     1060    1703,  1704,  1719,  1720,  1725,  1726,  1734,  1736,  1738,  1741,
     1061    1743,  1745,  1768,  1769,  1771,  1773,  1778,  1779,  1781,  1786,
     1062    1791,  1792,  1798,  1797,  1801,  1805,  1807,  1809,  1815,  1816,
     1063    1821,  1826,  1828,  1833,  1835,  1836,  1838,  1843,  1845,  1847,
     1064    1852,  1854,  1859,  1864,  1872,  1878,  1877,  1891,  1892,  1897,
     1065    1898,  1902,  1907,  1912,  1920,  1925,  1936,  1937,  1948,  1949,
     1066    1955,  1956,  1960,  1961,  1962,  1965,  1964,  1975,  1980,  1985,
     1067    1991,  2000,  2006,  2012,  2018,  2024,  2032,  2038,  2046,  2052,
     1068    2061,  2062,  2063,  2067,  2071,  2073,  2078,  2079,  2083,  2084,
     1069    2089,  2095,  2096,  2099,  2101,  2102,  2106,  2107,  2108,  2109,
     1070    2143,  2145,  2146,  2148,  2153,  2158,  2163,  2165,  2167,  2172,
     1071    2174,  2176,  2178,  2183,  2185,  2195,  2197,  2198,  2203,  2205,
     1072    2207,  2212,  2214,  2216,  2221,  2223,  2225,  2234,  2235,  2236,
     1073    2240,  2242,  2244,  2249,  2251,  2253,  2258,  2260,  2262,  2277,
     1074    2279,  2280,  2282,  2287,  2288,  2293,  2295,  2297,  2302,  2304,
     1075    2306,  2308,  2313,  2315,  2317,  2327,  2329,  2330,  2332,  2337,
     1076    2339,  2341,  2346,  2348,  2350,  2352,  2357,  2359,  2361,  2392,
     1077    2394,  2395,  2397,  2402,  2407,  2415,  2417,  2419,  2424,  2426,
     1078    2431,  2433,  2447,  2448,  2450,  2455,  2457,  2459,  2461,  2463,
     1079    2468,  2469,  2471,  2473,  2478,  2480,  2482,  2488,  2490,  2492,
     1080    2496,  2498,  2500,  2502,  2516,  2517,  2519,  2524,  2526,  2528,
     1081    2530,  2532,  2537,  2538,  2540,  2542,  2547,  2549,  2551,  2557,
     1082    2558,  2560,  2569,  2572,  2574,  2577,  2579,  2581,  2594,  2595,
     1083    2597,  2602,  2604,  2606,  2608,  2610,  2615,  2616,  2618,  2620,
     1084    2625,  2627,  2635,  2636,  2637,  2642,  2643,  2647,  2649,  2651,
     1085    2653,  2655,  2657,  2664,  2666,  2668,  2670,  2672,  2674,  2676,
     1086    2678,  2680,  2682,  2687,  2689,  2691,  2696,  2722,  2723,  2725,
     1087    2729,  2730,  2734,  2736,  2738,  2740,  2742,  2744,  2751,  2753,
     1088    2755,  2757,  2759,  2761,  2766,  2771,  2773,  2775,  2793,  2795,
     1089    2800,  2801
    10931090};
    10941091#endif
     
    11021099  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11031100  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
    1104   "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF",
    1105   "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT",
    1106   "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH",
    1107   "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO",
    1108   "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH",
    1109   "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS",
    1110   "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
    1111   "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
    1112   "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
     1101  "SIGNED", "UNSIGNED", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF", "LABEL",
     1102  "ENUM", "STRUCT", "UNION", "TYPE", "FTYPE", "DTYPE", "CONTEXT", "SIZEOF",
     1103  "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH", "CASE",
     1104  "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO", "RETURN",
     1105  "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH", "CATCHRESUME",
     1106  "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS", "ALIGNOF",
     1107  "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT", "THREADLOCAL",
     1108  "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname", "TYPEGENname",
     1109  "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
    11131110  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    11141111  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
     
    11721169  "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion",
    11731170  "type_name_list", "type_declaring_list", "type_declarator",
    1174   "type_declarator_name", "trait_specifier", "$@3",
    1175   "trait_declaration_list", "trait_declaration",
    1176   "new_trait_declaring_list", "trait_declaring_list", "translation_unit",
    1177   "external_definition_list", "external_definition_list_opt",
    1178   "external_definition", "$@4", "external_function_definition",
    1179   "function_definition", "declarator", "subrange", "asm_name_opt",
    1180   "attribute_list_opt", "attribute_list", "attribute",
    1181   "attribute_parameter_list", "attrib", "any_word", "variable_declarator",
    1182   "paren_identifier", "variable_ptr", "variable_array",
    1183   "variable_function", "function_declarator", "function_no_ptr",
    1184   "function_ptr", "function_array", "old_function_declarator",
    1185   "old_function_no_ptr", "old_function_ptr", "old_function_array",
    1186   "type_redeclarator", "paren_type", "type_ptr", "type_array",
    1187   "type_function", "identifier_parameter_declarator",
     1171  "type_declarator_name", "context_specifier", "$@3",
     1172  "context_declaration_list", "context_declaration",
     1173  "new_context_declaring_list", "context_declaring_list",
     1174  "translation_unit", "external_definition_list",
     1175  "external_definition_list_opt", "external_definition", "$@4",
     1176  "external_function_definition", "function_definition", "declarator",
     1177  "subrange", "asm_name_opt", "attribute_list_opt", "attribute_list",
     1178  "attribute", "attribute_parameter_list", "attrib", "any_word",
     1179  "variable_declarator", "paren_identifier", "variable_ptr",
     1180  "variable_array", "variable_function", "function_declarator",
     1181  "function_no_ptr", "function_ptr", "function_array",
     1182  "old_function_declarator", "old_function_no_ptr", "old_function_ptr",
     1183  "old_function_array", "type_redeclarator", "paren_type", "type_ptr",
     1184  "type_array", "type_function", "identifier_parameter_declarator",
    11881185  "identifier_parameter_ptr", "identifier_parameter_array",
    11891186  "identifier_parameter_function", "type_parameter_redeclarator",
     
    12221219     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12231220     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1224      355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1225       41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
    1226       38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
    1227       63,    61,    59
     1221     355,   356,   357,   358,   359,   360,   361,   362,    40,    41,
     1222      91,    93,    46,   123,   125,    44,    58,    33,    42,    38,
     1223      43,    45,   126,    47,    37,    60,    62,    94,   124,    63,
     1224      61,    59
    12281225};
    12291226# endif
     
    12321229static const yytype_uint16 yyr1[] =
    12331230{
    1234        0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
    1235      138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
    1236      142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
    1237      143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
    1238      146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    1239      148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1240      148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
    1241      150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
    1242      153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
    1243      156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
    1244      161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
    1245      164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
    1246      167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
    1247      169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
    1248      171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
    1249      175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
    1250      178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
    1251      184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
    1252      188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
    1253      191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
    1254      193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
    1255      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
    1256      198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
    1257      202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
    1258      207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
    1259      212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
    1260      215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
    1261      218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
    1262      221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
    1263      224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
    1264      228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
    1265      231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
    1266      233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
    1267      234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
    1268      236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
    1269      239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
    1270      242,   242,   242,   243,   243,   244,   244,   244,   244,   244,
    1271      245,   245,   246,   246,   247,   247,   247,   247,   248,   248,
    1272      248,   248,   249,   249,   250,   250,   250,   250,   250,   251,
    1273      251,   252,   253,   254,   254,   254,   255,   255,   256,   256,
    1274      257,   257,   258,   258,   258,   258,   258,   259,   259,   259,
    1275      259,   260,   260,   261,   261,   262,   262,   263,   263,   263,
    1276      263,   264,   264,   264,   264,   264,   265,   265,   265,   265,
    1277      265,   266,   266,   267,   267,   268,   268,   269,   269,   269,
    1278      270,   270,   270,   271,   271,   271,   272,   272,   272,   273,
    1279      273,   273,   273,   274,   274,   274,   275,   275,   276,   276,
    1280      276,   276,   276,   277,   277,   278,   278,   279,   279,   279,
    1281      279,   279,   279,   280,   280,   280,   280,   281,   281,   281,
    1282      282,   283,   283,   285,   284,   284,   286,   286,   286,   287,
    1283      287,   288,   288,   288,   289,   289,   289,   289,   290,   290,
    1284      290,   291,   291,   292,   292,   293,   294,   293,   295,   295,
    1285      296,   296,   297,   297,   297,   298,   298,   299,   299,   300,
    1286      300,   301,   301,   302,   302,   302,   303,   302,   302,   304,
    1287      304,   304,   305,   305,   305,   305,   305,   305,   305,   305,
    1288      305,   306,   306,   306,   307,   308,   308,   309,   309,   310,
    1289      310,   311,   312,   312,   313,   313,   313,   314,   314,   314,
    1290      314,   315,   315,   315,   315,   316,   316,   317,   317,   317,
    1291      318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
    1292      321,   321,   322,   322,   322,   323,   323,   323,   324,   324,
    1293      324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
    1294      328,   328,   328,   328,   329,   329,   330,   330,   330,   331,
    1295      331,   331,   331,   332,   332,   332,   333,   333,   333,   333,
    1296      334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
    1297      337,   337,   337,   337,   338,   338,   339,   339,   339,   340,
    1298      340,   341,   341,   342,   342,   342,   343,   343,   343,   343,
    1299      343,   344,   344,   344,   344,   345,   345,   345,   346,   346,
    1300      346,   347,   347,   347,   347,   348,   348,   348,   349,   349,
    1301      349,   349,   349,   350,   350,   350,   350,   351,   351,   351,
    1302      352,   352,   352,   353,   353,   353,   353,   353,   353,   354,
    1303      354,   354,   355,   355,   355,   355,   355,   356,   356,   356,
    1304      356,   357,   357,   358,   358,   358,   359,   359,   360,   360,
    1305      360,   360,   360,   360,   361,   361,   361,   361,   361,   361,
    1306      361,   361,   361,   361,   362,   362,   362,   362,   363,   363,
    1307      363,   364,   364,   365,   365,   365,   365,   365,   365,   366,
    1308      366,   366,   366,   366,   366,   367,   368,   368,   368,   369,
    1309      369,   370,   370
     1231       0,   132,   133,   134,   135,   135,   135,   136,   136,   136,
     1232     137,   137,   138,   138,   139,   139,   140,   140,   141,   141,
     1233     141,   141,   142,   142,   142,   142,   142,   142,   142,   142,
     1234     142,   142,   142,   143,   143,   144,   144,   144,   144,   144,
     1235     145,   145,   146,   146,   146,   146,   146,   147,   147,   147,
     1236     147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
     1237     147,   147,   147,   147,   147,   148,   148,   148,   148,   149,
     1238     149,   149,   150,   150,   150,   150,   151,   151,   151,   152,
     1239     152,   152,   153,   153,   153,   153,   153,   154,   154,   154,
     1240     155,   155,   156,   156,   157,   157,   158,   158,   159,   159,
     1241     160,   160,   160,   160,   161,   162,   162,   162,   162,   163,
     1242     163,   164,   164,   164,   164,   165,   165,   166,   166,   166,
     1243     166,   166,   166,   166,   166,   166,   166,   167,   167,   168,
     1244     168,   169,   169,   169,   169,   169,   169,   169,   169,   169,
     1245     170,   171,   171,   172,   172,   173,   173,   173,   173,   174,
     1246     174,   175,   176,   176,   176,   176,   176,   176,   177,   177,
     1247     177,   178,   178,   179,   179,   180,   180,   181,   182,   182,
     1248     183,   183,   184,   184,   185,   185,   185,   185,   186,   186,
     1249     187,   187,   188,   188,   188,   189,   189,   190,   190,   190,
     1250     190,   190,   190,   190,   190,   190,   190,   191,   191,   191,
     1251     192,   192,   192,   192,   192,   193,   193,   193,   193,   194,
     1252     195,   195,   195,   195,   195,   196,   196,   196,   196,   196,
     1253     197,   197,   198,   198,   199,   199,   200,   200,   201,   201,
     1254     201,   202,   202,   203,   203,   204,   204,   205,   205,   206,
     1255     206,   207,   207,   208,   208,   209,   209,   210,   210,   211,
     1256     211,   211,   211,   211,   212,   212,   212,   213,   213,   213,
     1257     214,   214,   214,   214,   214,   215,   215,   215,   216,   216,
     1258     217,   217,   217,   218,   218,   218,   218,   218,   219,   219,
     1259     220,   220,   220,   220,   221,   221,   222,   222,   222,   222,
     1260     223,   223,   223,   223,   224,   224,   225,   225,   226,   226,
     1261     227,   227,   227,   227,   227,   228,   227,   229,   229,   229,
     1262     230,   230,   231,   232,   232,   232,   232,   232,   232,   232,
     1263     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
     1264     233,   233,   233,   234,   234,   234,   234,   234,   235,   235,
     1265     236,   236,   236,   236,   237,   237,   237,   237,   238,   238,
     1266     238,   238,   239,   239,   239,   240,   240,   240,   240,   241,
     1267     241,   241,   242,   242,   243,   243,   243,   243,   243,   244,
     1268     244,   245,   245,   246,   246,   246,   246,   247,   247,   247,
     1269     247,   248,   248,   249,   249,   249,   249,   249,   250,   250,
     1270     251,   252,   253,   253,   253,   254,   254,   255,   255,   256,
     1271     256,   257,   257,   257,   257,   257,   258,   258,   258,   258,
     1272     259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
     1273     263,   263,   263,   263,   263,   264,   264,   264,   264,   264,
     1274     265,   265,   266,   266,   267,   267,   268,   268,   268,   269,
     1275     269,   269,   270,   270,   270,   271,   271,   271,   272,   272,
     1276     272,   272,   273,   273,   273,   274,   274,   275,   275,   275,
     1277     275,   275,   276,   276,   277,   277,   278,   278,   278,   278,
     1278     278,   278,   279,   279,   279,   279,   280,   280,   280,   281,
     1279     282,   282,   284,   283,   283,   285,   285,   285,   286,   286,
     1280     287,   287,   287,   288,   288,   288,   288,   289,   289,   289,
     1281     290,   290,   291,   291,   292,   293,   292,   294,   294,   295,
     1282     295,   296,   296,   296,   297,   297,   298,   298,   299,   299,
     1283     300,   300,   301,   301,   301,   302,   301,   301,   303,   303,
     1284     303,   304,   304,   304,   304,   304,   304,   304,   304,   304,
     1285     305,   305,   305,   306,   307,   307,   308,   308,   309,   309,
     1286     310,   311,   311,   312,   312,   312,   313,   313,   313,   313,
     1287     314,   314,   314,   314,   315,   315,   316,   316,   316,   317,
     1288     317,   317,   317,   318,   318,   319,   319,   319,   320,   320,
     1289     320,   321,   321,   321,   322,   322,   322,   323,   323,   323,
     1290     324,   324,   324,   325,   325,   325,   326,   326,   326,   327,
     1291     327,   327,   327,   328,   328,   329,   329,   329,   330,   330,
     1292     330,   330,   331,   331,   331,   332,   332,   332,   332,   333,
     1293     333,   333,   334,   334,   334,   334,   335,   335,   335,   336,
     1294     336,   336,   336,   337,   337,   338,   338,   338,   339,   339,
     1295     340,   340,   341,   341,   341,   342,   342,   342,   342,   342,
     1296     343,   343,   343,   343,   344,   344,   344,   345,   345,   345,
     1297     346,   346,   346,   346,   347,   347,   347,   348,   348,   348,
     1298     348,   348,   349,   349,   349,   349,   350,   350,   350,   351,
     1299     351,   351,   352,   352,   352,   352,   352,   352,   353,   353,
     1300     353,   354,   354,   354,   354,   354,   355,   355,   355,   355,
     1301     356,   356,   357,   357,   357,   358,   358,   359,   359,   359,
     1302     359,   359,   359,   360,   360,   360,   360,   360,   360,   360,
     1303     360,   360,   360,   361,   361,   361,   361,   362,   362,   362,
     1304     363,   363,   364,   364,   364,   364,   364,   364,   365,   365,
     1305     365,   365,   365,   365,   366,   367,   367,   367,   368,   368,
     1306     369,   369
    13101307};
    13111308
     
    13461343       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13471344       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1348        1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
    1349        3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
    1350        2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
    1351        1,     2,     2,     1,     1,     4,     2,     5,     7,     2,
    1352        2,     2,     1,     2,     2,     3,     2,     3,     1,     2,
    1353        3,     2,     2,     4,     0,     1,     2,     2,     1,     0,
    1354        1,     2,     2,     5,     6,     2,     2,     4,     0,     2,
    1355        0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
    1356        9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
    1357        5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
    1358        1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
    1359        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1360        1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
    1361        2,     3,     4,     2,     2,     1,     2,     1,     2,     5,
    1362        5,     7,     6,     1,     2,     2,     3,     1,     2,     2,
    1363        4,     2,     4,     0,     4,     2,     1,     1,     1,     0,
    1364        2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
    1365        3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
    1366        3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
    1367        3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
    1368        2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
    1369        6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
    1370        2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
    1371        1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
    1372        2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
    1373        8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
    1374        1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
     1345       1,     1,     1,     1,     2,     2,     3,     3,     1,     3,
     1346       1,     2,     2,     2,     4,     4,     4,     4,     1,     2,
     1347       2,     3,     1,     2,     2,     1,     2,     2,     3,     1,
     1348       2,     2,     1,     1,     4,     2,     5,     7,     2,     2,
     1349       2,     1,     2,     2,     3,     2,     3,     1,     2,     3,
     1350       2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
     1351       2,     2,     5,     6,     2,     2,     4,     0,     2,     0,
     1352       1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
     1353       1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
     1354       1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
     1355       3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
     1356       1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
     1357       1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
     1358       3,     4,     2,     2,     1,     2,     1,     2,     5,     5,
     1359       7,     6,     1,     2,     2,     3,     1,     2,     2,     4,
     1360       2,     4,     0,     4,     2,     1,     1,     1,     0,     2,
     1361       5,     5,    13,     1,     1,     3,     3,     2,     3,     3,
     1362       2,     4,     1,     6,     9,     0,    11,     1,     3,     3,
     1363       3,     1,     1,     5,     2,     5,     0,     1,     1,     3,
     1364       0,     1,     1,     1,     1,     0,     6,     2,     1,     2,
     1365       4,     2,     3,     3,     3,     4,     5,     5,     5,     6,
     1366       1,     1,     1,     3,     0,     5,     0,     1,     1,     2,
     1367       6,     1,     3,     0,     1,     4,     1,     1,     1,     1,
    13751368       2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
    1376        4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
    1377        2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
    1378        2,     1,     2,     2,     1,     1,     2,     3,     3,     2,
    1379        4,     6,     8,     1,     2,     2,     1,     2,     2,     3,
    1380        3,     1,     4,     4,     3,     5,     8,     3,     2,     3,
    1381        1,     5,     5,     6,     6,     1,     2,     2,     1,     2,
    1382        2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
    1383        1,     2,     1,     2,     6,     5,     6,     7,     7,     1,
    1384        2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
    1385        3,     8,     3,     1,     1,     2,     1,     1,     2,     3,
    1386        2,     3,     2,     3,     3,     2,     4,     3,     2,     3,
    1387        2,     4,     3,     2,     6,     6,     6,     7,     1,     2,
    1388        1,     1,     1,     2,     3,     2,     3,     2,     3,     3,
    1389        4,     2,     3,     4,     2,     5,     5,     6,     6,     0,
    1390        1,     0,     2
     1369       4,     4,     3,     8,     3,     2,     1,     2,     6,     8,
     1370       3,     2,     3,     3,     4,     4,     3,     1,     1,     1,
     1371       4,     6,     3,     2,     3,     3,     4,     4,     3,     2,
     1372       1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
     1373       4,     3,     6,     8,     3,     2,     1,     2,     2,     2,
     1374       3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
     1375       1,     2,     2,     1,     1,     2,     3,     3,     2,     4,
     1376       6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
     1377       1,     4,     4,     3,     5,     8,     3,     2,     3,     1,
     1378       5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
     1379       3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
     1380       2,     1,     2,     6,     5,     6,     7,     7,     1,     2,
     1381       2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
     1382       8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
     1383       3,     2,     3,     3,     2,     4,     3,     2,     3,     2,
     1384       4,     3,     2,     6,     6,     6,     7,     1,     2,     1,
     1385       1,     1,     2,     3,     2,     3,     2,     3,     3,     4,
     1386       2,     3,     4,     2,     5,     5,     6,     6,     0,     1,
     1387       0,     2
    13911388};
    13921389
     
    13981395     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    13991396     301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
    1400      327,   328,   333,   330,   331,   332,   547,   547,   547,     0,
    1401        0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
    1402        8,    14,    15,     0,     2,   294,   565,     9,   525,   523,
    1403      247,     3,   453,     3,   260,     0,     3,     3,     3,   248,
    1404        3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
    1405      312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
    1406      363,     0,     0,   364,   289,   473,   477,     3,     3,     0,
    1407        2,   519,   524,   529,   299,     0,     0,   547,   577,   547,
    1408        2,   588,   589,   590,   294,     0,   731,   732,     0,    12,
    1409      294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
    1410      293,   526,   305,   392,   548,   549,   370,   371,    12,   444,
    1411      445,    11,   440,   443,     0,   503,   498,   489,   444,   445,
    1412        0,     0,   528,   221,     0,   294,     0,     0,     0,     0,
    1413        0,     0,     0,     0,   294,   294,     2,     0,   733,   295,
    1414      582,   594,   737,   730,   728,   735,     0,     0,     0,   254,
    1415        2,     0,   532,   438,   439,   437,     0,     0,     0,     0,
    1416      547,     0,   634,   635,     0,     0,   545,   541,   547,   562,
    1417      547,   547,   542,     2,   543,   547,   601,   547,   547,   604,
    1418        0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
    1419      297,   308,   342,   354,   478,     0,     2,     0,   453,   262,
    1420      295,   335,   350,   357,   474,     0,     2,     0,   311,   336,
    1421      343,   344,     0,   351,   355,   358,   362,   445,   294,   294,
    1422      366,   369,     0,   395,   475,   479,     0,     0,     0,     1,
    1423      294,     2,   530,   576,   578,   294,     2,   741,   295,   744,
    1424      545,   545,   295,     0,     0,     0,   273,   547,   542,     2,
    1425      294,     0,     0,   294,   550,     2,   501,     2,   554,     0,
    1426        0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
    1427       16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
    1428       67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
    1429       76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
    1430      105,   495,   751,   451,   494,     0,   449,   450,     0,   566,
    1431      581,   584,   587,   593,   596,   599,   360,     0,     2,   739,
    1432        0,   294,   742,     2,   294,     3,   425,     0,   433,   295,
    1433      294,   307,   334,   287,   349,   356,     3,     3,   407,   411,
    1434      421,   426,   473,   294,   427,   706,   707,   294,   428,   430,
    1435      294,     2,   583,   595,   729,     2,     2,   249,     2,   458,
    1436        0,   456,   455,   454,   141,     2,     2,   251,     2,     2,
    1437      250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
    1438        0,     0,     0,     0,     0,     0,   567,   606,     0,   453,
    1439        2,   561,   570,   660,   563,   564,   533,   294,     2,   600,
    1440      609,   602,   603,     0,   276,   294,   294,   340,   295,     0,
    1441      295,     0,   294,   734,   738,   736,   534,   294,   545,   255,
    1442      263,   309,     0,     2,   535,   294,   499,   337,   338,   283,
    1443      352,   359,     0,   294,     2,   384,   294,   372,     0,     0,
    1444      378,   728,   294,   749,   398,     0,   476,   500,   252,   253,
    1445      520,   294,   435,     0,   294,   237,     0,     2,   239,     0,
    1446      295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
    1447      545,   294,   486,   488,   487,     0,     0,   751,     0,   294,
    1448        0,   294,   490,   294,   560,   558,   559,   557,     0,   552,
    1449      555,     0,     0,   294,    56,   294,    69,    52,   294,    62,
    1450      294,   294,    50,    51,    64,     2,   127,     0,     0,   447,
    1451        0,   446,   111,   294,    54,    55,    17,     0,    29,    30,
    1452       35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
    1453      123,   124,   125,   126,     0,     0,    53,     0,     0,     0,
     1397     327,   328,   330,   331,   332,   546,   546,   546,     0,     0,
     1398       0,   294,   220,   304,   319,   320,     7,   359,     0,     8,
     1399      14,    15,     0,     2,   294,   564,     9,   524,   522,   247,
     1400       3,   452,     3,   260,     0,     3,     3,     3,   248,     3,
     1401       0,     0,     0,   295,   296,   298,   294,   307,   310,   312,
     1402     340,   286,   333,   338,   287,   348,   288,   355,   352,   362,
     1403       0,     0,   363,   289,   472,   476,     3,     3,     0,     2,
     1404     518,   523,   528,   299,     0,     0,   546,   576,   546,     2,
     1405     587,   588,   589,   294,     0,   730,   731,     0,    12,   294,
     1406       0,    13,   270,   271,     0,   295,   290,   291,   292,   293,
     1407     525,   305,   391,   547,   548,   369,   370,    12,   443,   444,
     1408      11,   439,   442,     0,   502,   497,   488,   443,   444,     0,
     1409       0,   527,   221,     0,   294,     0,     0,     0,     0,     0,
     1410       0,     0,     0,   294,   294,     2,     0,   732,   295,   581,
     1411     593,   736,   729,   727,   734,     0,     0,     0,   254,     2,
     1412       0,   531,   437,   438,   436,     0,     0,     0,     0,   546,
     1413       0,   633,   634,     0,     0,   544,   540,   546,   561,   546,
     1414     546,   541,     2,   542,   546,   600,   546,   546,   603,     0,
     1415       0,     0,   294,   294,   313,   360,     2,   294,   261,   297,
     1416     308,   341,   353,   477,     0,     2,     0,   452,   262,   295,
     1417     334,   349,   356,   473,     0,     2,     0,   311,   335,   342,
     1418     343,     0,   350,   354,   357,   361,   444,   294,   294,   365,
     1419     368,     0,   394,   474,   478,     0,     0,     0,     1,   294,
     1420       2,   529,   575,   577,   294,     2,   740,   295,   743,   544,
     1421     544,   295,     0,     0,     0,   273,   546,   541,     2,   294,
     1422       0,     0,   294,   549,     2,   500,     2,   553,     0,     0,
     1423       0,     0,     0,     0,    18,    59,     4,     5,     6,    16,
     1424       0,     0,     0,   294,     2,     0,   294,    65,    66,    67,
     1425      68,    48,    19,    49,    22,    47,    69,     0,    72,    76,
     1426      79,    82,    87,    90,    92,    94,    96,    98,   100,   105,
     1427     494,   750,   450,   493,     0,   448,   449,     0,   565,   580,
     1428     583,   586,   592,   595,   598,   359,     0,     2,   738,     0,
     1429     294,   741,     2,   294,     3,   424,     0,   432,   295,   294,
     1430     307,   333,   287,   348,   355,     3,     3,   406,   410,   420,
     1431     425,   472,   294,   426,   705,   706,   294,   427,   429,   294,
     1432       2,   582,   594,   728,     2,     2,   249,     2,   457,     0,
     1433     455,   454,   453,   141,     2,     2,   251,     2,     2,   250,
     1434       2,   281,     2,   282,     0,   280,     0,     0,     0,     0,
     1435       0,     0,     0,     0,     0,   566,   605,     0,   452,     2,
     1436     560,   569,   659,   562,   563,   532,   294,     2,   599,   608,
     1437     601,   602,     0,   276,   294,   294,   339,   295,     0,   295,
     1438       0,   294,   733,   737,   735,   533,   294,   544,   255,   263,
     1439     309,     0,     2,   534,   294,   498,   336,   337,   283,   351,
     1440     358,     0,   294,     2,   383,   294,   371,     0,     0,   377,
     1441     727,   294,   748,   397,     0,   475,   499,   252,   253,   519,
     1442     294,   434,     0,   294,   237,     0,     2,   239,     0,   295,
     1443       0,   257,     2,   258,   278,     0,     0,     2,   294,   544,
     1444     294,   485,   487,   486,     0,     0,   750,     0,   294,     0,
     1445     294,   489,   294,   559,   557,   558,   556,     0,   551,   554,
     1446       0,     0,   294,    56,   294,    69,    52,   294,    62,   294,
     1447     294,    50,    51,    64,     2,   127,     0,     0,   446,     0,
     1448     445,   111,   294,    54,    55,    17,     0,    29,    30,    35,
     1449       2,     0,    35,   117,   118,   119,   120,   121,   122,   123,
     1450     124,   125,   126,     0,     0,    53,     0,     0,     0,     0,
    14541451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1455        0,     0,     0,     0,     0,     0,     0,   108,     2,   646,
    1456      452,   643,   547,   547,   651,   480,   294,     2,   585,   586,
    1457        0,   597,   598,     0,     2,   740,   743,   111,   294,     2,
    1458      294,     0,   708,   295,   712,   703,   704,   710,     0,     2,
    1459        2,   668,   547,   751,   617,   547,   547,   751,   547,   631,
    1460      547,   547,   682,   434,   665,   547,   547,   673,   680,   294,
    1461      429,   295,     0,     0,   294,   718,   295,   723,   751,   715,
    1462      294,   720,   751,   294,   294,   294,     0,   111,     0,    18,
    1463        5,     2,     0,    19,     0,   459,   749,     0,     0,   465,
    1464      241,     0,   294,     0,     0,     0,   545,   569,   573,   575,
    1465      605,   608,   612,   615,   568,   607,     0,   284,   658,     0,
    1466      294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
    1467      536,   294,     0,     0,     0,     0,   294,   294,     0,     0,
    1468      692,   382,   385,   389,   547,   389,   697,   388,   689,   547,
    1469      547,   365,   373,   381,   374,   547,   376,   379,   294,   750,
    1470        0,     0,   396,   749,   295,     3,   414,     3,   418,   417,
    1471      591,     0,   531,   294,     3,     3,   294,   433,   295,     3,
    1472      427,   428,     2,     0,     0,     0,   485,   306,   294,   481,
    1473      483,     3,     2,     2,     0,   502,     3,     0,   554,   129,
    1474        0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
    1475        0,     0,   111,   294,    20,     0,    21,     0,   692,   448,
    1476        0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
    1477       25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
    1478       81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
    1479       97,    99,     0,     0,   752,   294,     0,     0,     0,   647,
    1480      648,   644,   645,   497,   496,   294,     0,     3,   294,   714,
    1481      294,   719,   295,   294,   294,   294,   662,   705,   661,     2,
    1482      294,     0,     0,     0,     0,     0,     0,     0,     0,   683,
    1483        0,   669,   620,   636,   670,     2,   616,   623,   431,   618,
    1484      619,   432,     2,   630,   639,   632,   633,   666,   667,   681,
    1485      709,   713,   711,   751,   268,     2,   745,     2,   422,   717,
    1486      722,   423,     0,   401,     3,     3,     3,     3,   453,     3,
    1487        0,     2,   468,   464,   750,     0,   460,   467,     2,   463,
    1488      466,     0,   294,   242,   264,     3,   272,   274,     0,   453,
    1489        2,   571,   572,     2,   610,   611,     0,   659,   537,     3,
    1490      346,   345,   348,   347,   294,   538,     0,   539,   294,   375,
    1491      377,     2,     0,     0,     0,     0,   104,   391,   693,   694,
    1492      386,   390,   387,   690,   691,   380,   384,   367,   398,   393,
    1493      399,     0,     0,     0,   436,   240,     0,     0,     3,     2,
    1494      668,   429,     0,   527,     0,   751,   489,     0,   294,   294,
    1495      294,     0,   551,   553,   130,     0,     0,   215,     0,     0,
    1496        0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
    1497        0,   128,   693,   458,    70,    71,   110,   115,     3,   109,
    1498        0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
    1499        3,   650,   654,   657,   649,     3,   592,     3,   716,   721,
    1500        2,   294,     3,     3,   295,     0,     3,   622,   626,   629,
    1501      638,   672,   676,   679,   294,     3,   621,   637,   671,   294,
    1502      294,   424,   294,   294,   746,     0,     0,     0,     0,   256,
    1503        0,   104,     0,     3,     3,     0,   461,     0,   457,     0,
    1504        0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
    1505        0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
    1506        3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
    1507      138,   145,   147,     0,     0,     0,   285,   294,   294,   547,
    1508        0,   540,   294,   111,   696,   700,   702,   695,   383,   397,
    1509      394,   579,     2,   664,   663,     0,   669,     2,   482,   484,
    1510      504,     3,   512,   513,     0,     2,   508,     3,     3,     0,
    1511        0,   556,   222,     0,     0,     0,   222,     0,     0,     3,
    1512       37,   749,   109,     0,     3,   661,    42,     3,    40,     3,
    1513       34,     0,     3,   101,   103,     0,     2,   652,   653,     0,
    1514        0,   294,     0,     0,     0,     3,   638,     0,     2,   624,
    1515      625,     2,   640,     2,   674,   675,     0,     0,     3,     0,
    1516        3,     3,     3,     3,   409,   408,   412,     2,     2,   748,
    1517      747,   112,     0,     0,     0,     0,     3,   462,     3,     0,
    1518      243,   146,     3,   295,   294,     0,     0,     0,     0,     2,
    1519      191,     0,   189,     0,     0,     0,     0,     0,     0,     0,
    1520        0,   111,     0,   547,   151,   148,   294,     0,     0,   267,
    1521      279,     3,     3,   546,   613,   368,     2,   698,   699,   294,
    1522      266,   294,     0,   515,   492,   294,     0,     0,   491,   506,
    1523        0,     0,     0,   216,     0,   225,    58,   109,     0,     0,
    1524      116,   113,     0,     0,     0,     0,     0,     0,    23,     0,
    1525      655,   294,   580,   265,   724,   725,   726,     0,   677,   294,
    1526      294,   294,     3,     3,     0,   685,     0,     0,     0,     0,
    1527      294,   294,     3,   544,   469,   470,     0,     0,   246,   295,
    1528        0,     0,     0,     0,   294,   192,   190,     0,   187,   193,
    1529        0,     0,     0,     0,   197,   200,   198,   194,     0,   195,
    1530       35,   129,   144,   142,   244,     0,     0,   294,   416,   420,
    1531      419,     0,   509,     2,   510,     2,   511,   505,   294,   228,
    1532        0,   226,     0,   228,     3,   661,    31,   114,     2,    45,
    1533        2,    43,    41,    28,   112,    26,     3,   727,     3,     3,
    1534        3,     0,     0,   684,   686,   627,   641,   269,     2,   406,
    1535        3,   405,     0,   472,   469,   129,     0,     0,   129,     3,
    1536        0,   129,   188,     0,     2,     2,   209,   199,     0,     0,
    1537        0,     0,   140,   574,   614,     3,     2,     0,     0,     2,
    1538      229,     0,     0,   217,     0,     0,     0,     0,     0,     0,
    1539        0,     0,     0,   687,   688,   294,     0,   471,   152,     0,
    1540        0,     2,   165,   129,   154,     0,   182,     0,   129,     0,
    1541        2,   156,     0,     2,     0,     2,     2,     2,   196,    32,
    1542        0,   294,   514,   516,   507,     0,     0,     0,     0,   114,
    1543       38,     3,     3,   656,   628,   642,   678,   410,   129,   158,
    1544      161,     0,   160,   164,     3,   167,   166,     0,   129,   184,
    1545      129,     3,     0,   294,     0,   294,     0,     2,     0,     2,
    1546      139,   701,     2,   230,   231,     0,   227,   218,     0,     0,
    1547        0,   153,     0,     0,   163,   233,   168,     2,   235,   183,
    1548        0,   186,   172,   201,     3,   210,   214,   203,     3,     0,
    1549      294,     0,   294,     0,     0,     0,    39,    46,    44,   159,
    1550      162,   129,     0,   169,   294,   129,   129,     0,   173,     0,
    1551        0,   692,   211,   212,   213,     0,   202,     3,   204,     3,
    1552      294,   219,   232,   149,   170,   155,   129,   236,   185,   180,
    1553      178,   174,   157,   129,     0,   693,     0,     0,     0,     0,
    1554      150,   171,   181,   175,   179,   178,   176,     3,     3,     0,
    1555        0,   493,   177,   205,   207,     3,     3,   206,   208
     1452       0,     0,     0,     0,     0,     0,   108,     2,   645,   451,
     1453     642,   546,   546,   650,   479,   294,     2,   584,   585,     0,
     1454     596,   597,     0,     2,   739,   742,   111,   294,     2,   294,
     1455       0,   707,   295,   711,   702,   703,   709,     0,     2,     2,
     1456     667,   546,   750,   616,   546,   546,   750,   546,   630,   546,
     1457     546,   681,   433,   664,   546,   546,   672,   679,   294,   428,
     1458     295,     0,     0,   294,   717,   295,   722,   750,   714,   294,
     1459     719,   750,   294,   294,   294,     0,   111,     0,    18,     5,
     1460       2,     0,    19,     0,   458,   748,     0,     0,   464,   241,
     1461       0,   294,     0,     0,     0,   544,   568,   572,   574,   604,
     1462     607,   611,   614,   567,   606,     0,   284,   657,     0,   294,
     1463     277,     0,     0,     0,     0,   275,     2,     0,   259,   535,
     1464     294,     0,     0,     0,     0,   294,   294,     0,     0,   691,
     1465     381,   384,   388,   546,   388,   696,   387,   688,   546,   546,
     1466     364,   372,   380,   373,   546,   375,   378,   294,   749,     0,
     1467       0,   395,   748,   295,     3,   413,     3,   417,   416,   590,
     1468       0,   530,   294,     3,     3,   294,   432,   295,     3,   426,
     1469     427,     2,     0,     0,     0,   484,   306,   294,   480,   482,
     1470       3,     2,     2,     0,   501,     3,     0,   553,   129,     0,
     1471       0,   222,     0,     0,     0,     2,     0,     0,    36,     0,
     1472       0,   111,   294,    20,     0,    21,     0,   691,   447,     0,
     1473     109,     3,     2,    27,     2,     0,    33,     0,     2,    25,
     1474       0,   106,   107,    73,    74,    75,    77,    78,    80,    81,
     1475      85,    86,    83,    84,    88,    89,    91,    93,    95,    97,
     1476      99,     0,     0,   751,   294,     0,     0,     0,   646,   647,
     1477     643,   644,   496,   495,   294,     0,     3,   294,   713,   294,
     1478     718,   295,   294,   294,   294,   661,   704,   660,     2,   294,
     1479       0,     0,     0,     0,     0,     0,     0,     0,   682,     0,
     1480     668,   619,   635,   669,     2,   615,   622,   430,   617,   618,
     1481     431,     2,   629,   638,   631,   632,   665,   666,   680,   708,
     1482     712,   710,   750,   268,     2,   744,     2,   421,   716,   721,
     1483     422,     0,   400,     3,     3,     3,     3,   452,     3,     0,
     1484       2,   467,   463,   749,     0,   459,   466,     2,   462,   465,
     1485       0,   294,   242,   264,     3,   272,   274,     0,   452,     2,
     1486     570,   571,     2,   609,   610,     0,   658,   536,     3,   345,
     1487     344,   347,   346,   294,   537,     0,   538,   294,   374,   376,
     1488       2,     0,     0,     0,     0,   104,   390,   692,   693,   385,
     1489     389,   386,   689,   690,   379,   383,   366,   397,   392,   398,
     1490       0,     0,     0,   435,   240,     0,     0,     3,     2,   667,
     1491     428,     0,   526,     0,   750,   488,     0,   294,   294,   294,
     1492       0,   550,   552,   130,     0,     0,   215,     0,     0,     0,
     1493     223,   224,    57,     0,    63,   294,     0,    61,    60,     0,
     1494     128,   692,   457,    70,    71,   110,   115,     3,   109,     0,
     1495       0,     0,    24,    35,     3,     0,    32,   102,     0,     3,
     1496     649,   653,   656,   648,     3,   591,     3,   715,   720,     2,
     1497     294,     3,     3,   295,     0,     3,   621,   625,   628,   637,
     1498     671,   675,   678,   294,     3,   620,   636,   670,   294,   294,
     1499     423,   294,   294,   745,     0,     0,     0,     0,   256,     0,
     1500     104,     0,     3,     3,     0,   460,     0,   456,     0,     0,
     1501     245,   294,     0,     0,   129,     0,     0,     0,     0,     0,
     1502     129,     0,     0,   109,   109,     2,     0,     0,     0,     3,
     1503     131,   132,     2,   143,   133,   134,   135,   136,   137,   138,
     1504     145,   147,     0,     0,     0,   285,   294,   294,   546,     0,
     1505     539,   294,   111,   695,   699,   701,   694,   382,   396,   393,
     1506     578,     2,   663,   662,     0,   668,     2,   481,   483,   503,
     1507       3,   511,   512,     0,     2,   507,     3,     3,     0,     0,
     1508     555,   222,     0,     0,     0,   222,     0,     0,     3,    37,
     1509     748,   109,     0,     3,   660,    42,     3,    40,     3,    34,
     1510       0,     3,   101,   103,     0,     2,   651,   652,     0,     0,
     1511     294,     0,     0,     0,     3,   637,     0,     2,   623,   624,
     1512       2,   639,     2,   673,   674,     0,     0,     3,     0,     3,
     1513       3,     3,     3,   408,   407,   411,     2,     2,   747,   746,
     1514     112,     0,     0,     0,     0,     3,   461,     3,     0,   243,
     1515     146,     3,   295,   294,     0,     0,     0,     0,     2,   191,
     1516       0,   189,     0,     0,     0,     0,     0,     0,     0,     0,
     1517     111,     0,   546,   151,   148,   294,     0,     0,   267,   279,
     1518       3,     3,   545,   612,   367,     2,   697,   698,   294,   266,
     1519     294,     0,   514,   491,   294,     0,     0,   490,   505,     0,
     1520       0,     0,   216,     0,   225,    58,   109,     0,     0,   116,
     1521     113,     0,     0,     0,     0,     0,     0,    23,     0,   654,
     1522     294,   579,   265,   723,   724,   725,     0,   676,   294,   294,
     1523     294,     3,     3,     0,   684,     0,     0,     0,     0,   294,
     1524     294,     3,   543,   468,   469,     0,     0,   246,   295,     0,
     1525       0,     0,     0,   294,   192,   190,     0,   187,   193,     0,
     1526       0,     0,     0,   197,   200,   198,   194,     0,   195,    35,
     1527     129,   144,   142,   244,     0,     0,   294,   415,   419,   418,
     1528       0,   508,     2,   509,     2,   510,   504,   294,   228,     0,
     1529     226,     0,   228,     3,   660,    31,   114,     2,    45,     2,
     1530      43,    41,    28,   112,    26,     3,   726,     3,     3,     3,
     1531       0,     0,   683,   685,   626,   640,   269,     2,   405,     3,
     1532     404,     0,   471,   468,   129,     0,     0,   129,     3,     0,
     1533     129,   188,     0,     2,     2,   209,   199,     0,     0,     0,
     1534       0,   140,   573,   613,     3,     2,     0,     0,     2,   229,
     1535       0,     0,   217,     0,     0,     0,     0,     0,     0,     0,
     1536       0,     0,   686,   687,   294,     0,   470,   152,     0,     0,
     1537       2,   165,   129,   154,     0,   182,     0,   129,     0,     2,
     1538     156,     0,     2,     0,     2,     2,     2,   196,    32,     0,
     1539     294,   513,   515,   506,     0,     0,     0,     0,   114,    38,
     1540       3,     3,   655,   627,   641,   677,   409,   129,   158,   161,
     1541       0,   160,   164,     3,   167,   166,     0,   129,   184,   129,
     1542       3,     0,   294,     0,   294,     0,     2,     0,     2,   139,
     1543     700,     2,   230,   231,     0,   227,   218,     0,     0,     0,
     1544     153,     0,     0,   163,   233,   168,     2,   235,   183,     0,
     1545     186,   172,   201,     3,   210,   214,   203,     3,     0,   294,
     1546       0,   294,     0,     0,     0,    39,    46,    44,   159,   162,
     1547     129,     0,   169,   294,   129,   129,     0,   173,     0,     0,
     1548     691,   211,   212,   213,     0,   202,     3,   204,     3,   294,
     1549     219,   232,   149,   170,   155,   129,   236,   185,   180,   178,
     1550     174,   157,   129,     0,   692,     0,     0,     0,     0,   150,
     1551     171,   181,   175,   179,   178,   176,     3,     3,     0,     0,
     1552     492,   177,   205,   207,     3,     3,   206,   208
    15561553};
    15571554
     
    15591556static const yytype_int16 yydefgoto[] =
    15601557{
    1561       -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
    1562      306,   786,   787,  1147,  1148,   307,   308,   309,   310,   311,
    1563      312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
    1564      526,   997,   322,   998,   555,   974,  1079,  1543,  1081,  1082,
    1565     1083,  1084,  1544,  1085,  1086,  1460,  1461,  1422,  1423,  1424,
    1566     1522,  1523,  1527,  1528,  1563,  1564,  1087,  1380,  1088,  1089,
    1567     1314,  1315,  1316,  1504,  1090,   144,   980,   981,   982,  1401,
    1568     1485,  1496,  1497,   476,   477,   902,   903,  1060,    49,    50,
    1569       51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
    1570      348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
    1571       70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
    1572       79,    80,    81,   456,   457,   458,   459,   701,   940,   702,
    1573       82,    83,   463,   722,   882,   883,   356,   357,   725,   726,
    1574      727,   358,   359,   360,   361,   473,   340,   134,   135,   530,
    1575      324,   169,   655,   656,   657,   658,   659,    84,   120,    86,
    1576      496,   497,   966,   498,   276,   502,   325,    87,   136,   137,
    1577       88,  1338,  1125,  1126,  1127,  1128,    89,    90,   743,    91,
    1578      272,    92,    93,   186,  1054,   689,   411,   124,    94,   508,
    1579      509,   510,   187,   267,   189,   190,   191,   268,    97,    98,
    1580       99,   100,   101,   102,   103,   194,   195,   196,   197,   198,
    1581      852,   614,   615,   616,   617,   199,   619,   620,   621,   580,
    1582      581,   582,   583,   706,   104,   623,   624,   625,   626,   627,
    1583      628,   939,   708,   709,   710,   604,   364,   365,   366,   367,
    1584      326,   163,   106,   107,   108,   369,   720,   577
     1558      -1,   839,   474,   301,    45,   131,   132,   302,   303,   304,
     1559     305,   785,   786,  1146,  1147,   306,   307,   308,   309,   310,
     1560     311,   312,   313,   314,   315,   316,   317,   318,   319,  1051,
     1561     525,   996,   321,   997,   554,   973,  1078,  1542,  1080,  1081,
     1562    1082,  1083,  1543,  1084,  1085,  1459,  1460,  1421,  1422,  1423,
     1563    1521,  1522,  1526,  1527,  1562,  1563,  1086,  1379,  1087,  1088,
     1564    1313,  1314,  1315,  1503,  1089,   143,   979,   980,   981,  1400,
     1565    1484,  1495,  1496,   475,   476,   901,   902,  1059,    48,    49,
     1566      50,    51,    52,   345,   156,    55,    56,    57,    58,    59,
     1567     347,    61,    62,   261,    64,    65,   272,   349,   350,    68,
     1568      69,    70,    71,   116,    73,   202,   352,   117,    76,   118,
     1569      78,    79,    80,   455,   456,   457,   458,   700,   939,   701,
     1570      81,    82,   462,   721,   881,   882,   355,   356,   724,   725,
     1571     726,   357,   358,   359,   360,   472,   339,   133,   134,   529,
     1572     323,   168,   654,   655,   656,   657,   658,    83,   119,    85,
     1573     495,   496,   965,   497,   275,   501,   324,    86,   135,   136,
     1574      87,  1337,  1124,  1125,  1126,  1127,    88,    89,   742,    90,
     1575     271,    91,    92,   185,  1053,   688,   410,   123,    93,   507,
     1576     508,   509,   186,   266,   188,   189,   190,   267,    96,    97,
     1577      98,    99,   100,   101,   102,   193,   194,   195,   196,   197,
     1578     851,   613,   614,   615,   616,   198,   618,   619,   620,   579,
     1579     580,   581,   582,   705,   103,   622,   623,   624,   625,   626,
     1580     627,   938,   707,   708,   709,   603,   363,   364,   365,   366,
     1581     325,   162,   105,   106,   107,   368,   719,   576
    15851582};
    15861583
    15871584/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15881585   STATE-NUM.  */
    1589 #define YYPACT_NINF -1356
     1586#define YYPACT_NINF -1281
    15901587static const yytype_int16 yypact[] =
    15911588{
    1592     5863,  4890, -1356,    65, -1356, -1356, -1356, -1356, -1356, -1356,
    1593    -1356,     9, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1594    -1356, -1356, -1356, -1356, -1356, -1356,   139,   139,   139,  1216,
    1595      781,    63,  4761,   238, -1356, -1356, -1356, -1356, -1356,   165,
    1596    -1356, -1356, -1356,   572,   207,  2350, -1356, -1356, -1356, -1356,
    1597    -1356, -1356,    59,   217, -1356,  1506, -1356, -1356, -1356, -1356,
    1598      220,  1734,   341,    66,  7480, -1356, -1356,  9240,  1240, -1356,
    1599    -1356, -1356,  1320,   351,  3183,  1125,   757,  1320,  1149, -1356,
    1600    -1356,  1042,   895, -1356,  1320,  1227, -1356,   243, -1356,   378,
    1601      403, -1356, -1356, -1356, -1356,   303,   217,   139, -1356,   139,
    1602    -1356, -1356, -1356, -1356,  9019,  1506, -1356, -1356,  1506, -1356,
    1603     9774,   314, -1356, -1356, -1356,  1811,  9812, -1356,   726,   726,
    1604      726, -1356, -1356, -1356,   139, -1356, -1356, -1356,   353,   381,
    1605      400, -1356, -1356, -1356,   417, -1356, -1356, -1356, -1356, -1356,
    1606      424,   436, -1356, -1356,    28,  8867,  2398,   371,   447,   459,
    1607      467,   482,   495,   557,  8670,  6999,   468,   584, -1356,  9350,
    1608    -1356, -1356, -1356, -1356,   594, -1356,   335,  4628,  4628, -1356,
    1609      575,   352, -1356, -1356, -1356, -1356,   602,   432,   434,   470,
    1610      139,   624, -1356, -1356,  1734,  1711,   656, -1356,    68, -1356,
    1611      139,   139,   217, -1356, -1356,    93, -1356,   139,   139, -1356,
    1612     2093,   670,   699,   726,  6910, -1356, -1356,   654,  2350, -1356,
    1613    -1356,  1320, -1356, -1356, -1356,   217, -1356,  1506,    59, -1356,
    1614     7819, -1356,   726,   726,   726,   217, -1356,  1216, -1356,  6673,
    1615    -1356, -1356,   659,   726, -1356,   726, -1356,   165,  8867,  8784,
    1616      714, -1356,   781,   740,   726, -1356,  1216,   737,   749, -1356,
    1617     4761,   791, -1356, -1356, -1356,  4061, -1356, -1356,  7390, -1356,
    1618      656,    62,  9812, 10718,  1811,  2093, -1356,   152, -1356, -1356,
    1619     9774,  1506,   770,  7511, -1356, -1356,   269, -1356,  3425,   779,
    1620      827,  3643,   814, 10872, 10930, -1356,   817, -1356, -1356, -1356,
    1621    -1356, 10949, 10949,   791,  8525,   818, 10872,  8981, -1356, -1356,
    1622    -1356, -1356, -1356, -1356,   855, -1356,   889,  2173, 10872, -1356,
    1623      498,   751,   809,   524,   880,   822,   831,   819,   869,     5,
    1624    -1356, -1356,   883,    64, -1356,   116, -1356, -1356,  2398, -1356,
    1625    -1356,   516,   900, -1356,   644,   900,   913,   165, -1356, -1356,
    1626      915,  9019, -1356,   916,  8639, -1356, -1356,  1004,  1539,  8240,
    1627     6910,  1320, -1356,  1320,   726,   726, -1356, -1356, -1356, -1356,
    1628    -1356, -1356,   726,  9885,  1506, -1356, -1356,  9923,  1500, -1356,
    1629     7969, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   929,  5043,
    1630    10872, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1631    -1356, -1356, -1356, -1356, -1356,  1811, -1356,   876,   936,   938,
    1632      944,   885,   947,   954,   957,  1711, -1356, -1356,   930,    59,
    1633      960, -1356, -1356,   970, -1356, -1356, -1356,  4061, -1356, -1356,
    1634    -1356, -1356, -1356,  2093, -1356,  8867,  8867, -1356,   726,  1811,
    1635     7030,  1506,  8313, -1356, -1356, -1356, -1356,  4061,    62, -1356,
    1636    -1356,  1320,   217, -1356, -1356,  4061, -1356,  6793, -1356, -1356,
    1637      726,   726,   472,  9953,   974,  1092,  5671, -1356,   521,   543,
    1638      781, -1356,  8784,   976,   959,   781,   726, -1356, -1356, -1356,
    1639    -1356, 10252, -1356,   560,  6550, -1356,   217,   981, -1356,  1811,
    1640    11070, 10776, -1356, -1356, -1356, -1356,   921,  2093, -1356,  8386,
    1641      656,  6061, -1356, -1356, -1356,   820,   612,   883,   781,  7511,
    1642     1338,  9774, -1356,  7511, -1356, -1356, -1356, -1356,   638, -1356,
    1643      994,   827,   255,  8525, -1356,  9953, -1356, -1356,  8525, -1356,
    1644     8753,  8525, -1356, -1356, -1356,   993, -1356,   665,   998,   161,
    1645     1002, -1356,  9490,  6639, -1356, -1356, -1356,   290, -1356, -1356,
    1646    10795, -1356,   366, 10795, -1356, -1356, -1356, -1356, -1356, -1356,
    1647    -1356, -1356, -1356, -1356, 10718, 10718, -1356, 10872, 10872, 10872,
    1648    10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872,
    1649    10872, 10872, 10872, 10872, 10872,  5362, 10718, -1356,    64,  1168,
    1650    -1356, -1356,   139,   139, -1356, -1356,  8867, -1356, -1356,   970,
    1651      791, -1356,   970, 10853, -1356, -1356, -1356,  3524,  6639,  1016,
    1652     9095,  1028, -1356, 10035, -1356, -1356,   594, -1356,  1029,   776,
    1653     1036,  1922,   164,   883, -1356,   139,   139,   883,   174, -1356,
    1654      139,   139,   970, -1356, -1356,   139,   139, -1356,   900, 10065,
    1655     1506, 11215,   233,   347, 10065, -1356, 10214, -1356,   883, -1356,
    1656     9885, -1356,   125,  7935,  7935,  7935,  1506, -1356,  6115,  1033,
    1657      414,   929,  1150,  1037,  1038, -1356,  1054,  4628,   555, -1356,
    1658     1124,  1506,  7935,   791,  1811,   791,   656,   704,   900, -1356,
    1659    -1356,   729,   900, -1356, -1356, -1356,   827, -1356,   900,   217,
    1660    10252, -1356,   666,  1061,   679,  1062, -1356,  1065,   217, -1356,
    1661    -1356,  4061,   217,  1059,   553,   573, 10103,  7119,  1590, 10872,
    1662     1954, -1356, -1356,  1066,    39,  1066, -1356, -1356, -1356,   139,
    1663      139, -1356, -1356,   781, -1356,   139, -1356, -1356,  9630,   781,
    1664     1069, 10872, -1356,   976, 11215, -1356, -1356,  1075, -1356, -1356,
    1665    -1356,   791, -1356, 11143, 10872, -1356,  7935,   588,  8240, -1356,
    1666    -1356,   594,  1072,  1077,   820,  2542, -1356, -1356,  7511, -1356,
    1667    -1356,  1074, -1356, -1356,  1088, -1356,  1074,  1090,  3425, 10718,
    1668      205,  1073,    47,  1094,  1082,  1100,   818,  1102,  1110, -1356,
    1669     1113,  1117,  9661,  6759, -1356, 10718, -1356,   161,  1861, -1356,
    1670     6396, 10718,  1120, -1356, -1356,   929,   689, -1356, 10718, -1356,
    1671    -1356,   865, -1356, -1356, -1356, -1356, -1356,   498,   498,   751,
    1672      751,   809,   809,   809,   809,   524,   524,   880,   822,   831,
    1673      819,   869, 10872,   875, -1356, 10252,  1119,  1140,  1142,  1168,
    1674    -1356, -1356, -1356, -1356, -1356, 10252,   691, 10872,  7935, -1356,
    1675     9885, -1356,  7239,  9209,  8905,  6999, -1356, -1356, -1356,   776,
    1676    10252,   927,  1145,  1152,  1158,  1159,  1162,  1166,  1172, -1356,
    1677     4275,  1922, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1678    -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970,
    1679    -1356, -1356, -1356,   883, -1356, -1356, -1356, -1356, -1356, -1356,
    1680    -1356, -1356,  1176, -1356,  1183,  1185, -1356, -1356,    59,  1120,
    1681     6115, -1356, -1356, -1356,  5043,  1144, -1356, -1356, -1356, -1356,
    1682    -1356,   781,  6242,  1231, -1356, -1356, -1356, -1356,  1165,    59,
    1683    -1356, -1356,   970, -1356, -1356,   970,    29,   970, -1356, -1356,
    1684    -1356, -1356, -1356, -1356,  9380, -1356,   217, -1356,  8784, -1356,
    1685    -1356,  1190,   906,  1187,  1193,  1198, -1356, -1356,  1954, -1356,
    1686    -1356, -1356, -1356, -1356, -1356, -1356,  1092, -1356,   959, -1356,
    1687    -1356,  1195,  1202,  1201, -1356, -1356,  1206,  1210, -1356,   588,
    1688     2182, -1356,   533, -1356,  2542,   883, -1356,  1213,  7511, 10176,
    1689     8867,  1220, -1356, -1356,  1218,  1222,  1224, -1356, 10872,   230,
    1690       -1,  1219, -1356,  1225,   791,  1225,  6639, 10718, -1356, -1356,
    1691     1225, -1356,  1861,  5043, -1356, -1356, -1356, -1356,  1236, 10718,
    1692     1233,   791,  6115, -1356, 10795, -1356,   791, -1356, -1356, 10718,
    1693    -1356,   782,   900, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1694      929,  8639, -1356, -1356,  7359,  1237, -1356,   807,   900, -1356,
    1695      825,   836,   900, -1356,   726,  4460, -1356, -1356, -1356, 10252,
    1696    10252, -1356,  8313,  8313, -1356,  1241,  1248,  1246,  1259, -1356,
    1697     1262,   672,   244,  1120, -1356,   791, -1356,  4628, -1356, 10718,
    1698      578, -1356,  6519,  1267,  1271, 10660,  1272,  1277,   122,   304,
    1699      298, 10718,  1279,   217, 10718, 10718,  1280,   678,  1254,  1261,
    1700    -1356, -1356, -1356,  1284, -1356, -1356, -1356, -1356, -1356, -1356,
    1701    -1356, -1356, -1356,   781,  1290, 10718, -1356, 10252, 10252,   139,
    1702     1292, -1356,  9743,  9520,   847,   900, -1356, -1356, -1356, -1356,
    1703    -1356, -1356, -1356, -1356, -1356,  1293,  2182, -1356, -1356,  1275,
    1704    -1356,  1074, -1356, -1356,  1811,  1296, -1356, -1356, -1356,   706,
    1705     1291, -1356,    47,  1305, 10872,  1288,    47,    47,  1314,  1310,
    1706    -1356,  1054, 10718,  1315,  1236,   711,   214,  1317, -1356,  1310,
    1707    -1356,  1323,  1317, -1356, -1356,  1328, -1356, -1356,   970,  1329,
    1708     1330,  6879,  1331,  1339,  1341, -1356, -1356,  1340, -1356, -1356,
    1709      970, -1356, -1356, -1356, -1356,   970, 10718, 10718, 10872,  1344,
    1710    -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1711    -1356, -1356, 10872, 10872,  1347,  1349,  1317, -1356, -1356,   781,
    1712    -1356, -1356, -1356,  7746, 10176, 10718, 10718,  1394, 10718, -1356,
    1713    -1356,  1333, -1356,  1334, 10718,  1335,  1343, 10718,   992,  1345,
    1714       36,  8158,  1229,   139, -1356, -1356,  6242,  1348,   585, -1356,
    1715    -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970, 10478,
    1716    -1356,  8386,  1360, -1356, -1356, 10176,   592,   598, -1356,  1356,
    1717     1355,   827,  1366, -1356,   179, -1356, -1356, 10718,  1368,  1363,
    1718    -1356, -1356,  1369,   484,   663,   791,  1376,  1378, -1356,  1380,
    1719    -1356, 10252, -1356, -1356, -1356, -1356, -1356,  1382, -1356, 10252,
    1720    10252, 10252, -1356, -1356,  1386, -1356,  1389,  1392,  1393,   682,
    1721     8008,  8124, -1356, -1356,   370, -1356,  1396,  1397, -1356,  8459,
    1722      715,   725,  1395,   760,  6377, -1356, -1356,   641, -1356, -1356,
    1723      796,  1402,  1403,   217,  1453,   961, -1356, -1356, 10718, -1356,
    1724    10795, 10660, -1356, -1356, -1356,  1406,  1407, 10252, -1356, -1356,
    1725    -1356,  1405, -1356, -1356, -1356, -1356, -1356, -1356, 10176,   827,
    1726      287, -1356,  1388,   827,  1236,   361, -1356, -1356, -1356, -1356,
    1727    -1356, -1356, -1356, -1356,  1408, -1356, -1356, -1356, -1356, -1356,
    1728    -1356,  1411,  1412, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
    1729     1418, -1356,  1417, -1356, -1356, 10660,   272, 10718, 10660, -1356,
    1730     1422, 10718, -1356,   306,  1438,  1441, -1356, -1356,  1430,  1431,
    1731     1413,   918, -1356, -1356, -1356, -1356, -1356,  1506,  1811,  1433,
    1732      855,   946, 10872, -1356,   801,  1439, 10718,   791,   791,  1442,
    1733     1448,  1449,  1450, -1356, -1356,  8313,  1452, -1356,  1535, 10872,
    1734     1462, -1356, -1356, 10571, -1356,   803, -1356,  1460, 10660,  1463,
    1735    -1356, -1356,  1489, -1356,  1493, -1356,  1511,  1512, -1356,  1480,
    1736     1508, 10176, -1356, -1356, -1356,   827,   791,  1514,  1484,  1509,
    1737    -1356,  1317,  1317, -1356, -1356, -1356, -1356, -1356, 10660,   301,
    1738    -1356,   958, -1356, -1356,  7597, -1356, -1356,  1502, 10718, -1356,
    1739    10718,  7597,   217,  9953,   217,  9953,  1515, -1356,  1522, -1356,
    1740    -1356, -1356,  1520,   855, -1356,   811, -1356, -1356, 10718,  1526,
    1741     1527, -1356, 10872, 10872, -1356, -1356,  1055,   154, -1356, -1356,
    1742     1510, -1356,  1055, -1356, -1356,  1716,   791, -1356, -1356,   217,
    1743     9953,   217,  9953,  1532,  1517,   791, -1356, -1356, -1356, -1356,
    1744    -1356, 10571,  1528,  1055,  7673, 10718, 10482,  1531,  1055,  1537,
    1745     1716,  2045, -1356, -1356, -1356,  1545, -1356, -1356, -1356, -1356,
    1746     8867, -1356, -1356, -1356, 10349, -1356, 10571, -1356, -1356,  1529,
    1747    10256, -1356, -1356, 10482,   217,  2045,   217,  1558,  1559,   815,
    1748    -1356, 10349, -1356, -1356, -1356, 10256, -1356, -1356, -1356,   217,
    1749      217, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356
     1589    3705,  8889, -1281,   104, -1281, -1281, -1281, -1281, -1281, -1281,
     1590   -1281,    44, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1591   -1281, -1281, -1281, -1281, -1281,   155,   155,   155,  1205,   815,
     1592     110,  6006,   222, -1281, -1281, -1281, -1281, -1281,   130, -1281,
     1593   -1281, -1281,  1267,   189,  3199, -1281, -1281, -1281, -1281, -1281,
     1594   -1281,    31,   144, -1281,  1338, -1281, -1281, -1281, -1281,   153,
     1595    1410,   279,    82,  7674, -1281, -1281,  8086,  1234, -1281, -1281,
     1596   -1281,   981,   359,  7231,   925,   669,   981,  1012, -1281, -1281,
     1597     738,   575, -1281,   981,  1119, -1281,   242, -1281,   416,   419,
     1598   -1281, -1281, -1281, -1281,   277,   144,   155, -1281,   155, -1281,
     1599   -1281, -1281, -1281,  9536,  1338, -1281, -1281,  1338, -1281,  9574,
     1600     321, -1281, -1281, -1281,  2195,  9607, -1281,   565,   565,   565,
     1601   -1281, -1281, -1281,   155, -1281, -1281, -1281,   280,   366,   418,
     1602   -1281, -1281, -1281,   425, -1281, -1281, -1281, -1281, -1281,   443,
     1603     475, -1281, -1281,   120,  8972,  3739,   375,   387,   486,   496,
     1604     514,   527,   541,  8273,  7081,   550,   568, -1281,  9460, -1281,
     1605   -1281, -1281, -1281,   602, -1281,   121,  4456,  4456, -1281,   552,
     1606     298, -1281, -1281, -1281, -1281,   634,   302,   306,   327,   155,
     1607     590, -1281, -1281,  1410,  2454,   696, -1281,    90, -1281,   155,
     1608     155,   144, -1281, -1281,   124, -1281,   155,   155, -1281,  2638,
     1609     658,   667,   565,  6993, -1281, -1281,   678,  3199, -1281, -1281,
     1610     981, -1281, -1281, -1281,   144, -1281,  1338,    31, -1281,  8010,
     1611   -1281,   565,   565,   565,   144, -1281,  1205, -1281,  5198, -1281,
     1612   -1281,   673,   565, -1281,   565, -1281,   130,  8972,  9002,   686,
     1613   -1281,   815,   694,   565, -1281,  1205,   728,   736, -1281,  6006,
     1614     544, -1281, -1281, -1281,  9431, -1281, -1281,  3957, -1281,   696,
     1615      79,  9607,  6464,  2195,  2638, -1281,   157, -1281, -1281,  9574,
     1616    1338,   717,  7703, -1281, -1281,   699, -1281, 10744,   783,   831,
     1617    3925,   787,  6306, 10567, -1281,   827, -1281, -1281, -1281, -1281,
     1618   10625, 10625,   544,  8633,   829,  6306,  9085, -1281, -1281, -1281,
     1619   -1281, -1281, -1281,   862, -1281,  1121,  2197,  6306, -1281,   599,
     1620     388,   472,   354,   593,   830,   867,   873,   970,   245, -1281,
     1621   -1281,   874,   650, -1281,   325, -1281, -1281,  3739, -1281, -1281,
     1622     585,   901, -1281,   747,   901,   958,   130, -1281, -1281,   962,
     1623    9536, -1281,   977,  8746, -1281, -1281,   957,   935,  8355,  6993,
     1624     981, -1281,   981,   565,   565, -1281, -1281, -1281, -1281, -1281,
     1625   -1281,   565,  9645,  1338, -1281, -1281,  9683,  1067, -1281,  9123,
     1626   -1281, -1281, -1281, -1281, -1281, -1281, -1281,   990,  5315,  6306,
     1627   -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1628   -1281, -1281, -1281, -1281,  2195, -1281,   846,   996,   998,  1002,
     1629     864,  1005,  1008,  1026,  2454, -1281, -1281,  1031,    31,  1033,
     1630   -1281, -1281,  1061, -1281, -1281, -1281,  9431, -1281, -1281, -1281,
     1631   -1281, -1281,  2638, -1281,  8972,  8972, -1281,   565,  2195,  7112,
     1632    1338,  8426, -1281, -1281, -1281, -1281,  9431,    79, -1281, -1281,
     1633     981,   144, -1281, -1281,  9431, -1281,  6877, -1281, -1281,   565,
     1634     565,   376,  9716,  1035,  1868,  2111, -1281,   334,   338,   815,
     1635   -1281,  9002,  1059,  1047,   815,   565, -1281, -1281, -1281, -1281,
     1636    9940, -1281,   583,  6755, -1281,   144,  1065, -1281,  2195, 10825,
     1637   10471, -1281, -1281, -1281, -1281,   889,  2638, -1281,  8497,   696,
     1638    7558, -1281, -1281, -1281,  1286,   636,   874,   815,  7703,   868,
     1639    9574, -1281,  7703, -1281, -1281, -1281, -1281,   638, -1281,  1073,
     1640     831,   207,  8633, -1281,  9716, -1281, -1281,  8633, -1281,  8859,
     1641    8633, -1281, -1281, -1281,  1071, -1281,   681,  1077,   668,  1078,
     1642   -1281,  4381,  6724, -1281, -1281, -1281,   328, -1281, -1281, 10490,
     1643   -1281,   385, 10490, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1644   -1281, -1281, -1281,  6464,  6464, -1281,  6306,  6306,  6306,  6306,
     1645    6306,  6306,  6306,  6306,  6306,  6306,  6306,  6306,  6306,  6306,
     1646    6306,  6306,  6306,  6306,  4789,  6464, -1281,   650,  1062, -1281,
     1647   -1281,   155,   155, -1281, -1281,  8972, -1281, -1281,  1061,   544,
     1648   -1281,  1061, 10548, -1281, -1281, -1281,  5232,  6724,  1079,  9198,
     1649    1080, -1281,  9754, -1281, -1281,   602, -1281,  1082,  1185,  1084,
     1650    1899,   185,   874, -1281,   155,   155,   874,   233, -1281,   155,
     1651     155,  1061, -1281, -1281,   155,   155, -1281,   901,  9792,  1338,
     1652   10968,   234,   509,  9792, -1281,  5821, -1281,   874, -1281,  9645,
     1653   -1281,   293,  5525,  5525,  5525,  1338, -1281,  5054,  1072,   558,
     1654     990,  1016,  1083,  1086, -1281,  1074,  4456,   592, -1281,  1172,
     1655    1338,  5525,   544,  2195,   544,   696,   809,   901, -1281, -1281,
     1656     814,   901, -1281, -1281, -1281,   831, -1281,   901,   144,  9940,
     1657   -1281,   682,  1095,   691,  1099, -1281,  1098,   144, -1281, -1281,
     1658    9431,   144,  1103,   362,   407,  9825,  7200,  1999,  6306,  1917,
     1659   -1281, -1281,  1101,    94,  1101, -1281, -1281, -1281,   155,   155,
     1660   -1281, -1281,   815, -1281,   155, -1281, -1281,  3122,   815,  1107,
     1661    6306, -1281,  1059, 10968, -1281, -1281,  1102, -1281, -1281, -1281,
     1662     544, -1281, 10897,  6306, -1281,  5525,   675,  8355, -1281, -1281,
     1663     602,  1108,  1109,  1286,  3745, -1281, -1281,  7703, -1281, -1281,
     1664    1111, -1281, -1281,  1116, -1281,  1111,  1128, 10744,  6464,   146,
     1665    1113,    53,  1136,  1115,  1137,   829,  1131,  1139, -1281,  1142,
     1666    1143,  1696,  6843, -1281,  6464, -1281,   668,  1691, -1281,  6022,
     1667    6464,  1138, -1281, -1281,   990,   708, -1281,  6464, -1281, -1281,
     1668     727, -1281, -1281, -1281, -1281, -1281,   599,   599,   388,   388,
     1669     472,   472,   472,   472,   354,   354,   593,   830,   867,   873,
     1670     970,  6306,   755, -1281,  9940,  1148,  1149,  1152,  1062, -1281,
     1671   -1281, -1281, -1281, -1281,  9940,   713,  6306,  5525, -1281,  9645,
     1672   -1281,  7319,  9311,  9236,  7081, -1281, -1281, -1281,  1185,  9940,
     1673     951,  1160,  1163,  1165,  1166,  1175,  1176,  1182, -1281,  3532,
     1674    1899, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1675   -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281,  1061, -1281,
     1676   -1281, -1281,   874, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1677   -1281,  1183, -1281,  1187,  1189, -1281, -1281,    31,  1138,  5054,
     1678   -1281, -1281, -1281,  5315,  1180, -1281, -1281, -1281, -1281, -1281,
     1679     815,  6243,  1272, -1281, -1281, -1281, -1281,  1188,    31, -1281,
     1680   -1281,  1061, -1281, -1281,  1061,    70,  1061, -1281, -1281, -1281,
     1681   -1281, -1281, -1281,  9498, -1281,   144, -1281,  9002, -1281, -1281,
     1682    1201,   818,  1208,  1212,  1213, -1281, -1281,  1917, -1281, -1281,
     1683   -1281, -1281, -1281, -1281, -1281,  1868, -1281,  1047, -1281, -1281,
     1684    1210,  1216,  1211, -1281, -1281,  1218,  1223, -1281,   675,  1777,
     1685   -1281,   562, -1281,  3745,   874, -1281,  1226,  7703,  9863,  8972,
     1686    1230, -1281, -1281,  1225,  1235,  1238, -1281,  6306,   252,    40,
     1687    1231, -1281,  1242,   544,  1242,  6724,  6464, -1281, -1281,  1242,
     1688   -1281,  1691,  5315, -1281, -1281, -1281, -1281,  1236,  6464,  1245,
     1689     544,  5054, -1281, 10490, -1281,   544, -1281, -1281,  6464, -1281,
     1690     850,   901, -1281, -1281, -1281, -1281, -1281, -1281, -1281,   990,
     1691    8746, -1281, -1281,  7438,  1249, -1281,   856,   901, -1281,   872,
     1692     904,   901, -1281,   565,  4646, -1281, -1281, -1281,  9940,  9940,
     1693   -1281,  8426,  8426, -1281,  1252,  1255,  1264,  1271, -1281,  1253,
     1694     594,   247,  1138, -1281,   544, -1281,  4456, -1281,  6464,   459,
     1695   -1281,  6603,  1274,  1279, 10343,  1281,  1283,   301,   308,   344,
     1696    6464,  1285,   144,  6464,  6464,  1284,   498,  1282,  1268, -1281,
     1697   -1281, -1281,  1289, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1698   -1281, -1281,   815,  1296,  6464, -1281,  9940,  9940,   155,  1301,
     1699   -1281,  9349,  4935,   934,   901, -1281, -1281, -1281, -1281, -1281,
     1700   -1281, -1281, -1281, -1281,  1305,  1777, -1281, -1281,  1290, -1281,
     1701    1111, -1281, -1281,  2195,  1309, -1281, -1281, -1281,   734,  1312,
     1702   -1281,    53,  1317,  6306,  1303,    53,    53,  1327,  1323, -1281,
     1703    1074,  6464,  1328,  1236,  1036,   113,  1326, -1281,  1323, -1281,
     1704    1331,  1326, -1281, -1281,  1337, -1281, -1281,  1061,  1340,  1343,
     1705    6962,  1342,  1344,  1350, -1281, -1281,  1353, -1281, -1281,  1061,
     1706   -1281, -1281, -1281, -1281,  1061,  6464,  6464,  6306,  1355, -1281,
     1707   -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281,
     1708   -1281,  6306,  6306,  1356,  1357,  1326, -1281, -1281,   815, -1281,
     1709   -1281, -1281,  7939,  9863,  6464,  6464,  1423,  6464, -1281, -1281,
     1710    1341, -1281,  1345,  6464,  1347,  1358,  6464,  1097,  1360,    74,
     1711    8776,  1197,   155, -1281, -1281,  6243,  1361,   467, -1281, -1281,
     1712   -1281, -1281, -1281, -1281, -1281, -1281, -1281,  1061, 10467, -1281,
     1713    8497,  1362, -1281, -1281,  9863,   482,   494, -1281,  1372,  1383,
     1714     831,  1394, -1281,    66, -1281, -1281,  6464,  1395,  1393, -1281,
     1715   -1281,  1399,   430,   657,   544,  1400,  1401, -1281,  1406, -1281,
     1716    9940, -1281, -1281, -1281, -1281, -1281,  1412, -1281,  9940,  9940,
     1717    9940, -1281, -1281,  1413, -1281,  1415,  1425,  1427,   623,  8125,
     1718    8240, -1281, -1281,   278, -1281,  1426,  1429, -1281,  8568,   745,
     1719     759,  1430,   769,  6445, -1281, -1281,   502, -1281, -1281,   770,
     1720    1434,  1436,   144,  1487,   911, -1281, -1281,  6464, -1281, 10490,
     1721   10343, -1281, -1281, -1281,  1442,  1444,  9940, -1281, -1281, -1281,
     1722    1437, -1281, -1281, -1281, -1281, -1281, -1281,  9863,   831,   269,
     1723   -1281,  1424,   831,  1236,   373, -1281, -1281, -1281, -1281, -1281,
     1724   -1281, -1281, -1281,  1443, -1281, -1281, -1281, -1281, -1281, -1281,
     1725    1452,  1454, -1281, -1281, -1281, -1281, -1281, -1281, -1281,  1458,
     1726   -1281,  1457, -1281, -1281, 10343,   148,  6464, 10343, -1281,  1462,
     1727    6464, -1281,   171,  1484,  1486, -1281, -1281,  1465,  1476,  1455,
     1728     905, -1281, -1281, -1281, -1281, -1281,  1338,  2195,  1471,   862,
     1729     918,  6306, -1281,   772,  1477,  6464,   544,   544,  1480,  1482,
     1730    1483,  1485, -1281, -1281,  8426,  1472, -1281,  1555,  6306,  1493,
     1731   -1281, -1281, 10254, -1281,   790, -1281,  1467, 10343,  1468, -1281,
     1732   -1281,  1511, -1281,  1513, -1281,  1507,  1529, -1281,  1496,  1519,
     1733    9863, -1281, -1281, -1281,   831,   544,  1520,  1499,  1515, -1281,
     1734    1326,  1326, -1281, -1281, -1281, -1281, -1281, 10343,   258, -1281,
     1735     922, -1281, -1281,  7790, -1281, -1281,  1501,  6464, -1281,  6464,
     1736    7790,   144,  9716,   144,  9716,  1528, -1281,  1530, -1281, -1281,
     1737   -1281,  1524,   862, -1281,   794, -1281, -1281,  6464,  1540,  1542,
     1738   -1281,  6306,  6306, -1281, -1281,  1051,   133, -1281, -1281,  1510,
     1739   -1281,  1051, -1281, -1281,  2099,   544, -1281, -1281,   144,  9716,
     1740     144,  9716,  1546,  1525,   544, -1281, -1281, -1281, -1281, -1281,
     1741   10254,  1541,  1051,  7866,  6464, 10165,  1543,  1051,  1551,  2099,
     1742    2338, -1281, -1281, -1281,  1552, -1281, -1281, -1281, -1281,  8972,
     1743   -1281, -1281, -1281, 10072, -1281, 10254, -1281, -1281,  1531,  9979,
     1744   -1281, -1281, 10165,   144,  2338,   144,  1557,  1559,   795, -1281,
     1745   10072, -1281, -1281, -1281,  9979, -1281, -1281, -1281,   144,   144,
     1746   -1281, -1281, -1281, -1281, -1281, -1281, -1281, -1281
    17501747};
    17511748
     
    17531750static const yytype_int16 yypgoto[] =
    17541751{
    1755    -1356,  4068,  1513, -1356,  1381, -1356,    41,     0,  -254, -1356,
    1756      593,  -523,  -482,  -960,  -143,  5028, -1356,  -101,   576,   581,
    1757      386,   577,  1101,  1105,  1106,  1099,  1107, -1356,  -593,  -585,
    1758     4966,  -933,  -708,  -942, -1356,  -273,  -719,   379, -1356,  1404,
    1759    -1356,   457, -1092, -1356, -1356,   195, -1356,  -844, -1059,   308,
    1760    -1356, -1356, -1356, -1356,   124, -1118, -1356, -1356, -1356, -1356,
    1761    -1356, -1356,   382, -1355,    53, -1356,  -496, -1356,   558,   349,
    1762    -1356,   226, -1356,  -307, -1356, -1356, -1356,   610,  -832, -1356,
    1763    -1356,    13,  -961,   169,  2725, -1356, -1356, -1356,   -79, -1356,
    1764      189,   845,  -184,  1482,  3902, -1356, -1356,   192,   133,   657,
    1765     -251,  1620, -1356,  1796, -1356, -1356,   156,  2416, -1356,  2575,
    1766      798, -1356, -1356,  -404,  -428,  1252,  1253,   761,  1003,   302,
    1767    -1356, -1356,  1245,   764,  -253, -1356,   -24,  -132,  -469, -1356,
    1768    -1356,  -983,  -881,     4,   862,  1128,   -43, -1356,   561,  -100,
    1769     -262,  -193,  -152,   721,   826, -1356,  1071, -1356,  2692,   907,
    1770     -449,   971, -1356, -1356,   765, -1356,  -227, -1356,   -60, -1356,
    1771    -1356, -1356, -1248,   485, -1356, -1356, -1356,  1242, -1356,    45,
    1772    -1356, -1356,  -846,  -109, -1333,  -138,  3289, -1356,  1880, -1356,
    1773      969, -1356,  -161,   268,  -181,  -177,  -175,     2,   -39,   -35,
    1774      -33,   769,    30,    31,    69,  -146,  -162,  -151,  -147,  -140,
    1775     -277,  -521,  -506,  -484,  -575,  -313,  -516, -1356, -1356,  -528,
    1776     1156,  1157,  1163,  2484,  4688,  -570,  -557,  -534,  -533,  -478,
    1777    -1356,  -432,  -693,  -685,  -681,  -580,  -201,  -236, -1356, -1356,
    1778      265,   180,   -86, -1356,  3600,   232,  -625,  -376
     1752   -1281,  4254,  1590, -1281,  1409, -1281,    52,     0,  -229, -1281,
     1753     596,  -527,  -497,  -931,   -99,  4508, -1281,   358,   609,   563,
     1754     518,   591,  1104,  1105,  1110,  1117,  1112, -1281,   613,  -339,
     1755    5346,  -893,  -690,  -919, -1281,   401,  -634,   444, -1281,   753,
     1756   -1281,   449, -1224, -1281, -1281,   191, -1281, -1265,  -724,   305,
     1757   -1281, -1281, -1281, -1281,   129, -1170, -1281, -1281, -1281, -1281,
     1758   -1281, -1281,   382, -1175,    71, -1281,  -381, -1281,   560,   356,
     1759   -1281,   229, -1281,  -338, -1281, -1281, -1281,   632,  -691, -1281,
     1760   -1281,    11, -1000,    10,  2865, -1281, -1281, -1281,  -125, -1281,
     1761     275,   363,  -194,  1416,  4157, -1281, -1281,    24,    25,   374,
     1762    -202,  1621, -1281,  2138, -1281, -1281,   112,  2165, -1281,  2832,
     1763     139, -1281, -1281,  -416,  -434,  1276,  1278,   786,  1028,   400,
     1764   -1281, -1281,  1269,   793,  -513, -1281,  -522,   -57,  -636, -1281,
     1765   -1281,  -959,  -994,   122,   819,  1153,   135, -1281,  1441,   296,
     1766    -299,  -212,  -109,   749,   844, -1281,  1087, -1281,  2859,  1478,
     1767    -462,  1000, -1281, -1281,   778, -1281,  -233, -1281,   -72, -1281,
     1768   -1281, -1281, -1232,   504, -1281, -1281, -1281,  1259, -1281,    68,
     1769   -1281, -1281,  -850,   -96, -1280,   -93,  1665, -1281,  2401, -1281,
     1770     993, -1281,  -164,   689,  -177,  -176,  -170,     2,   -39,   -33,
     1771     -28,  1052,    48,    75,    93,  -100,  -167,  -166,  -153,  -148,
     1772    -277,  -569,  -500,  -490,  -543,  -300,  -514, -1281, -1281,  -506,
     1773    1174,  1177,  1181,  2149,  5126,  -572,  -549,  -544,  -523,  -484,
     1774   -1281,  -427,  -665,  -663,  -660,  -602,  -320,  -271, -1281, -1281,
     1775     102,   140,   -84, -1281,  3728,   128,  -603,  -447
    17791776};
    17801777
     
    17821779   positive, shift that token.  If negative, reduce the rule which
    17831780   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1784 #define YYTABLE_NINF -523
     1781#define YYTABLE_NINF -522
    17851782static const yytype_int16 yytable[] =
    17861783{
    1787       47,   112,    96,   398,   148,   933,   266,   399,   149,   400,
    1788      150,   452,   176,   934,   113,   382,   383,   935,   259,   427,
    1789      791,   527,   401,   707,   406,   439,   512,   505,   712,   112,
    1790      112,   895,    47,   402,    96,   618,   853,   403,   768,   407,
    1791      975,   854,   111,    47,   404,    47,  1152,   160,   409,   871,
    1792      751,   820,   846,    48,   756,    47,  1092,  1144,   718,  1184,
    1793     1185,    47,   260,   192,    47,   261,   215,    47,   342,   225,
    1794     1091,   613,   995,   151,   152,   847,   848,   142,    31,   279,
    1795      218,   112,   112,   398,   933,    48,  1462,   399,   842,   400,
    1796     1399,   424,   934,   845,   201,  1196,   935,   779,   951,  1318,
    1797      574,  1202,   401,   843,   406,    47,   936,    31,    47,  1135,
    1798      679,   536,   153,   402,   937,    47,  1136,   403,   122,   407,
    1799     1508,   749,   482,   484,   404,   844,   408,   637,   936,   290,
    1800      688,   641,    31,    68,   857,   575,   950,   280,   692,  1099,
    1801      864,  1219,  1220,   605,   202,   148,    47,   121,   160,   149,
    1802      410,   150,   682,   684,    47,  1537,    75,  1539,   978,    47,
    1803     1462,   372,  1186,   683,   685,    68,   167,   446,  1319,    54,
    1804      114,   483,   141,   578,   438,   410,   478,   251,    31,   410,
    1805      105,   105,   517,   579,    47,    47,   467,   160,    75,    61,
    1806      168,    31,    67,  1482,   109,   534,   535,   211,  -234,  -234,
    1807       47,    54,   418,    31,   410,    41,    42,   556,    47,  1260,
    1808      160,   919,   105,    31,   151,   152,   677,    47,   746,  1008,
    1809       47,    61,   442,   842,    67,   148,   585,   112,   490,   149,
    1810     1201,   150,   586,   209,   483,   507,   219,   858,   843,   755,
    1811      527,   861,   112,   535,   674,   527,   112,   105,   527,   143,
    1812       47,   112,    96,   153,  1210,   596,   576,   760,   770,   675,
    1813      844,   488,   878,   410,    47,    47,   881,   160,    95,  -234,
    1814      777,    47,   410,   855,   145,   610,  1037,   165,    47,   535,
    1815      778,  1038,   846,   862,   342,   610,   666,   536,   740,  1342,
    1816      712,  1014,   472,   112,   703,   470,  1343,  1051,   618,  1263,
    1817       95,  1154,   813,    48,   176,   847,   848,  1184,  1185,   705,
    1818      162,   147,   536,    95,   681,  1344,  1419,  1420,   842,   154,
    1819      686,   638,   976,  1025,   824,   642,   674,  1264,    47,   188,
    1820      372,   170,    95,   843,   524,    95,   180,   536,   478,  1134,
    1821     1192,   675,   165,  1202,   200,   874,  1010,    47,    47,   875,
    1822     1419,  1420,  1216,   441,  -290,   844,  1015,   739,   478,   246,
    1823     1186,   831,   109,   857,    47,   761,   478,  1193,    47,   536,
    1824      109,  1026,   762,    41,    42,   162,   109,   327,   249,   653,
    1825     1092,    41,    42,    68,   926,   936,  1421,    41,    42,   440,
    1826      854,   886,   887,  1133,  1091,    47,  1402,  1492,   500,   605,
    1827      501,   783,   846,  -518,   880,    47,    75,   372,  1551,   905,
    1828     1186,    75,   251,   763,    95,   764,  1153,  1214,   765,    54,
    1829     1430,   771,   916,    47,  1193,   847,   848,    95,   605,    47,
    1830      105,    47,  1457,   605,  1550,  1566,  1212,  1521,   109,    61,
    1831      435,   871,    67,  1526,   479,   263,   342,  1451,  1452,    41,
    1832       42,   376,   397,   188,  1561,    47,   794,   795,   796,   876,
    1833      112,  1565,   -10,   877,  1546,   112,  1051,   377,   386,  1553,
    1834      327,  -112,  1381,   434,   112,   728,    95,   789,  1406,    47,
    1835      251,   329,   211,   958,   387,  -112,  -112,    47,    95,   372,
    1836     -441,    47,  -112,    96,  -467,    47,   740,  1041,   112,   535,
    1837      112,  -112,   435,  1202,   460,   896,  1107,   505,   979,  -442,
    1838     1202,   885,   885,   885,   707,   111,  1259,   398,    95,  1121,
    1839      653,   399,  1150,   400,  1102,  -467,   275,  -467,   909,   165,
    1840      885,  -467,   486,   277,  1186,   434,   401,   112,   618,   406,
    1841      653,   936,   112,   653,    48,   278,  1038,   402,   389,  1252,
    1842      391,   403,  1172,  1174,   407,   907,   109,   330,   404,   531,
    1843     1107,   767,   162,  1202,   390,   739,   392,    41,    42,   331,
    1844     1181,  1182,   740,    75,  1036,  1017,   607,   332,   784,  1466,
    1845      370,   767,   693,   790,   767,  1379,   393,   873,   586,  1118,
    1846      112,   140,   333,    75,  1019,  1348,    95,    47,   831,   936,
    1847      936,    75,   394,   888,   885,   334,   479,  1292,  1293,    47,
    1848      342,    47,   478,   211,   564,   565,   612,   557,   904,   884,
    1849      884,   884,   558,   559,    68,   587,   479,   410,  1231,  1232,
    1850       47,   472,  1498,   535,   479,   897,  1250,   713,   884,  1498,
    1851     1254,   739,   240,   243,    37,   876,    47,    75,    40,  1117,
    1852      566,   567,   112,   714,   955,    41,    42,   327,   327,   715,
    1853       54,    47,  1429,   112,    47,   112,   898,   335,   652,   713,
    1854      730,   105,   899,   188,   712,   716,   731,  1466,   737,   994,
    1855       61,    43,  1466,    67,   728,   929,   342,  1036,   831,   715,
    1856      384,   146,  1547,   371,  1199,  1049,   885,   959,    47,   610,
    1857       47,  1199,  1466,   375,   906,   930,   908,   960,  1333,  1466,
    1858     1200,   388,   884,   112,  1335,   507,  1096,  1324,   460,   112,
    1859      408,   460,   747,   704,  1334,   228,   535,   460,   748,   229,
    1860     1336,   112,   233,   327,   235,   109,     8,     9,    10,    11,
    1861       12,   244,  1056,  1129,    47,    47,    41,    42,   757,  1500,
    1862      285,  1501,   327,   590,   758,   410,   396,   775,    47,    95,
    1863     -291,    41,    42,   612,   441,    31,   431,     8,     9,    10,
    1864       11,    12,   954,  1382,  1350,   774,   920,   674,   531,   425,
    1865      531,   775,   775,   531,  -105,   703,   531,   521,  -105,   922,
    1866      833,   449,   675,    34,  1367,   775,    31,  1391,  1368,  1003,
    1867      705,  1016,  1356,   464,   884,  1004,  1548,   731,   426,   936,
    1868     1358,  1359,  1360,   910,   161,   410,  1248,  1447,   327,   728,
    1869      605,  -112,   586,  -112,    34,  1375,   936,  -112,   462,   728,
    1870      193,   775,   607,   216,  1459,  1376,   226,   933,   913,    47,
    1871      410,   775,  -112,  -112,   728,   934,   115,    75,    37,   935,
    1872     1176,    47,    40,   109,   465,   138,   139,   211,  1395,    41,
    1873       42,   872,   213,   109,    41,    42,   607,   831,   228,   468,
    1874     1378,   211,   560,   561,    41,    42,   775,   841,   979,   612,
    1875      479,   469,   979,   979,   491,   839,   737,   610,   511,    75,
    1876      158,  1156,    37,   410,   653,   611,    40,   562,   563,   936,
    1877      936,   112,   653,    41,    42,  1197,  1383,  1519,  1459,   290,
    1878     1183,  1448,   775,  1467,   213,   161,  1168,  1445,   410,   775,
    1879      535,  1514,   479,   515,    47,  1571,   520,  1515,   373,   744,
    1880      532,   586,  1300,  1301,  1171,  1303,   610,   536,    47,   745,
    1881      654,  1307,   570,  1078,  1310,  1173,    47,   610,   572,   257,
    1882      801,   802,   803,   804,   161,   158,  1236,   213,   410,   571,
    1883      740,   517,   737,   573,    47,   211,   932,   109,   704,   138,
    1884      139,   214,   568,   569,   537,   538,   539,   161,    41,    42,
    1885     1007,  1004,  1122,   460,   112,   251,   329,   410,   241,   443,
    1886      323,   775,  1009,   653,   418,   670,   410,  1340,   540,   339,
    1887      541,   112,   542,   543,   653,   941,   112,   941,   228,   242,
    1888      233,   338,   841,   612,   576,  1243,   329,   410,   213,  1388,
    1889     1389,   717,  -438,   214,   594,  1138,   464,   833,   597,   739,
    1890      488,   329,   410,  1439,  1004,    68,   855,   329,   610,   676,
    1891      740,   647,  1146,   728,   728,   767,   667,  1146,   668,   429,
    1892     1311,  1312,  1313,   433,   669,   112,   213,   671,    75,   750,
    1893      213,   754,  1445,  1446,   672,   653,   214,   673,   112,   112,
    1894      112,    54,   678,  1533,  1493,  1494,    37,   535,   173,   174,
    1895       40,   256,   105,   323,   455,  1400,   696,    41,    42,  1400,
    1896      721,    61,   719,   112,    67,  -238,  1146,   373,   228,  1419,
    1897     1420,   728,   728,   759,  1425,   772,  1078,   841,   776,  1211,
    1898     1213,  1215,   780,   371,   109,   433,   138,   237,   495,   612,
    1899     1349,  1351,  1352,  1107,    47,    41,    42,   214,   834,     2,
    1900      205,     4,     5,     6,     7,   342,   797,   798,  1123,   529,
    1901      836,   838,   158,   799,   800,   805,   806,   213,   849,   105,
    1902      -12,   238,  -292,   901,   -13,   893,   239,   441,  1370,     8,
    1903        9,    10,    11,    12,    37,   214,   182,   183,    40,   214,
    1904      894,   921,   923,   928,   373,    41,    42,   924,     8,     9,
    1905       10,    11,    12,   699,   949,  -415,   595,  -522,    31,   602,
    1906      748,  1483,   963,   460,    35,    68,    36,   970,   984,   112,
    1907      972,   698,   327,   410,   983,   977,   704,    31,   635,   699,
    1908      985,   700,   639,   892,   704,   339,    34,   218,    75,   987,
    1909      988,    47,   109,   989,   138,   139,   653,   990,   213,  1011,
    1910     -293,    54,   612,    41,    42,    34,   999,     8,     9,    10,
    1911       11,    12,   105,  1329,     2,   205,     4,     5,     6,     7,
    1912     1012,   479,  1013,   872,  1204,  1027,   214,    -3,  1122,  1058,
    1913     1093,   891,  1028,   112,   112,   112,    31,  1078,  1029,  1030,
    1914      323,   323,  1031,   227,   945,   728,  1032,   578,   213,   410,
    1915      948,  1080,  1033,   728,   728,   728,  1044,   579,   128,  1443,
    1916      129,   130,   131,  -403,    34,  -402,  1095,  1104,   455,    41,
    1917       42,   455,  1103,  1105,  1146,  1146,  1146,   455,  1106,    35,
    1918     1110,    36,  1111,  1559,   537,   538,   539,  1112,  1113,   115,
    1919      653,   653,  1114,  1120,     2,   205,     4,     5,     6,     7,
    1920     1130,   728,  1131,   729,   775,  1137,   211,   214,   540,   993,
    1921      541,  1132,   542,  1320,   495,  1145,   323,  1166,   495,   398,
    1922      737,  1122,  1142,   399,  1442,   400,  1189,  1187,   529,    68,
    1923      529,   767,  1078,   529,  1188,   323,   529,   460,   401,  1190,
    1924      406,  1223,   209,   219,  1191,   653,  1205,   339,   653,   402,
    1925     1206,  1208,    75,   403,   105,   407,  1209,   214,  1217,    35,
    1926      404,    36,  1221,  1224,   674,    54,  1532,    47,    47,    -3,
    1927     1229,   213,  1234,  1240,   500,  1249,   105,   112,   112,   675,
    1928      109,  1244,   138,   139,  1123,    61,  1078,  1251,    67,  1078,
    1929     1253,    41,    42,   653,  1256,   105,  1257,  1261,   653,   213,
    1930      737,   323,   441,  1265,   213,  1268,   175,    68,  1270,  1272,
    1931     1273,  1302,   829,  1274,  1207,   602,   112,   752,  1146,  1146,
    1932     1278,  1275,   753,  1276,  1122,   654,  1285,   172,   653,  1294,
    1933       75,  1295,  1061,  1323,  1078,  1305,  1306,  1308,   440,  1078,
    1934     1331,  1337,  1339,    54,   870,  1309,  1341,  1317,  1346,   602,
    1935     1345,  1347,    64,   116,   105,   879,   175,  1484,  1353,   175,
    1936     1354,   148,  1355,   479,  1357,   149,  1204,   150,  1363,  1078,
    1937      252,  1364,  1365,  1366,  1377,    47,   112,  1123,  1373,  1374,
    1938      214,  1384,  1385,  1313,    64,   112,  1393,  1394,   105,  1396,
    1939     1403,   653,   213,  1413,  1414,  1406,   653,   159,  -404,  1417,
    1940       47,    47,  1428,   160,  1432,   175,   213,  1434,   214,  1436,
    1941     1437,   339,   729,   214,   653,  1438,   653,  1534,  1444,   220,
    1942      653,  1449,  1453,   653,   654,    47,  1542,   372,  1454,  1455,
    1943     1456,   653,  1078,   455,   166,   653,   171,  1078,  1368,   177,
    1944      178,   179,    37,   181,   173,   174,    40,  1458,    37,  1463,
    1945      173,   174,    40,    41,    42,  1078,   258,  1078,   232,    41,
    1946       42,  1078,  1468,   495,  1078,  1470,   416,    68,   175,  1472,
    1947      247,   248,  1078,  1474,    68,  1080,  1078,  1476,  1478,   375,
    1948     1123,    37,  1480,   182,   183,    40,  1487,   339,  1481,   436,
    1949       75,   105,    41,    42,  1486,  1509,  1488,    75,   328,   444,
    1950      213,   214,  1511,    54,  1499,  1513,   258,   349,  1517,  1518,
    1951       54,  1540,  1525,  1545,   105,   214,  1552,  1554,   609,  1541,
    1952      610,   105,   175,   479,  1061,  1556,  1204,    68,   611,   175,
    1953      479,  1562,    37,  1204,   182,   183,    40,   405,  1569,  1570,
    1954     1222,   807,   810,    41,    42,  1018,   808,   729,   809,   829,
    1955       75,   811,   423,  1322,   212,   428,   430,   729,  1520,  1572,
    1956      159,  1431,  1404,    54,   231,  1255,  1387,  1502,   528,   698,
    1957     1392,   410,   729,  1228,   105,   694,   695,  1108,   942,   700,
    1958      723,   447,  1109,   479,  1141,   450,  1204,   451,   826,   965,
    1959     1057,     8,     9,    10,    11,    12,   466,   973,   175,   900,
    1960     1332,  1119,    64,   742,   816,   817,   212,   480,  1506,   214,
    1961     1506,   818,     0,     0,     0,   175,     0,   487,     0,   175,
    1962       31,     0,     0,     0,  1418,   430,     0,  1426,     0,     0,
    1963     1298,     0,     0,     0,     0,     0,     0,     0,     0,   829,
    1964        0,     0,   327,   455,     0,  1506,     0,  1506,    34,   212,
    1965        0,     0,     0,    37,     0,   182,   183,    40,    37,     0,
    1966      182,   183,    40,     0,    41,    42,    73,     0,   486,    41,
    1967       42,     0,  1465,     0,     0,     0,    37,  1469,   182,   183,
    1968       40,     0,   175,   495,  1124,   323,     0,    41,    42,     0,
    1969      184,     0,   213,   258,     0,  1530,   603,   410,    73,     0,
    1970      185,     0,   631,     0,     0,  1531,     0,  1491,     0,     0,
    1971      212,     0,     0,   184,     0,   636,   690,     0,     0,   636,
    1972        0,     0,   258,   185,     0,     0,     0,   601,   608,     0,
    1973        0,     0,     0,   221,     0,     0,   870,     0,     0,   632,
    1974      633,     8,     9,    10,    11,    12,     0,     0,   212,     0,
    1975      732,     0,   212,    37,     0,   182,   183,    40,     0,     0,
    1976        0,     0,     0,     0,    41,    42,     0,     0,   506,   480,
    1977       31,   729,   729,     0,     0,     0,   125,   125,   125,     0,
    1978        0,     0,     0,     0,   349,     0,     0,   528,     0,   480,
    1979      264,     0,   528,  1560,     0,   528,     0,   480,    34,  1560,
    1980      265,   214,     8,     9,    10,    11,    12,     0,     0,     0,
    1981     1560,     0,     0,     0,  1560,     0,     0,   455,   829,     0,
    1982        0,   352,     0,   724,     0,     0,   430,     0,     0,   729,
    1983      729,    31,     0,     0,     8,     9,    10,    11,    12,   212,
    1984      777,   738,   410,    64,     0,     0,     0,   125,   175,   125,
    1985      778,   430,     0,     0,     0,   430,     0,     0,     0,    34,
    1986        0,     0,     0,    31,    37,     0,   182,   183,    40,     0,
    1987        0,   213,     0,     0,   274,    41,    42,     0,     0,     0,
    1988        0,   175,     0,     0,   258,   349,     0,     0,     0,     0,
    1989        0,    34,     0,     0,     0,   448,    37,   175,   182,   183,
    1990       40,   609,     0,   610,     0,     0,     0,    41,    42,     0,
    1991        0,   611,   175,     0,     0,     0,    73,     0,     0,     0,
    1992      212,    73,     0,     0,     0,     8,     9,    10,    11,    12,
    1993      125,   819,     0,   698,     0,   410,   339,   212,   125,     0,
    1994      125,   125,     0,   700,     0,   125,     0,   125,   125,   636,
    1995      832,     0,   603,   918,    31,     0,     0,     0,     0,     0,
    1996     1124,     0,   925,   851,     0,     0,   927,   213,     0,     0,
    1997      212,  1330,     0,     8,     9,    10,    11,    12,     0,     0,
    1998      214,   603,    34,     0,     0,     0,   603,    37,     0,   182,
    1999      183,    40,   636,     0,     0,   349,   349,   349,    41,    42,
    2000        0,     0,    31,   729,     0,     0,     0,     0,     0,   175,
    2001        0,   729,   729,   729,   349,     0,   221,   125,     0,     0,
    2002        0,     0,     0,     0,  1530,     0,   410,     0,     0,     0,
    2003       34,     0,   724,     0,  1531,    37,     0,   182,   183,    40,
    2004        0,     0,     0,   480,     0,     0,    41,    42,   258,   738,
    2005        0,     0,   938,  1124,     0,     0,     0,     0,     0,   729,
    2006        0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
    2007        0,     0,   264,     0,     0,     0,   214,     0,     0,     0,
    2008        0,     0,   265,    73,     0,   480,     0,     0,   349,     0,
    2009        0,    31,     0,   212,     0,     0,     0,   964,   352,     0,
    2010      430,     0,     0,    73,     0,     0,     0,     0,   952,     0,
    2011      953,    73,     0,     0,     0,     0,     0,   956,   957,    34,
    2012        0,   212,   962,     0,   258,   738,   212,     0,     0,     0,
    2013      992,     0,     0,     0,   967,     0,     0,   352,     0,   971,
    2014      544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
    2015        0,     0,     0,     0,     0,   352,  1124,    73,     0,     0,
    2016        0,   959,     0,   610,     0,  1000,     0,   724,     0,     0,
    2017        0,   960,     0,     0,   554,   175,     0,   724,     0,     0,
    2018      349,     0,   636,     0,     0,  1024,   636,   832,  1505,     0,
    2019     1505,     0,   724,     0,     0,     0,     0,     0,     0,   352,
    2020     1101,     0,  1035,     0,     0,     0,     0,     0,     0,     0,
    2021      601,     0,     0,     0,   212,     0,     0,     0,     0,     0,
    2022        0,     0,     0,     0,     0,  1505,     0,  1505,   212,     0,
     1784      46,   111,    95,   147,   451,   438,   397,   398,   426,   148,
     1785      53,   113,   112,   399,   149,   790,   400,   401,   265,   258,
     1786     405,   711,   767,   604,    66,    67,   870,   706,   111,   111,
     1787     402,    46,   932,    95,   933,   403,   750,   934,   853,   841,
     1788     755,    53,    46,   918,    46,   717,   159,   617,  1185,   748,
     1789     511,  1091,   894,   110,    46,    66,    67,   381,   382,   845,
     1790      46,  1201,   191,    46,   846,   214,    46,   852,   224,   341,
     1791     612,    47,   819,   208,  1151,   504,   218,   217,   678,  1143,
     1792     111,   111,  1183,  1184,   406,   847,   397,   398,   210,   994,
     1793     150,   636,   408,   399,   844,   640,   400,   401,   687,   141,
     1794     405,   778,    47,   423,    46,  1398,   691,    46,   842,   200,
     1795     402,   932,    74,   933,    46,   403,   934,   151,   843,   950,
     1796     883,   883,   883,  1195,   974,   682,   684,   856,    30,   477,
     1797     885,   886,    30,   863,   289,   152,  1317,   166,  1461,   883,
     1798     104,   104,   407,    74,   147,    46,   161,   159,   904,  1134,
     1799     148,   535,   121,    46,   445,   149,  1135,  1465,    46,   201,
     1800     371,   167,    30,   977,   406,   857,   481,   483,   739,   860,
     1801     278,   104,   164,   466,   841,  1341,  -234,  -234,  1009,  1098,
     1802    1218,  1219,  1342,    46,    46,   120,   159,   482,  1014,   175,
     1803     877,  1418,  1419,    30,   880,    30,   676,  1262,   250,    46,
     1804     409,   754,   212,  1025,   409,  1318,   104,    46,  1481,   159,
     1805    1090,   161,  1461,   883,  1418,  1419,    46,   745,   140,    46,
     1806     769,   441,   957,    30,   147,  1263,   111,   535,   279,   439,
     1807     148,   150,   417,   142,   409,   149,   375,   164,   144,   259,
     1808     673,   111,   260,   842,   440,   111,  1185,  -234,  1259,    46,
     1809     111,    95,   376,   843,   212,  1465,   595,   169,   151,    53,
     1810    1465,  1420,   975,    46,    46,   487,   159,   409,   179,   841,
     1811      46,    30,   326,    66,    67,    60,   152,    46,  1037,   604,
     1812    1465,   759,   199,   711,  1429,   341,   823,  1465,   535,   845,
     1813     702,   477,   111,   854,   846,   609,  1185,   212,   665,  1507,
     1814     153,  1549,   471,  1201,   674,   883,    60,  1036,   604,   433,
     1815     617,   477,  1013,   604,  1016,   847,   760,   469,  1153,   477,
     1816      47,  1560,   673,   761,  1024,   830,   680,    46,  1564,   371,
     1817    1183,  1184,   685,   535,  1536,   434,  1538,  1343,   842,   573,
     1818     459,   861,  1191,   609,   523,   873,    46,    46,   843,   874,
     1819     535,   437,   925,  1491,   704,  1550,   856,   245,   212,   936,
     1820    1133,    74,  -290,    46,   114,   326,    74,    46,   879,  1192,
     1821    1200,   433,   108,   210,   574,  1091,   739,  1401,   652,   108,
     1822    1192,   949,  1565,    40,    41,   250,   674,   853,   -10,   104,
     1823      40,    41,  -112,  -112,    46,   530,   212,   434,   161,   108,
     1824     212,   482,  1180,  1181,    46,   489,   371,   157,  -112,   845,
     1825      40,    41,   506,   385,   846,   108,   248,   388,   870,  -517,
     1826    1185,   390,    46,   575,   164,  1040,    40,    41,    46,   386,
     1827      46,   738,  1209,   389,   584,   847,  1215,   391,   782,  1211,
     1828     585,   227,   392,   563,   564,   228,   915,   341,   232,   712,
     1829     234,   262,   739,   714,    46,  1456,   108,   243,   393,   111,
     1830    1230,  1231,  1213,  1201,   111,   713,   256,    40,    41,   715,
     1831    1201,   606,   157,   111,  -440,  1450,  1451,   712,    46,   565,
     1832     566,   175,  -112,   250,   328,   692,    46,   212,   371,  1405,
     1833      46,   585,    95,   928,    46,   788,   329,   111,   637,   111,
     1834      53,   108,   641,  -112,   210,  1120,  1149,   322,   559,   560,
     1835    1106,  1101,    40,    41,    66,    67,   338,  1117,   706,   652,
     1836     397,   398,   714,  1201,    60,   110,  -441,   399,    74,   478,
     1837     400,   401,   978,   274,  1090,   405,   111,  1258,   929,   652,
     1838    1347,   111,   652,  1037,   402,  1171,  1173,   895,    74,   403,
     1839     617,   276,   326,   326,   459,   504,    74,   459,  1018,   561,
     1840     562,    47,   830,   459,  1106,   477,   428,   906,   212,   284,
     1841     432,   766,   908,  1035,  1198,     8,     9,    10,    11,    12,
     1842      40,    41,  1198,   277,   227,   884,   884,   884,   783,   111,
     1843    1199,   766,   727,   789,   766,   330,    46,  1332,  1323,   406,
     1844     322,   454,    74,    30,   884,   331,   520,   954,    46,  1334,
     1845      46,   341,  1380,  1333,   530,   108,   530,   774,   212,   530,
     1846     875,   832,   530,   332,   876,  1335,    40,    41,   326,    46,
     1847     104,    33,   432,  1381,  1355,   494,   333,  -466,  1132,   738,
     1848     516,   471,  1357,  1358,  1359,    46,   108,   326,   137,   138,
     1849     334,   111,   830,   533,   534,   440,   528,    40,    41,   157,
     1850      46,   369,   111,    46,   111,   555,   383,   711,  -466,  1378,
     1851    -466,   896,  -291,   875,  -466,  1048,   370,  1116,   884,     8,
     1852       9,    10,    11,    12,   567,   568,  1035,   341,   241,    94,
     1853    1394,   478,   729,   586,   526,   409,  1095,    46,   730,    46,
     1854     604,   534,   897,   594,   651,  -105,   601,    30,   898,  -105,
     1855     374,   478,   111,   326,   905,   738,   907,   556,   111,   478,
     1856      94,   395,   557,   558,   227,   634,   232,   606,   108,   638,
     1857     111,   146,   338,    94,  1366,    33,  1128,   534,  1367,    40,
     1858      41,   212,   387,    46,    46,   746,  1428,   756,   210,   187,
     1859    1249,   747,    94,   757,  1253,    94,   871,    46,   577,   407,
     1860     409,   606,   210,   736,   872,    60,   424,  1349,   578,   212,
     1861     884,  1520,  1497,   673,   212,   425,   776,  1525,   409,  1497,
     1862     887,   702,   953,   958,  1055,   609,   777,   322,   322,   430,
     1863     773,   919,  1390,   959,  1251,   903,   774,   774,  1545,   461,
     1864     921,   727,    74,  1552,   448,   171,   774,   464,   762,   108,
     1865     763,   137,   236,   764,   227,   454,   770,  1002,   454,   459,
     1866      40,    41,  1015,  1003,   454,   681,   683,   499,   730,   500,
     1867     490,   830,  1546,  1499,    94,  1500,   114,   674,    46,  1175,
     1868     739,  1006,  1003,  1247,    74,   704,   237,    94,   251,   585,
     1869      46,   238,  1291,  1292,  1374,   589,   210,   409,   832,   467,
     1870     774,   494,   212,   322,   932,   494,   933,   468,  1375,   934,
     1871     774,  1008,   396,   187,   774,   528,   212,   528,  1377,  1382,
     1872     528,  1447,   322,   528,   774,   774,   108,  1444,   137,   138,
     1873    1547,   510,   506,   652,   338,   514,    94,    40,    41,  1466,
     1874     111,   652,   978,  1513,  1570,   774,   978,   978,    94,  1514,
     1875     585,    53,   289,   526,   793,   794,   795,   909,   526,   409,
     1876     739,   526,   912,    46,   409,    66,    67,   328,   409,     2,
     1877     204,     4,     5,     6,     7,   519,   727,    46,    94,   108,
     1878     531,   137,   138,   535,   415,    46,   727,  1196,   322,   569,
     1879      40,    41,   485,  1077,   250,   328,   409,   534,  1155,   828,
     1880     409,   727,   601,    46,  1167,   478,   409,   435,  1387,  1388,
     1881     212,   736,   417,   669,   409,   812,   751,   443,  1122,  1121,
     1882    1170,   752,   609,   111,  1182,     2,   204,     4,     5,     6,
     1883       7,   869,   652,    34,   570,    35,   601,   487,   328,   409,
     1884     111,   571,   878,   652,   575,   111,    36,   478,   181,   182,
     1885      39,   337,  1172,    74,   609,  -292,    94,    40,    41,  1438,
     1886    1003,  1339,     8,     9,    10,    11,    12,  1242,    36,   459,
     1887     172,   173,    39,  1444,  1445,  1137,   611,  1492,  1493,    40,
     1888      41,   104,  1235,   608,   409,   609,   527,   736,   440,    34,
     1889      30,    35,  1145,   610,   111,   766,    -3,  1145,   338,   854,
     1890     328,   609,  1446,   572,   652,   370,  -437,   111,   111,   111,
     1891     593,    53,     8,     9,    10,    11,    12,  1532,    33,  1458,
     1892     454,   800,   801,   802,   803,  1203,    67,   108,   596,   137,
     1893     138,   534,   111,   187,  1418,  1419,   160,   326,    40,    41,
     1894      30,   646,   940,   738,   940,   666,  1145,   667,   104,  1399,
     1895     494,   668,   192,  1399,   670,   215,  1077,   671,   225,  1210,
     1896    1212,  1214,  -293,    46,   798,   799,   890,  1106,    33,     8,
     1897       9,    10,    11,    12,   338,   672,   341,   993,    36,   675,
     1898     172,   173,    39,   703,   677,  -112,   695,  -112,   871,    40,
     1899      41,  -112,  1518,  1458,  1310,  1311,  1312,    30,   804,   805,
     1900     727,   727,   212,  1348,  1350,  1351,  -112,  -112,   796,   797,
     1901     577,   255,   409,    74,   718,   374,    60,   720,  -238,    94,
     1902     578,   758,   771,   611,   534,    33,   775,   779,   -12,   893,
     1903     833,   835,  1017,   837,   689,   848,   828,   160,   111,   -13,
     1904     900,   104,   892,   459,   920,   536,   537,   538,   922,   923,
     1905     372,  -414,   208,   218,   217,  1482,   927,   698,   727,   727,
     1906      46,   948,  -521,   962,   969,   652,   747,   210,   731,   539,
     1907     983,   540,  1369,   541,   542,    53,   160,   971,     2,   204,
     1908       4,     5,     6,     7,   976,   982,   984,   986,   987,    66,
     1909      67,   988,   989,   998,  1122,  1121,    36,  1010,  1011,   160,
     1910      39,  1012,   111,   111,   111,   527,   226,    40,    41,  1026,
     1911     527,   442,  1027,   527,  1028,  1029,   127,  1077,   128,   129,
     1912     130,   536,   537,   538,  1030,  1031,   828,    40,    41,   728,
     1913     454,  1032,  1043,   838,  1057,   609,  -402,   840,  -401,   611,
     1914    1092,  1442,    34,   610,    35,   539,  1558,   540,   439,   541,
     1915    1319,   935,  1102,    53,  1145,  1145,  1145,  1103,  1094,   652,
     1916     652,  1104,  1105,   440,  1109,  1110,  1111,  1203,    67,  1112,
     1917     494,  1123,   322,   935,  1113,  1119,   478,    74,    36,  1129,
     1918     774,   212,    39,   104,  1130,  1079,  1136,  1122,  1121,    40,
     1919      41,  1141,   397,   398,  1131,   992,  1144,    36,  1165,   399,
     1920    1328,    39,   400,   401,  1190,   104,   405,  1186,    40,    41,
     1921    1187,   766,  1077,  1188,   652,    42,   402,   652,   534,   372,
     1922    1189,   403,  1204,   869,   104,   145,   931,  1205,   703,  1207,
     1923     673,  1208,   727,  1216,   743,  1220,    46,    46,  1222,  1223,
     1924     727,   727,   727,    -3,   744,  1228,   111,   111,  1531,    36,
     1925    1233,   172,   173,    39,  1239,    74,    63,   115,   499,   516,
     1926      40,    41,   652,  1243,  1007,  1248,  1077,   652,  1250,  1077,
     1927     406,   917,   840,   611,  1252,   736,  1255,   212,  1256,  1260,
     1928     924,  1264,  1267,   104,   926,   111,  1269,    63,   727,  1271,
     1929    1122,  1121,  1272,  1273,   674,  1274,   372,   652,  1145,  1145,
     1930     158,  1275,  1277,   174,   454,   828,  1284,  1293,  1294,  1301,
     1931     139,  1330,  1304,    53,  1077,  1322,  1305,   104,  1307,  1077,
     1932      53,    36,   219,   181,   182,    39,  1336,  1203,    67,  1308,
     1933     147,  1316,    40,    41,  1203,    67,   148,  1483,   728,  1338,
     1934      60,   149,  1050,  1340,    46,   111,  1344,  1345,  1206,  1077,
     1935    1346,  1352,  1353,   174,   111,   736,   174,  1354,   183,   257,
     1936     652,   239,   242,  1356,  1362,   652,  1363,   840,   184,    46,
     1937      46,  1441,   159,    53,  1364,   534,  1365,  1372,  1376,   611,
     1938    1373,   213,  1383,   652,  1384,   652,  1312,  1203,    67,   652,
     1939    1395,  1392,   652,  1393,    46,  1402,   371,  1533,   240,  1405,
     1940     652,   327,   174,  1412,   652,  1413,  1541,  -403,  1416,   257,
     1941     348,  1427,  1077,  1435,  1505,    74,  1505,  1077,   478,  1431,
     1942     104,  1433,    74,   338,  1436,  1443,  1437,  1367,  1448,  1452,
     1943     935,  1453,  1454,   213,  1455,  1077,  1457,  1077,  1467,  1469,
     1944     404,  1077,  1475,   104,  1077,  1299,  1300,  1123,  1302,  1462,
     1945     104,  1505,  1077,  1505,  1306,   422,  1077,  1309,   427,   429,
     1946    1471,  1152,  1473,   158,  1477,   174,   703,  1479,  1480,  1485,
     1947    1486,  1487,  1498,   728,   703,    74,   213,  1508,  1512,  1510,
     1948     165,  1524,   170,   728,   446,   176,   177,   178,   449,   180,
     1949     450,  1516,   611,  1517,  1539,  1544,  1540,  1551,   728,   465,
     1950    1553,  1555,  1561,   104,   231,    63,  1568,   326,  1569,  1079,
     1951     479,  1050,  1221,   806,  1321,   807,   246,   247,  1100,   174,
     1952     486,   808,   463,  1519,   211,   810,   174,  1430,   429,   809,
     1953     122,   125,   126,  1571,   230,  1386,  1254,   213,  1403,  1501,
     1954    1123,     8,     9,    10,    11,    12,     8,     9,    10,    11,
     1955      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     1956      22,    23,    24,  -294,  1227,    25,    26,    27,   693,    30,
     1957     694,  1107,   941,   722,    30,   213,   211,  1056,   478,   213,
     1958    1108,  1140,   825,  1118,   899,   478,   935,   964,  1331,   741,
     1959     972,   815,     0,     0,   816,   174,   257,    33,   817,   602,
     1960       0,   252,    33,   253,  1391,   630,     0,     0,     0,    37,
     1961      38,     0,   174,  -294,     0,     0,   174,  1424,   635,   211,
     1962       0,     0,   635,     0,     0,   257,     0,     8,     9,    10,
     1963      11,    12,     0,     0,     0,     0,     0,     0,   478,   776,
     1964       0,   409,     0,  1123,   935,   935,   337,     0,     0,   777,
     1965       0,     0,     0,     0,   109,    30,     0,     0,  1417,   653,
     1966       0,  1425,     0,     0,     0,  1217,   213,     0,     0,     0,
     1967       0,     0,   479,     0,     0,  1504,     0,  1504,     0,   174,
     1968     211,     0,     0,    33,   394,     0,     0,   348,     0,     0,
     1969       0,     0,   479,     0,   413,   414,     0,   728,   728,   418,
     1970     479,   420,   421,     0,     0,     0,  1464,     0,     0,     0,
     1971       0,  1468,  1504,     0,  1504,     0,     0,     0,   211,     0,
     1972       0,     0,   211,     0,     0,   958,   723,   609,     0,   429,
     1973       0,     0,     0,     0,     0,   959,     0,     0,   505,     0,
     1974     716,  1490,   322,     0,   737,   463,    63,   213,     0,     8,
     1975       9,    10,    11,    12,   429,   728,   728,     0,   429,     0,
     1976       0,     0,     0,     0,     0,     0,     0,     8,     9,    10,
     1977      11,    12,     0,   600,   607,     0,     0,    30,   749,    36,
     1978     753,   181,   182,    39,     0,   631,   632,   257,   348,     0,
     1979      40,    41,     0,     0,     0,    30,     0,   213,     0,     0,
     1980       0,     0,     0,     0,     0,    33,     0,     0,     0,   211,
     1981      36,     0,   181,   182,    39,     0,   697,     0,   409,     0,
     1982       0,    40,    41,    33,   698,     0,   699,  1559,    36,     0,
     1983     181,   182,    39,  1559,   818,     0,     0,     0,     0,    40,
     1984      41,     0,     0,     0,  1559,   174,     0,   608,  1559,   609,
     1985       0,     0,   635,   831,   935,   602,     0,   610,     0,     0,
     1986       0,     0,     0,     0,     0,   697,   850,   409,     0,     0,
     1987       0,   935,     0,     0,     0,   699,     0,     0,   174,     0,
     1988       0,     0,     0,     0,   602,     0,     0,     0,     0,   602,
     1989     211,     0,     0,     0,   174,   635,     0,  1329,   348,   348,
     1990     348,     0,     0,     0,     0,  1385,     0,   211,     0,   174,
     1991      36,     0,   181,   182,    39,     0,     0,   348,     0,     0,
     1992     213,    40,    41,     0,     0,     0,     0,     0,     0,   728,
     1993       0,     0,   891,     0,     0,   723,     0,   728,   728,   728,
     1994     211,     0,     0,     0,   935,   935,   479,   697,   213,   409,
     1995       0,   257,   737,   213,     0,   937,     0,   699,     0,     0,
     1996       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     1997      17,    18,    19,    20,    21,    22,    23,    24,    72,     0,
     1998      25,    26,    27,     0,     0,   728,     0,     0,   479,    30,
     1999     452,   348,     0,   944,     0,     0,     0,     0,     0,   947,
     2000     963,     0,     0,   429,     0,    75,   174,     0,     0,    72,
     2001      36,     0,   181,   182,    39,     0,     0,    33,     0,     0,
     2002       0,    40,    41,     0,    37,    38,     0,   257,   737,     0,
     2003       0,     0,     0,   991,     0,     0,    75,     0,     0,     0,
     2004       0,   213,     0,     0,   220,     0,     0,  1529,     0,   409,
     2005       0,     0,     0,     0,     0,   213,     0,  1530,   485,     0,
     2006       0,   453,     0,   211,  1502,   710,  1506,     0,     0,   109,
     2007     723,   221,     0,     0,     0,     0,     0,     0,     0,     0,
     2008     723,     0,     0,   348,     0,   635,   820,   821,  1023,   635,
     2009     831,   211,     0,     0,     0,   723,   211,     0,     0,     0,
     2010       0,  1535,     0,  1537,     0,  1034,    36,     0,   181,   182,
     2011      39,     0,     0,     0,     0,     0,   855,    40,    41,   858,
     2012     859,     0,   862,     0,   864,   865,     0,     0,     0,   866,
     2013     867,     0,   351,   543,   544,   545,   546,   547,   548,   549,
     2014     550,   551,   552,   263,     0,     0,  1566,     0,  1567,   213,
     2015       0,     0,     0,   264,   951,     0,   952,    63,     0,   353,
     2016       0,  1574,  1575,   955,   956,     0,     0,   553,   961,     0,
     2017       0,     0,   174,     0,   653,     0,   411,     0,     0,   635,
     2018     966,  1060,     0,   419,   211,   970,     0,     0,     8,     9,
     2019      10,    11,    12,     0,     0,     0,     0,     0,   211,     0,
     2020       0,     0,     0,     0,     0,     0,   447,     0,     0,     0,
     2021       0,   999,     0,   942,   943,  1115,    30,     0,   505,   945,
     2022       0,     0,     0,   429,   115,     0,     0,    72,     0,     0,
     2023       0,     0,    72,     0,     0,     0,     0,     0,     0,     0,
     2024       0,   348,     0,     0,    33,     0,     0,     0,     0,    36,
     2025       0,   181,   182,    39,    75,   411,   600,     0,     0,    75,
     2026      40,    41,     0,     0,     0,     0,   124,   124,   124,     0,
     2027       0,     0,     0,   653,     0,     0,   602,     0,     0,     0,
     2028       0,     0,     0,     0,     0,     0,  1529,     0,   409,   427,
     2029       0,     0,   211,     0,   723,   723,  1530,   348,   348,     0,
     2030       0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
     2031       0,   583,     0,  1044,  1045,  1046,  1047,  1202,  1049,   587,
     2032       0,     0,   590,     0,     0,     0,     0,   220,     0,     0,
     2033       0,     0,    30,     0,  1093,     0,     0,   124,     0,   124,
     2034       0,   213,     0,     0,     0,     0,     0,     0,  1099,     0,
     2035       0,     0,   723,   723,   221,     0,     0,     0,   635,     0,
     2036      33,     0,     0,     0,   273,    36,     0,   181,   182,    39,
     2037       0,     0,     0,  1060,     0,     0,    40,    41,     0,     0,
     2038       0,     0,     0,     0,     0,   411,     0,  1114,     0,   419,
     2039       0,     0,     0,     0,    72,     0,     0,     0,     0,     0,
     2040       0,     0,   183,     0,     0,     0,     0,     0,     0,   351,
     2041       0,     0,   184,     0,    72,     0,   737,     0,     0,     0,
     2042     124,    75,    72,     0,     0,     0,     0,  1142,   124,     0,
     2043     124,   124,     0,     0,  1150,   124,   353,   124,   124,  1154,
     2044       0,    75,     0,     0,  1158,     0,  1159,     0,   351,    75,
     2045    1161,  1162,  1163,     0,     0,  1166,     0,     0,     0,  1298,
     2046       0,     0,     0,     0,  1178,     0,   351,     0,    72,   174,
     2047       0,     0,     0,     0,   411,   353,   257,     0,     0,  1297,
     2048       0,    63,  1193,  1194,   211,     0,     0,     0,     8,     9,
     2049      10,    11,    12,   353,   723,    75,   737,     0,     0,     0,
     2050     115,     0,     0,     0,     0,     0,     0,   124,     0,  1224,
     2051     351,     0,  1226,     0,     0,     0,    30,     0,     0,     0,
     2052     213,     0,     0,     0,     0,     0,   723,     0,     0,     0,
     2053       0,     0,     0,     0,   723,   723,   723,   353,     0,     0,
     2054       0,     0,     0,     0,    33,   348,   348,     0,     0,    36,
     2055    1241,   181,   182,    39,     0,     0,  1245,  1246,     0,  1202,
     2056      40,    41,     0,     0,     0,     0,   583,   583,  1257,     0,
     2057       0,     0,     0,  1261,     0,   351,  1265,     0,  1266,     0,
     2058       0,  1268,   723,     0,     0,     0,   263,     0,     0,     0,
     2059       0,     0,     0,   115,  1276,     0,   264,     0,     0,     0,
     2060       0,     0,   353,  1232,     0,     0,     0,  1283,     0,  1285,
     2061    1286,  1287,  1288,     0,     0,     0,   213,     0,     0,     0,
     2062     351,   351,   351,     0,     0,  1295,     0,  1296,     0,     0,
     2063       0,   170,     0,     0,     0,     0,     0,     0,     0,   351,
     2064       0,     0,     0,     0,     0,   174,     0,   353,   353,   353,
     2065       0,     0,     0,     0,     0,   910,     0,   351,     0,   913,
     2066    1324,  1325,     0,   211,     0,     0,   353,     0,    72,     0,
     2067     348,     0,    77,     0,   351,     0,     0,     0,     0,     0,
     2068       0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
     2069       0,     0,   411,     0,     0,    75,   115,     0,     0,    84,
     2070       0,   353,     0,    77,     0,    54,    54,     0,     0,     0,
     2071      72,  1360,  1361,   351,     0,     0,     0,     0,     0,  1202,
     2072       0,  1371,     0,     0,     0,     0,  1202,  1320,     0,     0,
     2073      84,     0,     0,     0,     0,     0,    54,    75,   222,     0,
     2074     353,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2075     351,     0,     0,     0,     0,     0,     0,     0,     0,   211,
     2076       0,     0,     0,     0,     0,   223,     0,     0,    54,     0,
     2077       0,    54,     0,  1404,     0,     0,     0,   353,     0,  1202,
     2078       0,     0,     0,     0,     0,  1408,  1554,  1409,  1410,  1411,
     2079       0,     0,   351,     0,     0,     0,     0,     0,     0,  1415,
     2080       0,     0,   351,     0,     0,   351,     0,   583,  1426,     0,
     2081     220,     0,   351,     0,     0,     0,     0,   351,     0,   353,
     2082       0,     0,   124,   124,  1439,     0,   354,     0,     0,   353,
     2083       0,     0,   353,     0,     0,     0,     0,   221,     0,   353,
     2084       0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
     2085       0,     0,   124,   361,     0,   124,   124,     0,   124,   346,
     2086     124,   124,     0,     0,     0,   124,   124,     0,     0,     0,
     2087       0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
     2088    1488,  1489,     0,     0,     0,     0,     0,     0,     0,     0,
     2089       0,     0,     0,  1494,     0,     0,     0,     0,     0,     0,
     2090    1494,     0,     0,     0,     0,     0,    75,     0,     0,     0,
     2091       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2092     411,    77,     0,     0,    54,     0,    77,     0,     0,     0,
     2093       0,     0,     0,  1528,     0,     0,     0,  1534,     0,     0,
     2094       0,     0,     0,     0,   124,     0,     0,     0,    84,   124,
     2095     124,     0,     0,    84,    54,   124,     0,     0,     0,     0,
     2096       0,     0,     0,   351,     0,     0,  1556,     0,  1557,     0,
     2097       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2098      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2099     353,    25,    26,    27,     0,     0,  1572,  1573,     0,  1156,
     2100      30,   452,     0,     0,  1576,  1577,     0,     0,     0,     0,
     2101       0,     0,     0,     0,     0,  1168,   351,   351,     0,   351,
     2102     351,   222,     0,     0,     0,     0,     0,     0,    33,     0,
     2103       0,     0,     0,     0,     0,    37,    38,     0,     0,    72,
     2104       0,     0,     0,   353,   353,     0,   353,   353,   223,     8,
     2105       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2106      19,    20,    21,    22,    23,    24,    75,     0,    25,    26,
     2107      27,     0,   453,     0,   351,   351,   946,    30,     0,     0,
     2108     109,     0,     0,     0,     0,     0,     0,     0,    77,     0,
     2109       0,     0,  1236,     0,     0,     0,     0,     0,     0,     0,
     2110       0,   353,   353,   354,     0,    33,     0,     0,    77,     0,
     2111      36,     0,    37,    38,    39,    84,    77,     0,     0,     0,
     2112       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
     2113     361,     0,     0,     0,     0,    84,   346,     0,   351,     0,
     2114       0,     0,   354,    84,     0,     0,     0,    42,     0,   155,
     2115       0,     0,     0,     0,     0,     0,     0,    44,     0,     0,
     2116     354,     0,    77,     0,     0,   353,     0,     0,     0,   361,
     2117       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2118       0,   220,     0,     0,     0,     0,     0,   361,     0,    84,
     2119       0,     0,     0,     0,     0,    54,     0,     0,     0,     0,
     2120       0,     0,     0,    72,   354,     0,     0,     0,   221,     0,
     2121       0,     0,     0,     0,     0,     0,   351,     0,   351,     0,
     2122       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2123      75,   361,     0,     0,     0,     0,     0,   346,     0,     0,
     2124       0,     0,     0,   353,     0,   353,     0,     0,   351,     0,
     2125       0,     0,     0,     0,     0,     0,   351,   351,   351,     0,
     2126       0,     0,     0,     0,     0,     0,     0,   351,   351,   354,
     2127       0,     0,     0,     0,     0,   353,     0,     0,     0,     0,
     2128       0,    72,     0,   353,   353,   353,     0,     0,     0,     0,
     2129       0,     0,     0,     0,   353,   353,   361,     0,     0,     0,
     2130       0,     0,   346,     0,   351,     0,     0,     0,    75,     0,
     2131       0,     0,     0,     0,   354,   354,   354,     0,     0,     0,
     2132       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2133       0,   353,     0,   354,     0,     0,     0,     0,     0,   124,
     2134       0,   361,   361,   361,     0,     0,     0,   346,   346,   346,
     2135       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2136     361,     0,    77,     0,     0,     0,   346,     0,   354,     0,
     2137       0,     0,     0,     0,     0,     0,     0,     0,   361,  1033,
     2138       0,     0,     8,     9,    10,    11,    12,     0,     0,    84,
     2139       0,     0,   351,     0,     0,   361,     0,     0,     0,     0,
     2140       0,     0,     0,     0,    77,     0,     0,   354,   280,   281,
     2141      30,   282,     0,     0,     0,     0,     0,     0,     0,   353,
     2142       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2143       0,    84,     0,     0,   361,     0,     0,   283,    33,     0,
     2144     346,    72,     0,   284,   354,     0,     0,   285,    72,     0,
     2145     286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
     2146       0,     0,     0,   124,     0,   292,     0,     0,    75,     0,
     2147       0,   361,     0,     0,     0,    75,     0,     0,     0,     0,
     2148     293,     0,   377,     0,     0,     0,   354,     0,     0,   295,
     2149     826,   297,   298,   299,   300,     0,   354,     0,     0,   354,
     2150       0,    72,     0,     0,   222,     0,   354,     0,     0,     0,
     2151       0,   354,     0,   361,     0,     0,     0,     0,     0,     0,
     2152       0,     0,     0,   361,     0,     0,   361,     0,    75,     0,
     2153       0,   223,   346,   361,     0,     0,     0,     0,   361,   346,
     2154       0,     0,     0,     0,     0,  -516,     0,     0,     1,     2,
     2155       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2156      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2157      23,    24,     0,    77,    25,    26,    27,    28,     0,     0,
     2158      29,     0,     0,    30,    31,     0,     0,     0,     0,     8,
     2159       9,    10,    11,    12,     0,     8,     9,    10,    11,    12,
     2160      84,     0,     0,     0,     0,     0,    54,     0,    32,     0,
     2161       0,    33,   163,    34,     0,    35,    36,    30,    37,    38,
     2162      39,     0,     0,    30,     0,     0,     0,    40,    41,     0,
     2163       0,   216,     0,     0,     0,     0,     0,     0,     0,     0,
     2164       0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
     2165      36,    33,     0,    42,    39,    43,    36,   354,     0,     0,
     2166      39,    40,    41,    44,     0,     0,     0,    40,    41,     0,
     2167       0,     0,     0,    54,     0,     0,     0,   163,     0,     0,
     2168       0,     0,     0,   270,   361,     0,     0,    42,     0,     0,
     2169     346,     0,     0,   743,     0,     0,     0,   145,     0,     0,
     2170       0,     0,     0,   744,     0,     0,     0,     0,     0,     0,
     2171     354,   354,   163,   354,   354,     0,     0,     0,     0,     0,
     2172       0,     0,   367,     0,     0,     0,   373,     0,     0,     0,
     2173       0,     0,     0,    77,     0,     0,     0,   361,   361,     0,
     2174     361,   361,     0,     0,     0,     0,   346,   346,     0,     0,
     2175       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2176      84,     0,     0,     0,     0,     0,    54,     0,   354,   354,
     2177       0,     0,     0,     0,     0,   163,     0,     0,     0,     0,
     2178       0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
     2179       0,     0,     0,     0,     0,   361,   361,     0,     0,     0,
     2180       0,   280,   281,     0,   282,   163,   460,     8,     9,    10,
     2181      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2182      21,    22,    23,    24,     0,     0,    25,    26,    27,   373,
     2183     283,     0,   354,     0,     0,    30,   284,   163,     0,     0,
     2184     285,     0,     0,   286,   287,   288,   289,    40,    41,     0,
     2185     290,   291,     0,     0,     0,     0,     0,     0,   292,   361,
     2186       0,   460,     0,    33,   163,     0,     0,     0,     0,     0,
     2187     205,    38,     0,   512,     0,   222,     0,     0,     0,     0,
     2188       0,     0,   295,   379,   297,   298,   299,   300,     0,     0,
     2189       0,     0,     0,     0,     0,     0,     0,    77,     0,     0,
     2190       0,     0,   223,     0,     0,     0,     0,    54,    54,     0,
     2191     354,   605,   354,     0,     0,   269,   629,     0,     0,     0,
     2192       0,     0,     0,     0,    84,     0,     0,     0,     0,     0,
     2193      54,     0,     0,     0,     0,     0,     0,   361,     0,   361,
     2194       0,     0,   354,     0,     0,     0,     0,     0,     0,    54,
     2195     354,   354,   354,     0,     0,     0,     0,     0,     0,     0,
     2196       0,   354,   354,     0,     0,     0,     0,     0,     0,   361,
     2197       0,     0,     0,     0,     0,    77,     0,   361,   361,   361,
     2198       0,     0,     0,     0,     0,     0,     0,     0,   361,   361,
     2199       0,     0,   163,   163,   346,   346,     0,     0,   354,   367,
     2200       0,     0,    84,    54,     0,     0,     0,     0,    54,     0,
     2201       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2202     460,     0,     0,   460,     0,   361,     0,     0,     0,   460,
     2203       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2204       0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
     2205       0,     0,     0,     0,     0,     0,   740,     0,     0,     0,
     2206     209,     0,     0,     0,     0,     0,     0,     0,   163,     0,
     2207     229,     0,   233,     0,   235,     0,     0,     0,     0,     0,
     2208     460,   244,   460,     0,     0,   460,   354,   163,   460,     0,
     2209       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2210     367,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2211       0,     0,   209,   361,   233,   235,   244,     0,     0,   346,
     2212       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2213       0,     0,     0,     0,     0,    77,     0,   154,     0,     0,
     2214       0,     0,    77,     0,     0,    54,     0,     0,     0,     0,
     2215       0,     0,     0,   163,     0,   209,     0,     0,     0,     0,
     2216       0,     0,    84,     0,     0,   367,     0,   605,    54,    84,
     2217     836,     0,     0,     0,     0,    54,     0,     0,     0,     0,
     2218       0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
     2219       0,     0,     0,   254,     0,    77,   605,     0,     0,     0,
     2220       0,   605,     0,     0,     0,     0,     0,     0,     0,     0,
     2221     367,   367,   367,     0,     0,     0,   209,     0,   233,   235,
     2222     244,     0,    84,     0,     0,     0,     0,     0,    54,   367,
     2223       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2224      17,    18,    19,    20,    21,    22,    23,    24,  -294,   154,
     2225      25,    26,    27,     0,   209,     0,     0,     0,   209,    30,
     2226       0,     0,     0,   384,   740,     0,     0,     0,     0,     0,
     2227       0,     0,     0,     0,   503,     0,     0,     0,     0,     0,
     2228       0,     0,     0,     0,     0,   460,   416,    33,     0,     0,
     2229       0,     0,     0,     0,    37,    38,     0,     0,  -294,     0,
     2230     431,     0,     0,   367,     0,   960,     0,     0,     0,   436,
     2231       0,     0,     0,     0,     0,     0,     0,     0,     0,   444,
     2232       0,     0,     0,     0,   209,     0,     0,     0,     0,   642,
     2233       0,   337,   280,   281,     0,   282,     0,     0,     0,   109,
     2234     740,     0,     0,     0,   470,   209,     0,     0,     0,   480,
     2235     233,   235,     0,     0,     0,     0,     0,     0,   244,     0,
     2236       0,   283,   488,     0,     0,     0,     0,   284,   498,     0,
     2237     502,   285,     0,     0,   286,   287,   288,   289,    40,    41,
     2238       0,   290,   291,     0,     0,     0,     0,     0,   532,   292,
     2239       0,     0,     0,     0,     0,   367,     0,     0,     0,   629,
     2240       0,   209,   367,     0,   293,     0,   377,     0,     0,   378,
     2241       0,     0,     0,   295,   379,   297,   298,   299,   300,   209,
     2242       0,     0,     0,     0,   209,     0,   209,     0,     0,     0,
     2243       0,   592,     0,     0,     0,     0,   597,     0,     0,     0,
     2244       0,     0,     0,   209,     0,     0,   209,   209,     0,     0,
     2245       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2246       0,     0,   209,     0,   643,     0,     0,     0,   644,   645,
     2247       0,   647,     0,     0,     0,     0,   209,     0,   659,   660,
     2248       0,   661,   662,   209,   663,     0,   664,     0,     0,     0,
     2249       0,     0,     0,  1176,     0,   460,     8,     9,    10,    11,
     2250      12,     0,     0,   592,     0,     0,     0,     0,     0,     0,
     2251       0,   679,     0,     0,     0,     0,     0,     0,     0,     0,
     2252       0,     0,   280,   281,    30,   282,     0,     0,     0,     0,
     2253       0,     0,     0,     0,     0,     0,   690,   163,     0,     0,
     2254       0,     0,     0,     0,     0,     0,     0,   696,     0,     0,
     2255       0,   283,    33,   367,     0,     0,     0,   284,     0,     0,
     2256       0,   285,     0,     0,   286,   287,   288,   289,    40,    41,
     2257     732,   290,   291,     0,     0,     0,   735,     0,     0,   292,
     2258       0,   470,     0,     0,     0,     0,     0,     0,   605,     0,
     2259       0,     0,     0,     0,   293,     0,   377,     0,     0,   209,
     2260       0,     0,     0,   295,  1177,   297,   298,   299,   300,   367,
     2261     367,     0,     0,     0,     0,     0,     0,     0,   772,     0,
     2262       0,     0,     0,     0,     0,     0,     0,   209,   513,     0,
     2263     515,   518,   209,     0,   787,     0,     0,     0,   521,   522,
     2264       0,     0,     0,   515,   515,     0,     0,     0,     0,     0,
     2265       0,     0,     0,     0,     0,   515,     0,     0,     0,     0,
     2266       0,     0,     0,     0,     0,   280,   281,     0,   282,   460,
     2267       0,   814,     0,     0,     0,     0,     0,     0,     0,     0,
     2268     824,     0,     0,     0,     0,     0,     0,   827,     0,     0,
     2269       0,   515,   834,     0,   283,     0,     0,     0,     0,     0,
     2270     284,     0,     0,   849,   285,     0,     0,   286,   287,   288,
     2271     289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
     2272     209,     0,   292,     0,     0,     0,     0,   515,   740,     0,
     2273       0,     0,     0,     0,   209,     0,     0,   293,     0,   377,
     2274       0,     0,     0,     0,   889,   811,   295,   379,   297,   298,
     2275     299,   300,     0,     0,   503,     0,     0,     0,     0,     0,
     2276       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2277     216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2278     834,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2279      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2280      23,    24,  -294,     0,    25,    26,    27,     0,   740,     0,
     2281       0,     0,     0,    30,     0,   209,     0,     0,     0,     0,
     2282       0,     0,     0,     0,     0,     0,     0,     0,   209,     0,
     2283       0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
     2284       0,    33,     0,     0,     0,   967,   968,   209,    37,    38,
     2285       0,     0,  -294,     0,     0,     0,     0,   367,   367,   985,
     2286       0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
     2287       0,     0,     0,     0,     0,     0,  1000,     0,  1001,     0,
     2288       0,     0,  1005,   642,     0,   337,     0,     0,     0,     0,
     2289       0,     0,     0,   633,     0,     0,     0,     0,     0,     0,
     2290       0,     0,     0,     0,   515,   515,   515,   515,   515,   515,
     2291     515,   515,   515,   515,   515,   515,   515,   515,   515,   515,
     2292     515,   515,     0,     0,     0,     0,     0,     0,     0,     0,
     2293     280,   281,     0,   282,   209,     0,     0,     0,     0,     0,
     2294       0,     0,     0,     0,     0,     0,     0,   515,  1038,     0,
     2295       0,     0,     0,     0,     0,  1039,     0,     0,     0,   283,
     2296     209,     0,     0,     0,     0,   284,     0,     0,  1041,   285,
     2297    1042,     0,   286,   287,   288,   289,    40,    41,     0,   290,
     2298     291,     0,   367,     0,  1054,     0,     0,   292,   209,     0,
     2299       0,  1058,     0,     0,     0,     0,     0,     0,     0,     0,
     2300       0,     0,   293,  1096,   377,     0,  1097,     0,     0,   780,
     2301       0,   295,   379,   297,   298,   299,   300,     0,     0,     0,
     2302     209,     0,     0,     0,   597,     0,     0,     0,     0,     0,
     2303       0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
     2304     460,     0,   460,     0,     0,     0,   515,     0,     8,     9,
     2305      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2306      20,    21,    22,    23,    24,  -294,     0,     0,   515,     0,
     2307       0,     0,     0,     0,     0,     0,    30,   460,     0,   460,
     2308       0,   515,     8,     9,    10,    11,    12,    13,    14,    15,
     2309      16,    17,    18,    19,    20,    21,    22,    23,    24,  -294,
     2310       0,    25,    26,    27,    33,     0,     0,   163,     0,     0,
     2311      30,     0,   209,  1160,     0,  -294,     0,     0,     0,   340,
     2312     362,     0,     0,     0,     0,     0,     0,   515,     0,     0,
     2313       0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
     2314       0,     0,     0,    36,     0,   335,   336,    39,     0,  -294,
     2315       0,     0,     0,   412,    40,    41,     0,     0,     0,   515,
     2316     412,     0,     0,     0,     0,     0,     0,     0,     0,   532,
     2317       0,     0,     0,     0,   515,     0,  1225,     0,     0,     0,
     2318     642,     0,   337,     0,     0,     0,     0,     0,     0,     0,
     2319     633,   280,   281,     0,   282,     0,     0,     0,     0,   209,
     2320       0,     0,     0,     0,     0,  1238,     0,     0,     0,     0,
     2321    1240,     0,     0,     0,     0,     0,     0,     0,  1244,     0,
     2322     283,     0,     0,     0,     0,     0,   648,     0,   137,   138,
     2323     285,     0,   412,   286,   649,   288,   289,    40,    41,     0,
     2324     290,   291,     0,     0,     0,     0,     0,     0,   292,  1270,
     2325       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2326       0,  1278,     0,   293,  1279,   650,  1280,   651,   378,     0,
     2327       0,     0,   295,   379,   297,   298,   299,   300,     0,     0,
     2328    1289,  1290,     0,     0,     0,     0,     0,     0,   412,     0,
     2329       0,     0,     0,     0,     0,   209,   412,   588,     0,   412,
     2330     591,     0,  1303,     0,     0,     0,     0,     0,     0,   362,
     2331       0,     0,     0,   621,     0,     0,     0,     0,     0,     0,
     2332       0,     0,     0,     0,     0,   515,     0,     0,     0,  1326,
     2333     320,     0,   639,     0,     0,   340,     0,     0,     0,     0,
     2334     344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2335       0,     0,   380,   380,     0,     0,   515,     0,     0,     0,
     2336       0,     0,   412,     0,     0,     0,   412,     0,   515,     2,
     2337     204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2338      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2339      23,    24,     0,     0,    25,    26,    27,   362,     0,     0,
     2340       0,     0,     0,    30,     0,     0,     0,     0,     0,   515,
     2341       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2342     412,     0,     0,   320,     0,     0,  1396,     0,  1397,     0,
     2343       0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
     2344       0,  1406,     0,  1407,     0,     0,     0,     0,   484,     0,
     2345       0,   412,     0,     0,   362,     0,     0,     0,     0,     0,
     2346       0,  1414,     0,     0,     0,     0,     0,     0,     0,     0,
     2347       0,     0,     0,     0,  -399,   686,     0,  1432,  1434,     0,
     2348       0,   515,     0,   633,     0,     0,     0,     0,     0,  1440,
     2349       0,     0,  1244,     0,   412,     0,     0,   340,   362,     0,
     2350       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2351       0,     0,     0,     0,  1463,     0,     0,     0,     0,     0,
     2352       0,     0,     0,  1470,     0,   515,  1472,     0,  1474,  1476,
     2353    1478,     0,     0,     0,     0,     0,     0,     0,     0,   515,
     2354     515,     0,     0,   412,   412,     0,     0,     0,     0,     0,
     2355       0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
     2356       0,     0,   829,   362,   380,   362,     0,     0,     0,     0,
     2357    1509,     0,  1511,     0,   621,  1244,   621,   621,     0,     0,
     2358       0,     0,     0,   621,     0,     0,     0,     0,     0,     0,
     2359    1523,     0,     0,   868,   362,     0,     0,     0,     0,   362,
     2360       0,     0,     0,     0,     0,     0,     0,     0,   362,   362,
     2361     362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2362       0,     0,     0,     0,     0,     0,     0,   362,     0,     0,
     2363       0,     0,   412,   911,     0,     0,   412,   914,     0,     0,
     2364       0,     0,     0,   916,     0,     0,     0,     0,     0,     0,
     2365       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2366       0,   340,   362,   412,     0,   412,   734,     0,     0,   412,
     2367       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2368      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2369      25,    26,    27,     0,     0,     0,     0,     0,     0,    30,
     2370       0,   362,   621,     0,     0,   768,     0,     0,     0,     0,
     2371       0,     0,     0,     0,     0,     0,     0,     0,   781,     0,
     2372       0,     0,     0,     0,     0,   768,     0,    33,   768,     0,
     2373       0,     0,     0,     0,   205,    38,     0,   340,   362,   791,
     2374     792,     0,   412,   412,     0,     0,     0,     0,     0,   515,
     2375       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2376       0,   813,     0,     0,     0,     0,   515,     0,     0,     0,
     2377       0,   822,     0,     0,     0,     0,     0,     0,   344,   628,
     2378       0,     0,     0,   781,   412,     0,     0,     0,     0,     0,
     2379       0,     0,     0,   362,     0,     0,     0,     0,     0,   829,
     2380     362,     0,     0,     0,   621,     0,   621,     0,     0,     0,
     2381       0,     0,     0,     0,     0,     0,   621,     0,     0,     0,
     2382       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2383       0,     0,     0,   888,     0,     0,     0,     0,     0,   515,
     2384     515,     0,   380,     0,     0,     0,     0,     0,     0,     1,
     2385       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2386      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2387      22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
     2388       0,    29,   344,     0,    30,    31,     0,     0,     0,   829,
     2389       0,     0,     0,     0,     0,     0,     0,   412,   280,   281,
     2390       0,   282,     0,   412,     0,     0,     0,     0,     0,    32,
     2391       0,   412,    33,     0,    34,     0,    35,    36,     0,    37,
     2392      38,    39,     0,     0,   621,   621,     0,   283,    40,    41,
     2393       0,     0,     0,   284,     0,     0,     0,   285,     0,     0,
     2394     286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
     2395       0,   362,     0,     0,    42,   292,    43,   412,   781,     0,
     2396     990,     0,     0,     0,    44,     0,   995,     0,     0,     0,
     2397     293,     0,   377,  1004,     0,   992,   412,  1157,     0,   295,
     2398     379,   297,   298,   299,   300,     0,   362,     0,     0,     0,
     2399       0,     0,   412,  1169,     0,   621,   621,  1174,     0,     0,
     2400       0,     0,     0,     0,     0,     0,     0,   362,   362,     0,
     2401       0,     0,     0,     0,     0,     0,     0,  1021,  1022,     0,
     2402     344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2403       0,     0,     0,     0,     0,   344,     0,     0,     0,     0,
     2404       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,     0,     0,     0,     0,     0,   829,   412,
     2407    1237,     0,     0,     0,     0,  1052,     0,     0,     0,   380,
     2408       0,   621,     0,     0,     0,     0,     1,     2,   204,     4,
     2409       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2410      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2411       0,     0,    25,    26,    27,    28,     0,     0,    29,   280,
     2412     281,    30,  1061,  1062,     0,  1063,   362,     0,  1064,  1065,
     2413    1066,  1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,
     2414       0,     0,     0,  1073,  1074,     0,    32,     0,   283,    33,
     2415       0,    34,     0,    35,   648,   320,    37,    38,   285,     0,
     2416       0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
     2417       0,  1138,  1139,     0,     0,     0,   292,     0,   380,     0,
     2418       0,     0,   280,   281,   995,   282,   340,  1148,     0,   768,
     2419       0,   293,     0,  1075,     0,     0,   169,     0,     0,     0,
     2420     295,   296,   297,   298,   299,   300,   362,     0,     0,  1164,
     2421    1076,   283,     0,     0,  -129,     0,     0,   284,     0,     0,
     2422    1179,   285,     0,     0,   286,   287,   288,   289,    40,    41,
     2423       0,   290,   291,     0,     0,     0,     0,     0,     0,   292,
     2424       0,     0,   380,     0,  1197,     0,     0,     0,     0,     0,
     2425       0,     0,     0,     0,   293,   362,   362,     0,     0,   995,
     2426     995,     0,     0,   295,   379,   297,   298,   299,   300,     0,
     2427       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2428    1229,     0,     0,     0,     0,     0,     0,     0,     1,     2,
     2429     204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2430      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2431      23,    24,     0,     0,    25,    26,    27,    28,     0,     0,
     2432      29,   280,   281,    30,   282,     0,     0,   995,     0,     0,
     2433       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2434     280,   281,     0,   282,     0,     0,   888,     0,     0,     0,
     2435     283,    33,     0,    34,     0,    35,   284,     0,    37,    38,
     2436     285,  1281,  1282,   286,   287,   288,   289,    40,    41,   283,
     2437     290,   291,     0,     0,     0,   284,     0,     0,   292,   285,
     2438     362,     0,   286,   287,   288,   289,    40,    41,     0,   290,
     2439     291,     0,     0,   293,     0,  1075,     0,   292,     0,     0,
     2440       0,     0,   295,   296,   297,   298,   299,   300,     0,     0,
     2441       0,     0,   293,     0,   377,     0,  -129,     0,     0,     0,
     2442       0,   295,   379,   297,   298,   299,   300,     0,     0,     0,
     2443       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2444       0,     0,   995,     0,     0,     0,     1,     2,   204,     4,
     2445       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2446      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2447     412,     0,    25,    26,    27,    28,     0,     0,    29,   280,
     2448     281,    30,   282,     0,     0,     0,     0,     0,     0,     0,
     2449       0,     0,     0,     0,     0,   412,   412,     0,     0,     0,
     2450       0,     0,     0,  1389,     0,   768,     0,     0,   283,    33,
     2451       0,    34,     0,    35,   284,     0,    37,    38,   285,     0,
     2452     412,   286,   287,   288,   289,    40,    41,     0,   290,   291,
     2453       0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
     2454       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2455       0,   293,     0,    43,     0,     0,     0,     0,     0,     0,
     2456     295,   296,   297,   298,   299,   300,     0,     0,     2,   204,
     2457       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2458      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2459      24,  1449,     0,    25,    26,    27,     0,     0,     0,     0,
     2460     280,   281,    30,   282,     0,     8,     9,    10,    11,    12,
     2461      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2462      23,    24,     0,     0,    25,    26,    27,     0,     0,   283,
     2463      33,     0,    34,    30,    35,   284,     0,    37,    38,   285,
     2464       0,     0,   286,   287,   288,   289,    40,    41,     0,   290,
     2465     291,     0,     0,     0,     0,     0,     0,   292,     0,     0,
     2466       0,    33,     0,     0,     0,     0,   108,     0,    37,    38,
     2467       0,     0,   293,  1515,   342,     0,     0,    40,    41,   780,
     2468       0,   295,   343,   297,   298,   299,   300,     2,   204,     4,
     2469       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2470      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2471       0,     0,    25,    26,    27,     0,     0,     0,     0,   280,
     2472     281,    30,   282,     0,     0,   320,     0,     8,     9,    10,
     2473      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2474      21,    22,    23,    24,  -295,     0,     0,     0,   283,    33,
     2475       0,    34,     0,    35,   284,    30,    37,    38,   285,     0,
     2476       0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
     2477       0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
     2478       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
     2479       0,   293,     0,   930,  -295,     0,     0,     0,   780,     0,
     2480     295,   343,   297,   298,   299,   300,     2,   204,     4,     5,
     2481       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2482      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2483       0,    25,    26,    27,     0,     0,     0,     0,   280,   281,
     2484      30,   282,     0,     8,     9,    10,    11,    12,    13,    14,
     2485      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2486       0,     0,    25,    26,    27,     0,     0,   283,    33,     0,
     2487      34,    30,    35,   284,     0,    37,    38,   285,     0,     0,
     2488     286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
     2489       0,     0,     0,     0,     0,   292,     0,     0,     0,    33,
     2490       0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
     2491     293,     0,   930,     0,     0,     0,     0,   780,     0,   295,
     2492     599,   297,   298,   299,   300,     2,   204,     4,     5,     6,
     2493       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2494      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2495      25,    26,    27,     0,     0,     0,     0,   280,   281,    30,
     2496     282,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2497      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2498       0,    25,    26,    27,     0,     0,   283,    33,     0,    34,
     2499      30,    35,   284,     0,    37,    38,   285,     0,     0,   286,
     2500     287,   288,   289,    40,    41,     0,   290,   291,     0,     0,
     2501       0,     0,     0,     0,   292,     0,     0,     0,    33,     0,
     2502       0,     0,     0,     0,     0,   205,    38,     0,     0,   293,
     2503       0,   342,     0,     0,     0,     0,     0,     0,   295,   343,
     2504     297,   298,   299,   300,     2,   204,     4,     5,     6,     7,
    20232505       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2024       18,    19,    20,    21,    22,    23,    24,    25,   506,     0,
    2025       26,    27,    28,     0,    64,   323,     0,     0,     0,    31,
    2026        0,     0,     0,     0,   352,     0,     0,  1045,  1046,  1047,
    2027     1048,     0,  1050,     0,     0,     0,   636,     0,     8,     9,
    2028       10,    11,    12,     0,     0,     0,    76,    34,  1094,     0,
    2029        0,     0,    37,     0,    38,    39,    40,     0,     0,     0,
    2030        0,     0,  1100,    41,    42,     0,     0,    31,     0,   352,
    2031      352,   352,  1116,     0,     0,     0,     0,     0,    76,     0,
    2032      430,   116,   212,     0,     0,     0,     0,     0,   352,    43,
    2033        0,   156,   125,   125,     0,    34,     0,     0,   349,    45,
    2034       37,  1115,     0,     0,    40,     0,   352,  1218,     0,     0,
    2035        0,    41,    42,   222,     0,     0,     0,    73,     0,     0,
    2036        0,     0,   125,   352,     0,   125,   125,     0,   125,     0,
    2037      125,   125,     0,   603,     0,   125,   125,    43,     0,     0,
    2038        0,  1143,     0,     0,     0,     0,   428,   146,  1151,     0,
    2039        0,   724,   724,  1155,   349,   349,     0,     0,  1159,    73,
    2040     1160,     0,   352,     0,  1162,  1163,  1164,     0,     0,  1167,
    2041        0,     0,     0,     0,  1203,     0,     0,     0,  1179,     0,
    2042        0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
    2043        0,     0,     0,     0,     0,     0,  1194,  1195,     0,   352,
    2044        0,   354,     0,     0,     0,    78,     0,     0,     0,   724,
    2045      724,    31,     0,     0,   125,   636,     0,     0,     0,   125,
    2046      125,     0,     0,  1225,     0,   125,  1227,     0,     0,     0,
    2047        0,     0,   175,     0,     0,     0,     0,    78,     0,    34,
    2048        0,   352,     0,     0,    37,     0,     0,     0,    40,     0,
    2049        0,   352,     0,     0,   352,    41,    42,     0,     0,   221,
    2050        0,   352,     0,     0,  1242,     0,   352,     0,     0,     0,
    2051     1246,  1247,   223,   738,   212,     0,     0,     0,     0,     0,
    2052        0,   744,  1258,     0,     0,     0,     0,  1262,     0,     0,
    2053     1266,   745,  1267,     0,     0,  1269,    76,     0,     0,     0,
    2054        0,    76,   412,     0,     0,     0,     0,     0,  1277,   420,
    2055        0,     0,     0,     0,     0,     0,  1299,     0,     0,     0,
    2056        0,  1284,    85,  1286,  1287,  1288,  1289,     0,    73,     0,
    2057        0,     0,     0,   258,     0,     0,     0,     0,    64,  1296,
    2058        0,  1297,     0,     0,     0,   171,     0,  1386,     0,     0,
    2059        0,   724,     0,   738,    85,    55,    55,   116,     0,     0,
    2060      355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2061        0,     0,     0,     0,  1325,  1326,     0,     0,     0,     0,
    2062        0,   412,     0,   724,     0,     0,     0,    55,     0,   224,
    2063        0,   724,   724,   724,     0,     0,   222,     0,     0,     0,
    2064        0,     0,   349,   349,     0,     0,     0,     0,   175,     0,
    2065        0,     0,   352,     0,     0,     0,  1203,     0,     0,    55,
    2066        0,     0,    55,     0,     0,  1361,  1362,     0,     0,     0,
    2067        0,     0,     0,     0,     0,  1372,     0,   584,     0,   724,
    2068        0,     0,     0,     0,     0,   588,     0,     0,   591,     0,
    2069      116,     0,     0,   212,     0,    78,     0,     0,     0,     0,
    2070       78,     0,     0,    76,     0,   352,   352,     0,   352,   352,
    2071        0,     0,     0,     0,     0,     0,     0,   362,   354,     0,
    2072        0,     0,     0,    76,     0,     0,     0,  1405,    73,     0,
    2073        0,    76,     0,     0,     0,     0,     0,     0,     0,  1409,
    2074        0,  1410,  1411,  1412,     0,     0,  1503,     0,  1507,     0,
    2075      347,   412,     0,  1416,     0,   420,     0,   354,     0,     0,
    2076        0,     0,  1427,   352,   352,     0,     0,   349,     0,     0,
    2077        0,     0,     0,     0,     0,   354,     0,    76,  1440,     0,
    2078        0,     0,     0,  1536,     0,  1538,     0,     0,     0,   212,
    2079        0,     0,     0,   116,     0,   223,     0,     0,     0,     0,
     2506      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2507      26,    27,     0,     0,     0,     0,   280,   281,    30,   282,
     2508       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2509      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2510       0,     0,     0,     0,     0,   283,    33,     0,    34,    30,
     2511      35,   284,     0,    37,    38,   285,     0,     0,   286,   287,
     2512     288,   289,    40,    41,     0,   290,   291,     0,     0,     0,
     2513       0,     0,     0,   292,     0,     0,     0,    33,     0,     0,
     2514       0,     0,     0,     0,     0,     0,     0,     0,   293,     0,
     2515     930,     0,     0,     0,     0,     0,     0,   295,   343,   297,
     2516     298,   299,   300,     2,   204,     4,     5,     6,     7,     8,
     2517       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2518      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2519      27,     0,     0,     0,     0,   280,   281,    30,   282,     0,
    20802520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2081        0,     0,    85,     0,     0,    55,  1203,    85,     0,   354,
    2082        0,     0,     0,  1203,     0,     0,     0,   352,  1567,     0,
    2083     1568,     0,     0,     0,  1489,  1490,     0,     0,     0,     0,
    2084      412,     0,     0,  1575,  1576,    55,     0,  1495,     0,   125,
    2085        0,     0,     0,     0,  1495,     0,     0,     0,     0,     0,
    2086        0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
    2087      221,     0,     0,     0,     0,     0,  1203,   355,     0,     0,
    2088        0,     0,    78,  1555,   354,     0,     0,  1529,     0,     0,
    2089       78,  1535,    73,     0,     0,     0,     0,     0,     0,     0,
    2090        0,     0,     0,     0,     0,   352,     0,   352,     0,     0,
    2091        0,     0,   224,     0,     0,     0,   355,     0,     0,     0,
    2092     1557,     0,  1558,     0,     0,     0,     0,     0,     0,   354,
    2093      354,   354,   584,   584,   355,     0,    78,   352,     0,     0,
    2094        0,     0,     0,     0,     0,   352,   352,   352,   354,     0,
    2095     1573,  1574,     0,     0,     0,     0,   352,   352,  1577,  1578,
    2096        0,     0,     0,     0,     0,     0,   354,     0,     0,     0,
    2097       73,     0,     0,   125,     0,     0,     0,    76,   355,    85,
    2098        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2099        0,     0,     0,   352,   362,     0,     0,     0,     0,    85,
    2100        0,     0,     0,     0,     0,     0,     0,    85,     0,     0,
    2101        0,     0,     0,     0,     0,     0,     0,     0,     0,    76,
    2102        0,   911,   354,     0,     0,   914,     0,   347,     0,     0,
    2103        0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
    2104        0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
    2105        0,   362,     0,    85,     0,     0,     0,     0,   412,   354,
     2521       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2522       0,     0,     0,     0,   283,    33,     0,    34,     0,    35,
     2523     284,     0,   205,    38,   285,     0,     0,   286,   287,   288,
     2524     289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
     2525       0,     0,   292,     0,     0,     0,     0,     0,     0,     0,
     2526       0,     0,     0,     0,     0,     0,     0,   293,     0,  1019,
     2527       0,     0,     0,     0,     0,     0,   295,  1020,   297,   298,
     2528     299,   300,     2,   204,     4,     5,     6,     7,     8,     9,
     2529      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2530      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2531       0,     0,     0,     0,   280,   281,    30,   282,     0,     0,
     2532       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2533       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2534       0,     0,     0,   283,    33,     0,    34,     0,    35,   284,
     2535       0,   205,    38,   285,     0,     0,   286,   287,   288,   289,
     2536      40,    41,     0,   290,   291,     0,     0,     0,     0,     0,
     2537       0,   292,     0,     0,     0,     0,     0,     0,     0,     0,
     2538       0,     0,     0,     0,     0,     0,   293,     0,   377,     0,
     2539       0,     0,     0,     0,     0,   295,   379,   297,   298,   299,
     2540     300,     1,     2,     3,     4,     5,     6,     7,     8,     9,
     2541      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2542      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2543      28,     0,     0,    29,     0,     0,    30,    31,     0,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2546       0,    32,     0,     0,    33,     0,    34,     0,    35,    36,
     2547       0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
     2548      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2550       0,     0,     0,     0,     0,     0,    42,     0,    43,     0,
     2551       0,     0,  -520,     0,     0,     0,    44,   203,     2,   204,
     2552       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2553      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2554      24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
     2555       0,     0,    30,     8,     9,    10,    11,    12,    13,    14,
     2556      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2557       0,     0,    25,    26,    27,   491,   492,   493,     0,     0,
     2558      33,    30,    34,     0,    35,    36,     0,   205,    38,    39,
     2559       0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2561       0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
     2562       0,     0,    42,     0,   206,     0,     0,     0,     0,     0,
     2563       0,     0,   207,     1,     2,   204,     4,     5,     6,     7,
     2564       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2565      18,    19,    20,    21,    22,    23,    24,  -294,     0,    25,
     2566      26,    27,    28,     0,     0,    29,     0,     0,    30,     0,
     2567       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2569       0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
     2570      35,     0,     0,    37,    38,     0,     0,  -294,     0,     1,
     2571       2,   204,     4,     5,     6,     7,     8,     9,    10,    11,
     2572      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2573      22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
     2574      43,    29,     0,     0,    30,     0,     0,     0,   109,     0,
     2575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2576       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2577       0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
     2578      38,     0,   203,     2,   204,     4,     5,     6,     7,     8,
     2579       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2580      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2581      27,     0,     0,     0,     0,     0,    43,    30,     0,     0,
     2582       0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
     2583       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2584       0,     0,     0,     0,     0,    33,     0,    34,     0,    35,
     2585       0,     0,   205,    38,     2,   204,     4,     5,     6,     7,
     2586       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2587      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2588      26,    27,     0,     0,     0,     0,     0,     0,    30,   206,
     2589       0,     0,     0,     0,     0,     0,     0,   269,     0,     0,
     2590       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2591       0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
     2592      35,    36,     0,   205,    38,    39,     0,     0,     0,     0,
     2593       0,     0,    40,    41,     0,     0,     8,     9,    10,    11,
     2594      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2595      22,    23,    24,     0,     0,    25,    26,    27,    42,     0,
     2596     206,     0,     0,     0,    30,     0,     0,     0,   207,     2,
     2597     204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2598      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2599      23,    24,    33,     0,    25,    26,    27,    36,     0,    37,
     2600      38,    39,     0,    30,     0,     0,     0,     0,    40,    41,
     2601       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2602       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2603       0,    33,     0,    34,    42,    35,    43,     0,    37,    38,
     2604       0,     0,     0,     0,    44,     0,     0,     0,     0,     0,
     2605       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2606    1368,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,   686,     0,     0,     0,     0,
     2608       0,     0,     0,   633,     2,   204,     4,     5,     6,     7,
     2609       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2610      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2611      26,    27,     0,     0,     0,     0,     0,     0,    30,     0,
    21062612       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    21072613      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2108       25,   352,     0,     0,     0,     0,    55,     0,   355,   355,
    2109      355,     0,    31,     0,     0,   362,     0,     0,     0,     0,
    2110        0,   354,     0,     0,     0,     0,     0,   355,     0,     0,
    2111        0,   354,     0,     0,   354,     0,     0,     0,     0,   222,
    2112       34,   354,     0,     0,     0,   355,   354,     0,   347,     0,
    2113       73,     0,     0,     0,     0,     0,    78,    73,     0,     0,
    2114        0,     0,   355,     0,     0,     0,     0,     0,     0,     0,
     2614       0,     0,    25,    26,    27,     0,    33,     0,    34,     0,
     2615      35,    30,     0,    37,    38,     0,     0,     0,     0,     0,
    21152616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2116      362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2117        0,     0,     0,   584,     0,     0,     0,     0,    78,     0,
    2118        0,   355,     0,     0,     0,   123,   126,   127,    76,     0,
    2119       73,     0,     0,   347,     0,     0,     0,     0,     0,     0,
    2120        0,     0,     0,     0,     0,   362,   362,   362,     0,     0,
    2121        0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    2122        0,     0,     0,     0,   362,     0,     0,     0,     0,     0,
    2123        0,     0,     0,     0,     0,     0,     0,     0,   347,   347,
    2124      347,     0,   362,     0,     0,     0,     0,     0,     0,     0,
    2125        0,     0,     0,    85,     0,     0,   253,   347,   254,   362,
    2126      355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2127      355,     0,   354,   355,     0,     0,     0,     0,   223,     0,
    2128      355,     0,     0,     0,     0,   355,   412,     0,     0,     0,
    2129        0,     0,     0,     0,     0,    85,     0,     0,   362,     2,
    2130      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2617       0,     0,     0,     0,     0,  1370,     0,     0,     0,    33,
     2618       0,     0,     0,     0,    36,     0,   335,   336,    39,     0,
     2619     686,     0,     0,     0,     0,    40,    41,     0,   633,     2,
     2620     204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    21312621      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2132       23,    24,    25,     0,     0,   354,   354,     0,   354,   354,
    2133        0,   347,     0,     0,    31,   362,     0,     0,     0,   395,
    2134        0,     0,     0,     0,     0,     0,     0,    78,    76,   414,
    2135      415,     0,     0,     0,   419,     0,   421,   422,     0,     0,
    2136        0,     0,    34,     0,    35,  1157,    36,    37,     0,   173,
    2137      174,    40,     0,     0,     0,     0,     0,   362,    41,    42,
    2138        0,  1169,     0,   354,   354,     0,     0,   362,     0,     0,
    2139      362,     0,     0,     0,     0,   224,     0,   362,     0,     0,
    2140        0,     0,   362,     0,     8,     9,    10,    11,    12,    13,
    2141       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2142       24,    25,  -294,   347,    26,    27,    28,     0,     0,     0,
    2143      347,   355,     0,    31,     0,     0,     0,     0,     0,     0,
    2144        0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
    2145        0,     0,     0,     0,     0,     0,     0,     0,  1237,     0,
    2146        0,    34,     0,     0,    85,     0,    37,     0,   336,   337,
    2147       40,     0,  -294,     0,     0,     0,     0,    41,    42,     0,
    2148        0,     0,     0,     0,   355,   355,     0,   355,   355,     0,
    2149      222,     0,     0,     0,     0,     0,     0,    55,     0,     0,
    2150        0,     0,     0,   643,     0,   338,     0,    78,     0,     0,
    2151        0,     0,    76,   634,     0,   164,     0,     0,     0,     0,
    2152        0,     0,     0,     0,     0,   354,     0,   354,     0,     0,
    2153        0,     0,     0,     0,   217,     0,     0,     0,     0,     0,
    2154        0,     0,   355,   355,     0,     0,     0,     0,   362,     0,
    2155      281,   282,     0,   283,     0,     0,     0,   354,     0,     0,
    2156        0,     0,     0,     0,    55,   354,   354,   354,     0,     0,
    2157        0,     0,     0,     0,     0,     0,   354,   354,     0,   284,
    2158      164,   347,     0,     0,     0,   285,   271,     0,     0,   286,
    2159       76,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2160      292,   362,   362,     0,   362,   362,   355,   293,     0,     0,
    2161        0,     0,     0,   354,     0,   164,     0,     0,     0,     0,
    2162        0,     0,   513,     0,    85,   368,     0,     0,     0,   374,
    2163        0,   296,   380,   298,   299,   300,   301,   347,   347,     0,
    2164        0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
    2165        0,     0,     0,     0,     0,     0,     0,    55,     0,   362,
    2166      362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2167        0,    78,     0,     0,     0,     0,     0,     0,   164,     0,
    2168        0,     0,     0,     0,   355,     0,   355,     0,     0,     0,
    2169      217,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2170        0,   354,     0,     0,     0,     0,     0,     0,   164,   461,
    2171        0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
    2172        0,     0,     0,   362,   355,   355,   355,     0,     0,     0,
    2173        0,     0,   374,     0,     0,   355,   355,     0,     0,     0,
    2174      164,   821,   822,     0,     0,     0,     0,     0,     0,    78,
    2175       76,     0,     0,     0,     0,     0,     0,    76,     0,     0,
    2176        0,     0,     0,     0,   461,     0,   224,   164,     0,     0,
    2177        0,   856,   355,     0,   859,   860,     0,   863,     0,   865,
    2178      866,     0,     0,     0,   867,   868,     0,     0,    85,     0,
    2179        0,     0,     0,     0,     0,     0,     0,     0,    55,    55,
    2180        0,   362,     0,   362,     0,     0,     0,     0,     0,     0,
    2181       76,     0,     0,     0,   606,     0,     0,     0,     0,   630,
    2182        0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
    2183        0,     0,     0,   362,     0,     0,   210,     0,     0,     0,
    2184       55,   362,   362,   362,     0,     0,   230,     0,   234,     0,
    2185      236,     0,   362,   362,     0,     0,     0,   245,     0,     0,
    2186      355,     0,     0,     0,     0,     0,    85,     0,   943,   944,
    2187        0,     0,     0,     0,   946,     0,     0,     0,     0,     0,
    2188        0,     0,     0,     0,     0,   347,   347,     0,   210,   362,
    2189      234,   236,   245,     0,    55,   164,   164,     0,     0,    55,
    2190        0,     0,   368,     0,     0,     0,     0,     0,     0,    78,
    2191        0,     0,     0,     0,     0,     0,    78,     0,     0,     0,
    2192        0,     0,     0,   461,     0,     0,   461,     0,     0,     0,
    2193        0,   210,   461,    55,   474,     2,   205,     4,     5,     6,
    2194        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2195       17,    18,    19,    20,    21,    22,    23,    24,    25,   741,
    2196        0,    26,    27,    28,     0,     0,     0,     0,     0,    78,
    2197       31,   164,     0,     0,     0,     0,     0,   362,     0,     0,
    2198        0,     0,   155,   461,     0,   461,     0,     0,   461,     0,
    2199      164,   461,   210,     0,   234,   236,   245,     0,    34,     0,
    2200       35,     0,    36,   368,     0,    38,    39,     0,     0,     0,
    2201      347,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2202        0,     0,     0,     0,     0,     0,    85,     0,   250,     0,
    2203      210,     0,     0,    85,   210,     0,    55,     0,   255,     0,
    2204        0,     0,     0,     0,     0,    -3,     0,     0,     0,     0,
    2205      504,     0,     0,     0,     0,     0,   164,     0,     0,    55,
    2206        0,     0,     0,     0,     0,     0,    55,     0,   368,     0,
    2207      606,     0,     0,   837,     0,     0,     0,     0,     0,     0,
    2208        0,     0,     0,     0,     0,     0,    85,     0,     0,     0,
    2209        0,     0,     0,     0,   155,     0,     0,     0,     0,   606,
    2210      210,     0,     0,     0,   606,     0,     0,     0,   385,     0,
    2211        0,     0,     0,   368,   368,   368,     0,     0,     0,    55,
    2212        0,   210,     0,     0,     0,     0,   234,   236,     0,     0,
    2213        0,   417,   368,     0,   245,     0,     0,     0,     0,     0,
    2214        0,     0,     0,     0,     0,   432,     0,     0,     0,     0,
    2215        0,     0,  1034,     0,   437,     8,     9,    10,    11,    12,
    2216        0,     0,     0,     0,   445,     0,     0,   741,     0,     0,
    2217        0,     0,     0,     0,     0,     0,     0,   210,     0,     0,
    2218        0,     0,   281,   282,    31,   283,     0,     0,   461,   471,
    2219        0,     0,     0,     0,   481,   210,     0,     0,     0,     0,
    2220      210,     0,   210,     0,     0,     0,   368,   489,   961,     0,
    2221        0,   284,    34,   499,     0,   503,     0,   285,     0,   210,
    2222        0,   286,   210,   210,   287,   288,   289,   290,    41,    42,
    2223        0,   291,   292,   533,     0,     0,     0,     0,   210,   293,
    2224        0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
    2225        0,     0,   210,     0,   294,     0,   378,     0,  1233,   210,
    2226        0,     0,     0,   296,   827,   298,   299,   300,   301,     0,
    2227        0,     0,     0,     0,     0,     0,   593,     0,     0,     0,
    2228        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
    2229        0,     0,     0,     0,     0,     0,     0,     0,   368,     0,
    2230        0,     0,   630,     0,     0,   368,     0,     0,     0,   644,
    2231        0,     0,     0,   645,   646,     0,   648,     0,     0,     0,
    2232        0,     0,     0,   660,   661,     0,   662,   663,     0,   664,
    2233        0,   665,     0,     0,     0,     0,     0,  1177,     0,     0,
    2234        8,     9,    10,    11,    12,     0,     0,     0,   593,     0,
    2235        0,     0,     0,     0,     0,     0,   680,     0,     0,     0,
    2236        0,     0,     0,     0,     0,     0,     0,   281,   282,    31,
    2237      283,     0,     0,     0,     0,   210,     0,     0,     0,     0,
    2238        0,   691,  1321,     0,     0,     0,     0,     0,     0,     0,
    2239        0,     0,   697,     0,     0,     0,   284,    34,   461,     0,
    2240        0,     0,   285,   210,     0,     0,   286,     0,   210,   287,
    2241      288,   289,   290,    41,    42,   733,   291,   292,     0,     0,
    2242        0,   736,     0,     0,   293,     0,   471,     0,     0,     0,
    2243        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2244      164,   378,     0,     0,     0,     0,     0,     0,   296,  1178,
    2245      298,   299,   300,   301,     0,     0,   368,     0,     0,     0,
    2246        0,     0,     0,   773,     0,     0,     0,     0,     0,     0,
    2247        0,     0,     0,     0,     0,     0,     0,     0,     0,   788,
    2248        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2249        0,   606,     0,     0,     0,     0,   210,     0,     0,     0,
    2250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2251      210,     0,   368,   368,     0,     0,   815,     0,     0,     0,
    2252        0,     0,     0,     0,     0,   825,     0,     0,     0,     0,
    2253      504,     0,   828,     0,     0,   281,   282,   835,   283,     0,
    2254        0,     0,     0,     0,     0,     0,     0,     0,   850,     0,
    2255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2256        0,     0,     0,     0,   284,     0,     0,     0,     0,     0,
    2257      285,     0,   461,     0,   286,     0,     0,   287,   288,   289,
    2258      290,    41,    42,     0,   291,   292,     0,     0,     0,   890,
    2259        0,   210,   293,     0,     0,     0,     0,     0,     0,     0,
    2260        0,     0,     0,     0,   210,     0,     0,   294,     0,   378,
    2261        0,     0,   379,     0,     0,     0,   296,   380,   298,   299,
    2262      300,   301,     0,   210,     0,   835,     0,     0,     0,     0,
    2263        0,   741,     0,     0,     1,     2,     3,     4,     5,     6,
    2264        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2265       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2266        0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    2267       31,    32,     0,   217,     0,     0,     0,     0,     0,     0,
    2268      250,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2269      968,   969,     0,     0,     0,    33,     0,     0,    34,     0,
    2270       35,     0,    36,    37,   986,    38,    39,    40,     0,     0,
    2271      210,   741,   341,   363,    41,    42,     0,     0,     0,     0,
    2272        0,  1001,     0,  1002,     0,     0,     0,  1006,     0,     0,
    2273        0,     0,     0,     0,     0,     0,   210,     0,     0,     0,
    2274       43,     0,    44,     0,     0,     0,   413,     0,     0,     0,
    2275       45,     0,     0,   413,     0,     0,     0,     0,     0,     0,
    2276      368,   368,     0,     0,   210,     0,     0,     0,     0,   217,
    2277        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2278       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2279       26,    27,    28,  1039,     0,     0,   210,     0,     0,    31,
    2280     1040,     0,     0,     0,     0,     0,     0,   210,     0,     0,
    2281        0,     0,     0,  1042,     0,  1043,     0,     0,     0,     0,
    2282        0,     0,     0,     0,     0,   413,     0,    34,     0,  1055,
    2283        0,     0,   109,     0,    38,    39,  1059,     0,     0,     0,
    2284        0,     0,     0,    41,    42,     0,     0,     0,  1097,     0,
    2285        0,  1098,     0,     0,     0,     0,     0,     0,     0,     0,
    2286        0,     0,     0,     0,     0,     0,     0,     0,     0,   598,
    2287        0,    44,     0,     0,     0,     0,     0,     0,     0,   110,
    2288        0,   413,     0,     0,     0,   368,     0,     0,   210,   413,
    2289      589,     0,   413,   592,     0,     0,     0,     0,     0,     0,
    2290        0,     0,   363,     0,     0,     0,   622,     0,     0,     0,
    2291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,   640,     0,     0,   341,     0,
    2293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2294        0,     0,     0,   461,     0,   461,     0,     0,     0,     0,
    2295      281,   282,     0,   283,     0,   413,     0,     0,  1161,   413,
    2296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2297        0,     0,     0,     0,     0,   210,     0,     0,     0,   284,
    2298      461,   321,   461,     0,     0,   649,     0,   138,   139,   286,
    2299      363,   345,   287,   650,   289,   290,    41,    42,     0,   291,
    2300      292,     0,     0,   381,   381,     0,     0,   293,     0,     0,
    2301      164,     0,     0,   413,   533,     0,     0,     0,     0,     0,
    2302        0,  1226,   294,     0,   651,     0,   652,   379,     0,     0,
    2303        0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
    2304        0,     0,     0,     0,   413,     0,     0,   363,     0,     0,
    2305     1239,     0,     0,     0,     0,  1241,     0,     0,     0,     0,
    2306        0,     0,     0,  1245,     0,     0,     0,     0,     0,     0,
    2307        0,   210,     0,     0,   321,     0,     0,     0,     0,     0,
    2308        0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
    2309      341,   363,     0,     0,  1271,     0,     0,     0,     0,   485,
    2310        0,     0,     0,     0,     0,     0,  1279,     0,     0,  1280,
    2311        0,  1281,     0,     0,     0,     0,     0,     0,     0,     0,
    2312        0,     0,     0,     0,     0,  1290,  1291,     0,     0,     0,
    2313        0,     0,     0,     0,     0,     0,   413,   413,     0,     0,
    2314        0,     0,     0,     0,     0,     0,     0,  1304,     0,     0,
    2315        0,     0,     0,     0,     0,   830,   363,     0,   363,     0,
    2316        0,     0,     0,     0,     0,     0,     0,   622,     0,   622,
    2317      622,     0,     0,     0,  1327,     0,   622,     0,     0,   514,
    2318        0,   516,   519,     0,     0,     0,   869,   363,     0,   522,
    2319      523,     0,   363,     0,   516,   516,     0,     0,     0,     0,
    2320        0,   363,   363,   363,     0,     0,   516,     0,     0,     0,
    2321        0,     0,     0,     0,     0,   381,     0,     0,     0,     0,
    2322      363,     0,     0,     0,     0,   413,   912,     0,     0,   413,
    2323      915,     0,     0,     0,     0,     0,   917,     0,     0,     0,
    2324        0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
    2325        0,     0,     0,     0,   341,   363,   413,     0,   413,     0,
    2326        0,     0,   413,     0,     0,     0,     0,     0,     0,   281,
    2327      282,  1397,   283,  1398,     0,     0,     0,     0,   516,     0,
    2328        0,     0,     0,     0,     0,     0,  1407,     0,  1408,     0,
    2329        0,     0,     0,     0,   363,   622,     0,     0,   284,     0,
    2330        0,     0,     0,     0,   285,     0,  1415,     0,   286,     0,
    2331        0,   287,   288,   289,   290,    41,    42,   735,   291,   292,
    2332        0,     0,  1433,  1435,     0,     0,   293,   210,     0,     0,
    2333      341,   363,     0,     0,  1441,   413,   413,  1245,     0,     0,
    2334        0,   294,     0,   378,     0,     0,     0,     0,     0,   812,
    2335      296,   380,   298,   299,   300,   301,   769,     0,     0,  1464,
    2336        0,     0,     0,     0,     0,     0,     0,     0,  1471,   782,
    2337        0,  1473,     0,  1475,  1477,  1479,   769,   413,     0,   769,
    2338        0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
    2339      792,   793,   830,   363,     0,     0,     0,   622,     0,   622,
    2340        0,     0,     0,     0,     0,     0,     0,     0,     0,   622,
    2341        0,     0,   814,     0,     0,  1510,     0,  1512,     0,     0,
    2342     1245,     0,   823,     0,     0,     0,     0,     0,     0,   345,
    2343        0,     0,     0,     0,   782,  1524,     0,     0,     0,     0,
    2344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2345        0,     0,     0,     0,     0,   516,   516,   516,   516,   516,
    2346      516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
    2347      516,   516,   516,     0,     0,     0,     0,     0,     0,     0,
    2348        0,     0,   830,     0,   889,     0,     0,     0,     0,     0,
    2349      413,     0,     0,   381,     0,     0,   413,     0,   516,     0,
    2350        0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
    2351        0,     0,     0,     0,     0,     0,     0,   622,   622,     0,
    2352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2353        0,     0,     0,   345,     0,     0,     0,     0,     0,     0,
    2354        0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
    2355      413,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2356       17,    18,    19,    20,    21,    22,    23,    24,    25,   413,
    2357     1158,    26,    27,    28,     0,     0,     0,     0,     0,   363,
    2358       31,   453,     0,     0,     0,   413,  1170,     0,   622,   622,
    2359     1175,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2360      363,   363,     0,     0,     0,     0,     0,     0,    34,   782,
    2361        0,   991,     0,     0,     0,    38,    39,   996,     0,   516,
    2362        0,     0,     0,     0,  1005,     0,     0,     0,     0,     0,
    2363        0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
    2364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2365        0,     0,   454,     0,     0,     0,   711,     0,     0,     0,
    2366      110,   830,   413,  1238,     0,     0,     0,     0,  1022,  1023,
    2367        0,   345,     0,     0,   622,     0,     0,     0,   516,     0,
    2368        0,     0,     0,     0,     0,     0,   345,     0,     0,     0,
     2622      23,    24,     0,   337,    25,    26,    27,     0,     0,     0,
     2623       0,   109,     0,    30,     0,     0,     0,     0,     0,     0,
    23692624       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23702625       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2371      516,     0,     0,     0,     0,     0,     0,     0,     0,   363,
    2372        0,     0,     0,     0,     0,   516,  1053,     0,     0,     0,
    2373      381,     0,     0,  -517,     0,     0,     1,     2,     3,     4,
     2626       0,    33,     0,    34,     0,    35,     0,     0,   205,    38,
     2627       2,   204,     4,     5,     6,     7,     8,     9,    10,    11,
     2628      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2629      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2630       0,     0,     0,     0,    30,   268,     0,     0,     0,     0,
     2631       0,     0,     0,   628,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2633       0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
     2634      38,     2,   204,     4,     5,     6,     7,     8,     9,    10,
     2635      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2636      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2637       0,     0,     0,     0,     0,    30,   686,     0,     0,     0,
     2638       0,     0,     0,     0,   633,     0,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2640       0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
     2641      37,    38,     2,   204,     4,     5,     6,     7,     8,     9,
     2642      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2643      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2644       0,     0,     0,     0,     0,     0,    30,   598,     0,     0,
     2645       0,     0,     0,     0,     0,   633,     0,     0,     0,     0,
     2646       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2647       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2648       0,   205,    38,     8,     9,    10,    11,    12,    13,    14,
     2649      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2650       0,     0,    25,    26,    27,     0,     0,     0,     0,   280,
     2651     281,    30,   282,     0,     0,     0,     0,     0,   206,     0,
     2652       0,     0,     0,     0,     0,     0,   269,     0,     0,     0,
     2653       0,     0,     0,     0,     0,     0,     0,     0,   283,    33,
     2654       0,     0,     0,     0,   284,     0,    37,    38,   285,     0,
     2655       0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
     2656       0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
     2657       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2658       0,   293,     0,   524,     0,     0,   169,     0,     0,     0,
     2659     295,   296,   297,   298,   299,   300,     8,     9,    10,    11,
     2660      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2661      22,    23,    24,     0,     0,    25,    26,    27,     0,     0,
     2662       0,     0,   280,   281,    30,   282,     8,     9,    10,    11,
     2663      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2664      22,    23,    24,  -294,     0,    25,    26,    27,     0,     0,
     2665       0,   283,    33,     0,    30,     0,     0,   284,     0,    37,
     2666      38,   285,     0,     0,   286,   287,   288,   289,    40,    41,
     2667       0,   290,   291,     0,     0,     0,     0,     0,     0,   292,
     2668       0,     0,    33,     0,     0,     0,     0,    36,     0,   335,
     2669     336,    39,     0,  -294,   293,     0,   598,    -3,    40,    41,
     2670       0,     0,     0,   295,   599,   297,   298,   299,   300,     8,
     2671       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2672      19,    20,    21,    22,    23,    24,   337,     0,    25,    26,
     2673      27,     0,     0,     0,   109,   280,   281,    30,   282,     8,
     2674       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2675      19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
     2676      27,     0,     0,     0,   283,    33,     0,    30,     0,     0,
     2677     648,     0,    37,    38,   285,     0,     0,   286,   287,   288,
     2678     289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
     2679       0,     0,   292,     0,     0,    33,     0,     0,     0,     0,
     2680     108,     0,    37,    38,     0,     0,     0,   293,   -35,   765,
     2681       0,    40,    41,     0,     0,     0,   295,   296,   297,   298,
     2682     299,   300,     8,     9,    10,    11,    12,    13,    14,    15,
     2683      16,    17,    18,    19,    20,    21,    22,    23,    24,    43,
     2684       0,    25,    26,    27,     0,     0,     0,   109,   280,   281,
     2685      30,   282,     8,     9,    10,    11,    12,    13,    14,    15,
     2686      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2687       0,    25,    26,    27,     0,     0,     0,   283,    33,     0,
     2688      30,   452,     0,   284,     0,    37,    38,   285,     0,     0,
     2689     286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
     2690       0,     0,     0,     0,     0,   292,     0,     0,    33,     0,
     2691       0,     0,     0,     0,     0,    37,    38,     0,     0,     0,
     2692     293,     0,   294,     0,     0,     0,     0,     0,     0,   295,
     2693     296,   297,   298,   299,   300,     8,     9,    10,    11,    12,
     2694      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2695      23,    24,   453,     0,    25,    26,    27,     0,     0,     0,
     2696     109,   280,   281,    30,   282,     0,     0,     0,     0,     0,
     2697       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2698      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2699     283,    33,    25,    26,    27,     0,   284,     0,    37,    38,
     2700     285,    30,     0,   286,   287,   288,   289,    40,    41,     0,
     2701     290,   291,     0,     0,     0,     0,     0,     0,   292,     0,
     2702       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2703       0,     0,     0,   293,     0,   155,    37,    38,     0,     0,
     2704       0,     0,   295,   296,   297,   298,   299,   300,     8,     9,
     2705      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2706      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2707       0,   642,     0,   337,   280,   281,    30,   282,     0,     0,
     2708       0,   109,     0,     0,     0,     0,     8,     9,    10,    11,
     2709      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2710      22,    23,    24,   283,    33,    25,    26,    27,     0,   284,
     2711       0,    37,    38,   285,    30,     0,   286,   287,   288,   289,
     2712      40,    41,     0,   290,   291,     0,     0,     0,     0,     0,
     2713       0,   292,     0,     0,     0,     0,     0,     0,     0,     0,
     2714       0,     0,    33,     0,     0,     0,   293,     0,   598,    37,
     2715      38,     0,     0,     0,     0,   295,   599,   297,   298,   299,
     2716     300,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2717      17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
     2718      25,    26,    27,     0,   642,     0,   337,   280,   281,    30,
     2719     282,     0,     0,     0,   633,     0,     0,     0,     0,     8,
     2720       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2721      19,    20,    21,    22,    23,    24,   283,    33,    25,    26,
     2722      27,     0,   284,     0,    37,    38,   285,    30,   452,   286,
     2723     287,   288,   289,    40,    41,     0,   290,   291,     0,     0,
     2724       0,     0,     0,     0,   292,     0,     0,     0,     0,     0,
     2725       0,     0,     0,     0,     0,    33,     0,     0,     0,   293,
     2726       0,   377,    37,    38,     0,     0,     0,     0,   295,   379,
     2727     297,   298,   299,   300,   473,     2,   204,     4,     5,     6,
     2728       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2729      17,    18,    19,    20,    21,    22,    23,    24,     0,   453,
     2730      25,    26,    27,  1234,     0,     0,     0,   109,     0,    30,
     2731       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2732      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2733      26,    27,     0,     0,     0,     0,     0,    33,    30,    34,
     2734       0,    35,     0,     0,    37,    38,     0,     0,     8,     9,
     2735      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2736      20,    21,    22,    23,    24,     0,    33,    25,    26,    27,
     2737       0,    36,     0,   205,    38,    39,    30,     0,     0,     0,
     2738       0,     0,    40,    41,    -3,     0,     8,     9,    10,    11,
     2739      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2740      22,    23,    24,     0,    33,    25,    26,    27,    42,    36,
     2741     268,   335,   336,    39,    30,     0,     0,     0,   207,     0,
     2742      40,    41,     0,     0,     8,     9,    10,    11,    12,    13,
     2743      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2744      24,     0,    33,    25,    26,    27,   642,     0,   337,    37,
     2745      38,     0,    30,     0,     0,     0,   633,     8,     9,    10,
     2746      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2747      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2748      33,     0,     0,     0,     0,    30,   255,    37,    38,     0,
     2749       0,     0,     0,     0,   109,     8,     9,    10,    11,    12,
     2750      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2751      23,    24,     0,    33,    25,    26,    27,     0,     0,     0,
     2752     205,    38,     0,    30,   155,     0,     0,     0,     0,     0,
     2753       0,     0,   109,     8,     9,    10,    11,    12,    13,    14,
     2754      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2755       0,    33,    25,    26,    27,     0,     0,   268,    37,    38,
     2756       0,    30,     0,     0,     0,   269,     8,     9,    10,    11,
     2757      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2758      22,    23,    24,     0,     0,    25,    26,    27,     0,    33,
     2759       0,     0,     0,     0,    30,   255,    37,    38,     0,     0,
     2760       0,     0,     0,   633,     8,     9,    10,    11,    12,    13,
     2761      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2762      24,     0,    33,    25,    26,    27,     0,     0,     0,    37,
     2763      38,     0,    30,   337,     0,     0,     0,     0,     0,     0,
     2764       0,   633,     8,     9,    10,    11,    12,    13,    14,    15,
     2765      16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
     2766      33,    25,    26,    27,     0,     0,   453,   205,    38,     0,
     2767      30,     0,     0,     0,   109,     8,     9,    10,    11,    12,
     2768      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2769      23,    24,     0,     0,    25,    26,    27,     0,    33,     0,
     2770       0,     0,     0,    30,   268,    37,    38,     0,     0,     0,
     2771       0,     0,   628,     8,     9,    10,    11,    12,    13,    14,
     2772      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2773       0,    33,    25,    26,    27,     0,     0,     0,    37,    38,
     2774       0,    30,   598,     0,     0,     0,     0,     0,     0,     0,
     2775     633,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2776       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2777       0,     0,     0,     0,     0,   337,    37,    38,     0,     0,
     2778       0,     0,     0,   109,     2,   204,     4,     5,     6,     7,
     2779       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2780      18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
     2781      26,    27,     0,    43,     0,     0,     0,     0,    30,     0,
     2782       0,   109,     0,     0,     0,     0,     0,     0,     0,     0,
     2783       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2784       0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
     2785      35,     0,     0,    37,    38,   280,   281,     0,   282,  1062,
     2786       0,  1063,     0,     0,  1064,  1065,  1066,  1067,  1068,  1069,
     2787    1070,  1071,     0,     0,  1548,  1072,     0,     0,     0,  1073,
     2788    1074,     0,    32,     0,   283,     0,     0,     0,     0,  -412,
     2789     648,     0,     0,     0,   285,     0,     0,   286,   287,   288,
     2790     289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
     2791       0,     0,   292,     0,     0,     0,     0,     0,     0,     0,
     2792       0,     0,     0,     0,     0,     0,     0,   293,     0,   377,
     2793       0,     0,   169,     0,     0,     0,   295,   379,   297,   298,
     2794     299,   300,     0,     0,     0,     0,  1076,     0,   280,   281,
     2795    -129,   282,  1062,     0,  1063,     0,     0,  1064,  1065,  1066,
     2796    1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,     0,
     2797       0,     0,  1073,  1074,     0,    32,     0,   283,     0,     0,
     2798       0,     0,     0,   648,     0,     0,     0,   285,     0,     0,
     2799     286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
     2800       0,     0,     0,     0,     0,   292,     0,     0,     0,     0,
     2801       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2802     293,     0,   377,     0,     0,   169,     0,     0,     0,   295,
     2803     379,   297,   298,   299,   300,     0,     0,     0,     0,  1076,
     2804       0,   280,   281,  -129,   282,  1062,     0,  1063,  1418,  1419,
     2805    1064,  1065,  1066,  1067,  1068,  1069,  1070,  1071,     0,     0,
     2806    1548,  1072,     0,     0,     0,  1073,  1074,     0,    32,     0,
     2807     283,     0,     0,     0,     0,     0,   648,     0,     0,     0,
     2808     285,     0,     0,   286,   287,   288,   289,    40,    41,     0,
     2809     290,   291,     0,     0,     0,     0,     0,     0,   292,     0,
     2810       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2811       0,     0,     0,   293,     0,   377,     0,     0,   169,     0,
     2812       0,     0,   295,   379,   297,   298,   299,   300,     0,     0,
     2813     280,   281,  1076,   282,  1062,     0,  1063,  1418,  1419,  1064,
     2814    1065,  1066,  1067,  1068,  1069,  1070,  1071,     0,     0,     0,
     2815    1072,     0,     0,     0,  1073,  1074,     0,    32,     0,   283,
     2816       0,     0,     0,     0,     0,   648,     0,     0,     0,   285,
     2817       0,     0,   286,   287,   288,   289,    40,    41,     0,   290,
     2818     291,     0,     0,     0,     0,     0,     0,   292,     0,     0,
     2819       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2820       0,     0,   293,     0,   377,     0,     0,   169,     0,     0,
     2821       0,   295,   379,   297,   298,   299,   300,     0,     0,   280,
     2822     281,  1076,   282,  1062,     0,  1063,     0,     0,  1064,  1065,
     2823    1066,  1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,
     2824       0,     0,     0,  1073,  1074,     0,    32,     0,   283,     0,
     2825       0,     0,     0,     0,   648,     0,     0,     0,   285,     0,
     2826       0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
     2827       0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
     2828       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2829       0,   293,     0,   377,     0,     0,   169,     0,     0,     0,
     2830     295,   379,   297,   298,   299,   300,     0,     0,     0,     0,
     2831    1076,     2,   204,     4,     5,     6,     7,     8,     9,    10,
     2832      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2833      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2834       0,     0,     0,     0,     0,    30,     0,   280,   281,     0,
     2835     282,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2836       0,     0,     0,     0,     0,     0,   280,   281,     0,   282,
     2837       0,     0,     0,    33,     0,    34,   283,    35,     0,     0,
     2838      37,    38,   284,     0,     0,     0,   285,     0,     0,   286,
     2839     287,   288,   289,    40,    41,   283,   290,   291,     0,     0,
     2840       0,   648,  1327,     0,   292,   285,     0,     0,   286,   287,
     2841     288,   289,    40,    41,     0,   290,   291,     0,     0,   293,
     2842       0,   377,     0,   292,   280,   281,     0,   282,   295,   733,
     2843     297,   298,   299,   300,     0,     0,     0,     0,   293,     0,
     2844     784,     0,     0,   280,   281,     0,   282,   295,   379,   297,
     2845     298,   299,   300,   283,     0,     0,     0,     0,     0,   284,
     2846       0,     0,     0,   285,     0,     0,   286,   287,   288,   289,
     2847      40,    41,   283,   290,   291,     0,     0,     0,   284,     0,
     2848       0,   292,   285,     0,     0,   286,   287,   288,   289,    40,
     2849      41,     0,   290,   291,     0,     0,   293,     0,   377,     0,
     2850     292,   280,   281,     0,   282,   295,   826,   297,   298,   299,
     2851     300,     0,     0,     0,     0,   517,     0,     0,     0,     0,
     2852       0,     0,     0,     0,   295,   379,   297,   298,   299,   300,
     2853     283,     0,     0,     0,     0,     0,   284,     0,     0,     0,
     2854     285,     0,     0,   286,   287,   288,   289,    40,    41,     0,
     2855     290,   291,     0,     0,     0,     0,     0,     0,   292,     0,
     2856       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2857       0,     0,     0,   520,     0,     0,     0,     0,     0,     0,
     2858       0,     0,   295,   379,   297,   298,   299,   300,     2,   204,
     2859       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2860      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2861      24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2862       0,     0,    30,     0,     0,     0,     0,     0,     0,     0,
     2863       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2864       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2865      33,     0,    34,     0,    35,    36,     0,   172,   173,    39,
     2866       0,     0,     0,     0,     0,     0,    40,    41,   203,     2,
     2867     204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2868      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2869      23,    24,     0,     0,    25,    26,    27,     0,     0,     0,
     2870       0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
     2871       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2872       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2873       0,    33,     0,    34,     0,    35,     0,     0,   205,    38,
     2874     473,     2,   204,     4,     5,     6,     7,     8,     9,    10,
     2875      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2876      21,    22,    23,    24,     0,     0,    25,    26,    27,     0,
     2877       0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
     2878       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2879       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2880       0,     0,     0,    33,     0,    34,     0,    35,     0,     0,
     2881      37,    38,     2,   204,     4,     5,     6,     7,     8,     9,
     2882      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2883      20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
     2884       0,     0,     0,     0,     0,     0,    30,     0,     0,     0,
     2885       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2886       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2887       0,     0,     0,     0,    33,     0,    34,     0,    35,     0,
     2888       0,   205,    38
     2889};
     2890
     2891#define yypact_value_is_default(yystate) \
     2892  ((yystate) == (-1281))
     2893
     2894#define yytable_value_is_error(yytable_value) \
     2895  YYID (0)
     2896
     2897static const yytype_int16 yycheck[] =
     2898{
     2899       0,     1,     0,    42,   237,   217,   183,   183,   202,    42,
     2900       0,     1,     1,   183,    42,   542,   183,   183,   114,   103,
     2901     184,   455,   519,   343,     0,     0,   628,   454,    28,    29,
     2902     183,    31,   697,    31,   697,   183,   498,   697,   610,   608,
     2903     502,    31,    42,   679,    44,   461,    44,   347,  1042,   496,
     2904     279,   901,   655,     1,    54,    31,    31,   166,   167,   608,
     2905      60,  1061,    60,    63,   608,    63,    66,   610,    66,   153,
     2906     347,     0,   578,    63,  1005,   277,    66,    66,   416,   998,
     2907      80,    81,  1041,  1042,   184,   608,   263,   263,    63,   779,
     2908      42,   362,   185,   263,   608,   366,   263,   263,   436,    31,
     2909     264,   528,    31,   199,   104,  1337,   444,   107,   608,    27,
     2910     263,   776,     0,   776,   114,   263,   776,    42,   608,   722,
     2911     642,   643,   644,  1054,   758,   424,   425,   611,    38,   254,
     2912     643,   644,    38,   617,    81,    42,    62,   106,  1418,   661,
     2913       0,     1,    63,    31,   183,   145,    44,   145,   661,   109,
     2914     183,    81,   108,   153,   226,   183,   116,  1422,   158,    77,
     2915     158,   130,    38,   110,   264,   612,   259,   260,   488,   616,
     2916      50,    31,    44,   245,   743,   109,    43,    44,   814,   109,
     2917    1073,  1074,   116,   183,   184,    81,   184,   108,   824,    54,
     2918     637,    43,    44,    38,   641,    38,   408,    84,   108,   199,
     2919     110,   500,    63,   839,   110,   131,    66,   207,  1440,   207,
     2920     901,   109,  1492,   735,    43,    44,   216,   494,   108,   219,
     2921     519,   219,   735,    38,   263,   112,   226,    81,   108,   219,
     2922     263,   183,   108,    11,   110,   263,   115,   109,   108,   104,
     2923     404,   241,   107,   743,   219,   245,  1240,   114,  1141,   249,
     2924     250,   249,   131,   743,   115,  1520,   340,   113,   183,   249,
     2925    1525,   113,   116,   263,   264,   108,   264,   110,   115,   838,
     2926     270,    38,   144,   249,   249,     0,   183,   277,   850,   599,
     2927    1545,   510,     3,   717,   113,   369,   585,  1552,    81,   838,
     2928     454,   416,   292,   108,   838,   110,  1290,   158,   394,  1474,
     2929     111,  1525,   250,  1303,   404,   827,    31,   850,   628,   207,
     2930     610,   436,   818,   633,   827,   838,   109,   249,  1008,   444,
     2931     249,  1545,   486,   116,   838,   596,   422,   327,  1552,   327,
     2932    1289,  1290,   428,    81,  1509,   207,  1511,  1256,   838,    94,
     2933     238,   108,    95,   110,   292,   111,   346,   347,   838,   115,
     2934      81,   216,   690,    95,   454,  1525,   840,   115,   219,   698,
     2935     108,   249,     3,   363,     1,   237,   254,   367,   639,   122,
     2936    1061,   269,    71,   348,   129,  1225,   696,   108,   378,    71,
     2937     122,   720,  1552,    82,    83,   108,   486,   959,   108,   249,
     2938      82,    83,   114,   115,   394,   293,   257,   269,   296,    71,
     2939     261,   108,  1038,  1039,   404,   270,   404,    44,   130,   958,
     2940      82,    83,   277,   115,   958,    71,     0,   115,  1020,     0,
     2941    1414,   115,   422,   130,   296,   872,    82,    83,   428,   131,
     2942     430,   488,   131,   131,   109,   958,  1070,   131,   110,   131,
     2943     115,    67,   115,    89,    90,    71,   675,   531,    74,   115,
     2944      76,   130,   772,   115,   454,  1414,    71,    83,   131,   459,
     2945    1096,  1097,   118,  1463,   464,   131,   103,    82,    83,   131,
     2946    1470,   343,   109,   473,   108,  1406,  1407,   115,   478,   125,
     2947     126,   346,   109,   108,   109,   109,   486,   348,   486,   116,
     2948     490,   115,   490,   131,   494,   110,   109,   497,   363,   499,
     2949     490,    71,   367,   130,   479,   967,  1003,   144,   120,   121,
     2950     937,   927,    82,    83,   490,   490,   153,   964,   945,   519,
     2951     697,   697,   115,  1523,   249,   473,   108,   697,   416,   254,
     2952     697,   697,   761,   108,  1225,   699,   536,  1140,   131,   539,
     2953     110,   541,   542,  1115,   697,  1029,  1030,   656,   436,   697,
     2954     850,   108,   424,   425,   452,   757,   444,   455,   829,    87,
     2955      88,   490,   833,   461,   991,   690,   203,   663,   429,    71,
     2956     207,   519,   665,   850,   115,    10,    11,    12,    13,    14,
     2957      82,    83,   115,   108,   210,   642,   643,   644,   536,   589,
     2958     131,   539,   470,   541,   542,   109,   596,   115,   131,   699,
     2959     237,   238,   490,    38,   661,   109,   108,   732,   608,   115,
     2960     610,   695,  1303,   131,   512,    71,   514,   115,   479,   517,
     2961     111,   597,   520,   109,   115,   131,    82,    83,   500,   629,
     2962     490,    66,   269,   131,  1270,   272,   109,    79,   977,   696,
     2963     282,   589,  1278,  1279,  1280,   645,    71,   519,    73,    74,
     2964     109,   651,   923,   295,   296,   630,   293,    82,    83,   296,
     2965     660,   111,   662,   663,   664,   307,   114,  1101,   110,  1303,
     2966     112,    79,     3,   111,   116,   887,   108,   115,   735,    10,
     2967      11,    12,    13,    14,    91,    92,   963,   771,   113,     0,
     2968    1326,   416,   109,   108,   293,   110,   908,   697,   115,   699,
     2969    1020,   343,   110,   340,   112,   111,   343,    38,   116,   115,
     2970     108,   436,   712,   585,   662,   772,   664,   118,   718,   444,
     2971      31,   131,   123,   124,   350,   362,   352,   599,    71,   366,
     2972     730,    42,   369,    44,   111,    66,   969,   379,   115,    82,
     2973      83,   602,   108,   743,   744,   109,  1380,   109,   723,    60,
     2974    1131,   115,    63,   115,  1135,    66,   628,   757,   108,    63,
     2975     110,   633,   737,   488,   629,   490,   108,   110,   118,   630,
     2976     827,  1495,  1463,   937,   635,   108,   108,  1501,   110,  1470,
     2977     645,   945,   730,   108,   893,   110,   118,   424,   425,   111,
     2978     109,   109,  1319,   118,  1133,   660,   115,   115,  1522,   113,
     2979     109,   679,   690,  1527,   131,    52,   115,   113,   512,    71,
     2980     514,    73,    74,   517,   440,   452,   520,   109,   455,   717,
     2981      82,    83,   109,   115,   461,   424,   425,   128,   115,   130,
     2982     113,  1102,  1523,  1467,   145,  1469,   473,   937,   838,  1033,
     2983    1160,   114,   115,   109,   732,   945,   108,   158,    95,   115,
     2984     850,   113,  1191,  1192,   109,   108,   831,   110,   834,   131,
     2985     115,   498,   723,   500,  1529,   502,  1529,   131,   109,  1529,
     2986     115,   116,   183,   184,   115,   512,   737,   514,   109,   109,
     2987     517,   109,   519,   520,   115,   115,    71,   115,    73,    74,
     2988    1524,   108,   757,   893,   531,   108,   207,    82,    83,   109,
     2989     900,   901,  1131,   109,   109,   115,  1135,  1136,   219,   115,
     2990     115,   901,    81,   512,   556,   557,   558,   108,   517,   110,
     2991    1240,   520,   108,   923,   110,   901,   901,   109,   110,     4,
     2992       5,     6,     7,     8,     9,   108,   814,   937,   249,    71,
     2993     111,    73,    74,    81,   191,   945,   824,  1056,   585,   119,
     2994      82,    83,   263,   901,   108,   109,   110,   599,   108,   596,
     2995     110,   839,   599,   963,   108,   690,   110,   214,    57,    58,
     2996     831,   696,   108,   109,   110,   574,   108,   224,   968,   968,
     2997     108,   113,   110,   983,  1041,     4,     5,     6,     7,     8,
     2998       9,   628,   992,    68,   127,    70,   633,   108,   109,   110,
     2999    1000,   128,   639,  1003,   130,  1005,    71,   732,    73,    74,
     3000      75,   110,   108,   901,   110,     3,   327,    82,    83,   114,
     3001     115,  1250,    10,    11,    12,    13,    14,  1123,    71,   927,
     3002      73,    74,    75,   115,   116,   983,   347,   115,   116,    82,
     3003      83,   901,   108,   108,   110,   110,   293,   772,  1023,    68,
     3004      38,    70,  1000,   118,  1054,  1003,   131,  1005,   695,   108,
     3005     109,   110,  1401,    93,  1064,   108,   108,  1067,  1068,  1069,
     3006     108,  1061,    10,    11,    12,    13,    14,  1504,    66,  1418,
     3007     717,   563,   564,   565,   566,  1061,  1061,    71,   111,    73,
     3008      74,   733,  1092,   404,    43,    44,    44,   969,    82,    83,
     3009      38,   111,   702,  1160,   704,   109,  1054,   109,   968,  1338,
     3010     747,   109,    60,  1342,   109,    63,  1064,   109,    66,  1067,
     3011    1068,  1069,     3,  1123,   561,   562,   110,  1554,    66,    10,
     3012      11,    12,    13,    14,   771,   109,  1220,   779,    71,   108,
     3013      73,    74,    75,   454,   111,   109,   111,   111,  1020,    82,
     3014      83,   115,  1491,  1492,    57,    58,    59,    38,   567,   568,
     3015    1038,  1039,  1023,  1262,  1263,  1264,   130,   131,   559,   560,
     3016     108,   110,   110,  1061,   115,   108,   901,   130,   113,   490,
     3017     118,   108,   111,   494,   826,    66,   109,   109,   116,   115,
     3018     111,   111,   829,   111,   441,   111,   833,   145,  1198,   116,
     3019      28,  1061,   116,  1101,   109,    84,    85,    86,   109,   111,
     3020     158,   109,  1202,  1203,  1203,  1444,   113,   116,  1096,  1097,
     3021    1220,   114,   114,   114,   108,  1225,   115,  1202,   475,   108,
     3022     115,   110,  1289,   112,   113,  1225,   184,   109,     4,     5,
     3023       6,     7,     8,     9,   131,   109,   109,   116,   109,  1225,
     3024    1225,   109,   109,   115,  1244,  1244,    71,   109,   109,   207,
     3025      75,   109,  1262,  1263,  1264,   512,    32,    82,    83,   109,
     3026     517,   219,   109,   520,   109,   109,    71,  1225,    73,    74,
     3027      75,    84,    85,    86,   109,   109,   923,    82,    83,   470,
     3028     927,   109,   109,   108,   114,   110,   109,   608,   109,   610,
     3029      28,  1397,    68,   118,    70,   108,  1539,   110,  1298,   112,
     3030     113,   698,   111,  1303,  1262,  1263,  1264,   109,   130,  1319,
     3031    1320,   109,   109,  1298,   114,   109,   115,  1303,  1303,   111,
     3032     967,   968,   969,   720,   111,   109,  1061,  1225,    71,   109,
     3033     115,  1202,    75,  1203,   109,   901,   115,  1337,  1337,    82,
     3034      83,   115,  1529,  1529,   116,   113,   111,    71,   109,  1529,
     3035    1238,    75,  1529,  1529,   111,  1225,  1530,   115,    82,    83,
     3036     115,  1319,  1320,   109,  1374,   108,  1529,  1377,  1020,   327,
     3037     109,  1529,   108,  1020,  1244,   118,   697,   108,   699,   108,
     3038    1554,   108,  1270,   108,   108,   111,  1396,  1397,   116,   131,
     3039    1278,  1279,  1280,   114,   118,   109,  1406,  1407,  1504,    71,
     3040     109,    73,    74,    75,   109,  1303,     0,     1,   128,  1061,
     3041      82,    83,  1422,   114,   811,   113,  1374,  1427,   111,  1377,
     3042    1530,   678,   743,   744,   131,  1160,   109,  1298,   115,   111,
     3043     687,   115,   111,  1303,   691,  1445,   109,    31,  1326,   109,
     3044    1440,  1440,   109,   111,  1554,   111,   404,  1457,  1406,  1407,
     3045      44,   111,   109,    54,  1101,  1102,   111,   111,   111,    46,
     3046      29,   109,   131,  1463,  1422,   114,   131,  1337,   131,  1427,
     3047    1470,    71,    66,    73,    74,    75,   114,  1463,  1463,   131,
     3048    1529,   131,    82,    83,  1470,  1470,  1529,  1445,   679,   116,
     3049    1225,  1529,   889,   109,  1504,  1505,   111,   114,  1064,  1457,
     3050     111,   111,   111,   104,  1514,  1240,   107,   111,   108,   103,
     3051    1520,    80,    81,   111,   111,  1525,   111,   838,   118,  1529,
     3052    1530,  1396,  1530,  1523,   109,  1177,   109,   111,   108,   850,
     3053     111,    63,   108,  1543,   108,  1545,    59,  1523,  1523,  1549,
     3054     113,   109,  1552,   109,  1554,   131,  1554,  1505,    80,   116,
     3055    1560,   145,   153,   111,  1564,   111,  1514,   109,   111,   153,
     3056     154,   109,  1520,   108,  1472,  1463,  1474,  1525,  1303,    95,
     3057    1440,    95,  1470,  1220,   108,   114,   131,   115,   111,   109,
     3058     977,   109,   109,   115,   109,  1543,    41,  1545,   131,   131,
     3059     184,  1549,    95,  1463,  1552,  1204,  1205,  1244,  1207,   116,
     3060    1470,  1509,  1560,  1511,  1213,   199,  1564,  1216,   202,   203,
     3061     109,  1008,   109,   207,    95,   216,   937,   131,   109,   109,
     3062     131,   116,   131,   814,   945,  1523,   158,   109,   114,   109,
     3063      50,   131,    52,   824,   228,    55,    56,    57,   232,    59,
     3064     234,   111,   963,   111,   108,   114,   131,   114,   839,   243,
     3065     109,   109,   131,  1523,    74,   249,   109,  1539,   109,  1225,
     3066     254,  1058,  1076,   569,  1225,   570,    86,    87,   925,   270,
     3067     264,   571,   241,  1492,    63,   573,   277,  1382,   272,   572,
     3068      25,    26,    27,  1564,    73,  1313,  1136,   219,  1342,  1470,
     3069    1337,    10,    11,    12,    13,    14,    10,    11,    12,    13,
     3070      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3071      24,    25,    26,    27,  1092,    29,    30,    31,   452,    38,
     3072     452,   945,   704,   464,    38,   257,   115,   893,  1463,   261,
     3073     947,   992,   589,   965,   657,  1470,  1133,   747,  1244,   490,
     3074     757,   577,    -1,    -1,   577,   346,   340,    66,   577,   343,
     3075      -1,    96,    66,    98,  1320,   349,    -1,    -1,    -1,    73,
     3076      74,    -1,   363,    77,    -1,    -1,   367,  1376,   362,   158,
     3077      -1,    -1,   366,    -1,    -1,   369,    -1,    10,    11,    12,
     3078      13,    14,    -1,    -1,    -1,    -1,    -1,    -1,  1523,   108,
     3079      -1,   110,    -1,  1440,  1191,  1192,   110,    -1,    -1,   118,
     3080      -1,    -1,    -1,    -1,   118,    38,    -1,    -1,  1374,   378,
     3081      -1,  1377,    -1,    -1,    -1,  1072,   348,    -1,    -1,    -1,
     3082      -1,    -1,   416,    -1,    -1,  1472,    -1,  1474,    -1,   430,
     3083     219,    -1,    -1,    66,   179,    -1,    -1,   431,    -1,    -1,
     3084      -1,    -1,   436,    -1,   189,   190,    -1,  1038,  1039,   194,
     3085     444,   196,   197,    -1,    -1,    -1,  1422,    -1,    -1,    -1,
     3086      -1,  1427,  1509,    -1,  1511,    -1,    -1,    -1,   257,    -1,
     3087      -1,    -1,   261,    -1,    -1,   108,   470,   110,    -1,   473,
     3088      -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   277,    -1,
     3089     459,  1457,  1539,    -1,   488,   464,   490,   429,    -1,    10,
     3090      11,    12,    13,    14,   498,  1096,  1097,    -1,   502,    -1,
     3091      -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
     3092      13,    14,    -1,   343,   344,    -1,    -1,    38,   497,    71,
     3093     499,    73,    74,    75,    -1,   355,   356,   531,   532,    -1,
     3094      82,    83,    -1,    -1,    -1,    38,    -1,   479,    -1,    -1,
     3095      -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,   348,
     3096      71,    -1,    73,    74,    75,    -1,   108,    -1,   110,    -1,
     3097      -1,    82,    83,    66,   116,    -1,   118,  1543,    71,    -1,
     3098      73,    74,    75,  1549,   578,    -1,    -1,    -1,    -1,    82,
     3099      83,    -1,    -1,    -1,  1560,   596,    -1,   108,  1564,   110,
     3100      -1,    -1,   596,   597,  1401,   599,    -1,   118,    -1,    -1,
     3101      -1,    -1,    -1,    -1,    -1,   108,   610,   110,    -1,    -1,
     3102      -1,  1418,    -1,    -1,    -1,   118,    -1,    -1,   629,    -1,
     3103      -1,    -1,    -1,    -1,   628,    -1,    -1,    -1,    -1,   633,
     3104     429,    -1,    -1,    -1,   645,   639,    -1,  1238,   642,   643,
     3105     644,    -1,    -1,    -1,    -1,  1312,    -1,   446,    -1,   660,
     3106      71,    -1,    73,    74,    75,    -1,    -1,   661,    -1,    -1,
     3107     602,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,  1270,
     3108      -1,    -1,   651,    -1,    -1,   679,    -1,  1278,  1279,  1280,
     3109     479,    -1,    -1,    -1,  1491,  1492,   690,   108,   630,   110,
     3110      -1,   695,   696,   635,    -1,   699,    -1,   118,    -1,    -1,
     3111      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3112      19,    20,    21,    22,    23,    24,    25,    26,     0,    -1,
     3113      29,    30,    31,    -1,    -1,  1326,    -1,    -1,   732,    38,
     3114      39,   735,    -1,   712,    -1,    -1,    -1,    -1,    -1,   718,
     3115     744,    -1,    -1,   747,    -1,     0,   757,    -1,    -1,    31,
     3116      71,    -1,    73,    74,    75,    -1,    -1,    66,    -1,    -1,
     3117      -1,    82,    83,    -1,    73,    74,    -1,   771,   772,    -1,
     3118      -1,    -1,    -1,   777,    -1,    -1,    31,    -1,    -1,    -1,
     3119      -1,   723,    -1,    -1,    66,    -1,    -1,   108,    -1,   110,
     3120      -1,    -1,    -1,    -1,    -1,   737,    -1,   118,  1529,    -1,
     3121      -1,   110,    -1,   602,  1471,   114,  1473,    -1,    -1,   118,
     3122     814,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3123     824,    -1,    -1,   827,    -1,   829,   581,   582,   832,   833,
     3124     834,   630,    -1,    -1,    -1,   839,   635,    -1,    -1,    -1,
     3125      -1,  1508,    -1,  1510,    -1,   849,    71,    -1,    73,    74,
     3126      75,    -1,    -1,    -1,    -1,    -1,   611,    82,    83,   614,
     3127     615,    -1,   617,    -1,   619,   620,    -1,    -1,    -1,   624,
     3128     625,    -1,   154,    96,    97,    98,    99,   100,   101,   102,
     3129     103,   104,   105,   108,    -1,    -1,  1553,    -1,  1555,   831,
     3130      -1,    -1,    -1,   118,   724,    -1,   726,   901,    -1,   154,
     3131      -1,  1568,  1569,   733,   734,    -1,    -1,   130,   738,    -1,
     3132      -1,    -1,   923,    -1,   893,    -1,   187,    -1,    -1,   923,
     3133     750,   900,    -1,   194,   723,   755,    -1,    -1,    10,    11,
     3134      12,    13,    14,    -1,    -1,    -1,    -1,    -1,   737,    -1,
     3135      -1,    -1,    -1,    -1,    -1,    -1,   228,    -1,    -1,    -1,
     3136      -1,   781,    -1,   708,   709,   959,    38,    -1,   757,   714,
     3137      -1,    -1,    -1,   967,   968,    -1,    -1,   249,    -1,    -1,
     3138      -1,    -1,   254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3139      -1,   985,    -1,    -1,    66,    -1,    -1,    -1,    -1,    71,
     3140      -1,    73,    74,    75,   249,   266,   826,    -1,    -1,   254,
     3141      82,    83,    -1,    -1,    -1,    -1,    25,    26,    27,    -1,
     3142      -1,    -1,    -1,   992,    -1,    -1,  1020,    -1,    -1,    -1,
     3143      -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,   110,  1033,
     3144      -1,    -1,   831,    -1,  1038,  1039,   118,  1041,  1042,    -1,
     3145      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    -1,
     3146      -1,   322,    -1,   883,   884,   885,   886,  1061,   888,   330,
     3147      -1,    -1,   333,    -1,    -1,    -1,    -1,   349,    -1,    -1,
     3148      -1,    -1,    38,    -1,   904,    -1,    -1,    96,    -1,    98,
     3149      -1,  1023,    -1,    -1,    -1,    -1,    -1,    -1,   918,    -1,
     3150      -1,    -1,  1096,  1097,   349,    -1,    -1,    -1,  1102,    -1,
     3151      66,    -1,    -1,    -1,   123,    71,    -1,    73,    74,    75,
     3152      -1,    -1,    -1,  1092,    -1,    -1,    82,    83,    -1,    -1,
     3153      -1,    -1,    -1,    -1,    -1,   396,    -1,   957,    -1,   400,
     3154      -1,    -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,    -1,
     3155      -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,   431,
     3156      -1,    -1,   118,    -1,   436,    -1,  1160,    -1,    -1,    -1,
     3157     179,   416,   444,    -1,    -1,    -1,    -1,   997,   187,    -1,
     3158     189,   190,    -1,    -1,  1004,   194,   431,   196,   197,  1009,
     3159      -1,   436,    -1,    -1,  1014,    -1,  1016,    -1,   470,   444,
     3160    1020,  1021,  1022,    -1,    -1,  1025,    -1,    -1,    -1,  1203,
     3161      -1,    -1,    -1,    -1,  1034,    -1,   488,    -1,   490,  1220,
     3162      -1,    -1,    -1,    -1,   485,   470,  1220,    -1,    -1,  1198,
     3163      -1,  1225,  1052,  1053,  1023,    -1,    -1,    -1,    10,    11,
     3164      12,    13,    14,   488,  1238,   490,  1240,    -1,    -1,    -1,
     3165    1244,    -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,  1079,
     3166     532,    -1,  1082,    -1,    -1,    -1,    38,    -1,    -1,    -1,
     3167    1202,    -1,    -1,    -1,    -1,    -1,  1270,    -1,    -1,    -1,
     3168      -1,    -1,    -1,    -1,  1278,  1279,  1280,   532,    -1,    -1,
     3169      -1,    -1,    -1,    -1,    66,  1289,  1290,    -1,    -1,    71,
     3170    1120,    73,    74,    75,    -1,    -1,  1126,  1127,    -1,  1303,
     3171      82,    83,    -1,    -1,    -1,    -1,   577,   578,  1138,    -1,
     3172      -1,    -1,    -1,  1143,    -1,   597,  1146,    -1,  1148,    -1,
     3173      -1,  1151,  1326,    -1,    -1,    -1,   108,    -1,    -1,    -1,
     3174      -1,    -1,    -1,  1337,  1164,    -1,   118,    -1,    -1,    -1,
     3175      -1,    -1,   597,  1098,    -1,    -1,    -1,  1177,    -1,  1179,
     3176    1180,  1181,  1182,    -1,    -1,    -1,  1298,    -1,    -1,    -1,
     3177     642,   643,   644,    -1,    -1,  1195,    -1,  1197,    -1,    -1,
     3178      -1,  1201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   661,
     3179      -1,    -1,    -1,    -1,    -1,  1396,    -1,   642,   643,   644,
     3180      -1,    -1,    -1,    -1,    -1,   666,    -1,   679,    -1,   670,
     3181    1230,  1231,    -1,  1202,    -1,    -1,   661,    -1,   690,    -1,
     3182    1414,    -1,     0,    -1,   696,    -1,    -1,    -1,    -1,    -1,
     3183      -1,    -1,    -1,    -1,   679,    -1,    -1,    -1,    -1,    -1,
     3184      -1,    -1,   703,    -1,    -1,   690,  1440,    -1,    -1,     0,
     3185      -1,   696,    -1,    31,    -1,     0,     1,    -1,    -1,    -1,
     3186     732,  1281,  1282,   735,    -1,    -1,    -1,    -1,    -1,  1463,
     3187      -1,  1291,    -1,    -1,    -1,    -1,  1470,  1222,    -1,    -1,
     3188      31,    -1,    -1,    -1,    -1,    -1,    31,   732,    66,    -1,
     3189     735,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3190     772,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1298,
     3191      -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    63,    -1,
     3192      -1,    66,    -1,  1343,    -1,    -1,    -1,   772,    -1,  1523,
     3193      -1,    -1,    -1,    -1,    -1,  1355,  1530,  1357,  1358,  1359,
     3194      -1,    -1,   814,    -1,    -1,    -1,    -1,    -1,    -1,  1369,
     3195      -1,    -1,   824,    -1,    -1,   827,    -1,   818,  1378,    -1,
     3196     832,    -1,   834,    -1,    -1,    -1,    -1,   839,    -1,   814,
     3197      -1,    -1,   581,   582,  1394,    -1,   154,    -1,    -1,   824,
     3198      -1,    -1,   827,    -1,    -1,    -1,    -1,   832,    -1,   834,
     3199      -1,    -1,    -1,    -1,   839,    -1,    -1,    -1,    -1,    -1,
     3200      -1,    -1,   611,   154,    -1,   614,   615,    -1,   617,   154,
     3201     619,   620,    -1,    -1,    -1,   624,   625,    -1,    -1,    -1,
     3202      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   901,
     3203    1450,  1451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3204      -1,    -1,    -1,  1463,    -1,    -1,    -1,    -1,    -1,    -1,
     3205    1470,    -1,    -1,    -1,    -1,    -1,   901,    -1,    -1,    -1,
     3206      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3207     931,   249,    -1,    -1,   219,    -1,   254,    -1,    -1,    -1,
     3208      -1,    -1,    -1,  1503,    -1,    -1,    -1,  1507,    -1,    -1,
     3209      -1,    -1,    -1,    -1,   703,    -1,    -1,    -1,   249,   708,
     3210     709,    -1,    -1,   254,   249,   714,    -1,    -1,    -1,    -1,
     3211      -1,    -1,    -1,   985,    -1,    -1,  1536,    -1,  1538,    -1,
     3212      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3213      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3214     985,    29,    30,    31,    -1,    -1,  1566,  1567,    -1,  1010,
     3215      38,    39,    -1,    -1,  1574,  1575,    -1,    -1,    -1,    -1,
     3216      -1,    -1,    -1,    -1,    -1,  1026,  1038,  1039,    -1,  1041,
     3217    1042,   349,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
     3218      -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,  1061,
     3219      -1,    -1,    -1,  1038,  1039,    -1,  1041,  1042,   349,    10,
     3220      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3221      21,    22,    23,    24,    25,    26,  1061,    -1,    29,    30,
     3222      31,    -1,   110,    -1,  1096,  1097,   114,    38,    -1,    -1,
     3223     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   416,    -1,
     3224      -1,    -1,  1103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3225      -1,  1096,  1097,   431,    -1,    66,    -1,    -1,   436,    -1,
     3226      71,    -1,    73,    74,    75,   416,   444,    -1,    -1,    -1,
     3227      -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3228     431,    -1,    -1,    -1,    -1,   436,   431,    -1,  1160,    -1,
     3229      -1,    -1,   470,   444,    -1,    -1,    -1,   108,    -1,   110,
     3230      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
     3231     488,    -1,   490,    -1,    -1,  1160,    -1,    -1,    -1,   470,
     3232      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3233      -1,  1203,    -1,    -1,    -1,    -1,    -1,   488,    -1,   490,
     3234      -1,    -1,    -1,    -1,    -1,   490,    -1,    -1,    -1,    -1,
     3235      -1,    -1,    -1,  1225,   532,    -1,    -1,    -1,  1203,    -1,
     3236      -1,    -1,    -1,    -1,    -1,    -1,  1238,    -1,  1240,    -1,
     3237      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3238    1225,   532,    -1,    -1,    -1,    -1,    -1,   532,    -1,    -1,
     3239      -1,    -1,    -1,  1238,    -1,  1240,    -1,    -1,  1270,    -1,
     3240      -1,    -1,    -1,    -1,    -1,    -1,  1278,  1279,  1280,    -1,
     3241      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1289,  1290,   597,
     3242      -1,    -1,    -1,    -1,    -1,  1270,    -1,    -1,    -1,    -1,
     3243      -1,  1303,    -1,  1278,  1279,  1280,    -1,    -1,    -1,    -1,
     3244      -1,    -1,    -1,    -1,  1289,  1290,   597,    -1,    -1,    -1,
     3245      -1,    -1,   597,    -1,  1326,    -1,    -1,    -1,  1303,    -1,
     3246      -1,    -1,    -1,    -1,   642,   643,   644,    -1,    -1,    -1,
     3247      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3248      -1,  1326,    -1,   661,    -1,    -1,    -1,    -1,    -1,  1098,
     3249      -1,   642,   643,   644,    -1,    -1,    -1,   642,   643,   644,
     3250      -1,   679,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3251     661,    -1,   690,    -1,    -1,    -1,   661,    -1,   696,    -1,
     3252      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   679,     7,
     3253      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,   690,
     3254      -1,    -1,  1414,    -1,    -1,   696,    -1,    -1,    -1,    -1,
     3255      -1,    -1,    -1,    -1,   732,    -1,    -1,   735,    36,    37,
     3256      38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1414,
     3257      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3258      -1,   732,    -1,    -1,   735,    -1,    -1,    65,    66,    -1,
     3259     735,  1463,    -1,    71,   772,    -1,    -1,    75,  1470,    -1,
     3260      78,    79,    80,    81,    82,    83,    -1,    85,    86,    -1,
     3261      -1,    -1,    -1,  1222,    -1,    93,    -1,    -1,  1463,    -1,
     3262      -1,   772,    -1,    -1,    -1,  1470,    -1,    -1,    -1,    -1,
     3263     108,    -1,   110,    -1,    -1,    -1,   814,    -1,    -1,   117,
     3264     118,   119,   120,   121,   122,    -1,   824,    -1,    -1,   827,
     3265      -1,  1523,    -1,    -1,   832,    -1,   834,    -1,    -1,    -1,
     3266      -1,   839,    -1,   814,    -1,    -1,    -1,    -1,    -1,    -1,
     3267      -1,    -1,    -1,   824,    -1,    -1,   827,    -1,  1523,    -1,
     3268      -1,   832,   827,   834,    -1,    -1,    -1,    -1,   839,   834,
     3269      -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,     3,     4,
    23743270       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    23753271      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2376       25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
    2377        0,     0,    31,    32,     0,     0,     0,     0,     0,   341,
    2378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2379        0,     0,     0,     0,     0,     0,     0,    33,     0,   363,
    2380       34,     0,    35,     0,    36,    37,   321,    38,    39,    40,
    2381        0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
    2382        0,     0,  1139,  1140,     0,     0,     0,     0,     0,   381,
    2383        0,     0,     0,     0,     0,   996,     0,     0,  1149,     0,
    2384      769,     0,    43,     0,    44,     0,     0,     0,   363,   363,
    2385        0,     0,    45,     0,     0,     0,     0,     0,     0,     0,
    2386     1165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2387        0,  1180,     0,     0,     0,     0,   516,     0,     0,     0,
    2388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2389        0,     0,     0,   381,     0,  1198,     0,     0,     0,     0,
    2390        0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2391      996,   996,     0,     0,     0,     0,     0,     0,     0,   516,
    2392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2393        0,  1230,     0,     0,     1,     2,     3,     4,     5,     6,
     3272      25,    26,    -1,   901,    29,    30,    31,    32,    -1,    -1,
     3273      35,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    10,
     3274      11,    12,    13,    14,    -1,    10,    11,    12,    13,    14,
     3275     901,    -1,    -1,    -1,    -1,    -1,   901,    -1,    63,    -1,
     3276      -1,    66,    44,    68,    -1,    70,    71,    38,    73,    74,
     3277      75,    -1,    -1,    38,    -1,    -1,    -1,    82,    83,    -1,
     3278      -1,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3279      -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
     3280      71,    66,    -1,   108,    75,   110,    71,   985,    -1,    -1,
     3281      75,    82,    83,   118,    -1,    -1,    -1,    82,    83,    -1,
     3282      -1,    -1,    -1,   968,    -1,    -1,    -1,   109,    -1,    -1,
     3283      -1,    -1,    -1,   115,   985,    -1,    -1,   108,    -1,    -1,
     3284     985,    -1,    -1,   108,    -1,    -1,    -1,   118,    -1,    -1,
     3285      -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,
     3286    1038,  1039,   144,  1041,  1042,    -1,    -1,    -1,    -1,    -1,
     3287      -1,    -1,   154,    -1,    -1,    -1,   158,    -1,    -1,    -1,
     3288      -1,    -1,    -1,  1061,    -1,    -1,    -1,  1038,  1039,    -1,
     3289    1041,  1042,    -1,    -1,    -1,    -1,  1041,  1042,    -1,    -1,
     3290      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3291    1061,    -1,    -1,    -1,    -1,    -1,  1061,    -1,  1096,  1097,
     3292      -1,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,    -1,
     3293      -1,    -1,    -1,    -1,    -1,    -1,    -1,   219,    -1,    -1,
     3294      -1,    -1,    -1,    -1,    -1,  1096,  1097,    -1,    -1,    -1,
     3295      -1,    36,    37,    -1,    39,   237,   238,    10,    11,    12,
     3296      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3297      23,    24,    25,    26,    -1,    -1,    29,    30,    31,   261,
     3298      65,    -1,  1160,    -1,    -1,    38,    71,   269,    -1,    -1,
     3299      75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
     3300      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,  1160,
     3301      -1,   293,    -1,    66,   296,    -1,    -1,    -1,    -1,    -1,
     3302      73,    74,    -1,   108,    -1,  1203,    -1,    -1,    -1,    -1,
     3303      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3304      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1225,    -1,    -1,
     3305      -1,    -1,  1203,    -1,    -1,    -1,    -1,  1202,  1203,    -1,
     3306    1238,   343,  1240,    -1,    -1,   118,   348,    -1,    -1,    -1,
     3307      -1,    -1,    -1,    -1,  1225,    -1,    -1,    -1,    -1,    -1,
     3308    1225,    -1,    -1,    -1,    -1,    -1,    -1,  1238,    -1,  1240,
     3309      -1,    -1,  1270,    -1,    -1,    -1,    -1,    -1,    -1,  1244,
     3310    1278,  1279,  1280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3311      -1,  1289,  1290,    -1,    -1,    -1,    -1,    -1,    -1,  1270,
     3312      -1,    -1,    -1,    -1,    -1,  1303,    -1,  1278,  1279,  1280,
     3313      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1289,  1290,
     3314      -1,    -1,   424,   425,  1289,  1290,    -1,    -1,  1326,   431,
     3315      -1,    -1,  1303,  1298,    -1,    -1,    -1,    -1,  1303,    -1,
     3316      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3317     452,    -1,    -1,   455,    -1,  1326,    -1,    -1,    -1,   461,
     3318      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3319      -1,    -1,  1337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3320      -1,    -1,    -1,    -1,    -1,    -1,   488,    -1,    -1,    -1,
     3321      63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   500,    -1,
     3322      73,    -1,    75,    -1,    77,    -1,    -1,    -1,    -1,    -1,
     3323     512,    84,   514,    -1,    -1,   517,  1414,   519,   520,    -1,
     3324      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3325     532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3326      -1,    -1,   115,  1414,   117,   118,   119,    -1,    -1,  1414,
     3327      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3328      -1,    -1,    -1,    -1,    -1,  1463,    -1,    43,    -1,    -1,
     3329      -1,    -1,  1470,    -1,    -1,  1440,    -1,    -1,    -1,    -1,
     3330      -1,    -1,    -1,   585,    -1,   158,    -1,    -1,    -1,    -1,
     3331      -1,    -1,  1463,    -1,    -1,   597,    -1,   599,  1463,  1470,
     3332     602,    -1,    -1,    -1,    -1,  1470,    -1,    -1,    -1,    -1,
     3333      -1,    -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,
     3334      -1,    -1,    -1,    99,    -1,  1523,   628,    -1,    -1,    -1,
     3335      -1,   633,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3336     642,   643,   644,    -1,    -1,    -1,   219,    -1,   221,   222,
     3337     223,    -1,  1523,    -1,    -1,    -1,    -1,    -1,  1523,   661,
     3338      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3339      19,    20,    21,    22,    23,    24,    25,    26,    27,   155,
     3340      29,    30,    31,    -1,   257,    -1,    -1,    -1,   261,    38,
     3341      -1,    -1,    -1,   169,   696,    -1,    -1,    -1,    -1,    -1,
     3342      -1,    -1,    -1,    -1,   277,    -1,    -1,    -1,    -1,    -1,
     3343      -1,    -1,    -1,    -1,    -1,   717,   192,    66,    -1,    -1,
     3344      -1,    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,
     3345     206,    -1,    -1,   735,    -1,   737,    -1,    -1,    -1,   215,
     3346      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,
     3347      -1,    -1,    -1,    -1,   327,    -1,    -1,    -1,    -1,   108,
     3348      -1,   110,    36,    37,    -1,    39,    -1,    -1,    -1,   118,
     3349     772,    -1,    -1,    -1,   250,   348,    -1,    -1,    -1,   255,
     3350     353,   354,    -1,    -1,    -1,    -1,    -1,    -1,   361,    -1,
     3351      -1,    65,   268,    -1,    -1,    -1,    -1,    71,   274,    -1,
     3352     276,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
     3353      -1,    85,    86,    -1,    -1,    -1,    -1,    -1,   294,    93,
     3354      -1,    -1,    -1,    -1,    -1,   827,    -1,    -1,    -1,   831,
     3355      -1,   404,   834,    -1,   108,    -1,   110,    -1,    -1,   113,
     3356      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,   422,
     3357      -1,    -1,    -1,    -1,   427,    -1,   429,    -1,    -1,    -1,
     3358      -1,   337,    -1,    -1,    -1,    -1,   342,    -1,    -1,    -1,
     3359      -1,    -1,    -1,   446,    -1,    -1,   449,   450,    -1,    -1,
     3360      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3361      -1,    -1,   465,    -1,   370,    -1,    -1,    -1,   374,   375,
     3362      -1,   377,    -1,    -1,    -1,    -1,   479,    -1,   384,   385,
     3363      -1,   387,   388,   486,   390,    -1,   392,    -1,    -1,    -1,
     3364      -1,    -1,    -1,     7,    -1,   927,    10,    11,    12,    13,
     3365      14,    -1,    -1,   409,    -1,    -1,    -1,    -1,    -1,    -1,
     3366      -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    36,    37,    38,    39,    -1,    -1,    -1,    -1,
     3368      -1,    -1,    -1,    -1,    -1,    -1,   442,   969,    -1,    -1,
     3369      -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,    -1,    -1,
     3370      -1,    65,    66,   985,    -1,    -1,    -1,    71,    -1,    -1,
     3371      -1,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
     3372     476,    85,    86,    -1,    -1,    -1,   482,    -1,    -1,    93,
     3373      -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,  1020,    -1,
     3374      -1,    -1,    -1,    -1,   108,    -1,   110,    -1,    -1,   602,
     3375      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,  1041,
     3376    1042,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,    -1,
     3377      -1,    -1,    -1,    -1,    -1,    -1,    -1,   630,   280,    -1,
     3378     282,   283,   635,    -1,   540,    -1,    -1,    -1,   290,   291,
     3379      -1,    -1,    -1,   295,   296,    -1,    -1,    -1,    -1,    -1,
     3380      -1,    -1,    -1,    -1,    -1,   307,    -1,    -1,    -1,    -1,
     3381      -1,    -1,    -1,    -1,    -1,    36,    37,    -1,    39,  1101,
     3382      -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3383     586,    -1,    -1,    -1,    -1,    -1,    -1,   593,    -1,    -1,
     3384      -1,   343,   598,    -1,    65,    -1,    -1,    -1,    -1,    -1,
     3385      71,    -1,    -1,   609,    75,    -1,    -1,    78,    79,    80,
     3386      81,    82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,
     3387     723,    -1,    93,    -1,    -1,    -1,    -1,   379,  1160,    -1,
     3388      -1,    -1,    -1,    -1,   737,    -1,    -1,   108,    -1,   110,
     3389      -1,    -1,    -1,    -1,   650,   116,   117,   118,   119,   120,
     3390     121,   122,    -1,    -1,   757,    -1,    -1,    -1,    -1,    -1,
     3391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3392    1202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3393     686,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3394      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3395      25,    26,    27,    -1,    29,    30,    31,    -1,  1240,    -1,
     3396      -1,    -1,    -1,    38,    -1,   818,    -1,    -1,    -1,    -1,
     3397      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,    -1,
     3398      -1,    -1,    -1,    -1,    -1,   741,    -1,    -1,    -1,    -1,
     3399      -1,    66,    -1,    -1,    -1,   751,   752,   850,    73,    74,
     3400      -1,    -1,    77,    -1,    -1,    -1,    -1,  1289,  1290,   765,
     3401      -1,    -1,    -1,    -1,    -1,    -1,  1298,    -1,    -1,    -1,
     3402      -1,    -1,    -1,    -1,    -1,    -1,   782,    -1,   784,    -1,
     3403      -1,    -1,   788,   108,    -1,   110,    -1,    -1,    -1,    -1,
     3404      -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,
     3405      -1,    -1,    -1,    -1,   556,   557,   558,   559,   560,   561,
     3406     562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
     3407     572,   573,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3408      36,    37,    -1,    39,   937,    -1,    -1,    -1,    -1,    -1,
     3409      -1,    -1,    -1,    -1,    -1,    -1,    -1,   599,   854,    -1,
     3410      -1,    -1,    -1,    -1,    -1,   861,    -1,    -1,    -1,    65,
     3411     963,    -1,    -1,    -1,    -1,    71,    -1,    -1,   874,    75,
     3412     876,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
     3413      86,    -1,  1414,    -1,   890,    -1,    -1,    93,   991,    -1,
     3414      -1,   897,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3415      -1,    -1,   108,   909,   110,    -1,   912,    -1,    -1,   115,
     3416      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
     3417    1023,    -1,    -1,    -1,   930,    -1,    -1,    -1,    -1,    -1,
     3418      -1,  1034,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3419    1472,    -1,  1474,    -1,    -1,    -1,   698,    -1,    10,    11,
     3420      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3421      22,    23,    24,    25,    26,    27,    -1,    -1,   720,    -1,
     3422      -1,    -1,    -1,    -1,    -1,    -1,    38,  1509,    -1,  1511,
     3423      -1,   733,    10,    11,    12,    13,    14,    15,    16,    17,
     3424      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3425      -1,    29,    30,    31,    66,    -1,    -1,  1539,    -1,    -1,
     3426      38,    -1,  1115,  1019,    -1,    77,    -1,    -1,    -1,   153,
     3427     154,    -1,    -1,    -1,    -1,    -1,    -1,   779,    -1,    -1,
     3428      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
     3429      -1,    -1,    -1,    71,    -1,    73,    74,    75,    -1,    77,
     3430      -1,    -1,    -1,   187,    82,    83,    -1,    -1,    -1,   811,
     3431     194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1075,
     3432      -1,    -1,    -1,    -1,   826,    -1,  1082,    -1,    -1,    -1,
     3433     108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3434     118,    36,    37,    -1,    39,    -1,    -1,    -1,    -1,  1202,
     3435      -1,    -1,    -1,    -1,    -1,  1111,    -1,    -1,    -1,    -1,
     3436    1116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1124,    -1,
     3437      65,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,
     3438      75,    -1,   266,    78,    79,    80,    81,    82,    83,    -1,
     3439      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,  1155,
     3440      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3441      -1,  1167,    -1,   108,  1170,   110,  1172,   112,   113,    -1,
     3442      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3443    1186,  1187,    -1,    -1,    -1,    -1,    -1,    -1,   322,    -1,
     3444      -1,    -1,    -1,    -1,    -1,  1298,   330,   331,    -1,   333,
     3445     334,    -1,  1208,    -1,    -1,    -1,    -1,    -1,    -1,   343,
     3446      -1,    -1,    -1,   347,    -1,    -1,    -1,    -1,    -1,    -1,
     3447      -1,    -1,    -1,    -1,    -1,   977,    -1,    -1,    -1,  1235,
     3448     144,    -1,   366,    -1,    -1,   369,    -1,    -1,    -1,    -1,
     3449     154,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3450      -1,    -1,   166,   167,    -1,    -1,  1008,    -1,    -1,    -1,
     3451      -1,    -1,   396,    -1,    -1,    -1,   400,    -1,  1020,     4,
     3452       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3453      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3454      25,    26,    -1,    -1,    29,    30,    31,   431,    -1,    -1,
     3455      -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,  1061,
     3456      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3457     454,    -1,    -1,   237,    -1,    -1,  1332,    -1,  1334,    -1,
     3458      -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,    74,
     3459      -1,  1347,    -1,  1349,    -1,    -1,    -1,    -1,   262,    -1,
     3460      -1,   485,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,
     3461      -1,  1367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3462      -1,    -1,    -1,    -1,   109,   110,    -1,  1383,  1384,    -1,
     3463      -1,  1133,    -1,   118,    -1,    -1,    -1,    -1,    -1,  1395,
     3464      -1,    -1,  1398,    -1,   528,    -1,    -1,   531,   532,    -1,
     3465      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3466      -1,    -1,    -1,    -1,  1420,    -1,    -1,    -1,    -1,    -1,
     3467      -1,    -1,    -1,  1429,    -1,  1177,  1432,    -1,  1434,  1435,
     3468    1436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1191,
     3469    1192,    -1,    -1,   577,   578,    -1,    -1,    -1,    -1,    -1,
     3470      -1,  1554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3471      -1,    -1,   596,   597,   378,   599,    -1,    -1,    -1,    -1,
     3472    1476,    -1,  1478,    -1,   608,  1481,   610,   611,    -1,    -1,
     3473      -1,    -1,    -1,   617,    -1,    -1,    -1,    -1,    -1,    -1,
     3474    1496,    -1,    -1,   627,   628,    -1,    -1,    -1,    -1,   633,
     3475      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   642,   643,
     3476     644,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,    -1,    -1,    -1,   661,    -1,    -1,
     3478      -1,    -1,   666,   667,    -1,    -1,   670,   671,    -1,    -1,
     3479      -1,    -1,    -1,   677,    -1,    -1,    -1,    -1,    -1,    -1,
     3480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3481      -1,   695,   696,   697,    -1,   699,   480,    -1,    -1,   703,
     3482      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3483      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3484      29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,
     3485      -1,   735,   736,    -1,    -1,   519,    -1,    -1,    -1,    -1,
     3486      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   532,    -1,
     3487      -1,    -1,    -1,    -1,    -1,   539,    -1,    66,   542,    -1,
     3488      -1,    -1,    -1,    -1,    73,    74,    -1,   771,   772,   553,
     3489     554,    -1,   776,   777,    -1,    -1,    -1,    -1,    -1,  1401,
     3490      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3491      -1,   575,    -1,    -1,    -1,    -1,  1418,    -1,    -1,    -1,
     3492      -1,   585,    -1,    -1,    -1,    -1,    -1,    -1,   592,   118,
     3493      -1,    -1,    -1,   597,   818,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,   833,
     3495     834,    -1,    -1,    -1,   838,    -1,   840,    -1,    -1,    -1,
     3496      -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,
     3497      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3498      -1,    -1,    -1,   647,    -1,    -1,    -1,    -1,    -1,  1491,
     3499    1492,    -1,   656,    -1,    -1,    -1,    -1,    -1,    -1,     3,
     3500       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3501      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3502      24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
     3503      -1,    35,   696,    -1,    38,    39,    -1,    -1,    -1,   923,
     3504      -1,    -1,    -1,    -1,    -1,    -1,    -1,   931,    36,    37,
     3505      -1,    39,    -1,   937,    -1,    -1,    -1,    -1,    -1,    63,
     3506      -1,   945,    66,    -1,    68,    -1,    70,    71,    -1,    73,
     3507      74,    75,    -1,    -1,   958,   959,    -1,    65,    82,    83,
     3508      -1,    -1,    -1,    71,    -1,    -1,    -1,    75,    -1,    -1,
     3509      78,    79,    80,    81,    82,    83,    -1,    85,    86,    -1,
     3510      -1,   985,    -1,    -1,   108,    93,   110,   991,   772,    -1,
     3511     774,    -1,    -1,    -1,   118,    -1,   780,    -1,    -1,    -1,
     3512     108,    -1,   110,   787,    -1,   113,  1010,  1011,    -1,   117,
     3513     118,   119,   120,   121,   122,    -1,  1020,    -1,    -1,    -1,
     3514      -1,    -1,  1026,  1027,    -1,  1029,  1030,  1031,    -1,    -1,
     3515      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1041,  1042,    -1,
     3516      -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,   832,    -1,
     3517     834,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3518      -1,    -1,    -1,    -1,    -1,   849,    -1,    -1,    -1,    -1,
     3519      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3520      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3521      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1102,  1103,
     3522    1104,    -1,    -1,    -1,    -1,   889,    -1,    -1,    -1,   893,
     3523      -1,  1115,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
    23943524       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2395       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2396      516,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    2397       31,    32,     0,   363,     0,     0,     0,     0,   996,     0,
    2398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2399        0,     0,     0,     0,     0,    33,     0,   889,    34,     0,
    2400       35,     0,    36,    37,     0,    38,    39,    40,     0,     0,
    2401        0,     0,  1282,  1283,    41,    42,     0,     0,     0,     0,
    2402        0,     0,   281,   282,     0,   283,     0,     0,     0,     0,
    2403        0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
    2404       43,     0,    44,     0,     0,     0,  -521,     0,     0,     0,
    2405       45,   284,     0,     0,     0,     0,     0,   285,     0,     0,
    2406        0,   286,     0,   413,   287,   288,   289,   290,    41,    42,
    2407        0,   291,   292,     0,     0,     0,   516,     0,     0,   293,
    2408        0,     0,     0,     0,     0,     0,     0,     0,   413,   413,
    2409      516,   516,     0,   996,   294,     0,   378,     0,     0,     0,
    2410        0,   781,     0,   296,   380,   298,   299,   300,   301,     0,
    2411        0,     0,     0,   413,     0,     1,     2,   205,     4,     5,
     3525      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3526      -1,    -1,    29,    30,    31,    32,    -1,    -1,    35,    36,
     3527      37,    38,    39,    40,    -1,    42,  1160,    -1,    45,    46,
     3528      47,    48,    49,    50,    51,    52,    -1,    -1,    -1,    56,
     3529      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    66,
     3530      -1,    68,    -1,    70,    71,   969,    73,    74,    75,    -1,
     3531      -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
     3532      -1,   985,   986,    -1,    -1,    -1,    93,    -1,   992,    -1,
     3533      -1,    -1,    36,    37,   998,    39,  1220,  1001,    -1,  1003,
     3534      -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,
     3535     117,   118,   119,   120,   121,   122,  1240,    -1,    -1,  1023,
     3536     127,    65,    -1,    -1,   131,    -1,    -1,    71,    -1,    -1,
     3537    1034,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
     3538      -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,
     3539      -1,    -1,  1056,    -1,  1058,    -1,    -1,    -1,    -1,    -1,
     3540      -1,    -1,    -1,    -1,   108,  1289,  1290,    -1,    -1,  1073,
     3541    1074,    -1,    -1,   117,   118,   119,   120,   121,   122,    -1,
     3542      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3543    1094,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
     3544       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3545      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3546      25,    26,    -1,    -1,    29,    30,    31,    32,    -1,    -1,
     3547      35,    36,    37,    38,    39,    -1,    -1,  1141,    -1,    -1,
     3548      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3549      36,    37,    -1,    39,    -1,    -1,  1160,    -1,    -1,    -1,
     3550      65,    66,    -1,    68,    -1,    70,    71,    -1,    73,    74,
     3551      75,  1175,  1176,    78,    79,    80,    81,    82,    83,    65,
     3552      85,    86,    -1,    -1,    -1,    71,    -1,    -1,    93,    75,
     3553    1414,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
     3554      86,    -1,    -1,   108,    -1,   110,    -1,    93,    -1,    -1,
     3555      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3556      -1,    -1,   108,    -1,   110,    -1,   131,    -1,    -1,    -1,
     3557      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
     3558      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3559      -1,    -1,  1256,    -1,    -1,    -1,     3,     4,     5,     6,
     3560       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3561      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3562    1504,    -1,    29,    30,    31,    32,    -1,    -1,    35,    36,
     3563      37,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3564      -1,    -1,    -1,    -1,    -1,  1529,  1530,    -1,    -1,    -1,
     3565      -1,    -1,    -1,  1317,    -1,  1319,    -1,    -1,    65,    66,
     3566      -1,    68,    -1,    70,    71,    -1,    73,    74,    75,    -1,
     3567    1554,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
     3568      -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,
     3569      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3570      -1,   108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,
     3571     117,   118,   119,   120,   121,   122,    -1,    -1,     4,     5,
    24123572       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24133573      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2414        0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
    2415      282,    31,  1062,  1063,  1390,  1064,   769,     0,  1065,  1066,
    2416     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
    2417        0,     0,     0,  1074,  1075,     0,    33,     0,   284,    34,
    2418        0,    35,     0,    36,   649,     0,    38,    39,   286,     0,
    2419        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2420        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2421        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2422        0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
    2423      296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
    2424     1077,     0,  1450,     0,  -129,     0,     0,     0,     0,     0,
    2425        1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     3574      26,  1405,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3575      36,    37,    38,    39,    -1,    10,    11,    12,    13,    14,
     3576      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3577      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    65,
     3578      66,    -1,    68,    38,    70,    71,    -1,    73,    74,    75,
     3579      -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
     3580      86,    -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,
     3581      -1,    66,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,
     3582      -1,    -1,   108,  1487,   110,    -1,    -1,    82,    83,   115,
     3583      -1,   117,   118,   119,   120,   121,   122,     4,     5,     6,
     3584       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3585      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3586      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
     3587      37,    38,    39,    -1,    -1,  1539,    -1,    10,    11,    12,
     3588      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3589      23,    24,    25,    26,    27,    -1,    -1,    -1,    65,    66,
     3590      -1,    68,    -1,    70,    71,    38,    73,    74,    75,    -1,
     3591      -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
     3592      -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,
     3593      -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
     3594      -1,   108,    -1,   110,    77,    -1,    -1,    -1,   115,    -1,
     3595     117,   118,   119,   120,   121,   122,     4,     5,     6,     7,
     3596       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3597      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3598      -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,
     3599      38,    39,    -1,    10,    11,    12,    13,    14,    15,    16,
     3600      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3601      -1,    -1,    29,    30,    31,    -1,    -1,    65,    66,    -1,
     3602      68,    38,    70,    71,    -1,    73,    74,    75,    -1,    -1,
     3603      78,    79,    80,    81,    82,    83,    -1,    85,    86,    -1,
     3604      -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,    66,
     3605      -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,
     3606     108,    -1,   110,    -1,    -1,    -1,    -1,   115,    -1,   117,
     3607     118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
     3608       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3609      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3610      29,    30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,
     3611      39,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3612      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3613      -1,    29,    30,    31,    -1,    -1,    65,    66,    -1,    68,
     3614      38,    70,    71,    -1,    73,    74,    75,    -1,    -1,    78,
     3615      79,    80,    81,    82,    83,    -1,    85,    86,    -1,    -1,
     3616      -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,    66,    -1,
     3617      -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,   108,
     3618      -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3619     119,   120,   121,   122,     4,     5,     6,     7,     8,     9,
     3620      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3621      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3622      30,    31,    -1,    -1,    -1,    -1,    36,    37,    38,    39,
     3623      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3624      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3625      -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    68,    38,
     3626      70,    71,    -1,    73,    74,    75,    -1,    -1,    78,    79,
     3627      80,    81,    82,    83,    -1,    85,    86,    -1,    -1,    -1,
     3628      -1,    -1,    -1,    93,    -1,    -1,    -1,    66,    -1,    -1,
     3629      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,
     3630     110,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
     3631     120,   121,   122,     4,     5,     6,     7,     8,     9,    10,
    24263632      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2427       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2428       29,     0,     0,    30,   281,   282,    31,   283,     0,     0,
    2429        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2430      516,     0,     0,   281,   282,     0,   283,     0,     0,     0,
    2431        0,     0,     0,   284,    34,     0,    35,   516,    36,   285,
    2432        0,    38,    39,   286,  1516,     0,   287,   288,   289,   290,
    2433       41,    42,   284,   291,   292,     0,     0,     0,   285,     0,
    2434        0,   293,   286,     0,     0,   287,   288,   289,   290,    41,
    2435       42,     0,   291,   292,     0,     0,   294,     0,  1076,     0,
    2436      293,     0,     0,     0,     0,   296,   297,   298,   299,   300,
    2437      301,     0,     0,     0,     0,   294,   321,   378,     0,  -129,
    2438      993,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2439      516,   516,     1,     2,   205,     4,     5,     6,     7,     8,
    2440        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2441       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2442       27,    28,    29,     0,     0,    30,   281,   282,    31,   283,
    2443        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2444       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2445       26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
    2446       36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2447      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2448        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2449        0,     0,   109,     0,    38,    39,     0,     0,   294,     0,
    2450       44,     0,     0,    41,    42,     0,     0,   296,   297,   298,
    2451      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2452        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2453       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2454       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2455        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2456       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2457       25,  -294,     0,     0,     0,   284,    34,     0,    35,     0,
    2458       36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
    2459      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2460        0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
    2461       34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2462      343,  -294,     0,     0,     0,   781,     0,   296,   344,   298,
    2463      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2464        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2465       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2466       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2467        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2468       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2469       25,  -295,     0,     0,     0,   284,    34,     0,    35,     0,
    2470       36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
    2471      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2472        0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
    2473       34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2474      931,  -295,     0,     0,     0,   781,     0,   296,   344,   298,
    2475      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2476        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2477       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2478       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2479        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2480       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2481       26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
    2482       36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2483      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2484        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2485        0,     0,     0,     0,    38,    39,     0,     0,   294,     0,
    2486      931,     0,     0,     0,     0,   781,     0,   296,   600,   298,
    2487      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2488        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2489       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2490       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2491        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2492       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2493       26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
    2494       36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2495      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2496        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2497        0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
    2498      343,     0,     0,     0,     0,     0,     0,   296,   344,   298,
    2499      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2500        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2501       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2502       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2504        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2505        0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
    2506       36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2507      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2508        0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
    2509        0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2510      931,     0,     0,     0,     0,     0,     0,   296,   344,   298,
    2511      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2512        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2513       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2514       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2517        0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
    2518       36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
    2519      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2520        0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
    2521        0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2522     1020,     0,     0,     0,     0,     0,     0,   296,  1021,   298,
    2523      299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
    2524        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2525       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2526       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2527        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2528       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2529       26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
    2530       36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
    2531      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2532        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2533        0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
    2534      378,     0,     0,     0,     0,     0,     0,   296,   380,   298,
    2535      299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
    2536        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2537       18,    19,    20,    21,    22,    23,    24,    25,     0,   270,
    2538       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2539        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2540       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2541        0,    26,    27,    28,   492,   493,   494,    34,     0,    35,
    2542       31,    36,    37,     0,   206,    39,    40,     0,     0,     0,
    2543        0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
    2544        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2545        0,     0,     0,     0,     0,    38,    39,     0,     0,    43,
    2546        0,   207,     0,     0,     0,     0,     0,     0,     0,   208,
    2547        1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     3633      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3634      31,    -1,    -1,    -1,    -1,    36,    37,    38,    39,    -1,
     3635      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3636      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3637      -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    70,
     3638      71,    -1,    73,    74,    75,    -1,    -1,    78,    79,    80,
     3639      81,    82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,
     3640      -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3641      -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,   110,
     3642      -1,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
     3643     121,   122,     4,     5,     6,     7,     8,     9,    10,    11,
     3644      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3645      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3646      -1,    -1,    -1,    -1,    36,    37,    38,    39,    -1,    -1,
     3647      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3648      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3649      -1,    -1,    -1,    65,    66,    -1,    68,    -1,    70,    71,
     3650      -1,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
     3651      82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,
     3652      -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3653      -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,   110,    -1,
     3654      -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,
     3655     122,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3656      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3657      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3658      32,    -1,    -1,    35,    -1,    -1,    38,    39,    -1,    -1,
     3659      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3660      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3661      -1,    63,    -1,    -1,    66,    -1,    68,    -1,    70,    71,
     3662      -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3663      82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3664      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3665      -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,   110,    -1,
     3666      -1,    -1,   114,    -1,    -1,    -1,   118,     3,     4,     5,
     3667       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3668      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3669      26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
     3670      -1,    -1,    38,    10,    11,    12,    13,    14,    15,    16,
     3671      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3672      -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
     3673      66,    38,    68,    -1,    70,    71,    -1,    73,    74,    75,
     3674      -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3676      -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,
     3677      -1,    -1,   108,    -1,   110,    -1,    -1,    -1,    -1,    -1,
     3678      -1,    -1,   118,     3,     4,     5,     6,     7,     8,     9,
     3679      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3680      20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
     3681      30,    31,    32,    -1,    -1,    35,    -1,    -1,    38,    -1,
     3682      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3683      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3684      -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
     3685      70,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,     3,
     3686       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3687      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3688      24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
     3689     110,    35,    -1,    -1,    38,    -1,    -1,    -1,   118,    -1,
     3690      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3691      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3692      -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,
     3693      74,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    25483694      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2549       21,    22,    23,    24,    25,  -294,     0,    26,    27,    28,
    2550       29,     0,     0,    30,     0,     0,    31,     0,     0,     0,
    2551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2553        0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2554        0,    38,    39,     0,     0,  -294,     1,     2,   205,     4,
     3695      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3696      31,    -1,    -1,    -1,    -1,    -1,   110,    38,    -1,    -1,
     3697      -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
     3698      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,
     3700      -1,    -1,    73,    74,     4,     5,     6,     7,     8,     9,
     3701      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3702      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3703      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,   110,
     3704      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
     3705      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3706      -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
     3707      70,    71,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
     3708      -1,    -1,    82,    83,    -1,    -1,    10,    11,    12,    13,
     3709      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3710      24,    25,    26,    -1,    -1,    29,    30,    31,   108,    -1,
     3711     110,    -1,    -1,    -1,    38,    -1,    -1,    -1,   118,     4,
    25553712       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25563713      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2557       25,     0,     0,    26,    27,    28,    29,     0,    44,    30,
    2558        0,     0,    31,     0,     0,     0,   110,     0,     0,     0,
    2559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2561       34,     0,    35,     0,    36,     0,     0,    38,    39,   204,
    2562        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2563       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2564       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2565        0,     0,     0,     0,    44,    31,     0,     0,     0,     0,
    2566        0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
    2567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2568        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2569      206,    39,     0,     2,   205,     4,     5,     6,     7,     8,
    2570        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2571       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2572       27,    28,     0,     0,     0,     0,     0,   207,    31,     0,
    2573        0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
    2574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2575        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2576       36,    37,     0,   206,    39,    40,     0,     0,     0,     0,
    2577        0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
    2578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2579        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
    2580      207,     0,     0,     0,     0,     0,     0,     0,   208,     2,
    2581      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2582       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2583       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2584        0,     0,     0,     0,    31,     0,     0,     0,     0,     8,
    2585        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2586       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2587       27,    28,    34,     0,    35,     0,    36,     0,    31,    38,
    2588       39,     0,     2,   205,     4,     5,     6,     7,     8,     9,
     3714      25,    26,    66,    -1,    29,    30,    31,    71,    -1,    73,
     3715      74,    75,    -1,    38,    -1,    -1,    -1,    -1,    82,    83,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3717      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3718      -1,    66,    -1,    68,   108,    70,   110,    -1,    73,    74,
     3719      -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3721      95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3722      -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,    -1,    -1,
     3723      -1,    -1,    -1,   118,     4,     5,     6,     7,     8,     9,
    25893724      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2590       20,    21,    22,    23,    24,    25,    34,     0,    26,    27,
    2591       28,     0,     0,    38,    39,  -400,   687,    31,     0,     0,
    2592        0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
    2593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2594        0,     0,     0,     0,     0,    34,     0,    35,   643,    36,
    2595      338,     0,    38,    39,     0,     0,     0,     0,   110,     0,
    2596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2597        0,     0,     0,     0,  1369,     0,     0,     0,     0,     0,
    2598        0,     0,     0,     0,     0,     0,     0,     0,     0,   687,
    2599        0,     0,     0,     0,     0,     0,     0,   634,     2,   205,
     3725      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3726      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,
     3727      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3728      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3729      -1,    -1,    29,    30,    31,    -1,    66,    -1,    68,    -1,
     3730      70,    38,    -1,    73,    74,    -1,    -1,    -1,    -1,    -1,
     3731      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3732      -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,    66,
     3733      -1,    -1,    -1,    -1,    71,    -1,    73,    74,    75,    -1,
     3734     110,    -1,    -1,    -1,    -1,    82,    83,    -1,   118,     4,
     3735       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3736      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3737      25,    26,    -1,   110,    29,    30,    31,    -1,    -1,    -1,
     3738      -1,   118,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,
     3739      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3740      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3741      -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,    74,
    26003742       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    26013743      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2602       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2603        0,     0,     0,    31,     0,     0,     0,     0,     8,     9,
     3744      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3745      -1,    -1,    -1,    -1,    38,   110,    -1,    -1,    -1,    -1,
     3746      -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,
     3747      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3748      -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,
     3749      74,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3750      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3751      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3752      -1,    -1,    -1,    -1,    -1,    38,   110,    -1,    -1,    -1,
     3753      -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
     3754      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3755      -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,
     3756      73,    74,     4,     5,     6,     7,     8,     9,    10,    11,
     3757      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3758      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3759      -1,    -1,    -1,    -1,    -1,    -1,    38,   110,    -1,    -1,
     3760      -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,
     3761      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3762      -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
     3763      -1,    73,    74,    10,    11,    12,    13,    14,    15,    16,
     3764      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3765      -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
     3766      37,    38,    39,    -1,    -1,    -1,    -1,    -1,   110,    -1,
     3767      -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
     3768      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
     3769      -1,    -1,    -1,    -1,    71,    -1,    73,    74,    75,    -1,
     3770      -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
     3771      -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3773      -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,
     3774     117,   118,   119,   120,   121,   122,    10,    11,    12,    13,
     3775      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3776      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,
     3777      -1,    -1,    36,    37,    38,    39,    10,    11,    12,    13,
     3778      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3779      24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
     3780      -1,    65,    66,    -1,    38,    -1,    -1,    71,    -1,    73,
     3781      74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
     3782      -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,
     3783      -1,    -1,    66,    -1,    -1,    -1,    -1,    71,    -1,    73,
     3784      74,    75,    -1,    77,   108,    -1,   110,   111,    82,    83,
     3785      -1,    -1,    -1,   117,   118,   119,   120,   121,   122,    10,
     3786      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3787      21,    22,    23,    24,    25,    26,   110,    -1,    29,    30,
     3788      31,    -1,    -1,    -1,   118,    36,    37,    38,    39,    10,
     3789      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3790      21,    22,    23,    24,    25,    26,    -1,    -1,    29,    30,
     3791      31,    -1,    -1,    -1,    65,    66,    -1,    38,    -1,    -1,
     3792      71,    -1,    73,    74,    75,    -1,    -1,    78,    79,    80,
     3793      81,    82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,
     3794      -1,    -1,    93,    -1,    -1,    66,    -1,    -1,    -1,    -1,
     3795      71,    -1,    73,    74,    -1,    -1,    -1,   108,   109,   110,
     3796      -1,    82,    83,    -1,    -1,    -1,   117,   118,   119,   120,
     3797     121,   122,    10,    11,    12,    13,    14,    15,    16,    17,
     3798      18,    19,    20,    21,    22,    23,    24,    25,    26,   110,
     3799      -1,    29,    30,    31,    -1,    -1,    -1,   118,    36,    37,
     3800      38,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     3801      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3802      -1,    29,    30,    31,    -1,    -1,    -1,    65,    66,    -1,
     3803      38,    39,    -1,    71,    -1,    73,    74,    75,    -1,    -1,
     3804      78,    79,    80,    81,    82,    83,    -1,    85,    86,    -1,
     3805      -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    66,    -1,
     3806      -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,    -1,
     3807     108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,   117,
     3808     118,   119,   120,   121,   122,    10,    11,    12,    13,    14,
     3809      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3810      25,    26,   110,    -1,    29,    30,    31,    -1,    -1,    -1,
     3811     118,    36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3813      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3814      65,    66,    29,    30,    31,    -1,    71,    -1,    73,    74,
     3815      75,    38,    -1,    78,    79,    80,    81,    82,    83,    -1,
     3816      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,
     3817      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3818      -1,    -1,    -1,   108,    -1,   110,    73,    74,    -1,    -1,
     3819      -1,    -1,   117,   118,   119,   120,   121,   122,    10,    11,
     3820      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3821      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3822      -1,   108,    -1,   110,    36,    37,    38,    39,    -1,    -1,
     3823      -1,   118,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3824      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3825      24,    25,    26,    65,    66,    29,    30,    31,    -1,    71,
     3826      -1,    73,    74,    75,    38,    -1,    78,    79,    80,    81,
     3827      82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,    -1,
     3828      -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3829      -1,    -1,    66,    -1,    -1,    -1,   108,    -1,   110,    73,
     3830      74,    -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,
     3831     122,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3832      19,    20,    21,    22,    23,    24,    25,    26,    -1,    -1,
     3833      29,    30,    31,    -1,   108,    -1,   110,    36,    37,    38,
     3834      39,    -1,    -1,    -1,   118,    -1,    -1,    -1,    -1,    10,
     3835      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3836      21,    22,    23,    24,    25,    26,    65,    66,    29,    30,
     3837      31,    -1,    71,    -1,    73,    74,    75,    38,    39,    78,
     3838      79,    80,    81,    82,    83,    -1,    85,    86,    -1,    -1,
     3839      -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,   108,
     3841      -1,   110,    73,    74,    -1,    -1,    -1,    -1,   117,   118,
     3842     119,   120,   121,   122,     3,     4,     5,     6,     7,     8,
     3843       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3844      19,    20,    21,    22,    23,    24,    25,    26,    -1,   110,
     3845      29,    30,    31,   114,    -1,    -1,    -1,   118,    -1,    38,
    26043846      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2605       20,    21,    22,    23,    24,    25,  -294,     0,    26,    27,
    2606       28,    34,     0,    35,     0,    36,     0,    31,    38,    39,
    2607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2609     1371,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2610       37,     0,   336,   337,    40,   687,  -294,     0,     0,     0,
    2611        0,    41,    42,   634,     2,   205,     4,     5,     6,     7,
    2612        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2613       18,    19,    20,    21,    22,    23,    24,    25,     0,   338,
    2614       26,    27,    28,     0,     0,     0,     0,   110,     0,    31,
    2615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2617        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2618        0,    36,     0,     0,   206,    39,     0,     2,   205,     4,
     3847      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3848      30,    31,    -1,    -1,    -1,    -1,    -1,    66,    38,    68,
     3849      -1,    70,    -1,    -1,    73,    74,    -1,    -1,    10,    11,
     3850      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3851      22,    23,    24,    25,    26,    -1,    66,    29,    30,    31,
     3852      -1,    71,    -1,    73,    74,    75,    38,    -1,    -1,    -1,
     3853      -1,    -1,    82,    83,   113,    -1,    10,    11,    12,    13,
     3854      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3855      24,    25,    26,    -1,    66,    29,    30,    31,   108,    71,
     3856     110,    73,    74,    75,    38,    -1,    -1,    -1,   118,    -1,
     3857      82,    83,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3858      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3859      26,    -1,    66,    29,    30,    31,   108,    -1,   110,    73,
     3860      74,    -1,    38,    -1,    -1,    -1,   118,    10,    11,    12,
     3861      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3862      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3863      66,    -1,    -1,    -1,    -1,    38,   110,    73,    74,    -1,
     3864      -1,    -1,    -1,    -1,   118,    10,    11,    12,    13,    14,
     3865      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3866      25,    26,    -1,    66,    29,    30,    31,    -1,    -1,    -1,
     3867      73,    74,    -1,    38,   110,    -1,    -1,    -1,    -1,    -1,
     3868      -1,    -1,   118,    10,    11,    12,    13,    14,    15,    16,
     3869      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3870      -1,    66,    29,    30,    31,    -1,    -1,   110,    73,    74,
     3871      -1,    38,    -1,    -1,    -1,   118,    10,    11,    12,    13,
     3872      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3873      24,    25,    26,    -1,    -1,    29,    30,    31,    -1,    66,
     3874      -1,    -1,    -1,    -1,    38,   110,    73,    74,    -1,    -1,
     3875      -1,    -1,    -1,   118,    10,    11,    12,    13,    14,    15,
     3876      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3877      26,    -1,    66,    29,    30,    31,    -1,    -1,    -1,    73,
     3878      74,    -1,    38,   110,    -1,    -1,    -1,    -1,    -1,    -1,
     3879      -1,   118,    10,    11,    12,    13,    14,    15,    16,    17,
     3880      18,    19,    20,    21,    22,    23,    24,    25,    26,    -1,
     3881      66,    29,    30,    31,    -1,    -1,   110,    73,    74,    -1,
     3882      38,    -1,    -1,    -1,   118,    10,    11,    12,    13,    14,
     3883      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3884      25,    26,    -1,    -1,    29,    30,    31,    -1,    66,    -1,
     3885      -1,    -1,    -1,    38,   110,    73,    74,    -1,    -1,    -1,
     3886      -1,    -1,   118,    10,    11,    12,    13,    14,    15,    16,
     3887      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3888      -1,    66,    29,    30,    31,    -1,    -1,    -1,    73,    74,
     3889      -1,    38,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3890     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3891      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3892      -1,    -1,    -1,    -1,    -1,   110,    73,    74,    -1,    -1,
     3893      -1,    -1,    -1,   118,     4,     5,     6,     7,     8,     9,
     3894      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3895      20,    21,    22,    23,    24,    25,    26,    -1,    -1,    29,
     3896      30,    31,    -1,   110,    -1,    -1,    -1,    -1,    38,    -1,
     3897      -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3898      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3899      -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
     3900      70,    -1,    -1,    73,    74,    36,    37,    -1,    39,    40,
     3901      -1,    42,    -1,    -1,    45,    46,    47,    48,    49,    50,
     3902      51,    52,    -1,    -1,    55,    56,    -1,    -1,    -1,    60,
     3903      61,    -1,    63,    -1,    65,    -1,    -1,    -1,    -1,   109,
     3904      71,    -1,    -1,    -1,    75,    -1,    -1,    78,    79,    80,
     3905      81,    82,    83,    -1,    85,    86,    -1,    -1,    -1,    -1,
     3906      -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3907      -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,    -1,   110,
     3908      -1,    -1,   113,    -1,    -1,    -1,   117,   118,   119,   120,
     3909     121,   122,    -1,    -1,    -1,    -1,   127,    -1,    36,    37,
     3910     131,    39,    40,    -1,    42,    -1,    -1,    45,    46,    47,
     3911      48,    49,    50,    51,    52,    -1,    -1,    -1,    56,    -1,
     3912      -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,    -1,
     3913      -1,    -1,    -1,    71,    -1,    -1,    -1,    75,    -1,    -1,
     3914      78,    79,    80,    81,    82,    83,    -1,    85,    86,    -1,
     3915      -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,    -1,
     3916      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3917     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,   117,
     3918     118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,
     3919      -1,    36,    37,   131,    39,    40,    -1,    42,    43,    44,
     3920      45,    46,    47,    48,    49,    50,    51,    52,    -1,    -1,
     3921      55,    56,    -1,    -1,    -1,    60,    61,    -1,    63,    -1,
     3922      65,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,
     3923      75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
     3924      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,
     3925      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3926      -1,    -1,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,
     3927      -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
     3928      36,    37,   127,    39,    40,    -1,    42,    43,    44,    45,
     3929      46,    47,    48,    49,    50,    51,    52,    -1,    -1,    -1,
     3930      56,    -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,
     3931      -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    75,
     3932      -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
     3933      86,    -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,
     3934      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3935      -1,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
     3936      -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    36,
     3937      37,   127,    39,    40,    -1,    42,    -1,    -1,    45,    46,
     3938      47,    48,    49,    50,    51,    52,    -1,    -1,    -1,    56,
     3939      -1,    -1,    -1,    60,    61,    -1,    63,    -1,    65,    -1,
     3940      -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    75,    -1,
     3941      -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
     3942      -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,
     3943      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3944      -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,
     3945     117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
     3946     127,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3947      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3948      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3949      -1,    -1,    -1,    -1,    -1,    38,    -1,    36,    37,    -1,
     3950      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3951      -1,    -1,    -1,    -1,    -1,    -1,    36,    37,    -1,    39,
     3952      -1,    -1,    -1,    66,    -1,    68,    65,    70,    -1,    -1,
     3953      73,    74,    71,    -1,    -1,    -1,    75,    -1,    -1,    78,
     3954      79,    80,    81,    82,    83,    65,    85,    86,    -1,    -1,
     3955      -1,    71,    95,    -1,    93,    75,    -1,    -1,    78,    79,
     3956      80,    81,    82,    83,    -1,    85,    86,    -1,    -1,   108,
     3957      -1,   110,    -1,    93,    36,    37,    -1,    39,   117,   118,
     3958     119,   120,   121,   122,    -1,    -1,    -1,    -1,   108,    -1,
     3959     110,    -1,    -1,    36,    37,    -1,    39,   117,   118,   119,
     3960     120,   121,   122,    65,    -1,    -1,    -1,    -1,    -1,    71,
     3961      -1,    -1,    -1,    75,    -1,    -1,    78,    79,    80,    81,
     3962      82,    83,    65,    85,    86,    -1,    -1,    -1,    71,    -1,
     3963      -1,    93,    75,    -1,    -1,    78,    79,    80,    81,    82,
     3964      83,    -1,    85,    86,    -1,    -1,   108,    -1,   110,    -1,
     3965      93,    36,    37,    -1,    39,   117,   118,   119,   120,   121,
     3966     122,    -1,    -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,
     3967      -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3968      65,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,
     3969      75,    -1,    -1,    78,    79,    80,    81,    82,    83,    -1,
     3970      85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    93,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,
     3973      -1,    -1,   117,   118,   119,   120,   121,   122,     4,     5,
     3974       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3975      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3976      26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3977      -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980      66,    -1,    68,    -1,    70,    71,    -1,    73,    74,    75,
     3981      -1,    -1,    -1,    -1,    -1,    -1,    82,    83,     3,     4,
    26193982       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    26203983      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2621       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2622        0,   269,    31,     0,     0,     0,     0,     0,     0,   629,
    2623        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2625       34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2626        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2627       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2628       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2629        0,     0,     0,     0,   687,    31,     0,     0,     0,     0,
    2630        0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
    2631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2632        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2633       38,    39,     0,     2,   205,     4,     5,     6,     7,     8,
    2634        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2635       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2636       27,    28,     0,     0,     0,     0,     0,   599,    31,     0,
    2637        0,     0,     0,     0,     0,   634,     0,     0,     0,     0,
    2638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2639        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2640       36,     0,     0,   206,    39,     8,     9,    10,    11,    12,
    2641       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2642       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2643        0,     0,   281,   282,    31,   283,     0,     0,     0,     0,
    2644      207,     0,     0,     0,     0,     0,     0,     0,   270,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2646        0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
    2647       39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2648        0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
    2649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2650        0,     0,     0,     0,   294,     0,   525,     0,     0,   170,
    2651        0,     0,     0,   296,   297,   298,   299,   300,   301,     8,
    2652        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2653       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2654       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2655        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2656       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2657       26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
    2658        0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2659      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2660        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2661        0,     0,    37,     0,   336,   337,    40,     0,   294,     0,
    2662      599,    -3,     0,    41,    42,     0,     0,   296,   600,   298,
    2663      299,   300,   301,     8,     9,    10,    11,    12,    13,    14,
    2664       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2665       25,   338,     0,    26,    27,    28,     0,     0,     0,   110,
    2666      281,   282,    31,   283,     8,     9,    10,    11,    12,    13,
    2667       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2668       24,    25,     0,     0,    26,    27,    28,     0,     0,   284,
    2669       34,     0,     0,    31,   453,   649,     0,    38,    39,   286,
    2670        0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2671      292,     0,     0,     0,     0,     0,     0,   293,     0,     0,
    2672        0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
    2673        0,     0,   294,   -35,   766,     0,     0,     0,     0,     0,
    2674        0,   296,   297,   298,   299,   300,   301,     8,     9,    10,
    2675       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2676       21,    22,    23,    24,    25,   454,     0,    26,    27,    28,
    2677        0,     0,     0,   110,   281,   282,    31,   283,     0,     0,
    2678        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2679       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2680       23,    24,    25,   284,    34,    26,    27,    28,     0,   285,
    2681        0,    38,    39,   286,    31,     0,   287,   288,   289,   290,
    2682       41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
    2683        0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2684        0,     0,    34,     0,     0,     0,   294,     0,   295,    38,
    2685       39,     0,     0,     0,     0,   296,   297,   298,   299,   300,
    2686      301,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2687       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2688        0,    26,    27,    28,   643,     0,   338,     0,   281,   282,
    2689       31,   283,     0,     0,   634,     0,     0,     0,     0,     8,
    2690        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2691       19,    20,    21,    22,    23,    24,    25,   284,    34,    26,
    2692       27,    28,     0,   285,     0,    38,    39,   286,    31,     0,
    2693      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2694        0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
    2695        0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2696      294,     0,   156,    38,    39,     0,     0,     0,     0,   296,
    2697      297,   298,   299,   300,   301,     8,     9,    10,    11,    12,
    2698       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2699       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2700      256,     0,   281,   282,    31,   283,     0,     0,   110,     0,
    2701        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2703        0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
    2704       39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2705        0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
    2706        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2707        0,     0,     0,     0,   294,     0,   599,     0,     0,     0,
    2708        0,     0,     0,   296,   600,   298,   299,   300,   301,     8,
    2709        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2710       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2711       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2712        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2713       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2714       26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
    2715        0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2716      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2717        0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
    2718        0,     0,    37,     0,    38,    39,    40,     0,   294,     0,
    2719      378,     0,     0,    41,    42,     0,     0,   296,   380,   298,
    2720      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
    2721        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
    2722        0,    44,     0,     0,     0,     0,     0,     0,     0,    45,
    2723        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2724       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2725       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2726        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2727       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2728       26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
    2729        0,     0,    37,     0,   206,    39,    40,     0,     0,     0,
    2730        0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
    2731        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2732        0,     0,    37,     0,   336,   337,    40,     0,     0,    43,
    2733        0,   269,     0,    41,    42,     0,     0,     0,     0,   208,
    2734        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2735        0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
    2736        0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
    2737        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2738       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2739       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2740        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2741       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2742       26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
    2743        0,     0,     0,     0,    38,    39,     0,     0,  -294,     0,
    2744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2745        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2746        0,     0,     0,     0,    38,    39,     0,     0,  -294,   643,
    2747        0,   338,     0,     0,     0,     0,     0,     0,     0,   110,
    2748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2749        0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
    2750        0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
    2751        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2752       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2753       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2754      453,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2755       17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
    2756        0,    26,    27,    28,     0,     0,     0,    34,     0,     0,
    2757       31,     0,     0,     0,    38,    39,     0,     0,     0,     0,
    2758        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2759        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2760        0,     0,     0,     0,     0,    38,    39,     0,     0,  -294,
    2761        0,   454,     0,     0,     0,   947,     0,     0,     0,   110,
    2762        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2763       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2764       25,     0,   338,    26,    27,    28,     0,     0,     0,     0,
    2765      110,     0,    31,   453,     8,     9,    10,    11,    12,    13,
    2766       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2767       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2768       34,     0,     0,    31,     0,     0,     0,    38,    39,     0,
    2769        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2770       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2771        0,    34,    26,    27,    28,     0,     0,     0,    38,    39,
    2772        0,    31,     0,     0,   454,     0,     0,     0,  1235,     0,
    2773        0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
    2774        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2775        0,     0,     0,     0,     0,   156,   206,    39,     0,     0,
    2776        0,     0,     0,   110,     0,     8,     9,    10,    11,    12,
    2777       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2778       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2779        0,     0,     0,   269,    31,     0,     0,     0,     0,     0,
    2780        0,   270,     0,     8,     9,    10,    11,    12,    13,    14,
    2781       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2782       25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
    2783       39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2784       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2785       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2786       34,     0,    31,     0,     0,     0,   256,    38,    39,     0,
    2787        0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
    2788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2789       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2790        0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
    2791        0,     0,   634,     0,     0,     8,     9,    10,    11,    12,
    2792       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2793       23,    24,    25,     0,   454,    26,    27,    28,     0,     0,
    2794        0,     0,   110,     0,    31,     8,     9,    10,    11,    12,
    2795       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2796       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2797        0,     0,    34,     0,    31,     0,     0,     0,     0,   206,
    2798       39,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2799       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2800       25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
    2801       39,     0,    31,     0,     0,     0,   269,     0,     0,     0,
    2802        0,     0,     0,     0,   629,     0,     0,     0,     0,     0,
    2803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2804       34,     0,     0,     0,     0,     0,   599,    38,    39,     0,
    2805        0,     0,     0,     0,   634,     0,     8,     9,    10,    11,
    2806       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2807       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2808        0,     0,     0,     0,   338,    31,     0,     0,     0,     0,
    2809        0,     0,   110,     0,     8,     9,    10,    11,    12,    13,
    2810       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2811       24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
    2812       38,    39,     0,    31,     0,     0,     2,   205,     4,     5,
    2813        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2814       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2815        0,    34,    26,    27,    28,     0,     0,    44,   206,    39,
    2816        0,    31,     0,   281,   282,   110,   283,  1063,     0,  1064,
    2817        0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
    2818        0,     0,  1549,  1073,     0,     0,     0,  1074,  1075,    34,
    2819       33,    35,   284,    36,     0,     0,    38,    39,   649,     0,
    2820        0,     0,   286,   629,     0,   287,   288,   289,   290,    41,
    2821       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2822      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2823        0,     0,  -413,     0,     0,   294,     0,   378,     0,     0,
    2824      170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2825        0,     0,     0,     0,  1077,     0,   281,   282,  -129,   283,
    2826     1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,  1069,
    2827     1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,     0,
    2828     1074,  1075,     0,    33,     0,   284,     0,     0,     0,     0,
    2829        0,   649,     0,     0,     0,   286,     0,     0,   287,   288,
    2830      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2831        0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
    2832        0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2833      378,     0,     0,   170,     0,     0,     0,   296,   380,   298,
    2834      299,   300,   301,     0,     0,     0,     0,  1077,     0,     0,
    2835        0,  -129,     2,   205,     4,     5,     6,     7,     8,     9,
    2836       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2837       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2838       28,     0,     0,     0,     0,     0,     0,    31,     0,   281,
    2839      282,     0,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,
    2840     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1549,  1073,
    2841        0,     0,     0,  1074,  1075,    34,    33,    35,   284,    36,
    2842        0,     0,    38,    39,   649,     0,     0,     0,   286,     0,
    2843        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2844        0,     0,     0,     0,  1328,     0,   293,     0,     0,     0,
    2845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2846        0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
    2847      296,   380,   298,   299,   300,   301,     0,     0,   281,   282,
    2848     1077,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,  1067,
    2849     1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,
    2850        0,     0,  1074,  1075,     0,    33,     0,   284,     0,     0,
    2851        0,     0,     0,   649,     0,     0,     0,   286,     0,     0,
    2852      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2853        0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
    2854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2855      294,     0,   378,     0,     0,   170,     0,     0,     0,   296,
    2856      380,   298,   299,   300,   301,     0,     0,   281,   282,  1077,
    2857      283,  1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,
    2858     1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,
    2859        0,  1074,  1075,     0,    33,     0,   284,     0,     0,     0,
    2860        0,     0,   649,     0,     0,     0,   286,     0,     0,   287,
    2861      288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
    2862        0,     0,     0,     0,   293,   281,   282,     0,   283,     0,
    2863        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2864        0,   378,     0,     0,   170,     0,     0,     0,   296,   380,
    2865      298,   299,   300,   301,   284,     0,     0,     0,  1077,     0,
    2866      285,     0,     0,     0,   286,     0,     0,   287,   288,   289,
    2867      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2868        0,     0,   293,   281,   282,     0,   283,     0,     0,     0,
    2869        0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
    2870        0,     0,   281,   282,     0,   283,   296,   380,   298,   299,
    2871      300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
    2872        0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
    2873       42,   284,   291,   292,     0,     0,     0,   649,     0,     0,
    2874      293,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2875        0,   291,   292,     0,     0,   294,     0,   378,     0,   293,
    2876      281,   282,     0,   283,   296,   734,   298,   299,   300,   301,
    2877        0,     0,     0,     0,   294,     0,   785,     0,     0,   281,
    2878      282,     0,   283,   296,   380,   298,   299,   300,   301,   284,
    2879        0,     0,     0,     0,     0,   285,     0,     0,     0,   286,
    2880        0,     0,   287,   288,   289,   290,    41,    42,   284,   291,
    2881      292,     0,     0,     0,   285,     0,     0,   293,   286,     0,
    2882        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2883        0,     0,   294,     0,   378,     0,   293,   281,   282,     0,
    2884      283,   296,   827,   298,   299,   300,   301,     0,     0,     0,
    2885        0,   294,     0,     0,     0,     0,   281,   282,     0,   283,
    2886      296,   380,   298,   299,   300,   301,   284,     0,     0,     0,
    2887        0,     0,   285,     0,     0,     0,   286,     0,     0,   287,
    2888      288,   289,   290,    41,    42,   284,   291,   292,     0,     0,
    2889        0,   285,     0,     0,   293,   286,     0,     0,   287,   288,
    2890      289,   290,    41,    42,     0,   291,   292,     0,     0,   518,
    2891        0,     0,     0,   293,     0,     0,     0,     0,   296,   380,
    2892      298,   299,   300,   301,     0,     0,     0,     0,   521,     0,
    2893        0,     0,     0,     0,     0,     0,     0,   296,   380,   298,
    2894      299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
    2895        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2896       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2897       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2899        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2900        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2901        0,    36,     0,     0,   206,    39,   474,     2,   205,     4,
    2902        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2903       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2904       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2905        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2908       34,     0,    35,     0,    36,     0,     0,    38,    39,     2,
    2909      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2910       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2911       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2912        0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
    2913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2915        0,     0,    34,     0,    35,     0,    36,     0,     0,   206,
    2916       39
    2917 };
    2918 
    2919 #define yypact_value_is_default(yystate) \
    2920   ((yystate) == (-1356))
    2921 
    2922 #define yytable_value_is_error(yytable_value) \
    2923   YYID (0)
    2924 
    2925 static const yytype_int16 yycheck[] =
    2926 {
    2927        0,     1,     0,   184,    43,   698,   115,   184,    43,   184,
    2928       43,   238,    55,   698,     1,   167,   168,   698,   104,   203,
    2929      543,   294,   184,   455,   185,   218,   280,   278,   456,    29,
    2930       30,   656,    32,   184,    32,   348,   611,   184,   520,   185,
    2931      759,   611,     1,    43,   184,    45,  1006,    45,   186,   629,
    2932      499,   579,   609,     0,   503,    55,   902,   999,   462,  1042,
    2933     1043,    61,   105,    61,    64,   108,    64,    67,   154,    67,
    2934      902,   348,   780,    43,    43,   609,   609,    32,    39,    51,
    2935       67,    81,    82,   264,   777,    32,  1419,   264,   609,   264,
    2936     1338,   200,   777,   609,    28,  1055,   777,   529,   723,    63,
    2937       95,  1062,   264,   609,   265,   105,   699,    39,   108,   110,
    2938      417,    82,    43,   264,   699,   115,   117,   264,   109,   265,
    2939     1475,   497,   260,   261,   264,   609,    64,   363,   721,    82,
    2940      437,   367,    39,     0,   612,   130,   721,   109,   445,   110,
    2941      618,  1074,  1075,   344,    78,   184,   146,    82,   146,   184,
    2942      111,   184,   425,   426,   154,  1510,     0,  1512,   111,   159,
    2943     1493,   159,  1043,   425,   426,    32,   107,   227,   132,     0,
    2944        1,   109,   109,   109,   217,   111,   255,   109,    39,   111,
    2945        0,     1,   283,   119,   184,   185,   246,   185,    32,     0,
    2946      131,    39,     0,  1441,    72,   296,   297,    64,    44,    45,
    2947      200,    32,   109,    39,   111,    83,    84,   308,   208,  1142,
    2948      208,   680,    32,    39,   184,   184,   409,   217,   495,   812,
    2949      220,    32,   220,   744,    32,   264,   110,   227,   271,   264,
    2950     1062,   264,   116,    64,   109,   278,    67,   613,   744,   501,
    2951      513,   617,   242,   344,   405,   518,   246,    67,   521,    11,
    2952      250,   251,   250,   184,   132,   341,   131,   511,   520,   405,
    2953      744,   109,   638,   111,   264,   265,   642,   265,     0,   115,
    2954      109,   271,   111,   109,   109,   111,   851,    45,   278,   380,
    2955      119,   851,   839,   109,   370,   111,   395,    82,   489,   110,
    2956      718,   819,   251,   293,   455,   250,   117,   890,   611,    85,
    2957       32,  1009,   575,   250,   347,   839,   839,  1290,  1291,   455,
    2958       45,    43,    82,    45,   423,  1257,    44,    45,   839,   112,
    2959      429,   364,   117,   839,   586,   368,   487,   113,   328,    61,
    2960      328,   114,    64,   839,   293,    67,   116,    82,   417,   109,
    2961       96,   487,   110,  1304,     3,   112,   815,   347,   348,   116,
    2962       44,    45,  1071,   220,     3,   839,   825,   489,   437,   116,
    2963     1241,   597,    72,   841,   364,   110,   445,   123,   368,    82,
    2964       72,   840,   117,    83,    84,   110,    72,   145,     0,   379,
    2965     1226,    83,    84,   250,   691,   978,   114,    83,    84,   220,
    2966      960,   644,   645,   978,  1226,   395,   109,    96,   129,   600,
    2967      131,   111,   959,     0,   640,   405,   250,   405,  1526,   662,
    2968     1291,   255,   109,   513,   146,   515,  1009,   119,   518,   250,
    2969      114,   521,   676,   423,   123,   959,   959,   159,   629,   429,
    2970      250,   431,  1415,   634,  1526,  1553,   132,  1496,    72,   250,
    2971      208,  1021,   250,  1502,   255,   131,   532,  1407,  1408,    83,
    2972       84,   116,   184,   185,  1546,   455,   557,   558,   559,   112,
    2973      460,  1553,   109,   116,  1523,   465,  1059,   132,   116,  1528,
    2974      238,   110,  1304,   208,   474,   471,   208,   111,   117,   479,
    2975      109,   110,   349,   736,   132,   115,   116,   487,   220,   487,
    2976      109,   491,   131,   491,    80,   495,   697,   873,   498,   600,
    2977      500,   131,   270,  1464,   239,   657,   938,   758,   762,   109,
    2978     1471,   643,   644,   645,   946,   474,  1141,   698,   250,   968,
    2979      520,   698,  1004,   698,   928,   111,   109,   113,   666,   297,
    2980      662,   117,   264,   109,  1415,   270,   698,   537,   851,   700,
    2981      540,  1134,   542,   543,   491,   109,  1116,   698,   116,  1134,
    2982      116,   698,  1030,  1031,   700,   664,    72,   110,   698,   294,
    2983      992,   520,   297,  1524,   132,   697,   132,    83,    84,   110,
    2984     1039,  1040,   773,   417,   851,   828,   344,   110,   537,  1423,
    2985      112,   540,   110,   542,   543,  1304,   116,   630,   116,   965,
    2986      590,    30,   110,   437,   830,   111,   328,   597,   834,  1192,
    2987     1193,   445,   132,   646,   736,   110,   417,  1192,  1193,   609,
    2988      696,   611,   691,   480,    90,    91,   348,   119,   661,   643,
    2989      644,   645,   124,   125,   491,   109,   437,   111,  1097,  1098,
    2990      630,   590,  1464,   734,   445,    80,  1132,   116,   662,  1471,
    2991     1136,   773,    81,    82,    72,   112,   646,   491,    76,   116,
    2992      126,   127,   652,   132,   733,    83,    84,   425,   426,   116,
    2993      491,   661,  1381,   663,   664,   665,   111,   110,   113,   116,
    2994      110,   491,   117,   405,  1102,   132,   116,  1521,   489,   780,
    2995      491,   109,  1526,   491,   680,   132,   772,   964,   924,   116,
    2996      115,   119,  1524,   109,   116,   888,   828,   109,   698,   111,
    2997      700,   116,  1546,   109,   663,   132,   665,   119,   116,  1553,
    2998      132,   109,   736,   713,   116,   758,   909,   132,   453,   719,
    2999       64,   456,   110,   455,   132,    68,   827,   462,   116,    72,
    3000      132,   731,    75,   501,    77,    72,    10,    11,    12,    13,
    3001       14,    84,   894,   970,   744,   745,    83,    84,   110,  1468,
    3002       72,  1470,   520,   109,   116,   111,   132,   116,   758,   491,
    3003        3,    83,    84,   495,   631,    39,   112,    10,    11,    12,
    3004       13,    14,   731,   132,   111,   110,   110,   938,   513,   109,
    3005      515,   116,   116,   518,   112,   946,   521,   109,   116,   110,
    3006      598,   132,   938,    67,   112,   116,    39,  1320,   116,   110,
    3007      946,   110,  1271,   242,   828,   116,  1525,   116,   109,  1402,
    3008     1279,  1280,  1281,   109,    45,   111,   110,  1402,   586,   815,
    3009     1021,   110,   116,   112,    67,   110,  1419,   116,   114,   825,
    3010       61,   116,   600,    64,  1419,   110,    67,  1530,   109,   839,
    3011      111,   116,   131,   132,   840,  1530,     1,   691,    72,  1530,
    3012     1034,   851,    76,    72,   114,    74,    75,   724,  1327,    83,
    3013       84,   629,    64,    72,    83,    84,   634,  1103,   211,   132,
    3014      110,   738,   121,   122,    83,    84,   116,   609,  1132,   611,
    3015      691,   132,  1136,  1137,   114,   109,   697,   111,   109,   733,
    3016       45,   109,    72,   111,   894,   119,    76,    88,    89,  1492,
    3017     1493,   901,   902,    83,    84,  1057,   110,  1492,  1493,    82,
    3018     1042,   110,   116,   110,   116,   146,   109,   116,   111,   116,
    3019     1021,   110,   733,   109,   924,   110,   109,   116,   159,   109,
    3020      112,   116,  1205,  1206,   109,  1208,   111,    82,   938,   119,
    3021      379,  1214,   120,   902,  1217,   109,   946,   111,   129,   104,
    3022      564,   565,   566,   567,   185,   110,   109,   159,   111,   128,
    3023     1161,  1062,   773,    94,   964,   832,   698,    72,   700,    74,
    3024       75,    64,    92,    93,    85,    86,    87,   208,    83,    84,
    3025      115,   116,   969,   718,   984,   109,   110,   111,    81,   220,
    3026      145,   116,   117,   993,   109,   110,   111,  1251,   109,   154,
    3027      111,  1001,   113,   114,  1004,   703,  1006,   705,   351,   114,
    3028      353,   111,   744,   745,   131,  1124,   110,   111,   220,    58,
    3029       59,   460,   109,   116,   109,   984,   465,   835,   112,  1161,
    3030      109,   110,   111,   115,   116,   902,   109,   110,   111,   109,
    3031     1241,   112,  1001,  1039,  1040,  1004,   110,  1006,   110,   204,
    3032       58,    59,    60,   208,   110,  1055,   258,   110,   902,   498,
    3033      262,   500,   116,   117,   110,  1065,   159,   110,  1068,  1069,
    3034     1070,   902,   112,  1505,   116,   117,    72,  1178,    74,    75,
    3035       76,   111,   902,   238,   239,  1339,   112,    83,    84,  1343,
    3036      131,   902,   116,  1093,   902,   114,  1055,   328,   441,    44,
    3037       45,  1097,  1098,   109,  1377,   112,  1065,   839,   110,  1068,
    3038     1069,  1070,   110,   109,    72,   270,    74,    75,   273,   851,
    3039     1263,  1264,  1265,  1555,  1124,    83,    84,   220,   112,     4,
    3040        5,     6,     7,     8,     9,  1221,   560,   561,   969,   294,
    3041      112,   112,   297,   562,   563,   568,   569,   349,   112,   969,
    3042      117,   109,     3,    29,   117,   117,   114,  1024,  1290,    10,
    3043       11,    12,    13,    14,    72,   258,    74,    75,    76,   262,
    3044      116,   110,   110,   114,   405,    83,    84,   112,    10,    11,
    3045       12,    13,    14,   117,   115,   110,   341,   115,    39,   344,
    3046      116,  1445,   115,   928,    69,  1062,    71,   109,   116,  1199,
    3047      110,   109,   970,   111,   110,   132,   938,    39,   363,   117,
    3048      110,   119,   367,   652,   946,   370,    67,  1204,  1062,   117,
    3049      110,  1221,    72,   110,    74,    75,  1226,   110,   430,   110,
    3050        3,  1062,   964,    83,    84,    67,   116,    10,    11,    12,
    3051       13,    14,  1062,  1239,     4,     5,     6,     7,     8,     9,
    3052      110,  1062,   110,  1021,  1062,   110,   349,   132,  1245,   115,
    3053       29,   111,   110,  1263,  1264,  1265,    39,  1226,   110,   110,
    3054      425,   426,   110,    33,   713,  1271,   110,   109,   480,   111,
    3055      719,   902,   110,  1279,  1280,  1281,   110,   119,    72,  1398,
    3056       74,    75,    76,   110,    67,   110,   131,   110,   453,    83,
    3057       84,   456,   112,   110,  1263,  1264,  1265,   462,   110,    69,
    3058      115,    71,   110,  1540,    85,    86,    87,   116,   112,   474,
    3059     1320,  1321,   112,   110,     4,     5,     6,     7,     8,     9,
    3060      110,  1327,   110,   471,   116,   116,  1203,   430,   109,   114,
    3061      111,   117,   113,   114,   499,   112,   501,   110,   503,  1530,
    3062     1161,  1338,   116,  1530,  1397,  1530,   110,   116,   513,  1226,
    3063      515,  1320,  1321,   518,   116,   520,   521,  1102,  1530,   110,
    3064     1531,   117,  1203,  1204,   112,  1375,   109,   532,  1378,  1530,
    3065      109,   109,  1226,  1530,  1204,  1531,   109,   480,   109,    69,
    3066     1530,    71,   112,   132,  1555,  1226,  1505,  1397,  1398,   115,
    3067      110,   603,   110,   110,   129,   114,  1226,  1407,  1408,  1555,
    3068       72,   115,    74,    75,  1245,  1226,  1375,   112,  1226,  1378,
    3069      132,    83,    84,  1423,   110,  1245,   116,   112,  1428,   631,
    3070     1241,   586,  1299,   116,   636,   112,    55,  1304,   110,   110,
    3071      110,    47,   597,   112,  1065,   600,  1446,   109,  1407,  1408,
    3072      110,   112,   114,   112,  1441,   894,   112,    53,  1458,   112,
    3073     1304,   112,   901,   115,  1423,   132,   132,   132,  1299,  1428,
    3074      110,   115,   117,  1304,   629,   132,   110,   132,   115,   634,
    3075      112,   112,     0,     1,  1304,   640,   105,  1446,   112,   108,
    3076      112,  1530,   112,  1304,   112,  1530,  1304,  1530,   112,  1458,
    3077       96,   112,   110,   110,   109,  1505,  1506,  1338,   112,   112,
    3078      603,   109,   109,    60,    32,  1515,   110,   110,  1338,   114,
    3079      132,  1521,   724,   112,   112,   117,  1526,    45,   110,   112,
    3080     1530,  1531,   110,  1531,    96,   154,   738,    96,   631,   109,
    3081      109,   696,   680,   636,  1544,   132,  1546,  1506,   115,    67,
    3082     1550,   112,   110,  1553,   993,  1555,  1515,  1555,   110,   110,
    3083      110,  1561,  1521,   718,    51,  1565,    53,  1526,   116,    56,
    3084       57,    58,    72,    60,    74,    75,    76,    42,    72,   117,
    3085       74,    75,    76,    83,    84,  1544,   104,  1546,    75,    83,
    3086       84,  1550,   132,   748,  1553,   132,   192,  1464,   217,   110,
    3087       87,    88,  1561,   110,  1471,  1226,  1565,    96,    96,   109,
    3088     1441,    72,   132,    74,    75,    76,   132,   772,   110,   215,
    3089     1464,  1441,    83,    84,   110,   110,   117,  1471,   146,   225,
    3090      832,   724,   110,  1464,   132,   115,   154,   155,   112,   112,
    3091     1471,   109,   132,   115,  1464,   738,   115,   110,   109,   132,
    3092      111,  1471,   271,  1464,  1093,   110,  1464,  1524,   119,   278,
    3093     1471,   132,    72,  1471,    74,    75,    76,   185,   110,   110,
    3094     1077,   570,   573,    83,    84,   830,   571,   815,   572,   834,
    3095     1524,   574,   200,  1226,    64,   203,   204,   825,  1493,  1565,
    3096      208,  1383,  1343,  1524,    74,  1137,  1314,  1471,   294,   109,
    3097     1321,   111,   840,  1093,  1524,   453,   453,   946,   705,   119,
    3098      465,   229,   948,  1524,   993,   233,  1524,   235,   590,   748,
    3099      894,    10,    11,    12,    13,    14,   244,   758,   347,   658,
    3100     1245,   966,   250,   491,   578,   578,   116,   255,  1473,   832,
    3101     1475,   578,    -1,    -1,    -1,   364,    -1,   265,    -1,   368,
    3102       39,    -1,    -1,    -1,  1375,   273,    -1,  1378,    -1,    -1,
    3103     1199,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   924,
    3104       -1,    -1,  1540,   928,    -1,  1510,    -1,  1512,    67,   159,
    3105       -1,    -1,    -1,    72,    -1,    74,    75,    76,    72,    -1,
    3106       74,    75,    76,    -1,    83,    84,     0,    -1,  1530,    83,
    3107       84,    -1,  1423,    -1,    -1,    -1,    72,  1428,    74,    75,
    3108       76,    -1,   431,   968,   969,   970,    -1,    83,    84,    -1,
    3109      109,    -1,  1024,   341,    -1,   109,   344,   111,    32,    -1,
    3110      119,    -1,   350,    -1,    -1,   119,    -1,  1458,    -1,    -1,
    3111      220,    -1,    -1,   109,    -1,   363,   442,    -1,    -1,   367,
    3112       -1,    -1,   370,   119,    -1,    -1,    -1,   344,   345,    -1,
    3113       -1,    -1,    -1,    67,    -1,    -1,  1021,    -1,    -1,   356,
    3114      357,    10,    11,    12,    13,    14,    -1,    -1,   258,    -1,
    3115      476,    -1,   262,    72,    -1,    74,    75,    76,    -1,    -1,
    3116       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,   278,   417,
    3117       39,  1039,  1040,    -1,    -1,    -1,    26,    27,    28,    -1,
    3118       -1,    -1,    -1,    -1,   432,    -1,    -1,   513,    -1,   437,
    3119      109,    -1,   518,  1544,    -1,   521,    -1,   445,    67,  1550,
    3120      119,  1024,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3121     1561,    -1,    -1,    -1,  1565,    -1,    -1,  1102,  1103,    -1,
    3122       -1,   155,    -1,   471,    -1,    -1,   474,    -1,    -1,  1097,
    3123     1098,    39,    -1,    -1,    10,    11,    12,    13,    14,   349,
    3124      109,   489,   111,   491,    -1,    -1,    -1,    97,   597,    99,
    3125      119,   499,    -1,    -1,    -1,   503,    -1,    -1,    -1,    67,
    3126       -1,    -1,    -1,    39,    72,    -1,    74,    75,    76,    -1,
    3127       -1,  1203,    -1,    -1,   124,    83,    84,    -1,    -1,    -1,
    3128       -1,   630,    -1,    -1,   532,   533,    -1,    -1,    -1,    -1,
    3129       -1,    67,    -1,    -1,    -1,   229,    72,   646,    74,    75,
    3130       76,   109,    -1,   111,    -1,    -1,    -1,    83,    84,    -1,
    3131       -1,   119,   661,    -1,    -1,    -1,   250,    -1,    -1,    -1,
    3132      430,   255,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3133      180,   579,    -1,   109,    -1,   111,  1221,   447,   188,    -1,
    3134      190,   191,    -1,   119,    -1,   195,    -1,   197,   198,   597,
    3135      598,    -1,   600,   679,    39,    -1,    -1,    -1,    -1,    -1,
    3136     1245,    -1,   688,   611,    -1,    -1,   692,  1299,    -1,    -1,
    3137      480,  1239,    -1,    10,    11,    12,    13,    14,    -1,    -1,
    3138     1203,   629,    67,    -1,    -1,    -1,   634,    72,    -1,    74,
    3139       75,    76,   640,    -1,    -1,   643,   644,   645,    83,    84,
    3140       -1,    -1,    39,  1271,    -1,    -1,    -1,    -1,    -1,   758,
    3141       -1,  1279,  1280,  1281,   662,    -1,   350,   267,    -1,    -1,
    3142       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3143       67,    -1,   680,    -1,   119,    72,    -1,    74,    75,    76,
    3144       -1,    -1,    -1,   691,    -1,    -1,    83,    84,   696,   697,
    3145       -1,    -1,   700,  1338,    -1,    -1,    -1,    -1,    -1,  1327,
    3146       -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3147       -1,    -1,   109,    -1,    -1,    -1,  1299,    -1,    -1,    -1,
    3148       -1,    -1,   119,   417,    -1,   733,    -1,    -1,   736,    -1,
    3149       -1,    39,    -1,   603,    -1,    -1,    -1,   745,   432,    -1,
    3150      748,    -1,    -1,   437,    -1,    -1,    -1,    -1,   725,    -1,
    3151      727,   445,    -1,    -1,    -1,    -1,    -1,   734,   735,    67,
    3152       -1,   631,   739,    -1,   772,   773,   636,    -1,    -1,    -1,
    3153      778,    -1,    -1,    -1,   751,    -1,    -1,   471,    -1,   756,
    3154       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
    3155       -1,    -1,    -1,    -1,    -1,   489,  1441,   491,    -1,    -1,
    3156       -1,   109,    -1,   111,    -1,   782,    -1,   815,    -1,    -1,
    3157       -1,   119,    -1,    -1,   131,   924,    -1,   825,    -1,    -1,
    3158      828,    -1,   830,    -1,    -1,   833,   834,   835,  1473,    -1,
    3159     1475,    -1,   840,    -1,    -1,    -1,    -1,    -1,    -1,   533,
    3160      926,    -1,   850,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3161      827,    -1,    -1,    -1,   724,    -1,    -1,    -1,    -1,    -1,
    3162       -1,    -1,    -1,    -1,    -1,  1510,    -1,  1512,   738,    -1,
    3163       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3164       20,    21,    22,    23,    24,    25,    26,    27,   758,    -1,
    3165       30,    31,    32,    -1,   902,  1540,    -1,    -1,    -1,    39,
    3166       -1,    -1,    -1,    -1,   598,    -1,    -1,   884,   885,   886,
    3167      887,    -1,   889,    -1,    -1,    -1,   924,    -1,    10,    11,
    3168       12,    13,    14,    -1,    -1,    -1,     0,    67,   905,    -1,
    3169       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3170       -1,    -1,   919,    83,    84,    -1,    -1,    39,    -1,   643,
    3171      644,   645,   960,    -1,    -1,    -1,    -1,    -1,    32,    -1,
    3172      968,   969,   832,    -1,    -1,    -1,    -1,    -1,   662,   109,
    3173       -1,   111,   582,   583,    -1,    67,    -1,    -1,   986,   119,
    3174       72,   958,    -1,    -1,    76,    -1,   680,  1073,    -1,    -1,
    3175       -1,    83,    84,    67,    -1,    -1,    -1,   691,    -1,    -1,
    3176       -1,    -1,   612,   697,    -1,   615,   616,    -1,   618,    -1,
    3177      620,   621,    -1,  1021,    -1,   625,   626,   109,    -1,    -1,
    3178       -1,   998,    -1,    -1,    -1,    -1,  1034,   119,  1005,    -1,
    3179       -1,  1039,  1040,  1010,  1042,  1043,    -1,    -1,  1015,   733,
    3180     1017,    -1,   736,    -1,  1021,  1022,  1023,    -1,    -1,  1026,
    3181       -1,    -1,    -1,    -1,  1062,    -1,    -1,    -1,  1035,    -1,
    3182       -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
    3183       -1,    -1,    -1,    -1,    -1,    -1,  1053,  1054,    -1,   773,
    3184       -1,   155,    -1,    -1,    -1,     0,    -1,    -1,    -1,  1097,
    3185     1098,    39,    -1,    -1,   704,  1103,    -1,    -1,    -1,   709,
    3186      710,    -1,    -1,  1080,    -1,   715,  1083,    -1,    -1,    -1,
    3187       -1,    -1,  1221,    -1,    -1,    -1,    -1,    32,    -1,    67,
    3188       -1,   815,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3189       -1,   825,    -1,    -1,   828,    83,    84,    -1,    -1,   833,
    3190       -1,   835,    -1,    -1,  1121,    -1,   840,    -1,    -1,    -1,
    3191     1127,  1128,    67,  1161,  1024,    -1,    -1,    -1,    -1,    -1,
    3192       -1,   109,  1139,    -1,    -1,    -1,    -1,  1144,    -1,    -1,
    3193     1147,   119,  1149,    -1,    -1,  1152,   250,    -1,    -1,    -1,
    3194       -1,   255,   188,    -1,    -1,    -1,    -1,    -1,  1165,   195,
    3195       -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,
    3196       -1,  1178,     0,  1180,  1181,  1182,  1183,    -1,   902,    -1,
    3197       -1,    -1,    -1,  1221,    -1,    -1,    -1,    -1,  1226,  1196,
    3198       -1,  1198,    -1,    -1,    -1,  1202,    -1,  1313,    -1,    -1,
    3199       -1,  1239,    -1,  1241,    32,     0,     1,  1245,    -1,    -1,
    3200      155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3201       -1,    -1,    -1,    -1,  1231,  1232,    -1,    -1,    -1,    -1,
    3202       -1,   267,    -1,  1271,    -1,    -1,    -1,    32,    -1,    67,
    3203       -1,  1279,  1280,  1281,    -1,    -1,   350,    -1,    -1,    -1,
    3204       -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,  1397,    -1,
    3205       -1,    -1,   986,    -1,    -1,    -1,  1304,    -1,    -1,    64,
    3206       -1,    -1,    67,    -1,    -1,  1282,  1283,    -1,    -1,    -1,
    3207       -1,    -1,    -1,    -1,    -1,  1292,    -1,   323,    -1,  1327,
    3208       -1,    -1,    -1,    -1,    -1,   331,    -1,    -1,   334,    -1,
    3209     1338,    -1,    -1,  1203,    -1,   250,    -1,    -1,    -1,    -1,
    3210      255,    -1,    -1,   417,    -1,  1039,  1040,    -1,  1042,  1043,
    3211       -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   432,    -1,
    3212       -1,    -1,    -1,   437,    -1,    -1,    -1,  1344,  1062,    -1,
    3213       -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1356,
    3214       -1,  1358,  1359,  1360,    -1,    -1,  1472,    -1,  1474,    -1,
    3215      155,   397,    -1,  1370,    -1,   401,    -1,   471,    -1,    -1,
    3216       -1,    -1,  1379,  1097,  1098,    -1,    -1,  1415,    -1,    -1,
    3217       -1,    -1,    -1,    -1,    -1,   489,    -1,   491,  1395,    -1,
    3218       -1,    -1,    -1,  1509,    -1,  1511,    -1,    -1,    -1,  1299,
    3219       -1,    -1,    -1,  1441,    -1,   350,    -1,    -1,    -1,    -1,
    3220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3221       -1,    -1,   250,    -1,    -1,   220,  1464,   255,    -1,   533,
    3222       -1,    -1,    -1,  1471,    -1,    -1,    -1,  1161,  1554,    -1,
    3223     1556,    -1,    -1,    -1,  1451,  1452,    -1,    -1,    -1,    -1,
    3224      486,    -1,    -1,  1569,  1570,   250,    -1,  1464,    -1,  1099,
    3225       -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,    -1,    -1,
    3226       -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3227     1204,    -1,    -1,    -1,    -1,    -1,  1524,   432,    -1,    -1,
    3228       -1,    -1,   437,  1531,   598,    -1,    -1,  1504,    -1,    -1,
    3229      445,  1508,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3230       -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
    3231       -1,    -1,   350,    -1,    -1,    -1,   471,    -1,    -1,    -1,
    3232     1537,    -1,  1539,    -1,    -1,    -1,    -1,    -1,    -1,   643,
    3233      644,   645,   578,   579,   489,    -1,   491,  1271,    -1,    -1,
    3234       -1,    -1,    -1,    -1,    -1,  1279,  1280,  1281,   662,    -1,
    3235     1567,  1568,    -1,    -1,    -1,    -1,  1290,  1291,  1575,  1576,
    3236       -1,    -1,    -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,
    3237     1304,    -1,    -1,  1223,    -1,    -1,    -1,   691,   533,   417,
    3238       -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
    3239       -1,    -1,    -1,  1327,   432,    -1,    -1,    -1,    -1,   437,
    3240       -1,    -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,
    3241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,
    3242       -1,   667,   736,    -1,    -1,   671,    -1,   432,    -1,    -1,
    3243       -1,    -1,    -1,   471,    -1,    -1,    -1,    -1,    -1,    -1,
    3244       -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
    3245       -1,   489,    -1,   491,    -1,    -1,    -1,    -1,   704,   773,
    3246       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3247       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3248       27,  1415,    -1,    -1,    -1,    -1,   491,    -1,   643,   644,
    3249      645,    -1,    39,    -1,    -1,   533,    -1,    -1,    -1,    -1,
    3250       -1,   815,    -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,
    3251       -1,   825,    -1,    -1,   828,    -1,    -1,    -1,    -1,   833,
    3252       67,   835,    -1,    -1,    -1,   680,   840,    -1,   533,    -1,
    3253     1464,    -1,    -1,    -1,    -1,    -1,   691,  1471,    -1,    -1,
    3254       -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3256      598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3257       -1,    -1,    -1,   819,    -1,    -1,    -1,    -1,   733,    -1,
    3258       -1,   736,    -1,    -1,    -1,    26,    27,    28,   902,    -1,
    3259     1524,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
    3260       -1,    -1,    -1,    -1,    -1,   643,   644,   645,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   773,    -1,
    3262       -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,
    3263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,   644,
    3264      645,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3265       -1,    -1,    -1,   691,    -1,    -1,    97,   662,    99,   697,
    3266      815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3267      825,    -1,   986,   828,    -1,    -1,    -1,    -1,   833,    -1,
    3268      835,    -1,    -1,    -1,    -1,   840,   932,    -1,    -1,    -1,
    3269       -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,   736,     4,
    3270        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3271       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3272       25,    26,    27,    -1,    -1,  1039,  1040,    -1,  1042,  1043,
    3273       -1,   736,    -1,    -1,    39,   773,    -1,    -1,    -1,   180,
    3274       -1,    -1,    -1,    -1,    -1,    -1,    -1,   902,  1062,   190,
    3275      191,    -1,    -1,    -1,   195,    -1,   197,   198,    -1,    -1,
    3276       -1,    -1,    67,    -1,    69,  1011,    71,    72,    -1,    74,
    3277       75,    76,    -1,    -1,    -1,    -1,    -1,   815,    83,    84,
    3278       -1,  1027,    -1,  1097,  1098,    -1,    -1,   825,    -1,    -1,
    3279      828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,    -1,
    3280       -1,    -1,   840,    -1,    10,    11,    12,    13,    14,    15,
    3281       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3282       26,    27,    28,   828,    30,    31,    32,    -1,    -1,    -1,
    3283      835,   986,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3284       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,
    3285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,
    3286       -1,    67,    -1,    -1,   902,    -1,    72,    -1,    74,    75,
    3287       76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,
    3288       -1,    -1,    -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,
    3289     1204,    -1,    -1,    -1,    -1,    -1,    -1,   902,    -1,    -1,
    3290       -1,    -1,    -1,   109,    -1,   111,    -1,  1062,    -1,    -1,
    3291       -1,    -1,  1226,   119,    -1,    45,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
    3293       -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
    3294       -1,    -1,  1097,  1098,    -1,    -1,    -1,    -1,   986,    -1,
    3295       37,    38,    -1,    40,    -1,    -1,    -1,  1271,    -1,    -1,
    3296       -1,    -1,    -1,    -1,   969,  1279,  1280,  1281,    -1,    -1,
    3297       -1,    -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,    66,
    3298      110,   986,    -1,    -1,    -1,    72,   116,    -1,    -1,    76,
    3299     1304,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3300       87,  1039,  1040,    -1,  1042,  1043,  1161,    94,    -1,    -1,
    3301       -1,    -1,    -1,  1327,    -1,   145,    -1,    -1,    -1,    -1,
    3302       -1,    -1,   109,    -1,  1062,   155,    -1,    -1,    -1,   159,
    3303       -1,   118,   119,   120,   121,   122,   123,  1042,  1043,    -1,
    3304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,
    3305       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,    -1,  1097,
    3306     1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3307       -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,   208,    -1,
    3308       -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,    -1,
    3309      220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3310       -1,  1415,    -1,    -1,    -1,    -1,    -1,    -1,   238,   239,
    3311       -1,    -1,    -1,    -1,    -1,    -1,  1271,    -1,    -1,    -1,
    3312       -1,    -1,    -1,  1161,  1279,  1280,  1281,    -1,    -1,    -1,
    3313       -1,    -1,   262,    -1,    -1,  1290,  1291,    -1,    -1,    -1,
    3314      270,   582,   583,    -1,    -1,    -1,    -1,    -1,    -1,  1304,
    3315     1464,    -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,
    3316       -1,    -1,    -1,    -1,   294,    -1,  1204,   297,    -1,    -1,
    3317       -1,   612,  1327,    -1,   615,   616,    -1,   618,    -1,   620,
    3318      621,    -1,    -1,    -1,   625,   626,    -1,    -1,  1226,    -1,
    3319       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1203,  1204,
    3320       -1,  1239,    -1,  1241,    -1,    -1,    -1,    -1,    -1,    -1,
    3321     1524,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,
    3322       -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3323       -1,    -1,    -1,  1271,    -1,    -1,    64,    -1,    -1,    -1,
    3324     1245,  1279,  1280,  1281,    -1,    -1,    74,    -1,    76,    -1,
    3325       78,    -1,  1290,  1291,    -1,    -1,    -1,    85,    -1,    -1,
    3326     1415,    -1,    -1,    -1,    -1,    -1,  1304,    -1,   709,   710,
    3327       -1,    -1,    -1,    -1,   715,    -1,    -1,    -1,    -1,    -1,
    3328       -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,   116,  1327,
    3329      118,   119,   120,    -1,  1299,   425,   426,    -1,    -1,  1304,
    3330       -1,    -1,   432,    -1,    -1,    -1,    -1,    -1,    -1,  1464,
    3331       -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,
    3332       -1,    -1,    -1,   453,    -1,    -1,   456,    -1,    -1,    -1,
    3333       -1,   159,   462,  1338,     3,     4,     5,     6,     7,     8,
    3334        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3335       19,    20,    21,    22,    23,    24,    25,    26,    27,   489,
    3336       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1524,
    3337       39,   501,    -1,    -1,    -1,    -1,    -1,  1415,    -1,    -1,
    3338       -1,    -1,    44,   513,    -1,   515,    -1,    -1,   518,    -1,
    3339      520,   521,   220,    -1,   222,   223,   224,    -1,    67,    -1,
    3340       69,    -1,    71,   533,    -1,    74,    75,    -1,    -1,    -1,
    3341     1415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3342       -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,    90,    -1,
    3343      258,    -1,    -1,  1471,   262,    -1,  1441,    -1,   100,    -1,
    3344       -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
    3345      278,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,  1464,
    3346       -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,   598,    -1,
    3347      600,    -1,    -1,   603,    -1,    -1,    -1,    -1,    -1,    -1,
    3348       -1,    -1,    -1,    -1,    -1,    -1,  1524,    -1,    -1,    -1,
    3349       -1,    -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,   629,
    3350      328,    -1,    -1,    -1,   634,    -1,    -1,    -1,   170,    -1,
    3351       -1,    -1,    -1,   643,   644,   645,    -1,    -1,    -1,  1524,
    3352       -1,   349,    -1,    -1,    -1,    -1,   354,   355,    -1,    -1,
    3353       -1,   193,   662,    -1,   362,    -1,    -1,    -1,    -1,    -1,
    3354       -1,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,    -1,
    3355       -1,    -1,     7,    -1,   216,    10,    11,    12,    13,    14,
    3356       -1,    -1,    -1,    -1,   226,    -1,    -1,   697,    -1,    -1,
    3357       -1,    -1,    -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,
    3358       -1,    -1,    37,    38,    39,    40,    -1,    -1,   718,   251,
    3359       -1,    -1,    -1,    -1,   256,   423,    -1,    -1,    -1,    -1,
    3360      428,    -1,   430,    -1,    -1,    -1,   736,   269,   738,    -1,
    3361       -1,    66,    67,   275,    -1,   277,    -1,    72,    -1,   447,
    3362       -1,    76,   450,   451,    79,    80,    81,    82,    83,    84,
    3363       -1,    86,    87,   295,    -1,    -1,    -1,    -1,   466,    94,
    3364       -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,   480,    -1,   109,    -1,   111,    -1,  1099,   487,
    3366       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3367       -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,    -1,
    3368       -1,   343,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,
    3370       -1,    -1,   832,    -1,    -1,   835,    -1,    -1,    -1,   371,
    3371       -1,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,    -1,
    3372       -1,    -1,    -1,   385,   386,    -1,   388,   389,    -1,   391,
    3373       -1,   393,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,
    3374       10,    11,    12,    13,    14,    -1,    -1,    -1,   410,    -1,
    3375       -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,
    3376       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,
    3377       40,    -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,    -1,
    3378       -1,   443,  1223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3379       -1,    -1,   454,    -1,    -1,    -1,    66,    67,   928,    -1,
    3380       -1,    -1,    72,   631,    -1,    -1,    76,    -1,   636,    79,
    3381       80,    81,    82,    83,    84,   477,    86,    87,    -1,    -1,
    3382       -1,   483,    -1,    -1,    94,    -1,   488,    -1,    -1,    -1,
    3383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3384      970,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3385      120,   121,   122,   123,    -1,    -1,   986,    -1,    -1,    -1,
    3386       -1,    -1,    -1,   525,    -1,    -1,    -1,    -1,    -1,    -1,
    3387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   541,
    3388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3389       -1,  1021,    -1,    -1,    -1,    -1,   724,    -1,    -1,    -1,
    3390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3391      738,    -1,  1042,  1043,    -1,    -1,   578,    -1,    -1,    -1,
    3392       -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,    -1,    -1,
    3393      758,    -1,   594,    -1,    -1,    37,    38,   599,    40,    -1,
    3394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   610,    -1,
    3395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
    3397       72,    -1,  1102,    -1,    76,    -1,    -1,    79,    80,    81,
    3398       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,   651,
    3399       -1,   819,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3400       -1,    -1,    -1,    -1,   832,    -1,    -1,   109,    -1,   111,
    3401       -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
    3402      122,   123,    -1,   851,    -1,   687,    -1,    -1,    -1,    -1,
    3403       -1,  1161,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3404        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3405       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3406       -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
    3407       39,    40,    -1,  1203,    -1,    -1,    -1,    -1,    -1,    -1,
    3408      742,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3409      752,   753,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
    3410       69,    -1,    71,    72,   766,    74,    75,    76,    -1,    -1,
    3411      938,  1241,   154,   155,    83,    84,    -1,    -1,    -1,    -1,
    3412       -1,   783,    -1,   785,    -1,    -1,    -1,   789,    -1,    -1,
    3413       -1,    -1,    -1,    -1,    -1,    -1,   964,    -1,    -1,    -1,
    3414      109,    -1,   111,    -1,    -1,    -1,   188,    -1,    -1,    -1,
    3415      119,    -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,
    3416     1290,  1291,    -1,    -1,   992,    -1,    -1,    -1,    -1,  1299,
    3417       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3418       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3419       30,    31,    32,   855,    -1,    -1,  1024,    -1,    -1,    39,
    3420      862,    -1,    -1,    -1,    -1,    -1,    -1,  1035,    -1,    -1,
    3421       -1,    -1,    -1,   875,    -1,   877,    -1,    -1,    -1,    -1,
    3422       -1,    -1,    -1,    -1,    -1,   267,    -1,    67,    -1,   891,
    3423       -1,    -1,    72,    -1,    74,    75,   898,    -1,    -1,    -1,
    3424       -1,    -1,    -1,    83,    84,    -1,    -1,    -1,   910,    -1,
    3425       -1,   913,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   931,
    3427       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3428       -1,   323,    -1,    -1,    -1,  1415,    -1,    -1,  1116,   331,
    3429      332,    -1,   334,   335,    -1,    -1,    -1,    -1,    -1,    -1,
    3430       -1,    -1,   344,    -1,    -1,    -1,   348,    -1,    -1,    -1,
    3431       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3432       -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,   370,    -1,
    3433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3434       -1,    -1,    -1,  1473,    -1,  1475,    -1,    -1,    -1,    -1,
    3435       37,    38,    -1,    40,    -1,   397,    -1,    -1,  1020,   401,
    3436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3437       -1,    -1,    -1,    -1,    -1,  1203,    -1,    -1,    -1,    66,
    3438     1510,   145,  1512,    -1,    -1,    72,    -1,    74,    75,    76,
    3439      432,   155,    79,    80,    81,    82,    83,    84,    -1,    86,
    3440       87,    -1,    -1,   167,   168,    -1,    -1,    94,    -1,    -1,
    3441     1540,    -1,    -1,   455,  1076,    -1,    -1,    -1,    -1,    -1,
    3442       -1,  1083,   109,    -1,   111,    -1,   113,   114,    -1,    -1,
    3443       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    3444       -1,    -1,    -1,    -1,   486,    -1,    -1,   489,    -1,    -1,
    3445     1112,    -1,    -1,    -1,    -1,  1117,    -1,    -1,    -1,    -1,
    3446       -1,    -1,    -1,  1125,    -1,    -1,    -1,    -1,    -1,    -1,
    3447       -1,  1299,    -1,    -1,   238,    -1,    -1,    -1,    -1,    -1,
    3448       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
    3449      532,   533,    -1,    -1,  1156,    -1,    -1,    -1,    -1,   263,
    3450       -1,    -1,    -1,    -1,    -1,    -1,  1168,    -1,    -1,  1171,
    3451       -1,  1173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3452       -1,    -1,    -1,    -1,    -1,  1187,  1188,    -1,    -1,    -1,
    3453       -1,    -1,    -1,    -1,    -1,    -1,   578,   579,    -1,    -1,
    3454       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1209,    -1,    -1,
    3455       -1,    -1,    -1,    -1,    -1,   597,   598,    -1,   600,    -1,
    3456       -1,    -1,    -1,    -1,    -1,    -1,    -1,   609,    -1,   611,
    3457      612,    -1,    -1,    -1,  1236,    -1,   618,    -1,    -1,   281,
    3458       -1,   283,   284,    -1,    -1,    -1,   628,   629,    -1,   291,
    3459      292,    -1,   634,    -1,   296,   297,    -1,    -1,    -1,    -1,
    3460       -1,   643,   644,   645,    -1,    -1,   308,    -1,    -1,    -1,
    3461       -1,    -1,    -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,
    3462      662,    -1,    -1,    -1,    -1,   667,   668,    -1,    -1,   671,
    3463      672,    -1,    -1,    -1,    -1,    -1,   678,    -1,    -1,    -1,
    3464       -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3465       -1,    -1,    -1,    -1,   696,   697,   698,    -1,   700,    -1,
    3466       -1,    -1,   704,    -1,    -1,    -1,    -1,    -1,    -1,    37,
    3467       38,  1333,    40,  1335,    -1,    -1,    -1,    -1,   380,    -1,
    3468       -1,    -1,    -1,    -1,    -1,    -1,  1348,    -1,  1350,    -1,
    3469       -1,    -1,    -1,    -1,   736,   737,    -1,    -1,    66,    -1,
    3470       -1,    -1,    -1,    -1,    72,    -1,  1368,    -1,    76,    -1,
    3471       -1,    79,    80,    81,    82,    83,    84,   481,    86,    87,
    3472       -1,    -1,  1384,  1385,    -1,    -1,    94,  1555,    -1,    -1,
    3473      772,   773,    -1,    -1,  1396,   777,   778,  1399,    -1,    -1,
    3474       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
    3475      118,   119,   120,   121,   122,   123,   520,    -1,    -1,  1421,
    3476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1430,   533,
    3477       -1,  1433,    -1,  1435,  1436,  1437,   540,   819,    -1,   543,
    3478       -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,    -1,    -1,
    3479      554,   555,   834,   835,    -1,    -1,    -1,   839,    -1,   841,
    3480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   851,
    3481       -1,    -1,   576,    -1,    -1,  1477,    -1,  1479,    -1,    -1,
    3482     1482,    -1,   586,    -1,    -1,    -1,    -1,    -1,    -1,   593,
    3483       -1,    -1,    -1,    -1,   598,  1497,    -1,    -1,    -1,    -1,
    3484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3485       -1,    -1,    -1,    -1,    -1,   557,   558,   559,   560,   561,
    3486      562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
    3487      572,   573,   574,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3488       -1,    -1,   924,    -1,   648,    -1,    -1,    -1,    -1,    -1,
    3489      932,    -1,    -1,   657,    -1,    -1,   938,    -1,   600,    -1,
    3490       -1,    -1,    -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,
    3491       -1,    -1,    -1,    -1,    -1,    -1,    -1,   959,   960,    -1,
    3492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3493       -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
    3494       -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,    -1,
    3495      992,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3496       19,    20,    21,    22,    23,    24,    25,    26,    27,  1011,
    3497     1012,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1021,
    3498       39,    40,    -1,    -1,    -1,  1027,  1028,    -1,  1030,  1031,
    3499     1032,    -1,    -1,    -1,    -1,    -1,    -1,   699,    -1,    -1,
    3500     1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    67,   773,
    3501       -1,   775,    -1,    -1,    -1,    74,    75,   781,    -1,   721,
    3502       -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,    -1,
    3503       -1,    -1,   734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3505       -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
    3506      119,  1103,  1104,  1105,    -1,    -1,    -1,    -1,   832,   833,
    3507       -1,   835,    -1,    -1,  1116,    -1,    -1,    -1,   780,    -1,
    3508       -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,
     3984      25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
     3985      -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    35093986      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35103987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3511      812,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
    3512       -1,    -1,    -1,    -1,    -1,   827,   890,    -1,    -1,    -1,
    3513      894,    -1,    -1,     0,    -1,    -1,     3,     4,     5,     6,
    3514        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3515       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3516       27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
    3517       -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,  1221,
    3518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,  1241,
    3520       67,    -1,    69,    -1,    71,    72,   970,    74,    75,    76,
    3521       -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
    3522       -1,    -1,   986,   987,    -1,    -1,    -1,    -1,    -1,   993,
    3523       -1,    -1,    -1,    -1,    -1,   999,    -1,    -1,  1002,    -1,
    3524     1004,    -1,   109,    -1,   111,    -1,    -1,    -1,  1290,  1291,
    3525       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526     1024,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3527       -1,  1035,    -1,    -1,    -1,    -1,   978,    -1,    -1,    -1,
    3528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       -1,    -1,    -1,  1057,    -1,  1059,    -1,    -1,    -1,    -1,
    3530       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1009,    -1,    -1,
    3531     1074,  1075,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,
    3532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3533       -1,  1095,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3534        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3535       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3536     1062,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
    3537       39,    40,    -1,  1415,    -1,    -1,    -1,    -1,  1142,    -1,
    3538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3539       -1,    -1,    -1,    -1,    -1,    64,    -1,  1161,    67,    -1,
    3540       69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3541       -1,    -1,  1176,  1177,    83,    84,    -1,    -1,    -1,    -1,
    3542       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3543       -1,    -1,  1134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3544      109,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
    3545      119,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3546       -1,    76,    -1,  1505,    79,    80,    81,    82,    83,    84,
    3547       -1,    86,    87,    -1,    -1,    -1,  1178,    -1,    -1,    94,
    3548       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1530,  1531,
    3549     1192,  1193,    -1,  1257,   109,    -1,   111,    -1,    -1,    -1,
    3550       -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3551       -1,    -1,    -1,  1555,    -1,     3,     4,     5,     6,     7,
    3552        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3553       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3554       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
    3555       38,    39,    40,    41,  1318,    43,  1320,    -1,    46,    47,
    3556       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3557       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    67,
    3558       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3559       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3560       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3562       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3563      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3564      128,    -1,  1406,    -1,   132,    -1,    -1,    -1,    -1,    -1,
     3988      -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,    74,
    35653989       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    35663990      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3567       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3568       33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
    3569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3570     1402,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
    3571       -1,    -1,    -1,    66,    67,    -1,    69,  1419,    71,    72,
    3572       -1,    74,    75,    76,  1488,    -1,    79,    80,    81,    82,
    3573       83,    84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,
    3574       -1,    94,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3575       84,    -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,
    3576       94,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3577      123,    -1,    -1,    -1,    -1,   109,  1540,   111,    -1,   132,
    3578      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3579     1492,  1493,     3,     4,     5,     6,     7,     8,     9,    10,
    3580       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3581       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3582       31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
    3583       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3584       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3585       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3586       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3587       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3588       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3589       -1,    -1,    72,    -1,    74,    75,    -1,    -1,   109,    -1,
    3590      111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
    3591      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3592       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3593       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3594       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3595       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3596       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3597       27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3598       71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
    3599       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3600       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3601       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3602      111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
    3603      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3604       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3605       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3606       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3607       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3608       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3609       27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3610       71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
    3611       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3612       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3613       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3614      111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
    3615      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3616       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3617       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3618       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3619       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3620       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3621       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3622       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3623       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3624       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3625       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3626      111,    -1,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
    3627      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3628       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3629       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3630       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3631       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3632       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3633       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3634       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3635       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3636       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3637       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3638      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3639      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3640       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3641       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3642       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3991      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,
    36433993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36443994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3645       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3646       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3647       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3648       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3650      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3651      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3652       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3653       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3654       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3995      -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,
     3996      73,    74,     4,     5,     6,     7,     8,     9,    10,    11,
     3997      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3998      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3999      -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,
    36554000      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36564001      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3657       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3658       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3659       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3660       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3662      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3663      121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
    3664       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3665       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3666       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3667       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3668       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3669       30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
    3670       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3671       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3672       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3673       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
    3674      111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    3675      121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
    3676       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3677       20,    21,    22,    23,    24,    25,    26,    27,    -1,   119,
    3678       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3679       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3680       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3681       -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
    3682       39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3683       -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3685       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
    3686       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3687        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3688       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3689       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
    3690       33,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,
    3691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    3694       -1,    74,    75,    -1,    -1,    78,     3,     4,     5,     6,
    3695        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3696       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3697       27,    -1,    -1,    30,    31,    32,    33,    -1,   111,    36,
    3698       -1,    -1,    39,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    3699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3701       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     3,
    3702        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3703       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3704       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3705       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3706       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3708       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3709       74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
    3710       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3711       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3712       31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
    3713       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3715       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3716       71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3717       -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3718       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3720      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,
    3721        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3722       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3723       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3724       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,
    3725       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3726       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3727       31,    32,    67,    -1,    69,    -1,    71,    -1,    39,    74,
    3728       75,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
    3729       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3730       22,    23,    24,    25,    26,    27,    67,    -1,    30,    31,
    3731       32,    -1,    -1,    74,    75,   110,   111,    39,    -1,    -1,
    3732       -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3734       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,   109,    71,
    3735      111,    -1,    74,    75,    -1,    -1,    -1,    -1,   119,    -1,
    3736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3737       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
    3738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    3739       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,
    3740        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3741       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3742       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3743       -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,    11,
    3744       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3745       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
    3746       32,    67,    -1,    69,    -1,    71,    -1,    39,    74,    75,
    3747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3749       96,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3750       72,    -1,    74,    75,    76,   111,    78,    -1,    -1,    -1,
    3751       -1,    83,    84,   119,     4,     5,     6,     7,     8,     9,
    3752       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3753       20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
    3754       30,    31,    32,    -1,    -1,    -1,    -1,   119,    -1,    39,
    3755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3758       -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
    3759        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3760       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3761       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3762       -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3765       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3766        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3767       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3768       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3769       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3770       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3772       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3773       74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
    3774       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3775       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3776       31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
    3777       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3779       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3780       71,    -1,    -1,    74,    75,    10,    11,    12,    13,    14,
    3781       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3782       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3783       -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3784      111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
    3785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3786       -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3787       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3788       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3790       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3791       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
    3792       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3793       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3794       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3795       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3796       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3797       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3798       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3799       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3800       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3801       -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
    3802      111,   112,    -1,    83,    84,    -1,    -1,   118,   119,   120,
    3803      121,   122,   123,    10,    11,    12,    13,    14,    15,    16,
    3804       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3805       27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,   119,
    3806       37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
    3807       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3808       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
    3809       67,    -1,    -1,    39,    40,    72,    -1,    74,    75,    76,
    3810       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3811       87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
    3812       -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
    3813       -1,    -1,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
    3814       -1,   118,   119,   120,   121,   122,   123,    10,    11,    12,
    3815       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3816       23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
    3817       -1,    -1,    -1,   119,    37,    38,    39,    40,    -1,    -1,
    3818       -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3819       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3820       25,    26,    27,    66,    67,    30,    31,    32,    -1,    72,
    3821       -1,    74,    75,    76,    39,    -1,    79,    80,    81,    82,
    3822       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3823       -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3824       -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,
    3825       75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3826      123,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3827       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3828       -1,    30,    31,    32,   109,    -1,   111,    -1,    37,    38,
    3829       39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,    10,
    3830       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3831       21,    22,    23,    24,    25,    26,    27,    66,    67,    30,
    3832       31,    32,    -1,    72,    -1,    74,    75,    76,    39,    -1,
    3833       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3834       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
    3835       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3836      109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,   118,
    3837      119,   120,   121,   122,   123,    10,    11,    12,    13,    14,
    3838       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3839       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3840      111,    -1,    37,    38,    39,    40,    -1,    -1,   119,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3843       -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3844       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3845       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3847       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3848       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
    3849       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3850       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3851       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3852       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3853       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3854       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3855       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3856       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3857       -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
    3858       -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
    3859      111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
    3860      121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3862       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3863       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3864       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3865       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3866       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3867       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3868       30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
    3869       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3870       -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
    3871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3872       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,   109,
    3873       -1,   111,    -1,    83,    84,    -1,    -1,    -1,    -1,   119,
    3874       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3876       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3877       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3878       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
    3879       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3880       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3881       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
    3882       30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
    3883       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    -1,
    3884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3886       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,   109,
    3887       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3890       -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3891       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3892       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3893       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3894       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3895       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3896       -1,    30,    31,    32,    -1,    -1,    -1,    67,    -1,    -1,
    3897       39,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    3898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3900       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
    3901       -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,   119,
    3902       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3903       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3904       27,    -1,   111,    30,    31,    32,    -1,    -1,    -1,    -1,
    3905      119,    -1,    39,    40,    10,    11,    12,    13,    14,    15,
    3906       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3907       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3908       67,    -1,    -1,    39,    -1,    -1,    -1,    74,    75,    -1,
    3909       -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3910       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3911       -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,    75,
    3912       -1,    39,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
    3913       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3915       -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,    -1,
    3916       -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
    3917       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3918       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3919       -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,    -1,
    3920       -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
    3921       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3922       27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
    3923       75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    3924       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3925       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3926       67,    -1,    39,    -1,    -1,    -1,   111,    74,    75,    -1,
    3927       -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3929       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3930       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3931       -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
    3932       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3933       25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
    3934       -1,    -1,   119,    -1,    39,    10,    11,    12,    13,    14,
    3935       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3936       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3937       -1,    -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,
    3938       75,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3939       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3940       27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
    3941       75,    -1,    39,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3942       -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3944       67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,
    3945       -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,
    3946       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3947       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3948       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3949       -1,    -1,   119,    -1,    10,    11,    12,    13,    14,    15,
    3950       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3951       26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
    3952       74,    75,    -1,    39,    -1,    -1,     4,     5,     6,     7,
    3953        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3954       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3955       -1,    67,    30,    31,    32,    -1,    -1,   111,    74,    75,
    3956       -1,    39,    -1,    37,    38,   119,    40,    41,    -1,    43,
    3957       -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    3958       -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    67,
    3959       64,    69,    66,    71,    -1,    -1,    74,    75,    72,    -1,
    3960       -1,    -1,    76,   119,    -1,    79,    80,    81,    82,    83,
    3961       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3962       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3963       -1,    -1,   110,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3964      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3965       -1,    -1,    -1,    -1,   128,    -1,    37,    38,   132,    40,
    3966       41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
    3967       51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
    3968       61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
    3969       -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    3970       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3971       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3973      111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
    3974      121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
    3975       -1,   132,     4,     5,     6,     7,     8,     9,    10,    11,
    3976       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3977       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3978       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    37,
    3979       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
    3980       48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
    3981       -1,    -1,    -1,    61,    62,    67,    64,    69,    66,    71,
    3982       -1,    -1,    74,    75,    72,    -1,    -1,    -1,    76,    -1,
    3983       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3984       -1,    -1,    -1,    -1,    96,    -1,    94,    -1,    -1,    -1,
    3985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3986       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3987      118,   119,   120,   121,   122,   123,    -1,    -1,    37,    38,
    3988      128,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
    3989       49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
    3990       -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    3991       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3992       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3993       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
    3994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3995      109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
    3996      119,   120,   121,   122,   123,    -1,    -1,    37,    38,   128,
    3997       40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
    3998       50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    3999       -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    4000       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    4001       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    4002       -1,    -1,    -1,    -1,    94,    37,    38,    -1,    40,    -1,
    4003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    4004       -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
    4005      120,   121,   122,   123,    66,    -1,    -1,    -1,   128,    -1,
    4006       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    4007       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    4008       -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
    4009       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    4010       -1,    -1,    37,    38,    -1,    40,   118,   119,   120,   121,
    4011      122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4012       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4013       84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,    -1,
    4014       94,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    4015       -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,    94,
    4016       37,    38,    -1,    40,   118,   119,   120,   121,   122,   123,
    4017       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,
    4018       38,    -1,    40,   118,   119,   120,   121,   122,   123,    66,
    4019       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    4020       -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
    4021       87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
    4022       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    4023       -1,    -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,
    4024       40,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    4025       -1,   109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
    4026      118,   119,   120,   121,   122,   123,    66,    -1,    -1,    -1,
    4027       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    4028       80,    81,    82,    83,    84,    66,    86,    87,    -1,    -1,
    4029       -1,    72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,
    4030       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,   109,
    4031       -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,   118,   119,
    4032      120,   121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,
    4033       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
    4034      121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
    4035       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    4036       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    4037       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    4038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4040       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    4041       -1,    71,    -1,    -1,    74,    75,     3,     4,     5,     6,
    4042        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    4043       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4044       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4045       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4048       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,
    4049        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    4050       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    4051       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    4052       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    4053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4055       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    4056       75
     4002      -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
     4003      -1,    73,    74
    40574004};
    40584005
     
    40634010       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    40644011      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    4065       22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    4066       36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    4067       76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
     4012      22,    23,    24,    25,    26,    29,    30,    31,    32,    35,
     4013      38,    39,    63,    66,    68,    70,    71,    73,    74,    75,
     4014      82,    83,   108,   110,   118,   136,   139,   196,   210,   211,
    40684015     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    4069      222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
    4070      233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
    4071      244,   245,   253,   254,   280,   281,   282,   290,   293,   299,
    4072      300,   302,   304,   305,   311,   316,   320,   321,   322,   323,
    4073      324,   325,   326,   327,   347,   364,   365,   366,   367,    72,
    4074      119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
    4075      281,    82,   109,   309,   310,   311,   309,   309,    72,    74,
    4076       75,    76,   138,   139,   270,   271,   291,   292,    74,    75,
    4077      271,   109,   302,    11,   198,   109,   119,   316,   321,   322,
    4078      323,   325,   326,   327,   112,   134,   111,   217,   224,   226,
    4079      320,   324,   363,   364,   367,   368,   135,   107,   131,   274,
    4080      114,   135,   172,    74,    75,   137,   269,   135,   135,   135,
    4081      116,   135,    74,    75,   109,   119,   306,   315,   316,   317,
    4082      318,   319,   320,   324,   328,   329,   330,   331,   332,   338,
    4083        3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
    4084      227,   231,   234,   243,   282,   320,   324,   367,   214,   216,
    4085      226,   236,   240,   242,   281,   320,   324,    33,   232,   232,
    4086      227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
    4087      271,   282,   114,   271,   232,   227,   116,   135,   135,     0,
    4088      134,   109,   172,   309,   309,   134,   111,   224,   226,   365,
    4089      269,   269,   226,   131,   109,   119,   306,   316,   320,   111,
    4090      119,   367,   303,   229,   311,   109,   287,   109,   109,    51,
    4091      109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
    4092       82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
    4093      122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
     4016     222,   223,   224,   225,   226,   227,   229,   230,   231,   232,
     4017     233,   234,   235,   236,   238,   239,   240,   241,   242,   243,
     4018     244,   252,   253,   279,   280,   281,   289,   292,   298,   299,
     4019     301,   303,   304,   310,   315,   319,   320,   321,   322,   323,
     4020     324,   325,   326,   346,   363,   364,   365,   366,    71,   118,
     4021     138,   139,   213,   215,   223,   225,   235,   239,   241,   280,
     4022      81,   108,   308,   309,   310,   308,   308,    71,    73,    74,
     4023      75,   137,   138,   269,   270,   290,   291,    73,    74,   270,
     4024     108,   301,    11,   197,   108,   118,   315,   320,   321,   322,
     4025     324,   325,   326,   111,   133,   110,   216,   223,   225,   319,
     4026     323,   362,   363,   366,   367,   134,   106,   130,   273,   113,
     4027     134,   171,    73,    74,   136,   268,   134,   134,   134,   115,
     4028     134,    73,    74,   108,   118,   305,   314,   315,   316,   317,
     4029     318,   319,   323,   327,   328,   329,   330,   331,   337,     3,
     4030      27,    77,   237,     3,     5,    73,   110,   118,   215,   226,
     4031     230,   233,   242,   281,   319,   323,   366,   213,   215,   225,
     4032     235,   239,   241,   280,   319,   323,    32,   231,   231,   226,
     4033     233,   134,   231,   226,   231,   226,    74,   108,   113,   270,
     4034     281,   113,   270,   231,   226,   115,   134,   134,     0,   133,
     4035     108,   171,   308,   308,   133,   110,   223,   225,   364,   268,
     4036     268,   225,   130,   108,   118,   305,   315,   319,   110,   118,
     4037     366,   302,   228,   310,   108,   286,   108,   108,    50,   108,
     4038      36,    37,    39,    65,    71,    75,    78,    79,    80,    81,
     4039      85,    86,    93,   108,   110,   117,   118,   119,   120,   121,
     4040     122,   135,   139,   140,   141,   142,   147,   148,   149,   150,
    40944041     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    4095      161,   163,   165,   224,   273,   289,   363,   368,   226,   110,
    4096      110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
    4097      269,   347,   365,   111,   119,   163,   216,   217,   223,   226,
    4098      230,   231,   236,   239,   240,   242,   259,   260,   264,   265,
    4099      266,   267,   281,   347,   359,   360,   361,   362,   367,   368,
    4100      112,   109,   320,   324,   367,   109,   116,   132,   111,   114,
    4101      119,   163,   275,   275,   115,   134,   116,   132,   109,   116,
    4102      132,   116,   132,   116,   132,   309,   132,   316,   317,   318,
    4103      319,   329,   330,   331,   332,   226,   315,   328,    64,   308,
    4104      111,   309,   346,   347,   309,   309,   172,   134,   109,   309,
    4105      346,   309,   309,   226,   306,   109,   109,   225,   226,   224,
    4106      226,   112,   134,   224,   363,   368,   172,   134,   269,   274,
    4107      216,   231,   320,   324,   172,   134,   291,   226,   236,   132,
    4108      226,   226,   289,    40,   111,   224,   246,   247,   248,   249,
    4109      363,   367,   114,   255,   271,   114,   226,   291,   132,   132,
    4110      302,   134,   139,   268,     3,   135,   206,   207,   221,   223,
    4111      226,   134,   308,   109,   308,   163,   316,   226,   109,   134,
    4112      269,   114,    33,    34,    35,   224,   283,   284,   286,   134,
    4113      129,   131,   288,   134,   227,   233,   234,   269,   312,   313,
    4114      314,   109,   141,   109,   148,   109,   148,   150,   109,   148,
    4115      109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
    4116      272,   363,   112,   134,   150,   150,    82,    85,    86,    87,
    4117      109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
    4118      103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
    4119      121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
    4120      120,   128,   129,    94,    95,   130,   131,   370,   109,   119,
    4121      342,   343,   344,   345,   346,   110,   116,   109,   346,   347,
    4122      109,   346,   347,   134,   109,   224,   365,   112,   134,   111,
    4123      119,   135,   224,   226,   358,   359,   367,   368,   135,   109,
    4124      111,   119,   316,   333,   334,   335,   336,   337,   338,   339,
    4125      340,   341,   347,   348,   349,   350,   351,   352,   353,   119,
    4126      367,   226,   135,   135,   119,   224,   226,   360,   269,   224,
    4127      347,   360,   269,   109,   134,   134,   134,   112,   134,    72,
    4128       80,   111,   113,   140,   271,   275,   276,   277,   278,   279,
    4129      134,   134,   134,   134,   134,   134,   306,   110,   110,   110,
    4130      110,   110,   110,   110,   315,   328,   109,   274,   112,   206,
    4131      134,   306,   168,   273,   168,   273,   306,   111,   206,   308,
    4132      172,   134,   206,   110,   248,   249,   112,   134,   109,   117,
    4133      119,   250,   252,   315,   316,   328,   346,   354,   355,   356,
    4134      357,   115,   247,   116,   132,   116,   132,   271,   246,   116,
    4135      369,   131,   256,   255,   226,   261,   262,   263,   266,   267,
    4136      110,   116,   172,   134,   119,   163,   134,   223,   226,   260,
    4137      359,   367,   300,   301,   109,   119,   333,   110,   116,   370,
    4138      271,   283,   109,   114,   271,   273,   283,   110,   116,   109,
    4139      141,   110,   117,   272,   272,   272,   111,   139,   145,   163,
    4140      273,   272,   112,   134,   110,   116,   110,   109,   119,   354,
    4141      110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
    4142      139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
    4143      152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
    4144      158,   159,   117,   168,   163,   134,   343,   344,   345,   226,
    4145      342,   309,   309,   163,   273,   134,   268,   119,   134,   224,
    4146      347,   360,   226,   230,   112,   134,   112,   367,   112,   109,
    4147      134,   316,   334,   335,   336,   339,   349,   350,   351,   112,
    4148      134,   226,   333,   337,   348,   109,   309,   352,   370,   309,
    4149      309,   370,   109,   309,   352,   309,   309,   309,   309,   347,
    4150      224,   358,   368,   269,   112,   116,   112,   116,   370,   224,
    4151      360,   370,   257,   258,   259,   260,   257,   257,   269,   163,
    4152      134,   111,   271,   117,   116,   369,   275,    80,   111,   117,
    4153      279,    29,   208,   209,   269,   257,   139,   306,   139,   308,
    4154      109,   346,   347,   109,   346,   347,   141,   347,   172,   261,
    4155      110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
    4156      132,   111,   316,   355,   356,   357,   161,   162,   226,   354,
    4157      251,   252,   251,   309,   309,   271,   309,   115,   271,   115,
    4158      162,   369,   135,   135,   139,   221,   135,   135,   257,   109,
    4159      119,   367,   135,   115,   226,   284,   285,   135,   134,   134,
    4160      109,   135,   110,   313,   168,   169,   117,   132,   111,   141,
    4161      199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
    4162      110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
    4163      135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
    4164      261,   110,   110,   110,   342,   261,   110,   257,   224,   360,
    4165      111,   119,   163,   163,   226,   339,   261,   110,   110,   110,
    4166      110,   110,   110,   110,     7,   226,   333,   337,   348,   134,
    4167      134,   370,   134,   134,   110,   135,   135,   135,   135,   274,
    4168      135,   161,   162,   163,   307,   134,   275,   277,   115,   134,
    4169      210,   271,    40,    41,    43,    46,    47,    48,    49,    50,
    4170       51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
    4171      170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
    4172      197,   211,   305,    29,   135,   131,   274,   134,   134,   110,
    4173      135,   172,   246,   112,   110,   110,   110,   354,   250,   256,
    4174      115,   110,   116,   112,   112,   135,   226,   116,   370,   287,
    4175      110,   283,   214,   216,   224,   295,   296,   297,   298,   289,
    4176      110,   110,   117,   162,   109,   110,   117,   116,   139,   163,
    4177      163,   276,   116,   135,   166,   112,   139,   146,   147,   163,
    4178      145,   135,   146,   161,   165,   135,   109,   346,   347,   135,
    4179      135,   134,   135,   135,   135,   163,   110,   135,   109,   346,
    4180      347,   109,   352,   109,   352,   347,   225,     7,   119,   135,
    4181      163,   261,   261,   260,   264,   264,   265,   116,   116,   110,
    4182      110,   112,    96,   123,   135,   135,   146,   275,   163,   116,
    4183      132,   211,   215,   226,   230,   109,   109,   170,   109,   109,
    4184      132,   139,   132,   139,   119,   139,   169,   109,   172,   164,
    4185      164,   112,   143,   117,   132,   135,   134,   135,   210,   110,
    4186      163,   261,   261,   309,   110,   115,   109,   346,   347,   134,
    4187      110,   134,   135,   306,   115,   134,   135,   135,   110,   114,
    4188      199,   112,   162,   132,   199,   201,   110,   116,   135,   369,
    4189      164,   112,   135,    85,   113,   116,   135,   135,   112,   135,
    4190      110,   134,   110,   110,   112,   112,   112,   135,   110,   134,
    4191      134,   134,   163,   163,   135,   112,   135,   135,   135,   135,
    4192      134,   134,   162,   162,   112,   112,   135,   135,   271,   226,
    4193      168,   168,    47,   168,   134,   132,   132,   168,   132,   132,
    4194      168,    58,    59,    60,   193,   194,   195,   132,    63,   132,
    4195      114,   309,   174,   115,   132,   135,   135,   134,    96,   266,
    4196      267,   110,   296,   116,   132,   116,   132,   115,   294,   117,
    4197      141,   110,   110,   117,   166,   112,   115,   112,   111,   147,
    4198      111,   147,   147,   112,   112,   112,   261,   112,   261,   261,
    4199      261,   135,   135,   112,   112,   110,   110,   112,   116,    96,
    4200      260,    96,   135,   112,   112,   110,   110,   109,   110,   169,
    4201      190,   211,   132,   110,   109,   109,   172,   195,    58,    59,
    4202      163,   144,   170,   110,   110,   261,   114,   134,   134,   295,
    4203      141,   202,   109,   132,   202,   135,   117,   134,   134,   135,
    4204      135,   135,   135,   112,   112,   134,   135,   112,   170,    44,
    4205       45,   114,   180,   181,   182,   168,   170,   135,   110,   169,
    4206      114,   182,    96,   134,    96,   134,   109,   109,   132,   115,
    4207      135,   134,   269,   306,   115,   116,   117,   162,   110,   112,
    4208      163,   146,   146,   110,   110,   110,   110,   264,    42,   162,
    4209      178,   179,   307,   117,   134,   170,   180,   110,   132,   170,
    4210      132,   134,   110,   134,   110,   134,    96,   134,    96,   134,
    4211      132,   110,   295,   141,   139,   203,   110,   132,   117,   135,
    4212      135,   170,    96,   116,   117,   135,   204,   205,   211,   132,
    4213      169,   169,   204,   172,   196,   224,   363,   172,   196,   110,
    4214      134,   110,   134,   115,   110,   116,   163,   112,   112,   162,
    4215      178,   181,   183,   184,   134,   132,   181,   185,   186,   135,
    4216      109,   119,   306,   354,   139,   135,   172,   196,   172,   196,
    4217      109,   132,   139,   170,   175,   115,   181,   211,   169,    56,
    4218      175,   188,   115,   181,   110,   226,   110,   135,   135,   289,
    4219      170,   175,   132,   187,   188,   175,   188,   172,   172,   110,
    4220      110,   110,   187,   135,   135,   172,   172,   135,   135
     4042     162,   164,   223,   272,   288,   362,   367,   225,   109,   109,
     4043     109,   109,   109,   109,   109,    73,    74,   110,   223,   268,
     4044     346,   364,   110,   118,   162,   215,   216,   222,   225,   229,
     4045     230,   235,   238,   239,   241,   258,   259,   263,   264,   265,
     4046     266,   280,   346,   358,   359,   360,   361,   366,   367,   111,
     4047     108,   319,   323,   366,   108,   115,   131,   110,   113,   118,
     4048     162,   274,   274,   114,   133,   115,   131,   108,   115,   131,
     4049     115,   131,   115,   131,   308,   131,   315,   316,   317,   318,
     4050     328,   329,   330,   331,   225,   314,   327,    63,   307,   110,
     4051     308,   345,   346,   308,   308,   171,   133,   108,   308,   345,
     4052     308,   308,   225,   305,   108,   108,   224,   225,   223,   225,
     4053     111,   133,   223,   362,   367,   171,   133,   268,   273,   215,
     4054     230,   319,   323,   171,   133,   290,   225,   235,   131,   225,
     4055     225,   288,    39,   110,   223,   245,   246,   247,   248,   362,
     4056     366,   113,   254,   270,   113,   225,   290,   131,   131,   301,
     4057     133,   138,   267,     3,   134,   205,   206,   220,   222,   225,
     4058     133,   307,   108,   307,   162,   315,   225,   108,   133,   268,
     4059     113,    32,    33,    34,   223,   282,   283,   285,   133,   128,
     4060     130,   287,   133,   226,   232,   233,   268,   311,   312,   313,
     4061     108,   140,   108,   147,   108,   147,   149,   108,   147,   108,
     4062     108,   147,   147,   138,   110,   162,   167,   171,   223,   271,
     4063     362,   111,   133,   149,   149,    81,    84,    85,    86,   108,
     4064     110,   112,   113,    96,    97,    98,    99,   100,   101,   102,
     4065     103,   104,   105,   130,   166,   149,   118,   123,   124,   120,
     4066     121,    87,    88,    89,    90,   125,   126,    91,    92,   119,
     4067     127,   128,    93,    94,   129,   130,   369,   108,   118,   341,
     4068     342,   343,   344,   345,   109,   115,   108,   345,   346,   108,
     4069     345,   346,   133,   108,   223,   364,   111,   133,   110,   118,
     4070     134,   223,   225,   357,   358,   366,   367,   134,   108,   110,
     4071     118,   315,   332,   333,   334,   335,   336,   337,   338,   339,
     4072     340,   346,   347,   348,   349,   350,   351,   352,   118,   366,
     4073     225,   134,   134,   118,   223,   225,   359,   268,   223,   346,
     4074     359,   268,   108,   133,   133,   133,   111,   133,    71,    79,
     4075     110,   112,   139,   270,   274,   275,   276,   277,   278,   133,
     4076     133,   133,   133,   133,   133,   305,   109,   109,   109,   109,
     4077     109,   109,   109,   314,   327,   108,   273,   111,   205,   133,
     4078     305,   167,   272,   167,   272,   305,   110,   205,   307,   171,
     4079     133,   205,   109,   247,   248,   111,   133,   108,   116,   118,
     4080     249,   251,   314,   315,   327,   345,   353,   354,   355,   356,
     4081     114,   246,   115,   131,   115,   131,   270,   245,   115,   368,
     4082     130,   255,   254,   225,   260,   261,   262,   265,   266,   109,
     4083     115,   171,   133,   118,   162,   133,   222,   225,   259,   358,
     4084     366,   299,   300,   108,   118,   332,   109,   115,   369,   270,
     4085     282,   108,   113,   270,   272,   282,   109,   115,   108,   140,
     4086     109,   116,   271,   271,   271,   110,   138,   144,   162,   272,
     4087     271,   111,   133,   109,   115,   109,   108,   118,   353,   109,
     4088     115,   162,   110,   138,   110,   143,   144,   133,   110,   138,
     4089     143,   162,   162,   149,   149,   149,   150,   150,   151,   151,
     4090     152,   152,   152,   152,   153,   153,   154,   155,   156,   157,
     4091     158,   116,   167,   162,   133,   342,   343,   344,   225,   341,
     4092     308,   308,   162,   272,   133,   267,   118,   133,   223,   346,
     4093     359,   225,   229,   111,   133,   111,   366,   111,   108,   133,
     4094     315,   333,   334,   335,   338,   348,   349,   350,   111,   133,
     4095     225,   332,   336,   347,   108,   308,   351,   369,   308,   308,
     4096     369,   108,   308,   351,   308,   308,   308,   308,   346,   223,
     4097     357,   367,   268,   111,   115,   111,   115,   369,   223,   359,
     4098     369,   256,   257,   258,   259,   256,   256,   268,   162,   133,
     4099     110,   270,   116,   115,   368,   274,    79,   110,   116,   278,
     4100      28,   207,   208,   268,   256,   138,   305,   138,   307,   108,
     4101     345,   346,   108,   345,   346,   140,   346,   171,   260,   109,
     4102     109,   109,   109,   111,   171,   205,   171,   113,   131,   131,
     4103     110,   315,   354,   355,   356,   160,   161,   225,   353,   250,
     4104     251,   250,   308,   308,   270,   308,   114,   270,   114,   161,
     4105     368,   134,   134,   138,   220,   134,   134,   256,   108,   118,
     4106     366,   134,   114,   225,   283,   284,   134,   133,   133,   108,
     4107     134,   109,   312,   167,   168,   116,   131,   110,   140,   198,
     4108     199,   200,   109,   115,   109,   133,   116,   109,   109,   109,
     4109     162,   225,   113,   149,   164,   162,   163,   165,   115,   134,
     4110     133,   133,   109,   115,   162,   133,   114,   160,   116,   260,
     4111     109,   109,   109,   341,   260,   109,   256,   223,   359,   110,
     4112     118,   162,   162,   225,   338,   260,   109,   109,   109,   109,
     4113     109,   109,   109,     7,   225,   332,   336,   347,   133,   133,
     4114     369,   133,   133,   109,   134,   134,   134,   134,   273,   134,
     4115     160,   161,   162,   306,   133,   274,   276,   114,   133,   209,
     4116     270,    39,    40,    42,    45,    46,    47,    48,    49,    50,
     4117      51,    52,    56,    60,    61,   110,   127,   138,   168,   169,
     4118     170,   171,   172,   173,   175,   176,   188,   190,   191,   196,
     4119     210,   304,    28,   134,   130,   273,   133,   133,   109,   134,
     4120     171,   245,   111,   109,   109,   109,   353,   249,   255,   114,
     4121     109,   115,   111,   111,   134,   225,   115,   369,   286,   109,
     4122     282,   213,   215,   223,   294,   295,   296,   297,   288,   109,
     4123     109,   116,   161,   108,   109,   116,   115,   138,   162,   162,
     4124     275,   115,   134,   165,   111,   138,   145,   146,   162,   144,
     4125     134,   145,   160,   164,   134,   108,   345,   346,   134,   134,
     4126     133,   134,   134,   134,   162,   109,   134,   108,   345,   346,
     4127     108,   351,   108,   351,   346,   224,     7,   118,   134,   162,
     4128     260,   260,   259,   263,   263,   264,   115,   115,   109,   109,
     4129     111,    95,   122,   134,   134,   145,   274,   162,   115,   131,
     4130     210,   214,   225,   229,   108,   108,   169,   108,   108,   131,
     4131     138,   131,   138,   118,   138,   168,   108,   171,   163,   163,
     4132     111,   142,   116,   131,   134,   133,   134,   209,   109,   162,
     4133     260,   260,   308,   109,   114,   108,   345,   346,   133,   109,
     4134     133,   134,   305,   114,   133,   134,   134,   109,   113,   198,
     4135     111,   161,   131,   198,   200,   109,   115,   134,   368,   163,
     4136     111,   134,    84,   112,   115,   134,   134,   111,   134,   109,
     4137     133,   109,   109,   111,   111,   111,   134,   109,   133,   133,
     4138     133,   162,   162,   134,   111,   134,   134,   134,   134,   133,
     4139     133,   161,   161,   111,   111,   134,   134,   270,   225,   167,
     4140     167,    46,   167,   133,   131,   131,   167,   131,   131,   167,
     4141      57,    58,    59,   192,   193,   194,   131,    62,   131,   113,
     4142     308,   173,   114,   131,   134,   134,   133,    95,   265,   266,
     4143     109,   295,   115,   131,   115,   131,   114,   293,   116,   140,
     4144     109,   109,   116,   165,   111,   114,   111,   110,   146,   110,
     4145     146,   146,   111,   111,   111,   260,   111,   260,   260,   260,
     4146     134,   134,   111,   111,   109,   109,   111,   115,    95,   259,
     4147      95,   134,   111,   111,   109,   109,   108,   109,   168,   189,
     4148     210,   131,   109,   108,   108,   171,   194,    57,    58,   162,
     4149     143,   169,   109,   109,   260,   113,   133,   133,   294,   140,
     4150     201,   108,   131,   201,   134,   116,   133,   133,   134,   134,
     4151     134,   134,   111,   111,   133,   134,   111,   169,    43,    44,
     4152     113,   179,   180,   181,   167,   169,   134,   109,   168,   113,
     4153     181,    95,   133,    95,   133,   108,   108,   131,   114,   134,
     4154     133,   268,   305,   114,   115,   116,   161,   109,   111,   162,
     4155     145,   145,   109,   109,   109,   109,   263,    41,   161,   177,
     4156     178,   306,   116,   133,   169,   179,   109,   131,   169,   131,
     4157     133,   109,   133,   109,   133,    95,   133,    95,   133,   131,
     4158     109,   294,   140,   138,   202,   109,   131,   116,   134,   134,
     4159     169,    95,   115,   116,   134,   203,   204,   210,   131,   168,
     4160     168,   203,   171,   195,   223,   362,   171,   195,   109,   133,
     4161     109,   133,   114,   109,   115,   162,   111,   111,   161,   177,
     4162     180,   182,   183,   133,   131,   180,   184,   185,   134,   108,
     4163     118,   305,   353,   138,   134,   171,   195,   171,   195,   108,
     4164     131,   138,   169,   174,   114,   180,   210,   168,    55,   174,
     4165     187,   114,   180,   109,   225,   109,   134,   134,   288,   169,
     4166     174,   131,   186,   187,   174,   187,   171,   171,   109,   109,
     4167     109,   186,   134,   134,   171,   171,   134,   134
    42214168};
    42224169
     
    50555002
    50565003/* Line 1806 of yacc.c  */
    5057 #line 291 "parser.yy"
     5004#line 290 "parser.yy"
    50585005    {
    50595006                        typedefTable.enterScope();
     
    50645011
    50655012/* Line 1806 of yacc.c  */
    5066 #line 297 "parser.yy"
     5013#line 296 "parser.yy"
    50675014    {
    50685015                        typedefTable.leaveScope();
     
    50735020
    50745021/* Line 1806 of yacc.c  */
     5022#line 305 "parser.yy"
     5023    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
     5024    break;
     5025
     5026  case 5:
     5027
     5028/* Line 1806 of yacc.c  */
    50755029#line 306 "parser.yy"
    5076     { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    5077     break;
    5078 
    5079   case 5:
     5030    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
     5031    break;
     5032
     5033  case 6:
    50805034
    50815035/* Line 1806 of yacc.c  */
    50825036#line 307 "parser.yy"
    5083     { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    5084     break;
    5085 
    5086   case 6:
    5087 
    5088 /* Line 1806 of yacc.c  */
    5089 #line 308 "parser.yy"
    50905037    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50915038    break;
     
    50945041
    50955042/* Line 1806 of yacc.c  */
     5043#line 332 "parser.yy"
     5044    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
     5045    break;
     5046
     5047  case 17:
     5048
     5049/* Line 1806 of yacc.c  */
    50965050#line 333 "parser.yy"
    5097     { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    5098     break;
    5099 
    5100   case 17:
    5101 
    5102 /* Line 1806 of yacc.c  */
    5103 #line 334 "parser.yy"
    51045051    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    51055052    break;
     
    51085055
    51095056/* Line 1806 of yacc.c  */
    5110 #line 341 "parser.yy"
     5057#line 340 "parser.yy"
    51115058    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51125059    break;
     
    51155062
    51165063/* Line 1806 of yacc.c  */
    5117 #line 343 "parser.yy"
     5064#line 342 "parser.yy"
    51185065    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51195066    break;
     
    51225069
    51235070/* Line 1806 of yacc.c  */
    5124 #line 345 "parser.yy"
     5071#line 344 "parser.yy"
    51255072    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    51265073    break;
     
    51295076
    51305077/* Line 1806 of yacc.c  */
    5131 #line 347 "parser.yy"
     5078#line 346 "parser.yy"
    51325079    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    51335080    break;
     
    51365083
    51375084/* Line 1806 of yacc.c  */
    5138 #line 357 "parser.yy"
     5085#line 356 "parser.yy"
    51395086    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    51405087    break;
     
    51435090
    51445091/* Line 1806 of yacc.c  */
    5145 #line 359 "parser.yy"
     5092#line 358 "parser.yy"
    51465093    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    51475094    break;
     
    51505097
    51515098/* Line 1806 of yacc.c  */
    5152 #line 363 "parser.yy"
     5099#line 362 "parser.yy"
    51535100    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51545101    break;
     
    51575104
    51585105/* Line 1806 of yacc.c  */
    5159 #line 366 "parser.yy"
     5106#line 365 "parser.yy"
    51605107    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51615108    break;
     
    51645111
    51655112/* Line 1806 of yacc.c  */
    5166 #line 369 "parser.yy"
     5113#line 368 "parser.yy"
    51675114    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    51685115    break;
     
    51715118
    51725119/* Line 1806 of yacc.c  */
    5173 #line 371 "parser.yy"
     5120#line 370 "parser.yy"
    51745121    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    51755122    break;
     
    51785125
    51795126/* Line 1806 of yacc.c  */
    5180 #line 373 "parser.yy"
     5127#line 372 "parser.yy"
    51815128    { (yyval.en) = 0; }
    51825129    break;
     
    51855132
    51865133/* Line 1806 of yacc.c  */
    5187 #line 375 "parser.yy"
     5134#line 374 "parser.yy"
    51885135    {
    51895136                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    51955142
    51965143/* Line 1806 of yacc.c  */
    5197 #line 384 "parser.yy"
     5144#line 383 "parser.yy"
    51985145    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    51995146    break;
     
    52025149
    52035150/* Line 1806 of yacc.c  */
    5204 #line 389 "parser.yy"
     5151#line 388 "parser.yy"
    52055152    { (yyval.en) = 0; }
    52065153    break;
     
    52095156
    52105157/* Line 1806 of yacc.c  */
    5211 #line 392 "parser.yy"
     5158#line 391 "parser.yy"
    52125159    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    52135160    break;
     
    52165163
    52175164/* Line 1806 of yacc.c  */
    5218 #line 397 "parser.yy"
     5165#line 396 "parser.yy"
    52195166    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    52205167    break;
     
    52235170
    52245171/* Line 1806 of yacc.c  */
    5225 #line 399 "parser.yy"
     5172#line 398 "parser.yy"
    52265173    { (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) )))); }
    52275174    break;
     
    52305177
    52315178/* Line 1806 of yacc.c  */
    5232 #line 404 "parser.yy"
     5179#line 403 "parser.yy"
    52335180    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    52345181    break;
     
    52375184
    52385185/* Line 1806 of yacc.c  */
    5239 #line 409 "parser.yy"
     5186#line 408 "parser.yy"
    52405187    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    52415188    break;
     
    52445191
    52455192/* Line 1806 of yacc.c  */
    5246 #line 413 "parser.yy"
     5193#line 412 "parser.yy"
    52475194    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52485195    break;
     
    52515198
    52525199/* Line 1806 of yacc.c  */
    5253 #line 415 "parser.yy"
     5200#line 414 "parser.yy"
    52545201    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52555202    break;
     
    52585205
    52595206/* Line 1806 of yacc.c  */
    5260 #line 417 "parser.yy"
     5207#line 416 "parser.yy"
    52615208    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52625209    break;
     
    52655212
    52665213/* Line 1806 of yacc.c  */
    5267 #line 419 "parser.yy"
     5214#line 418 "parser.yy"
    52685215    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52695216    break;
     
    52725219
    52735220/* Line 1806 of yacc.c  */
    5274 #line 427 "parser.yy"
     5221#line 426 "parser.yy"
    52755222    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    52765223    break;
     
    52795226
    52805227/* Line 1806 of yacc.c  */
    5281 #line 429 "parser.yy"
     5228#line 428 "parser.yy"
    52825229    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    52835230    break;
     
    52865233
    52875234/* Line 1806 of yacc.c  */
    5288 #line 431 "parser.yy"
     5235#line 430 "parser.yy"
    52895236    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    52905237    break;
     
    52935240
    52945241/* Line 1806 of yacc.c  */
    5295 #line 433 "parser.yy"
     5242#line 432 "parser.yy"
    52965243    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    52975244    break;
     
    53005247
    53015248/* Line 1806 of yacc.c  */
    5302 #line 435 "parser.yy"
     5249#line 434 "parser.yy"
    53035250    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    53045251    break;
     
    53075254
    53085255/* Line 1806 of yacc.c  */
    5309 #line 437 "parser.yy"
     5256#line 436 "parser.yy"
    53105257    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    53115258    break;
     
    53145261
    53155262/* Line 1806 of yacc.c  */
    5316 #line 439 "parser.yy"
     5263#line 438 "parser.yy"
    53175264    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    53185265    break;
     
    53215268
    53225269/* Line 1806 of yacc.c  */
    5323 #line 441 "parser.yy"
     5270#line 440 "parser.yy"
    53245271    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    53255272    break;
     
    53285275
    53295276/* Line 1806 of yacc.c  */
    5330 #line 447 "parser.yy"
     5277#line 446 "parser.yy"
    53315278    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    53325279    break;
     
    53355282
    53365283/* Line 1806 of yacc.c  */
    5337 #line 449 "parser.yy"
     5284#line 448 "parser.yy"
    53385285    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53395286    break;
     
    53425289
    53435290/* Line 1806 of yacc.c  */
    5344 #line 451 "parser.yy"
     5291#line 450 "parser.yy"
    53455292    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    53465293    break;
     
    53495296
    53505297/* Line 1806 of yacc.c  */
    5351 #line 453 "parser.yy"
     5298#line 452 "parser.yy"
    53525299    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    53535300    break;
     
    53565303
    53575304/* Line 1806 of yacc.c  */
    5358 #line 455 "parser.yy"
     5305#line 454 "parser.yy"
    53595306    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53605307    break;
     
    53635310
    53645311/* Line 1806 of yacc.c  */
    5365 #line 457 "parser.yy"
     5312#line 456 "parser.yy"
    53665313    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    53675314    break;
     
    53705317
    53715318/* Line 1806 of yacc.c  */
    5372 #line 459 "parser.yy"
     5319#line 458 "parser.yy"
    53735320    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    53745321    break;
     
    53775324
    53785325/* Line 1806 of yacc.c  */
    5379 #line 461 "parser.yy"
     5326#line 460 "parser.yy"
    53805327    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    53815328    break;
     
    53845331
    53855332/* Line 1806 of yacc.c  */
    5386 #line 463 "parser.yy"
     5333#line 462 "parser.yy"
    53875334    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    53885335    break;
     
    53915338
    53925339/* Line 1806 of yacc.c  */
     5340#line 466 "parser.yy"
     5341    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
     5342    break;
     5343
     5344  case 66:
     5345
     5346/* Line 1806 of yacc.c  */
    53935347#line 467 "parser.yy"
    5394     { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    5395     break;
    5396 
    5397   case 66:
     5348    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5349    break;
     5350
     5351  case 67:
    53985352
    53995353/* Line 1806 of yacc.c  */
    54005354#line 468 "parser.yy"
    5401     { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    5402     break;
    5403 
    5404   case 67:
     5355    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5356    break;
     5357
     5358  case 68:
    54055359
    54065360/* Line 1806 of yacc.c  */
    54075361#line 469 "parser.yy"
    5408     { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    5409     break;
    5410 
    5411   case 68:
    5412 
    5413 /* Line 1806 of yacc.c  */
    5414 #line 470 "parser.yy"
    54155362    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    54165363    break;
     
    54195366
    54205367/* Line 1806 of yacc.c  */
    5421 #line 476 "parser.yy"
     5368#line 475 "parser.yy"
    54225369    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    54235370    break;
     
    54265373
    54275374/* Line 1806 of yacc.c  */
    5428 #line 478 "parser.yy"
     5375#line 477 "parser.yy"
    54295376    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    54305377    break;
     
    54335380
    54345381/* Line 1806 of yacc.c  */
    5435 #line 484 "parser.yy"
     5382#line 483 "parser.yy"
    54365383    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54375384    break;
     
    54405387
    54415388/* Line 1806 of yacc.c  */
    5442 #line 486 "parser.yy"
     5389#line 485 "parser.yy"
    54435390    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54445391    break;
     
    54475394
    54485395/* Line 1806 of yacc.c  */
    5449 #line 488 "parser.yy"
     5396#line 487 "parser.yy"
    54505397    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54515398    break;
     
    54545401
    54555402/* Line 1806 of yacc.c  */
    5456 #line 494 "parser.yy"
     5403#line 493 "parser.yy"
    54575404    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54585405    break;
     
    54615408
    54625409/* Line 1806 of yacc.c  */
    5463 #line 496 "parser.yy"
     5410#line 495 "parser.yy"
    54645411    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54655412    break;
     
    54685415
    54695416/* Line 1806 of yacc.c  */
    5470 #line 502 "parser.yy"
     5417#line 501 "parser.yy"
    54715418    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54725419    break;
     
    54755422
    54765423/* Line 1806 of yacc.c  */
    5477 #line 504 "parser.yy"
     5424#line 503 "parser.yy"
    54785425    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54795426    break;
     
    54825429
    54835430/* Line 1806 of yacc.c  */
    5484 #line 510 "parser.yy"
     5431#line 509 "parser.yy"
    54855432    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54865433    break;
     
    54895436
    54905437/* Line 1806 of yacc.c  */
    5491 #line 512 "parser.yy"
     5438#line 511 "parser.yy"
    54925439    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54935440    break;
     
    54965443
    54975444/* Line 1806 of yacc.c  */
    5498 #line 514 "parser.yy"
     5445#line 513 "parser.yy"
    54995446    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55005447    break;
     
    55035450
    55045451/* Line 1806 of yacc.c  */
    5505 #line 516 "parser.yy"
     5452#line 515 "parser.yy"
    55065453    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55075454    break;
     
    55105457
    55115458/* Line 1806 of yacc.c  */
    5512 #line 522 "parser.yy"
     5459#line 521 "parser.yy"
    55135460    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55145461    break;
     
    55175464
    55185465/* Line 1806 of yacc.c  */
    5519 #line 524 "parser.yy"
     5466#line 523 "parser.yy"
    55205467    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55215468    break;
     
    55245471
    55255472/* Line 1806 of yacc.c  */
    5526 #line 530 "parser.yy"
     5473#line 529 "parser.yy"
    55275474    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55285475    break;
     
    55315478
    55325479/* Line 1806 of yacc.c  */
    5533 #line 536 "parser.yy"
     5480#line 535 "parser.yy"
    55345481    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55355482    break;
     
    55385485
    55395486/* Line 1806 of yacc.c  */
    5540 #line 542 "parser.yy"
     5487#line 541 "parser.yy"
    55415488    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55425489    break;
     
    55455492
    55465493/* Line 1806 of yacc.c  */
    5547 #line 548 "parser.yy"
     5494#line 547 "parser.yy"
    55485495    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55495496    break;
     
    55525499
    55535500/* Line 1806 of yacc.c  */
    5554 #line 554 "parser.yy"
     5501#line 553 "parser.yy"
    55555502    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55565503    break;
     
    55595506
    55605507/* Line 1806 of yacc.c  */
    5561 #line 560 "parser.yy"
     5508#line 559 "parser.yy"
    55625509    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55635510    break;
     
    55665513
    55675514/* Line 1806 of yacc.c  */
    5568 #line 562 "parser.yy"
     5515#line 561 "parser.yy"
    55695516    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    55705517    break;
     
    55735520
    55745521/* Line 1806 of yacc.c  */
    5575 #line 564 "parser.yy"
     5522#line 563 "parser.yy"
    55765523    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55775524    break;
     
    55805527
    55815528/* Line 1806 of yacc.c  */
    5582 #line 575 "parser.yy"
     5529#line 574 "parser.yy"
    55835530    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55845531    break;
     
    55875534
    55885535/* Line 1806 of yacc.c  */
    5589 #line 577 "parser.yy"
     5536#line 576 "parser.yy"
    55905537    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55915538    break;
     
    55945541
    55955542/* Line 1806 of yacc.c  */
    5596 #line 579 "parser.yy"
     5543#line 578 "parser.yy"
    55975544    { (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) ); }
    55985545    break;
     
    56015548
    56025549/* Line 1806 of yacc.c  */
    5603 #line 584 "parser.yy"
     5550#line 583 "parser.yy"
    56045551    { (yyval.en) = new NullExprNode; }
    56055552    break;
     
    56085555
    56095556/* Line 1806 of yacc.c  */
    5610 #line 592 "parser.yy"
     5557#line 591 "parser.yy"
    56115558    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    56125559    break;
     
    56155562
    56165563/* Line 1806 of yacc.c  */
    5617 #line 594 "parser.yy"
     5564#line 593 "parser.yy"
    56185565    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    56195566    break;
     
    56225569
    56235570/* Line 1806 of yacc.c  */
    5624 #line 596 "parser.yy"
     5571#line 595 "parser.yy"
    56255572    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    56265573    break;
     
    56295576
    56305577/* Line 1806 of yacc.c  */
    5631 #line 598 "parser.yy"
     5578#line 597 "parser.yy"
    56325579    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    56335580    break;
     
    56365583
    56375584/* Line 1806 of yacc.c  */
    5638 #line 604 "parser.yy"
     5585#line 603 "parser.yy"
    56395586    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    56405587    break;
     
    56435590
    56445591/* Line 1806 of yacc.c  */
     5592#line 607 "parser.yy"
     5593    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
     5594    break;
     5595
     5596  case 118:
     5597
     5598/* Line 1806 of yacc.c  */
    56455599#line 608 "parser.yy"
    5646     { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    5647     break;
    5648 
    5649   case 118:
     5600    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5601    break;
     5602
     5603  case 119:
    56505604
    56515605/* Line 1806 of yacc.c  */
    56525606#line 609 "parser.yy"
    5653     { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    5654     break;
    5655 
    5656   case 119:
     5607    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5608    break;
     5609
     5610  case 120:
    56575611
    56585612/* Line 1806 of yacc.c  */
    56595613#line 610 "parser.yy"
    5660     { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    5661     break;
    5662 
    5663   case 120:
     5614    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5615    break;
     5616
     5617  case 121:
    56645618
    56655619/* Line 1806 of yacc.c  */
    56665620#line 611 "parser.yy"
    5667     { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    5668     break;
    5669 
    5670   case 121:
     5621    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5622    break;
     5623
     5624  case 122:
    56715625
    56725626/* Line 1806 of yacc.c  */
    56735627#line 612 "parser.yy"
    5674     { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    5675     break;
    5676 
    5677   case 122:
     5628    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5629    break;
     5630
     5631  case 123:
    56785632
    56795633/* Line 1806 of yacc.c  */
    56805634#line 613 "parser.yy"
    5681     { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    5682     break;
    5683 
    5684   case 123:
     5635    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5636    break;
     5637
     5638  case 124:
    56855639
    56865640/* Line 1806 of yacc.c  */
    56875641#line 614 "parser.yy"
    5688     { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    5689     break;
    5690 
    5691   case 124:
     5642    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5643    break;
     5644
     5645  case 125:
    56925646
    56935647/* Line 1806 of yacc.c  */
    56945648#line 615 "parser.yy"
    5695     { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    5696     break;
    5697 
    5698   case 125:
     5649    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5650    break;
     5651
     5652  case 126:
    56995653
    57005654/* Line 1806 of yacc.c  */
    57015655#line 616 "parser.yy"
    5702     { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    5703     break;
    5704 
    5705   case 126:
    5706 
    5707 /* Line 1806 of yacc.c  */
    5708 #line 617 "parser.yy"
    57095656    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    57105657    break;
     
    57135660
    57145661/* Line 1806 of yacc.c  */
    5715 #line 623 "parser.yy"
     5662#line 622 "parser.yy"
    57165663    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57175664    break;
     
    57205667
    57215668/* Line 1806 of yacc.c  */
    5722 #line 628 "parser.yy"
     5669#line 627 "parser.yy"
    57235670    { (yyval.en) = 0; }
    57245671    break;
     
    57275674
    57285675/* Line 1806 of yacc.c  */
    5729 #line 637 "parser.yy"
     5676#line 636 "parser.yy"
    57305677    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    57315678    break;
     
    57345681
    57355682/* Line 1806 of yacc.c  */
    5736 #line 644 "parser.yy"
     5683#line 643 "parser.yy"
    57375684    {
    57385685                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    57455692
    57465693/* Line 1806 of yacc.c  */
    5747 #line 653 "parser.yy"
     5694#line 652 "parser.yy"
    57485695    {
    57495696                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57545701
    57555702/* Line 1806 of yacc.c  */
    5756 #line 660 "parser.yy"
     5703#line 659 "parser.yy"
    57575704    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57585705    break;
     
    57615708
    57625709/* Line 1806 of yacc.c  */
    5763 #line 667 "parser.yy"
     5710#line 666 "parser.yy"
    57645711    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57655712    break;
     
    57685715
    57695716/* Line 1806 of yacc.c  */
    5770 #line 673 "parser.yy"
     5717#line 672 "parser.yy"
    57715718    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57725719    break;
     
    57755722
    57765723/* Line 1806 of yacc.c  */
    5777 #line 678 "parser.yy"
     5724#line 677 "parser.yy"
    57785725    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57795726    break;
     
    57825729
    57835730/* Line 1806 of yacc.c  */
    5784 #line 680 "parser.yy"
     5731#line 679 "parser.yy"
    57855732    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    57865733    break;
     
    57895736
    57905737/* Line 1806 of yacc.c  */
    5791 #line 682 "parser.yy"
     5738#line 681 "parser.yy"
    57925739    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57935740    break;
     
    57965743
    57975744/* Line 1806 of yacc.c  */
    5798 #line 689 "parser.yy"
     5745#line 688 "parser.yy"
    57995746    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    58005747    break;
     
    58035750
    58045751/* Line 1806 of yacc.c  */
    5805 #line 694 "parser.yy"
     5752#line 693 "parser.yy"
    58065753    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    58075754    break;
     
    58105757
    58115758/* Line 1806 of yacc.c  */
    5812 #line 700 "parser.yy"
     5759#line 699 "parser.yy"
    58135760    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58145761    break;
     
    58175764
    58185765/* Line 1806 of yacc.c  */
    5819 #line 702 "parser.yy"
     5766#line 701 "parser.yy"
    58205767    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    58215768    break;
     
    58245771
    58255772/* Line 1806 of yacc.c  */
    5826 #line 704 "parser.yy"
     5773#line 703 "parser.yy"
    58275774    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58285775    break;
     
    58315778
    58325779/* Line 1806 of yacc.c  */
    5833 #line 706 "parser.yy"
     5780#line 705 "parser.yy"
    58345781    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    58355782    break;
     
    58385785
    58395786/* Line 1806 of yacc.c  */
    5840 #line 711 "parser.yy"
     5787#line 710 "parser.yy"
    58415788    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58425789    break;
     
    58455792
    58465793/* Line 1806 of yacc.c  */
    5847 #line 713 "parser.yy"
     5794#line 712 "parser.yy"
    58485795    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    58495796    break;
     
    58525799
    58535800/* Line 1806 of yacc.c  */
    5854 #line 720 "parser.yy"
     5801#line 719 "parser.yy"
    58555802    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58565803    break;
     
    58595806
    58605807/* Line 1806 of yacc.c  */
    5861 #line 722 "parser.yy"
     5808#line 721 "parser.yy"
    58625809    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58635810    break;
     
    58665813
    58675814/* Line 1806 of yacc.c  */
    5868 #line 729 "parser.yy"
     5815#line 728 "parser.yy"
    58695816    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58705817    break;
     
    58735820
    58745821/* Line 1806 of yacc.c  */
     5822#line 732 "parser.yy"
     5823    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
     5824    break;
     5825
     5826  case 164:
     5827
     5828/* Line 1806 of yacc.c  */
    58755829#line 733 "parser.yy"
    5876     { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    5877     break;
    5878 
    5879   case 164:
    5880 
    5881 /* Line 1806 of yacc.c  */
    5882 #line 734 "parser.yy"
    58835830    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58845831    break;
     
    58875834
    58885835/* Line 1806 of yacc.c  */
    5889 #line 740 "parser.yy"
     5836#line 739 "parser.yy"
    58905837    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58915838    break;
     
    58945841
    58955842/* Line 1806 of yacc.c  */
    5896 #line 744 "parser.yy"
     5843#line 743 "parser.yy"
    58975844    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58985845    break;
     
    59015848
    59025849/* Line 1806 of yacc.c  */
    5903 #line 749 "parser.yy"
     5850#line 748 "parser.yy"
    59045851    { (yyval.sn) = 0; }
    59055852    break;
     
    59085855
    59095856/* Line 1806 of yacc.c  */
    5910 #line 755 "parser.yy"
     5857#line 754 "parser.yy"
    59115858    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59125859    break;
     
    59155862
    59165863/* Line 1806 of yacc.c  */
    5917 #line 757 "parser.yy"
     5864#line 756 "parser.yy"
    59185865    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59195866    break;
     
    59225869
    59235870/* Line 1806 of yacc.c  */
    5924 #line 762 "parser.yy"
     5871#line 761 "parser.yy"
    59255872    { (yyval.sn) = 0; }
    59265873    break;
     
    59295876
    59305877/* Line 1806 of yacc.c  */
    5931 #line 768 "parser.yy"
     5878#line 767 "parser.yy"
    59325879    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59335880    break;
     
    59365883
    59375884/* Line 1806 of yacc.c  */
    5938 #line 770 "parser.yy"
     5885#line 769 "parser.yy"
    59395886    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    59405887    break;
     
    59435890
    59445891/* Line 1806 of yacc.c  */
    5945 #line 772 "parser.yy"
     5892#line 771 "parser.yy"
    59465893    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59475894    break;
     
    59505897
    59515898/* Line 1806 of yacc.c  */
    5952 #line 774 "parser.yy"
     5899#line 773 "parser.yy"
    59535900    { (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) ))))); }
    59545901    break;
     
    59575904
    59585905/* Line 1806 of yacc.c  */
    5959 #line 779 "parser.yy"
     5906#line 778 "parser.yy"
    59605907    { (yyval.sn) = 0; }
    59615908    break;
    59625909
    59635910  case 180:
     5911
     5912/* Line 1806 of yacc.c  */
     5913#line 783 "parser.yy"
     5914    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
     5915    break;
     5916
     5917  case 181:
    59645918
    59655919/* Line 1806 of yacc.c  */
     
    59685922    break;
    59695923
    5970   case 181:
    5971 
    5972 /* Line 1806 of yacc.c  */
    5973 #line 785 "parser.yy"
    5974     { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    5975     break;
    5976 
    59775924  case 182:
    59785925
    59795926/* Line 1806 of yacc.c  */
    5980 #line 790 "parser.yy"
     5927#line 789 "parser.yy"
    59815928    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59825929    break;
     
    59855932
    59865933/* Line 1806 of yacc.c  */
    5987 #line 792 "parser.yy"
     5934#line 791 "parser.yy"
    59885935    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59895936    break;
     
    59925939
    59935940/* Line 1806 of yacc.c  */
    5994 #line 794 "parser.yy"
     5941#line 793 "parser.yy"
    59955942    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59965943    break;
     
    59995946
    60005947/* Line 1806 of yacc.c  */
    6001 #line 799 "parser.yy"
     5948#line 798 "parser.yy"
    60025949    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    60035950    break;
     
    60065953
    60075954/* Line 1806 of yacc.c  */
    6008 #line 801 "parser.yy"
     5955#line 800 "parser.yy"
    60095956    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    60105957    break;
     
    60135960
    60145961/* Line 1806 of yacc.c  */
    6015 #line 806 "parser.yy"
     5962#line 805 "parser.yy"
    60165963    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    60175964    break;
     
    60205967
    60215968/* Line 1806 of yacc.c  */
    6022 #line 810 "parser.yy"
     5969#line 809 "parser.yy"
    60235970    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    60245971    break;
     
    60275974
    60285975/* Line 1806 of yacc.c  */
    6029 #line 813 "parser.yy"
     5976#line 812 "parser.yy"
    60305977    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    60315978    break;
     
    60345981
    60355982/* Line 1806 of yacc.c  */
    6036 #line 817 "parser.yy"
     5983#line 816 "parser.yy"
    60375984    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    60385985    break;
     
    60415988
    60425989/* Line 1806 of yacc.c  */
    6043 #line 820 "parser.yy"
     5990#line 819 "parser.yy"
    60445991    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    60455992    break;
     
    60485995
    60495996/* Line 1806 of yacc.c  */
    6050 #line 824 "parser.yy"
     5997#line 823 "parser.yy"
    60515998    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    60525999    break;
     
    60556002
    60566003/* Line 1806 of yacc.c  */
    6057 #line 826 "parser.yy"
     6004#line 825 "parser.yy"
    60586005    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60596006    break;
     
    60626009
    60636010/* Line 1806 of yacc.c  */
    6064 #line 828 "parser.yy"
     6011#line 827 "parser.yy"
    60656012    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60666013    break;
     
    60696016
    60706017/* Line 1806 of yacc.c  */
    6071 #line 832 "parser.yy"
     6018#line 831 "parser.yy"
    60726019    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60736020    break;
     
    60766023
    60776024/* Line 1806 of yacc.c  */
    6078 #line 834 "parser.yy"
     6025#line 833 "parser.yy"
    60796026    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    60806027    break;
     
    60836030
    60846031/* Line 1806 of yacc.c  */
    6085 #line 841 "parser.yy"
     6032#line 840 "parser.yy"
    60866033    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60876034    break;
     
    60906037
    60916038/* Line 1806 of yacc.c  */
    6092 #line 843 "parser.yy"
     6039#line 842 "parser.yy"
    60936040    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60946041    break;
     
    60976044
    60986045/* Line 1806 of yacc.c  */
    6099 #line 845 "parser.yy"
     6046#line 844 "parser.yy"
    61006047    {
    61016048                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    61076054
    61086055/* Line 1806 of yacc.c  */
    6109 #line 856 "parser.yy"
     6056#line 855 "parser.yy"
    61106057    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61116058    break;
     
    61146061
    61156062/* Line 1806 of yacc.c  */
    6116 #line 858 "parser.yy"
     6063#line 857 "parser.yy"
    61176064    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61186065    break;
     
    61216068
    61226069/* Line 1806 of yacc.c  */
    6123 #line 860 "parser.yy"
     6070#line 859 "parser.yy"
    61246071    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61256072    break;
     
    61286075
    61296076/* Line 1806 of yacc.c  */
    6130 #line 862 "parser.yy"
     6077#line 861 "parser.yy"
    61316078    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61326079    break;
     
    61356082
    61366083/* Line 1806 of yacc.c  */
    6137 #line 867 "parser.yy"
     6084#line 866 "parser.yy"
    61386085    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61396086    break;
     
    61426089
    61436090/* Line 1806 of yacc.c  */
    6144 #line 869 "parser.yy"
     6091#line 868 "parser.yy"
    61456092    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61466093    break;
     
    61496096
    61506097/* Line 1806 of yacc.c  */
    6151 #line 871 "parser.yy"
     6098#line 870 "parser.yy"
    61526099    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61536100    break;
     
    61566103
    61576104/* Line 1806 of yacc.c  */
    6158 #line 873 "parser.yy"
     6105#line 872 "parser.yy"
    61596106    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61606107    break;
     
    61636110
    61646111/* Line 1806 of yacc.c  */
    6165 #line 878 "parser.yy"
     6112#line 877 "parser.yy"
    61666113    {
    61676114                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    61736120
    61746121/* Line 1806 of yacc.c  */
    6175 #line 892 "parser.yy"
     6122#line 891 "parser.yy"
    61766123    {
    61776124                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61836130
    61846131/* Line 1806 of yacc.c  */
    6185 #line 897 "parser.yy"
     6132#line 896 "parser.yy"
    61866133    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61876134    break;
     
    61906137
    61916138/* Line 1806 of yacc.c  */
    6192 #line 899 "parser.yy"
     6139#line 898 "parser.yy"
    61936140    {
    61946141                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62006147
    62016148/* Line 1806 of yacc.c  */
    6202 #line 908 "parser.yy"
     6149#line 907 "parser.yy"
    62036150    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    62046151    break;
     
    62076154
    62086155/* Line 1806 of yacc.c  */
    6209 #line 910 "parser.yy"
     6156#line 909 "parser.yy"
    62106157    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    62116158    break;
     
    62146161
    62156162/* Line 1806 of yacc.c  */
    6216 #line 912 "parser.yy"
     6163#line 911 "parser.yy"
    62176164    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    62186165    break;
     
    62216168
    62226169/* Line 1806 of yacc.c  */
    6223 #line 914 "parser.yy"
     6170#line 913 "parser.yy"
    62246171    { (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) ); }
    62256172    break;
     
    62286175
    62296176/* Line 1806 of yacc.c  */
    6230 #line 916 "parser.yy"
     6177#line 915 "parser.yy"
    62316178    { (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) ); }
    62326179    break;
     
    62356182
    62366183/* Line 1806 of yacc.c  */
    6237 #line 921 "parser.yy"
     6184#line 920 "parser.yy"
    62386185    { (yyval.flag) = false; }
    62396186    break;
     
    62426189
    62436190/* Line 1806 of yacc.c  */
    6244 #line 923 "parser.yy"
     6191#line 922 "parser.yy"
    62456192    { (yyval.flag) = true; }
    62466193    break;
     
    62496196
    62506197/* Line 1806 of yacc.c  */
    6251 #line 928 "parser.yy"
     6198#line 927 "parser.yy"
    62526199    { (yyval.en) = 0; }
    62536200    break;
     
    62566203
    62576204/* Line 1806 of yacc.c  */
    6258 #line 935 "parser.yy"
     6205#line 934 "parser.yy"
    62596206    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62606207    break;
     
    62636210
    62646211/* Line 1806 of yacc.c  */
    6265 #line 940 "parser.yy"
     6212#line 939 "parser.yy"
    62666213    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    62676214    break;
     
    62706217
    62716218/* Line 1806 of yacc.c  */
    6272 #line 942 "parser.yy"
     6219#line 941 "parser.yy"
    62736220    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    62746221    break;
     
    62776224
    62786225/* Line 1806 of yacc.c  */
    6279 #line 947 "parser.yy"
     6226#line 946 "parser.yy"
    62806227    { (yyval.constant) = 0; }
    62816228    break;
     
    62846231
    62856232/* Line 1806 of yacc.c  */
    6286 #line 949 "parser.yy"
     6233#line 948 "parser.yy"
    62876234    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    62886235    break;
     
    62916238
    62926239/* Line 1806 of yacc.c  */
    6293 #line 951 "parser.yy"
     6240#line 950 "parser.yy"
    62946241    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    62956242    break;
     
    62986245
    62996246/* Line 1806 of yacc.c  */
    6300 #line 956 "parser.yy"
     6247#line 955 "parser.yy"
    63016248    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    63026249    break;
     
    63056252
    63066253/* Line 1806 of yacc.c  */
    6307 #line 958 "parser.yy"
     6254#line 957 "parser.yy"
    63086255    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    63096256    break;
     
    63126259
    63136260/* Line 1806 of yacc.c  */
    6314 #line 965 "parser.yy"
     6261#line 964 "parser.yy"
    63156262    { (yyval.decl) = 0; }
    63166263    break;
     
    63196266
    63206267/* Line 1806 of yacc.c  */
    6321 #line 972 "parser.yy"
     6268#line 971 "parser.yy"
    63226269    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63236270    break;
     
    63266273
    63276274/* Line 1806 of yacc.c  */
    6328 #line 977 "parser.yy"
     6275#line 976 "parser.yy"
    63296276    { (yyval.decl) = 0; }
    63306277    break;
     
    63336280
    63346281/* Line 1806 of yacc.c  */
    6335 #line 984 "parser.yy"
     6282#line 983 "parser.yy"
    63366283    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63376284    break;
    63386285
    63396286  case 245:
     6287
     6288/* Line 1806 of yacc.c  */
     6289#line 997 "parser.yy"
     6290    {}
     6291    break;
     6292
     6293  case 246:
    63406294
    63416295/* Line 1806 of yacc.c  */
     
    63446298    break;
    63456299
    6346   case 246:
    6347 
    6348 /* Line 1806 of yacc.c  */
    6349 #line 999 "parser.yy"
    6350     {}
    6351     break;
    6352 
    63536300  case 254:
    63546301
    63556302/* Line 1806 of yacc.c  */
    6356 #line 1028 "parser.yy"
     6303#line 1027 "parser.yy"
    63576304    {
    63586305                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63646311
    63656312/* Line 1806 of yacc.c  */
    6366 #line 1035 "parser.yy"
     6313#line 1034 "parser.yy"
    63676314    {
    63686315                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63746321
    63756322/* Line 1806 of yacc.c  */
    6376 #line 1040 "parser.yy"
     6323#line 1039 "parser.yy"
    63776324    {
    63786325                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63846331
    63856332/* Line 1806 of yacc.c  */
    6386 #line 1050 "parser.yy"
     6333#line 1049 "parser.yy"
    63876334    {
    63886335                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63946341
    63956342/* Line 1806 of yacc.c  */
    6396 #line 1055 "parser.yy"
     6343#line 1054 "parser.yy"
    63976344    {
    63986345                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64046351
    64056352/* Line 1806 of yacc.c  */
    6406 #line 1060 "parser.yy"
     6353#line 1059 "parser.yy"
    64076354    {
    64086355                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    64146361
    64156362/* Line 1806 of yacc.c  */
    6416 #line 1068 "parser.yy"
     6363#line 1067 "parser.yy"
    64176364    {
    64186365                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64246371
    64256372/* Line 1806 of yacc.c  */
    6426 #line 1073 "parser.yy"
     6373#line 1072 "parser.yy"
    64276374    {
    64286375                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64346381
    64356382/* Line 1806 of yacc.c  */
    6436 #line 1078 "parser.yy"
     6383#line 1077 "parser.yy"
    64376384    {
    64386385                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64446391
    64456392/* Line 1806 of yacc.c  */
    6446 #line 1083 "parser.yy"
     6393#line 1082 "parser.yy"
    64476394    {
    64486395                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64546401
    64556402/* Line 1806 of yacc.c  */
    6456 #line 1088 "parser.yy"
     6403#line 1087 "parser.yy"
    64576404    {
    64586405                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64646411
    64656412/* Line 1806 of yacc.c  */
    6466 #line 1096 "parser.yy"
     6413#line 1095 "parser.yy"
    64676414    {
    64686415                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    64736420
    64746421/* Line 1806 of yacc.c  */
    6475 #line 1119 "parser.yy"
     6422#line 1118 "parser.yy"
    64766423    {
    64776424                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64826429
    64836430/* Line 1806 of yacc.c  */
    6484 #line 1123 "parser.yy"
     6431#line 1122 "parser.yy"
    64856432    {
    64866433                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64916438
    64926439/* Line 1806 of yacc.c  */
    6493 #line 1130 "parser.yy"
     6440#line 1129 "parser.yy"
    64946441    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64956442    break;
     
    64986445
    64996446/* Line 1806 of yacc.c  */
    6500 #line 1134 "parser.yy"
     6447#line 1133 "parser.yy"
    65016448    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    65026449    break;
     
    65056452
    65066453/* Line 1806 of yacc.c  */
    6507 #line 1139 "parser.yy"
     6454#line 1138 "parser.yy"
    65086455    {
    65096456                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65156462
    65166463/* Line 1806 of yacc.c  */
    6517 #line 1144 "parser.yy"
     6464#line 1143 "parser.yy"
    65186465    {
    65196466                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65256472
    65266473/* Line 1806 of yacc.c  */
    6527 #line 1149 "parser.yy"
     6474#line 1148 "parser.yy"
    65286475    {
    65296476                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    65356482
    65366483/* Line 1806 of yacc.c  */
    6537 #line 1160 "parser.yy"
     6484#line 1159 "parser.yy"
    65386485    {
    65396486                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65456492
    65466493/* Line 1806 of yacc.c  */
    6547 #line 1165 "parser.yy"
     6494#line 1164 "parser.yy"
    65486495    {
    65496496                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65556502
    65566503/* Line 1806 of yacc.c  */
    6557 #line 1170 "parser.yy"
     6504#line 1169 "parser.yy"
    65586505    {
    65596506                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65656512
    65666513/* Line 1806 of yacc.c  */
    6567 #line 1175 "parser.yy"
     6514#line 1174 "parser.yy"
    65686515    {
    65696516                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65756522
    65766523/* Line 1806 of yacc.c  */
    6577 #line 1180 "parser.yy"
     6524#line 1179 "parser.yy"
    65786525    {
    65796526                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65856532
    65866533/* Line 1806 of yacc.c  */
    6587 #line 1189 "parser.yy"
     6534#line 1188 "parser.yy"
    65886535    {
    65896536                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65956542
    65966543/* Line 1806 of yacc.c  */
    6597 #line 1194 "parser.yy"
     6544#line 1193 "parser.yy"
    65986545    {
    65996546                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    66056552
    66066553/* Line 1806 of yacc.c  */
    6607 #line 1211 "parser.yy"
     6554#line 1210 "parser.yy"
    66086555    {
    66096556                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66156562
    66166563/* Line 1806 of yacc.c  */
    6617 #line 1216 "parser.yy"
     6564#line 1215 "parser.yy"
    66186565    {
    66196566                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66256572
    66266573/* Line 1806 of yacc.c  */
    6627 #line 1238 "parser.yy"
     6574#line 1237 "parser.yy"
    66286575    { (yyval.decl) = 0; }
    66296576    break;
     
    66326579
    66336580/* Line 1806 of yacc.c  */
    6634 #line 1250 "parser.yy"
     6581#line 1249 "parser.yy"
    66356582    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66366583    break;
     
    66396586
    66406587/* Line 1806 of yacc.c  */
    6641 #line 1261 "parser.yy"
     6588#line 1260 "parser.yy"
    66426589    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    66436590    break;
     
    66466593
    66476594/* Line 1806 of yacc.c  */
    6648 #line 1263 "parser.yy"
     6595#line 1262 "parser.yy"
    66496596    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    66506597    break;
     
    66536600
    66546601/* Line 1806 of yacc.c  */
    6655 #line 1265 "parser.yy"
     6602#line 1264 "parser.yy"
    66566603    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66576604    break;
     
    66606607
    66616608/* Line 1806 of yacc.c  */
    6662 #line 1267 "parser.yy"
     6609#line 1266 "parser.yy"
    66636610    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66646611    break;
     
    66676614
    66686615/* Line 1806 of yacc.c  */
    6669 #line 1269 "parser.yy"
     6616#line 1268 "parser.yy"
    66706617    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66716618    break;
     
    66746621
    66756622/* Line 1806 of yacc.c  */
    6676 #line 1271 "parser.yy"
     6623#line 1270 "parser.yy"
    66776624    {
    66786625                        typedefTable.enterScope();
     
    66836630
    66846631/* Line 1806 of yacc.c  */
    6685 #line 1275 "parser.yy"
     6632#line 1274 "parser.yy"
    66866633    {
    66876634                        typedefTable.leaveScope();
     
    66936640
    66946641/* Line 1806 of yacc.c  */
    6695 #line 1284 "parser.yy"
     6642#line 1283 "parser.yy"
    66966643    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66976644    break;
     
    67006647
    67016648/* Line 1806 of yacc.c  */
    6702 #line 1286 "parser.yy"
     6649#line 1285 "parser.yy"
    67036650    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67046651    break;
     
    67076654
    67086655/* Line 1806 of yacc.c  */
    6709 #line 1297 "parser.yy"
     6656#line 1296 "parser.yy"
    67106657    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67116658    break;
     
    67146661
    67156662/* Line 1806 of yacc.c  */
    6716 #line 1306 "parser.yy"
     6663#line 1305 "parser.yy"
    67176664    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    67186665    break;
     
    67216668
    67226669/* Line 1806 of yacc.c  */
    6723 #line 1308 "parser.yy"
     6670#line 1307 "parser.yy"
    67246671    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    67256672    break;
     
    67286675
    67296676/* Line 1806 of yacc.c  */
    6730 #line 1310 "parser.yy"
     6677#line 1309 "parser.yy"
    67316678    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    67326679    break;
     
    67356682
    67366683/* Line 1806 of yacc.c  */
    6737 #line 1312 "parser.yy"
     6684#line 1311 "parser.yy"
    67386685    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    67396686    break;
     
    67426689
    67436690/* Line 1806 of yacc.c  */
    6744 #line 1314 "parser.yy"
     6691#line 1313 "parser.yy"
    67456692    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    67466693    break;
     
    67496696
    67506697/* Line 1806 of yacc.c  */
    6751 #line 1316 "parser.yy"
     6698#line 1315 "parser.yy"
    67526699    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67536700    break;
     
    67566703
    67576704/* Line 1806 of yacc.c  */
    6758 #line 1318 "parser.yy"
     6705#line 1317 "parser.yy"
    67596706    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67606707    break;
     
    67636710
    67646711/* Line 1806 of yacc.c  */
    6765 #line 1320 "parser.yy"
     6712#line 1319 "parser.yy"
    67666713    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67676714    break;
     
    67706717
    67716718/* Line 1806 of yacc.c  */
    6772 #line 1325 "parser.yy"
     6719#line 1324 "parser.yy"
    67736720    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67746721    break;
     
    67776724
    67786725/* Line 1806 of yacc.c  */
    6779 #line 1327 "parser.yy"
     6726#line 1326 "parser.yy"
    67806727    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67816728    break;
     
    67846731
    67856732/* Line 1806 of yacc.c  */
    6786 #line 1329 "parser.yy"
     6733#line 1328 "parser.yy"
    67876734    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67886735    break;
     
    67916738
    67926739/* Line 1806 of yacc.c  */
    6793 #line 1331 "parser.yy"
     6740#line 1330 "parser.yy"
    67946741    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67956742    break;
     
    67986745
    67996746/* Line 1806 of yacc.c  */
    6800 #line 1333 "parser.yy"
     6747#line 1332 "parser.yy"
    68016748    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    68026749    break;
     
    68056752
    68066753/* Line 1806 of yacc.c  */
    6807 #line 1335 "parser.yy"
     6754#line 1334 "parser.yy"
    68086755    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    68096756    break;
     
    68126759
    68136760/* Line 1806 of yacc.c  */
    6814 #line 1337 "parser.yy"
     6761#line 1336 "parser.yy"
    68156762    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    68166763    break;
     
    68196766
    68206767/* Line 1806 of yacc.c  */
    6821 #line 1339 "parser.yy"
     6768#line 1338 "parser.yy"
    68226769    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    68236770    break;
     
    68266773
    68276774/* Line 1806 of yacc.c  */
    6828 #line 1341 "parser.yy"
     6775#line 1340 "parser.yy"
    68296776    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    68306777    break;
     
    68336780
    68346781/* Line 1806 of yacc.c  */
    6835 #line 1343 "parser.yy"
     6782#line 1342 "parser.yy"
    68366783    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    68376784    break;
     
    68406787
    68416788/* Line 1806 of yacc.c  */
    6842 #line 1345 "parser.yy"
     6789#line 1344 "parser.yy"
    68436790    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    68446791    break;
     
    68476794
    68486795/* Line 1806 of yacc.c  */
    6849 #line 1347 "parser.yy"
     6796#line 1346 "parser.yy"
    68506797    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    68516798    break;
    68526799
    6853   case 333:
    6854 
    6855 /* Line 1806 of yacc.c  */
    6856 #line 1349 "parser.yy"
    6857     { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     6800  case 334:
     6801
     6802/* Line 1806 of yacc.c  */
     6803#line 1353 "parser.yy"
     6804    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68586805    break;
    68596806
     
    68616808
    68626809/* Line 1806 of yacc.c  */
    6863 #line 1356 "parser.yy"
     6810#line 1355 "parser.yy"
     6811    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6812    break;
     6813
     6814  case 336:
     6815
     6816/* Line 1806 of yacc.c  */
     6817#line 1357 "parser.yy"
     6818    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6819    break;
     6820
     6821  case 337:
     6822
     6823/* Line 1806 of yacc.c  */
     6824#line 1359 "parser.yy"
     6825    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
     6826    break;
     6827
     6828  case 339:
     6829
     6830/* Line 1806 of yacc.c  */
     6831#line 1365 "parser.yy"
     6832    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6833    break;
     6834
     6835  case 341:
     6836
     6837/* Line 1806 of yacc.c  */
     6838#line 1372 "parser.yy"
    68646839    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68656840    break;
    68666841
    6867   case 336:
    6868 
    6869 /* Line 1806 of yacc.c  */
    6870 #line 1358 "parser.yy"
     6842  case 342:
     6843
     6844/* Line 1806 of yacc.c  */
     6845#line 1374 "parser.yy"
    68716846    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68726847    break;
    68736848
    6874   case 337:
    6875 
    6876 /* Line 1806 of yacc.c  */
    6877 #line 1360 "parser.yy"
     6849  case 343:
     6850
     6851/* Line 1806 of yacc.c  */
     6852#line 1376 "parser.yy"
     6853    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
     6854    break;
     6855
     6856  case 344:
     6857
     6858/* Line 1806 of yacc.c  */
     6859#line 1381 "parser.yy"
     6860    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
     6861    break;
     6862
     6863  case 345:
     6864
     6865/* Line 1806 of yacc.c  */
     6866#line 1383 "parser.yy"
     6867    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
     6868    break;
     6869
     6870  case 346:
     6871
     6872/* Line 1806 of yacc.c  */
     6873#line 1385 "parser.yy"
     6874    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
     6875    break;
     6876
     6877  case 347:
     6878
     6879/* Line 1806 of yacc.c  */
     6880#line 1387 "parser.yy"
     6881    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
     6882    break;
     6883
     6884  case 349:
     6885
     6886/* Line 1806 of yacc.c  */
     6887#line 1393 "parser.yy"
     6888    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6889    break;
     6890
     6891  case 350:
     6892
     6893/* Line 1806 of yacc.c  */
     6894#line 1395 "parser.yy"
     6895    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6896    break;
     6897
     6898  case 351:
     6899
     6900/* Line 1806 of yacc.c  */
     6901#line 1397 "parser.yy"
    68786902    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68796903    break;
    68806904
    6881   case 338:
    6882 
    6883 /* Line 1806 of yacc.c  */
    6884 #line 1362 "parser.yy"
    6885     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6886     break;
    6887 
    6888   case 340:
    6889 
    6890 /* Line 1806 of yacc.c  */
    6891 #line 1368 "parser.yy"
    6892     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6893     break;
    6894 
    6895   case 342:
    6896 
    6897 /* Line 1806 of yacc.c  */
    6898 #line 1375 "parser.yy"
     6905  case 353:
     6906
     6907/* Line 1806 of yacc.c  */
     6908#line 1403 "parser.yy"
    68996909    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69006910    break;
    69016911
    6902   case 343:
    6903 
    6904 /* Line 1806 of yacc.c  */
    6905 #line 1377 "parser.yy"
     6912  case 354:
     6913
     6914/* Line 1806 of yacc.c  */
     6915#line 1405 "parser.yy"
    69066916    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69076917    break;
    69086918
    6909   case 344:
    6910 
    6911 /* Line 1806 of yacc.c  */
    6912 #line 1379 "parser.yy"
    6913     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6914     break;
    6915 
    6916   case 345:
    6917 
    6918 /* Line 1806 of yacc.c  */
    6919 #line 1384 "parser.yy"
    6920     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6921     break;
    6922 
    6923   case 346:
    6924 
    6925 /* Line 1806 of yacc.c  */
    6926 #line 1386 "parser.yy"
    6927     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6928     break;
    6929 
    6930   case 347:
    6931 
    6932 /* Line 1806 of yacc.c  */
    6933 #line 1388 "parser.yy"
    6934     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6935     break;
    6936 
    6937   case 348:
    6938 
    6939 /* Line 1806 of yacc.c  */
    6940 #line 1390 "parser.yy"
    6941     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6942     break;
    6943 
    6944   case 350:
    6945 
    6946 /* Line 1806 of yacc.c  */
    6947 #line 1396 "parser.yy"
     6919  case 356:
     6920
     6921/* Line 1806 of yacc.c  */
     6922#line 1411 "parser.yy"
    69486923    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69496924    break;
    69506925
    6951   case 351:
    6952 
    6953 /* Line 1806 of yacc.c  */
    6954 #line 1398 "parser.yy"
     6926  case 357:
     6927
     6928/* Line 1806 of yacc.c  */
     6929#line 1413 "parser.yy"
    69556930    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69566931    break;
    69576932
    6958   case 352:
    6959 
    6960 /* Line 1806 of yacc.c  */
    6961 #line 1400 "parser.yy"
     6933  case 358:
     6934
     6935/* Line 1806 of yacc.c  */
     6936#line 1415 "parser.yy"
    69626937    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69636938    break;
    69646939
    6965   case 354:
    6966 
    6967 /* Line 1806 of yacc.c  */
    6968 #line 1406 "parser.yy"
    6969     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6970     break;
    6971 
    6972   case 355:
    6973 
    6974 /* Line 1806 of yacc.c  */
    6975 #line 1408 "parser.yy"
     6940  case 359:
     6941
     6942/* Line 1806 of yacc.c  */
     6943#line 1420 "parser.yy"
     6944    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
     6945    break;
     6946
     6947  case 360:
     6948
     6949/* Line 1806 of yacc.c  */
     6950#line 1422 "parser.yy"
     6951    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6952    break;
     6953
     6954  case 361:
     6955
     6956/* Line 1806 of yacc.c  */
     6957#line 1424 "parser.yy"
    69766958    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69776959    break;
    69786960
    6979   case 357:
    6980 
    6981 /* Line 1806 of yacc.c  */
    6982 #line 1414 "parser.yy"
    6983     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    6984     break;
    6985 
    6986   case 358:
    6987 
    6988 /* Line 1806 of yacc.c  */
    6989 #line 1416 "parser.yy"
    6990     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    6991     break;
    6992 
    6993   case 359:
    6994 
    6995 /* Line 1806 of yacc.c  */
    6996 #line 1418 "parser.yy"
    6997     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6998     break;
    6999 
    7000   case 360:
    7001 
    7002 /* Line 1806 of yacc.c  */
    7003 #line 1423 "parser.yy"
    7004     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    7005     break;
    7006 
    7007   case 361:
    7008 
    7009 /* Line 1806 of yacc.c  */
    7010 #line 1425 "parser.yy"
    7011     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7012     break;
    7013 
    7014   case 362:
    7015 
    7016 /* Line 1806 of yacc.c  */
    7017 #line 1427 "parser.yy"
    7018     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6961  case 364:
     6962
     6963/* Line 1806 of yacc.c  */
     6964#line 1434 "parser.yy"
     6965    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    70196966    break;
    70206967
     
    70226969
    70236970/* Line 1806 of yacc.c  */
    7024 #line 1437 "parser.yy"
    7025     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
     6971#line 1436 "parser.yy"
     6972    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    70266973    break;
    70276974
     
    70296976
    70306977/* Line 1806 of yacc.c  */
    7031 #line 1439 "parser.yy"
    7032     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
     6978#line 1438 "parser.yy"
     6979    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
    70336980    break;
    70346981
     
    70366983
    70376984/* Line 1806 of yacc.c  */
    7038 #line 1441 "parser.yy"
    7039     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     6985#line 1440 "parser.yy"
     6986    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    70406987    break;
    70416988
     
    70436990
    70446991/* Line 1806 of yacc.c  */
    7045 #line 1443 "parser.yy"
    7046     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
     6992#line 1442 "parser.yy"
     6993    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    70476994    break;
    70486995
     
    70506997
    70516998/* Line 1806 of yacc.c  */
    7052 #line 1445 "parser.yy"
    7053     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     6999#line 1447 "parser.yy"
     7000    { (yyval.aggKey) = DeclarationNode::Struct; }
    70547001    break;
    70557002
     
    70577004
    70587005/* Line 1806 of yacc.c  */
    7059 #line 1450 "parser.yy"
    7060     { (yyval.aggKey) = DeclarationNode::Struct; }
     7006#line 1449 "parser.yy"
     7007    { (yyval.aggKey) = DeclarationNode::Union; }
    70617008    break;
    70627009
     
    70647011
    70657012/* Line 1806 of yacc.c  */
    7066 #line 1452 "parser.yy"
    7067     { (yyval.aggKey) = DeclarationNode::Union; }
     7013#line 1454 "parser.yy"
     7014    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    70687015    break;
    70697016
     
    70717018
    70727019/* Line 1806 of yacc.c  */
    7073 #line 1457 "parser.yy"
    7074     { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    7075     break;
    7076 
    7077   case 373:
    7078 
    7079 /* Line 1806 of yacc.c  */
    7080 #line 1459 "parser.yy"
     7020#line 1456 "parser.yy"
    70817021    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    70827022    break;
    70837023
    7084   case 375:
     7024  case 374:
     7025
     7026/* Line 1806 of yacc.c  */
     7027#line 1462 "parser.yy"
     7028    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7029    break;
     7030
     7031  case 376:
    70857032
    70867033/* Line 1806 of yacc.c  */
     
    70897036    break;
    70907037
    7091   case 377:
    7092 
    7093 /* Line 1806 of yacc.c  */
    7094 #line 1468 "parser.yy"
    7095     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7038  case 378:
     7039
     7040/* Line 1806 of yacc.c  */
     7041#line 1471 "parser.yy"
     7042    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70967043    break;
    70977044
     
    70997046
    71007047/* Line 1806 of yacc.c  */
    7101 #line 1474 "parser.yy"
    7102     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     7048#line 1473 "parser.yy"
     7049    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    71037050    break;
    71047051
     
    71067053
    71077054/* Line 1806 of yacc.c  */
    7108 #line 1476 "parser.yy"
    7109     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
     7055#line 1475 "parser.yy"
     7056    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    71107057    break;
    71117058
     
    71137060
    71147061/* Line 1806 of yacc.c  */
    7115 #line 1478 "parser.yy"
    7116     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7062#line 1480 "parser.yy"
     7063    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    71177064    break;
    71187065
     
    71207067
    71217068/* Line 1806 of yacc.c  */
    7122 #line 1483 "parser.yy"
    7123     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7069#line 1482 "parser.yy"
     7070    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    71247071    break;
    71257072
     
    71277074
    71287075/* Line 1806 of yacc.c  */
    7129 #line 1485 "parser.yy"
    7130     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     7076#line 1487 "parser.yy"
     7077    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    71317078    break;
    71327079
     
    71347081
    71357082/* Line 1806 of yacc.c  */
    7136 #line 1490 "parser.yy"
    7137     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7083#line 1489 "parser.yy"
     7084    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71387085    break;
    71397086
     
    71427089/* Line 1806 of yacc.c  */
    71437090#line 1492 "parser.yy"
    7144     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
     7091    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71457092    break;
    71467093
     
    71527099    break;
    71537100
    7154   case 387:
    7155 
    7156 /* Line 1806 of yacc.c  */
    7157 #line 1498 "parser.yy"
    7158     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7101  case 388:
     7102
     7103/* Line 1806 of yacc.c  */
     7104#line 1501 "parser.yy"
     7105    { (yyval.en) = 0; }
    71597106    break;
    71607107
     
    71627109
    71637110/* Line 1806 of yacc.c  */
    7164 #line 1504 "parser.yy"
     7111#line 1503 "parser.yy"
     7112    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     7113    break;
     7114
     7115  case 390:
     7116
     7117/* Line 1806 of yacc.c  */
     7118#line 1508 "parser.yy"
     7119    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     7120    break;
     7121
     7122  case 392:
     7123
     7124/* Line 1806 of yacc.c  */
     7125#line 1517 "parser.yy"
     7126    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
     7127    break;
     7128
     7129  case 393:
     7130
     7131/* Line 1806 of yacc.c  */
     7132#line 1519 "parser.yy"
     7133    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
     7134    break;
     7135
     7136  case 394:
     7137
     7138/* Line 1806 of yacc.c  */
     7139#line 1521 "parser.yy"
     7140    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
     7141    break;
     7142
     7143  case 395:
     7144
     7145/* Line 1806 of yacc.c  */
     7146#line 1526 "parser.yy"
     7147    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
     7148    break;
     7149
     7150  case 396:
     7151
     7152/* Line 1806 of yacc.c  */
     7153#line 1528 "parser.yy"
     7154    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
     7155    break;
     7156
     7157  case 397:
     7158
     7159/* Line 1806 of yacc.c  */
     7160#line 1533 "parser.yy"
    71657161    { (yyval.en) = 0; }
    71667162    break;
    71677163
    7168   case 390:
    7169 
    7170 /* Line 1806 of yacc.c  */
    7171 #line 1506 "parser.yy"
    7172     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7173     break;
    7174 
    7175   case 391:
    7176 
    7177 /* Line 1806 of yacc.c  */
    7178 #line 1511 "parser.yy"
     7164  case 398:
     7165
     7166/* Line 1806 of yacc.c  */
     7167#line 1535 "parser.yy"
    71797168    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71807169    break;
    71817170
    7182   case 393:
    7183 
    7184 /* Line 1806 of yacc.c  */
    7185 #line 1520 "parser.yy"
    7186     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7187     break;
    7188 
    7189   case 394:
    7190 
    7191 /* Line 1806 of yacc.c  */
    7192 #line 1522 "parser.yy"
    7193     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    7194     break;
    7195 
    7196   case 395:
    7197 
    7198 /* Line 1806 of yacc.c  */
    7199 #line 1524 "parser.yy"
    7200     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    7201     break;
    7202 
    7203   case 396:
    7204 
    7205 /* Line 1806 of yacc.c  */
    7206 #line 1529 "parser.yy"
    7207     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    7208     break;
    7209 
    7210   case 397:
    7211 
    7212 /* Line 1806 of yacc.c  */
    7213 #line 1531 "parser.yy"
    7214     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    7215     break;
    7216 
    7217   case 398:
    7218 
    7219 /* Line 1806 of yacc.c  */
    7220 #line 1536 "parser.yy"
    7221     { (yyval.en) = 0; }
    7222     break;
    7223 
    72247171  case 399:
    72257172
    72267173/* Line 1806 of yacc.c  */
    7227 #line 1538 "parser.yy"
    7228     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7229     break;
    7230 
    7231   case 400:
    7232 
    7233 /* Line 1806 of yacc.c  */
    7234 #line 1545 "parser.yy"
     7174#line 1542 "parser.yy"
    72357175    { (yyval.decl) = 0; }
    72367176    break;
    72377177
     7178  case 403:
     7179
     7180/* Line 1806 of yacc.c  */
     7181#line 1550 "parser.yy"
     7182    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7183    break;
     7184
    72387185  case 404:
    72397186
    72407187/* Line 1806 of yacc.c  */
    7241 #line 1553 "parser.yy"
     7188#line 1552 "parser.yy"
     7189    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7190    break;
     7191
     7192  case 405:
     7193
     7194/* Line 1806 of yacc.c  */
     7195#line 1554 "parser.yy"
     7196    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7197    break;
     7198
     7199  case 407:
     7200
     7201/* Line 1806 of yacc.c  */
     7202#line 1562 "parser.yy"
    72427203    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72437204    break;
    72447205
    7245   case 405:
    7246 
    7247 /* Line 1806 of yacc.c  */
    7248 #line 1555 "parser.yy"
     7206  case 408:
     7207
     7208/* Line 1806 of yacc.c  */
     7209#line 1564 "parser.yy"
     7210    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7211    break;
     7212
     7213  case 409:
     7214
     7215/* Line 1806 of yacc.c  */
     7216#line 1566 "parser.yy"
     7217    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
     7218    break;
     7219
     7220  case 411:
     7221
     7222/* Line 1806 of yacc.c  */
     7223#line 1572 "parser.yy"
     7224    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7225    break;
     7226
     7227  case 412:
     7228
     7229/* Line 1806 of yacc.c  */
     7230#line 1577 "parser.yy"
     7231    { (yyval.decl) = 0; }
     7232    break;
     7233
     7234  case 415:
     7235
     7236/* Line 1806 of yacc.c  */
     7237#line 1584 "parser.yy"
    72497238    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72507239    break;
    72517240
    7252   case 406:
    7253 
    7254 /* Line 1806 of yacc.c  */
    7255 #line 1557 "parser.yy"
    7256     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7257     break;
    7258 
    7259   case 408:
    7260 
    7261 /* Line 1806 of yacc.c  */
    7262 #line 1565 "parser.yy"
     7241  case 418:
     7242
     7243/* Line 1806 of yacc.c  */
     7244#line 1591 "parser.yy"
    72637245    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72647246    break;
    72657247
    7266   case 409:
    7267 
    7268 /* Line 1806 of yacc.c  */
    7269 #line 1567 "parser.yy"
     7248  case 419:
     7249
     7250/* Line 1806 of yacc.c  */
     7251#line 1593 "parser.yy"
    72707252    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72717253    break;
    72727254
    7273   case 410:
    7274 
    7275 /* Line 1806 of yacc.c  */
    7276 #line 1569 "parser.yy"
    7277     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7278     break;
    7279 
    7280   case 412:
    7281 
    7282 /* Line 1806 of yacc.c  */
    7283 #line 1575 "parser.yy"
    7284     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7285     break;
    7286 
    7287   case 413:
    7288 
    7289 /* Line 1806 of yacc.c  */
    7290 #line 1580 "parser.yy"
    7291     { (yyval.decl) = 0; }
    7292     break;
    7293 
    7294   case 416:
    7295 
    7296 /* Line 1806 of yacc.c  */
    7297 #line 1587 "parser.yy"
    7298     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7299     break;
    7300 
    7301   case 419:
    7302 
    7303 /* Line 1806 of yacc.c  */
    7304 #line 1594 "parser.yy"
    7305     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7306     break;
    7307 
    7308   case 420:
    7309 
    7310 /* Line 1806 of yacc.c  */
    7311 #line 1596 "parser.yy"
    7312     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7255  case 421:
     7256
     7257/* Line 1806 of yacc.c  */
     7258#line 1602 "parser.yy"
     7259    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    73137260    break;
    73147261
     
    73237270
    73247271/* Line 1806 of yacc.c  */
    7325 #line 1608 "parser.yy"
    7326     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7327     break;
    7328 
    7329   case 424:
    7330 
    7331 /* Line 1806 of yacc.c  */
    7332 #line 1610 "parser.yy"
     7272#line 1607 "parser.yy"
    73337273    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73347274    break;
    73357275
    7336   case 429:
    7337 
    7338 /* Line 1806 of yacc.c  */
    7339 #line 1620 "parser.yy"
     7276  case 428:
     7277
     7278/* Line 1806 of yacc.c  */
     7279#line 1617 "parser.yy"
    73407280    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73417281    break;
    73427282
    7343   case 431:
    7344 
    7345 /* Line 1806 of yacc.c  */
    7346 #line 1626 "parser.yy"
     7283  case 430:
     7284
     7285/* Line 1806 of yacc.c  */
     7286#line 1623 "parser.yy"
    73477287    {
    73487288                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73517291    break;
    73527292
    7353   case 432:
    7354 
    7355 /* Line 1806 of yacc.c  */
    7356 #line 1631 "parser.yy"
     7293  case 431:
     7294
     7295/* Line 1806 of yacc.c  */
     7296#line 1628 "parser.yy"
    73577297    {
    73587298                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73617301    break;
    73627302
     7303  case 433:
     7304
     7305/* Line 1806 of yacc.c  */
     7306#line 1637 "parser.yy"
     7307    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7308    break;
     7309
    73637310  case 434:
    73647311
    73657312/* Line 1806 of yacc.c  */
    7366 #line 1640 "parser.yy"
     7313#line 1646 "parser.yy"
     7314    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
     7315    break;
     7316
     7317  case 435:
     7318
     7319/* Line 1806 of yacc.c  */
     7320#line 1648 "parser.yy"
     7321    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
     7322    break;
     7323
     7324  case 447:
     7325
     7326/* Line 1806 of yacc.c  */
     7327#line 1673 "parser.yy"
    73677328    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73687329    break;
    73697330
    7370   case 435:
    7371 
    7372 /* Line 1806 of yacc.c  */
    7373 #line 1649 "parser.yy"
    7374     { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    7375     break;
    7376 
    7377   case 436:
    7378 
    7379 /* Line 1806 of yacc.c  */
    7380 #line 1651 "parser.yy"
    7381     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    7382     break;
    7383 
    7384   case 448:
    7385 
    7386 /* Line 1806 of yacc.c  */
    7387 #line 1676 "parser.yy"
     7331  case 451:
     7332
     7333/* Line 1806 of yacc.c  */
     7334#line 1681 "parser.yy"
    73887335    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73897336    break;
     
    73927339
    73937340/* Line 1806 of yacc.c  */
    7394 #line 1684 "parser.yy"
    7395     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7341#line 1686 "parser.yy"
     7342    { (yyval.in) = 0; }
    73967343    break;
    73977344
     
    73997346
    74007347/* Line 1806 of yacc.c  */
    7401 #line 1689 "parser.yy"
     7348#line 1688 "parser.yy"
     7349    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7350    break;
     7351
     7352  case 454:
     7353
     7354/* Line 1806 of yacc.c  */
     7355#line 1690 "parser.yy"
     7356    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7357    break;
     7358
     7359  case 455:
     7360
     7361/* Line 1806 of yacc.c  */
     7362#line 1694 "parser.yy"
     7363    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7364    break;
     7365
     7366  case 456:
     7367
     7368/* Line 1806 of yacc.c  */
     7369#line 1695 "parser.yy"
     7370    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7371    break;
     7372
     7373  case 457:
     7374
     7375/* Line 1806 of yacc.c  */
     7376#line 1700 "parser.yy"
    74027377    { (yyval.in) = 0; }
    74037378    break;
    74047379
    7405   case 454:
    7406 
    7407 /* Line 1806 of yacc.c  */
    7408 #line 1691 "parser.yy"
    7409     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7410     break;
    7411 
    7412   case 455:
    7413 
    7414 /* Line 1806 of yacc.c  */
    7415 #line 1693 "parser.yy"
    7416     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7417     break;
    7418 
    7419   case 456:
    7420 
    7421 /* Line 1806 of yacc.c  */
    7422 #line 1697 "parser.yy"
    7423     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7424     break;
    7425 
    7426   case 457:
    7427 
    7428 /* Line 1806 of yacc.c  */
    7429 #line 1698 "parser.yy"
    7430     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    7431     break;
    7432 
    7433   case 458:
     7380  case 459:
     7381
     7382/* Line 1806 of yacc.c  */
     7383#line 1702 "parser.yy"
     7384    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7385    break;
     7386
     7387  case 460:
    74347388
    74357389/* Line 1806 of yacc.c  */
    74367390#line 1703 "parser.yy"
    7437     { (yyval.in) = 0; }
    7438     break;
    7439 
    7440   case 460:
     7391    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7392    break;
     7393
     7394  case 461:
    74417395
    74427396/* Line 1806 of yacc.c  */
    74437397#line 1705 "parser.yy"
    7444     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    7445     break;
    7446 
    7447   case 461:
    7448 
    7449 /* Line 1806 of yacc.c  */
    7450 #line 1706 "parser.yy"
    7451     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7452     break;
    7453 
    7454   case 462:
    7455 
    7456 /* Line 1806 of yacc.c  */
    7457 #line 1708 "parser.yy"
    74587398    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74597399    break;
    74607400
    7461   case 464:
    7462 
    7463 /* Line 1806 of yacc.c  */
    7464 #line 1724 "parser.yy"
     7401  case 463:
     7402
     7403/* Line 1806 of yacc.c  */
     7404#line 1721 "parser.yy"
    74657405    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    74667406    break;
    74677407
     7408  case 465:
     7409
     7410/* Line 1806 of yacc.c  */
     7411#line 1727 "parser.yy"
     7412    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7413    break;
     7414
    74687415  case 466:
    74697416
    74707417/* Line 1806 of yacc.c  */
    7471 #line 1730 "parser.yy"
    7472     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7418#line 1735 "parser.yy"
     7419    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    74737420    break;
    74747421
     
    74767423
    74777424/* Line 1806 of yacc.c  */
    7478 #line 1738 "parser.yy"
    7479     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7425#line 1737 "parser.yy"
     7426    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    74807427    break;
    74817428
     
    74847431/* Line 1806 of yacc.c  */
    74857432#line 1740 "parser.yy"
    7486     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
     7433    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74877434    break;
    74887435
     
    74907437
    74917438/* Line 1806 of yacc.c  */
    7492 #line 1743 "parser.yy"
     7439#line 1742 "parser.yy"
    74937440    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74947441    break;
     
    74977444
    74987445/* Line 1806 of yacc.c  */
    7499 #line 1745 "parser.yy"
    7500     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7446#line 1744 "parser.yy"
     7447    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    75017448    break;
    75027449
     
    75047451
    75057452/* Line 1806 of yacc.c  */
    7506 #line 1747 "parser.yy"
    7507     { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    7508     break;
    7509 
    7510   case 472:
    7511 
    7512 /* Line 1806 of yacc.c  */
    7513 #line 1749 "parser.yy"
     7453#line 1746 "parser.yy"
    75147454    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    75157455    break;
    75167456
     7457  case 473:
     7458
     7459/* Line 1806 of yacc.c  */
     7460#line 1770 "parser.yy"
     7461    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7462    break;
     7463
    75177464  case 474:
    75187465
    75197466/* Line 1806 of yacc.c  */
    7520 #line 1773 "parser.yy"
     7467#line 1772 "parser.yy"
     7468    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7469    break;
     7470
     7471  case 475:
     7472
     7473/* Line 1806 of yacc.c  */
     7474#line 1774 "parser.yy"
     7475    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     7476    break;
     7477
     7478  case 477:
     7479
     7480/* Line 1806 of yacc.c  */
     7481#line 1780 "parser.yy"
    75217482    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75227483    break;
    75237484
    7524   case 475:
    7525 
    7526 /* Line 1806 of yacc.c  */
    7527 #line 1775 "parser.yy"
     7485  case 478:
     7486
     7487/* Line 1806 of yacc.c  */
     7488#line 1782 "parser.yy"
    75287489    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75297490    break;
    75307491
    7531   case 476:
    7532 
    7533 /* Line 1806 of yacc.c  */
    7534 #line 1777 "parser.yy"
    7535     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7536     break;
    7537 
    7538   case 478:
    7539 
    7540 /* Line 1806 of yacc.c  */
    7541 #line 1783 "parser.yy"
    7542     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7543     break;
    7544 
    75457492  case 479:
    75467493
    75477494/* Line 1806 of yacc.c  */
    7548 #line 1785 "parser.yy"
    7549     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7550     break;
    7551 
    7552   case 480:
    7553 
    7554 /* Line 1806 of yacc.c  */
    7555 #line 1790 "parser.yy"
     7495#line 1787 "parser.yy"
    75567496    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75577497    break;
    75587498
     7499  case 481:
     7500
     7501/* Line 1806 of yacc.c  */
     7502#line 1793 "parser.yy"
     7503    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7504    break;
     7505
    75597506  case 482:
    75607507
    75617508/* Line 1806 of yacc.c  */
    7562 #line 1796 "parser.yy"
    7563     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
     7509#line 1798 "parser.yy"
     7510    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75647511    break;
    75657512
     
    75677514
    75687515/* Line 1806 of yacc.c  */
    7569 #line 1801 "parser.yy"
    7570     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    7571     break;
    7572 
    7573   case 484:
    7574 
    7575 /* Line 1806 of yacc.c  */
    7576 #line 1803 "parser.yy"
     7516#line 1800 "parser.yy"
    75777517    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75787518    break;
    75797519
     7520  case 485:
     7521
     7522/* Line 1806 of yacc.c  */
     7523#line 1806 "parser.yy"
     7524    { (yyval.tclass) = DeclarationNode::Type; }
     7525    break;
     7526
    75807527  case 486:
    75817528
    75827529/* Line 1806 of yacc.c  */
    7583 #line 1809 "parser.yy"
    7584     { (yyval.tclass) = DeclarationNode::Type; }
     7530#line 1808 "parser.yy"
     7531    { (yyval.tclass) = DeclarationNode::Ftype; }
    75857532    break;
    75867533
     
    75887535
    75897536/* Line 1806 of yacc.c  */
    7590 #line 1811 "parser.yy"
    7591     { (yyval.tclass) = DeclarationNode::Ftype; }
     7537#line 1810 "parser.yy"
     7538    { (yyval.tclass) = DeclarationNode::Dtype; }
    75927539    break;
    75937540
     
    75957542
    75967543/* Line 1806 of yacc.c  */
    7597 #line 1813 "parser.yy"
    7598     { (yyval.tclass) = DeclarationNode::Dtype; }
     7544#line 1815 "parser.yy"
     7545    { (yyval.decl) = 0; }
    75997546    break;
    76007547
     
    76027549
    76037550/* Line 1806 of yacc.c  */
    7604 #line 1818 "parser.yy"
     7551#line 1817 "parser.yy"
     7552    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
     7553    break;
     7554
     7555  case 490:
     7556
     7557/* Line 1806 of yacc.c  */
     7558#line 1822 "parser.yy"
     7559    {
     7560                        typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
     7561                        (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
     7562                }
     7563    break;
     7564
     7565  case 491:
     7566
     7567/* Line 1806 of yacc.c  */
     7568#line 1827 "parser.yy"
     7569    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7570    break;
     7571
     7572  case 492:
     7573
     7574/* Line 1806 of yacc.c  */
     7575#line 1829 "parser.yy"
    76057576    { (yyval.decl) = 0; }
    76067577    break;
    76077578
    7608   case 490:
    7609 
    7610 /* Line 1806 of yacc.c  */
    7611 #line 1820 "parser.yy"
    7612     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7613     break;
    7614 
    7615   case 491:
    7616 
    7617 /* Line 1806 of yacc.c  */
    7618 #line 1825 "parser.yy"
    7619     {
    7620                         typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
    7621                         (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
    7622                 }
    7623     break;
    7624 
    7625   case 492:
    7626 
    7627 /* Line 1806 of yacc.c  */
    7628 #line 1830 "parser.yy"
    7629     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    7630     break;
    7631 
    76327579  case 493:
    76337580
    76347581/* Line 1806 of yacc.c  */
    7635 #line 1832 "parser.yy"
    7636     { (yyval.decl) = 0; }
    7637     break;
    7638 
    7639   case 494:
     7582#line 1834 "parser.yy"
     7583    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7584    break;
     7585
     7586  case 495:
    76407587
    76417588/* Line 1806 of yacc.c  */
    76427589#line 1837 "parser.yy"
    7643     { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
     7590    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    76447591    break;
    76457592
     
    76477594
    76487595/* Line 1806 of yacc.c  */
    7649 #line 1840 "parser.yy"
    7650     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
     7596#line 1839 "parser.yy"
     7597    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    76517598    break;
    76527599
     
    76547601
    76557602/* Line 1806 of yacc.c  */
    7656 #line 1842 "parser.yy"
    7657     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7603#line 1844 "parser.yy"
     7604    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76587605    break;
    76597606
     
    76617608
    76627609/* Line 1806 of yacc.c  */
    7663 #line 1847 "parser.yy"
    7664     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7610#line 1846 "parser.yy"
     7611    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76657612    break;
    76667613
     
    76687615
    76697616/* Line 1806 of yacc.c  */
    7670 #line 1849 "parser.yy"
    7671     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7617#line 1848 "parser.yy"
     7618    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76727619    break;
    76737620
     
    76757622
    76767623/* Line 1806 of yacc.c  */
    7677 #line 1851 "parser.yy"
    7678     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
     7624#line 1853 "parser.yy"
     7625    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76797626    break;
    76807627
     
    76827629
    76837630/* Line 1806 of yacc.c  */
    7684 #line 1856 "parser.yy"
    7685     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
     7631#line 1855 "parser.yy"
     7632    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76867633    break;
    76877634
     
    76897636
    76907637/* Line 1806 of yacc.c  */
    7691 #line 1858 "parser.yy"
    7692     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    7693     break;
    7694 
    7695   case 503:
    7696 
    7697 /* Line 1806 of yacc.c  */
    7698 #line 1863 "parser.yy"
     7638#line 1860 "parser.yy"
    76997639    {
    77007640                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    77037643    break;
    77047644
    7705   case 504:
    7706 
    7707 /* Line 1806 of yacc.c  */
    7708 #line 1868 "parser.yy"
     7645  case 503:
     7646
     7647/* Line 1806 of yacc.c  */
     7648#line 1865 "parser.yy"
    77097649    {
    77107650                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    77137653    break;
    77147654
    7715   case 505:
    7716 
    7717 /* Line 1806 of yacc.c  */
    7718 #line 1876 "parser.yy"
     7655  case 504:
     7656
     7657/* Line 1806 of yacc.c  */
     7658#line 1873 "parser.yy"
    77197659    {
    77207660                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
    7721                         (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
     7661                        (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
    77227662                }
    77237663    break;
    77247664
    7725   case 506:
    7726 
    7727 /* Line 1806 of yacc.c  */
    7728 #line 1881 "parser.yy"
     7665  case 505:
     7666
     7667/* Line 1806 of yacc.c  */
     7668#line 1878 "parser.yy"
    77297669    {
    7730                         typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     7670                        typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
    77317671                        typedefTable.enterScope();
    77327672                }
    77337673    break;
    77347674
    7735   case 507:
    7736 
    7737 /* Line 1806 of yacc.c  */
    7738 #line 1886 "parser.yy"
     7675  case 506:
     7676
     7677/* Line 1806 of yacc.c  */
     7678#line 1883 "parser.yy"
    77397679    {
    7740                         typedefTable.leaveTrait();
     7680                        typedefTable.leaveContext();
    77417681                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID );
    7742                         (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
     7682                        (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
    77437683                }
    77447684    break;
    77457685
    7746   case 509:
    7747 
    7748 /* Line 1806 of yacc.c  */
    7749 #line 1896 "parser.yy"
     7686  case 508:
     7687
     7688/* Line 1806 of yacc.c  */
     7689#line 1893 "parser.yy"
    77507690    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    77517691    break;
    77527692
    7753   case 512:
    7754 
    7755 /* Line 1806 of yacc.c  */
    7756 #line 1906 "parser.yy"
     7693  case 511:
     7694
     7695/* Line 1806 of yacc.c  */
     7696#line 1903 "parser.yy"
    77577697    {
    77587698                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77617701    break;
    77627702
    7763   case 513:
    7764 
    7765 /* Line 1806 of yacc.c  */
    7766 #line 1911 "parser.yy"
     7703  case 512:
     7704
     7705/* Line 1806 of yacc.c  */
     7706#line 1908 "parser.yy"
    77677707    {
    77687708                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77717711    break;
    77727712
    7773   case 514:
    7774 
    7775 /* Line 1806 of yacc.c  */
    7776 #line 1916 "parser.yy"
     7713  case 513:
     7714
     7715/* Line 1806 of yacc.c  */
     7716#line 1913 "parser.yy"
    77777717    {
    77787718                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77817721    break;
    77827722
    7783   case 515:
    7784 
    7785 /* Line 1806 of yacc.c  */
    7786 #line 1924 "parser.yy"
     7723  case 514:
     7724
     7725/* Line 1806 of yacc.c  */
     7726#line 1921 "parser.yy"
    77877727    {
    77887728                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77917731    break;
    77927732
    7793   case 516:
    7794 
    7795 /* Line 1806 of yacc.c  */
    7796 #line 1929 "parser.yy"
     7733  case 515:
     7734
     7735/* Line 1806 of yacc.c  */
     7736#line 1926 "parser.yy"
    77977737    {
    77987738                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78017741    break;
    78027742
     7743  case 516:
     7744
     7745/* Line 1806 of yacc.c  */
     7746#line 1936 "parser.yy"
     7747    {}
     7748    break;
     7749
    78037750  case 517:
    78047751
    78057752/* Line 1806 of yacc.c  */
    7806 #line 1939 "parser.yy"
    7807     {}
    7808     break;
    7809 
    7810   case 518:
    7811 
    7812 /* Line 1806 of yacc.c  */
    7813 #line 1941 "parser.yy"
     7753#line 1938 "parser.yy"
    78147754    {
    78157755                        if ( theTree ) {
     
    78217761    break;
    78227762
     7763  case 519:
     7764
     7765/* Line 1806 of yacc.c  */
     7766#line 1950 "parser.yy"
     7767    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     7768    break;
     7769
    78237770  case 520:
    78247771
    78257772/* Line 1806 of yacc.c  */
    7826 #line 1953 "parser.yy"
    7827     { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    7828     break;
    7829 
    7830   case 521:
    7831 
    7832 /* Line 1806 of yacc.c  */
    7833 #line 1958 "parser.yy"
     7773#line 1955 "parser.yy"
    78347774    { (yyval.decl) = 0; }
    78357775    break;
    78367776
     7777  case 524:
     7778
     7779/* Line 1806 of yacc.c  */
     7780#line 1963 "parser.yy"
     7781    {}
     7782    break;
     7783
    78377784  case 525:
    78387785
    78397786/* Line 1806 of yacc.c  */
    7840 #line 1966 "parser.yy"
    7841     {}
    7842     break;
    7843 
    7844   case 526:
    7845 
    7846 /* Line 1806 of yacc.c  */
    7847 #line 1968 "parser.yy"
     7787#line 1965 "parser.yy"
    78487788    {
    78497789                        linkageStack.push( linkage );
     
    78527792    break;
    78537793
    7854   case 527:
    7855 
    7856 /* Line 1806 of yacc.c  */
    7857 #line 1973 "parser.yy"
     7794  case 526:
     7795
     7796/* Line 1806 of yacc.c  */
     7797#line 1970 "parser.yy"
    78587798    {
    78597799                        linkage = linkageStack.top();
     
    78637803    break;
    78647804
    7865   case 528:
    7866 
    7867 /* Line 1806 of yacc.c  */
    7868 #line 1979 "parser.yy"
     7805  case 527:
     7806
     7807/* Line 1806 of yacc.c  */
     7808#line 1976 "parser.yy"
    78697809    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78707810    break;
    78717811
    7872   case 530:
    7873 
    7874 /* Line 1806 of yacc.c  */
    7875 #line 1989 "parser.yy"
     7812  case 529:
     7813
     7814/* Line 1806 of yacc.c  */
     7815#line 1986 "parser.yy"
    78767816    {
    78777817                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78817821    break;
    78827822
    7883   case 531:
    7884 
    7885 /* Line 1806 of yacc.c  */
    7886 #line 1995 "parser.yy"
     7823  case 530:
     7824
     7825/* Line 1806 of yacc.c  */
     7826#line 1992 "parser.yy"
    78877827    {
    78887828                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78927832    break;
    78937833
    7894   case 532:
    7895 
    7896 /* Line 1806 of yacc.c  */
    7897 #line 2004 "parser.yy"
     7834  case 531:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 2001 "parser.yy"
    78987838    {
    78997839                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79037843    break;
    79047844
    7905   case 533:
    7906 
    7907 /* Line 1806 of yacc.c  */
    7908 #line 2010 "parser.yy"
     7845  case 532:
     7846
     7847/* Line 1806 of yacc.c  */
     7848#line 2007 "parser.yy"
    79097849    {
    79107850                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79147854    break;
    79157855
    7916   case 534:
    7917 
    7918 /* Line 1806 of yacc.c  */
    7919 #line 2016 "parser.yy"
     7856  case 533:
     7857
     7858/* Line 1806 of yacc.c  */
     7859#line 2013 "parser.yy"
    79207860    {
    79217861                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79257865    break;
    79267866
    7927   case 535:
    7928 
    7929 /* Line 1806 of yacc.c  */
    7930 #line 2022 "parser.yy"
     7867  case 534:
     7868
     7869/* Line 1806 of yacc.c  */
     7870#line 2019 "parser.yy"
    79317871    {
    79327872                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79367876    break;
    79377877
    7938   case 536:
    7939 
    7940 /* Line 1806 of yacc.c  */
    7941 #line 2028 "parser.yy"
     7878  case 535:
     7879
     7880/* Line 1806 of yacc.c  */
     7881#line 2025 "parser.yy"
    79427882    {
    79437883                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79477887    break;
    79487888
    7949   case 537:
    7950 
    7951 /* Line 1806 of yacc.c  */
    7952 #line 2036 "parser.yy"
     7889  case 536:
     7890
     7891/* Line 1806 of yacc.c  */
     7892#line 2033 "parser.yy"
    79537893    {
    79547894                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79587898    break;
    79597899
    7960   case 538:
    7961 
    7962 /* Line 1806 of yacc.c  */
    7963 #line 2042 "parser.yy"
     7900  case 537:
     7901
     7902/* Line 1806 of yacc.c  */
     7903#line 2039 "parser.yy"
    79647904    {
    79657905                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79697909    break;
    79707910
    7971   case 539:
    7972 
    7973 /* Line 1806 of yacc.c  */
    7974 #line 2050 "parser.yy"
     7911  case 538:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 2047 "parser.yy"
    79757915    {
    79767916                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79807920    break;
    79817921
    7982   case 540:
    7983 
    7984 /* Line 1806 of yacc.c  */
    7985 #line 2056 "parser.yy"
     7922  case 539:
     7923
     7924/* Line 1806 of yacc.c  */
     7925#line 2053 "parser.yy"
    79867926    {
    79877927                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79917931    break;
    79927932
    7993   case 544:
    7994 
    7995 /* Line 1806 of yacc.c  */
    7996 #line 2071 "parser.yy"
     7933  case 543:
     7934
     7935/* Line 1806 of yacc.c  */
     7936#line 2068 "parser.yy"
    79977937    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    79987938    break;
    79997939
    8000   case 547:
    8001 
    8002 /* Line 1806 of yacc.c  */
    8003 #line 2081 "parser.yy"
     7940  case 546:
     7941
     7942/* Line 1806 of yacc.c  */
     7943#line 2078 "parser.yy"
    80047944    { (yyval.decl) = 0; }
    80057945    break;
    80067946
     7947  case 549:
     7948
     7949/* Line 1806 of yacc.c  */
     7950#line 2085 "parser.yy"
     7951    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7952    break;
     7953
    80077954  case 550:
    80087955
    80097956/* Line 1806 of yacc.c  */
    8010 #line 2088 "parser.yy"
    8011     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8012     break;
    8013 
    8014   case 551:
    8015 
    8016 /* Line 1806 of yacc.c  */
    8017 #line 2094 "parser.yy"
     7957#line 2091 "parser.yy"
    80187958    { (yyval.decl) = 0; }
    80197959    break;
    80207960
     7961  case 556:
     7962
     7963/* Line 1806 of yacc.c  */
     7964#line 2106 "parser.yy"
     7965    {}
     7966    break;
     7967
    80217968  case 557:
     7969
     7970/* Line 1806 of yacc.c  */
     7971#line 2107 "parser.yy"
     7972    {}
     7973    break;
     7974
     7975  case 558:
     7976
     7977/* Line 1806 of yacc.c  */
     7978#line 2108 "parser.yy"
     7979    {}
     7980    break;
     7981
     7982  case 559:
    80227983
    80237984/* Line 1806 of yacc.c  */
     
    80267987    break;
    80277988
    8028   case 558:
    8029 
    8030 /* Line 1806 of yacc.c  */
    8031 #line 2110 "parser.yy"
    8032     {}
    8033     break;
    8034 
    8035   case 559:
    8036 
    8037 /* Line 1806 of yacc.c  */
    8038 #line 2111 "parser.yy"
    8039     {}
    8040     break;
    8041 
    80427989  case 560:
    80437990
    80447991/* Line 1806 of yacc.c  */
    8045 #line 2112 "parser.yy"
    8046     {}
    8047     break;
    8048 
    8049   case 561:
     7992#line 2144 "parser.yy"
     7993    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7994    break;
     7995
     7996  case 562:
    80507997
    80517998/* Line 1806 of yacc.c  */
     
    80578004
    80588005/* Line 1806 of yacc.c  */
    8059 #line 2150 "parser.yy"
     8006#line 2149 "parser.yy"
    80608007    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80618008    break;
     
    80648011
    80658012/* Line 1806 of yacc.c  */
    8066 #line 2152 "parser.yy"
    8067     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8068     break;
    8069 
    8070   case 565:
    8071 
    8072 /* Line 1806 of yacc.c  */
    8073 #line 2157 "parser.yy"
     8013#line 2154 "parser.yy"
    80748014    {
    80758015                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80788018    break;
    80798019
     8020  case 565:
     8021
     8022/* Line 1806 of yacc.c  */
     8023#line 2159 "parser.yy"
     8024    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8025    break;
     8026
    80808027  case 566:
    80818028
    80828029/* Line 1806 of yacc.c  */
    8083 #line 2162 "parser.yy"
     8030#line 2164 "parser.yy"
     8031    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8032    break;
     8033
     8034  case 567:
     8035
     8036/* Line 1806 of yacc.c  */
     8037#line 2166 "parser.yy"
     8038    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8039    break;
     8040
     8041  case 568:
     8042
     8043/* Line 1806 of yacc.c  */
     8044#line 2168 "parser.yy"
    80848045    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80858046    break;
    80868047
    8087   case 567:
    8088 
    8089 /* Line 1806 of yacc.c  */
    8090 #line 2167 "parser.yy"
    8091     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8092     break;
    8093 
    8094   case 568:
    8095 
    8096 /* Line 1806 of yacc.c  */
    8097 #line 2169 "parser.yy"
    8098     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8099     break;
    8100 
    81018048  case 569:
    81028049
    81038050/* Line 1806 of yacc.c  */
    8104 #line 2171 "parser.yy"
     8051#line 2173 "parser.yy"
     8052    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8053    break;
     8054
     8055  case 570:
     8056
     8057/* Line 1806 of yacc.c  */
     8058#line 2175 "parser.yy"
     8059    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8060    break;
     8061
     8062  case 571:
     8063
     8064/* Line 1806 of yacc.c  */
     8065#line 2177 "parser.yy"
     8066    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8067    break;
     8068
     8069  case 572:
     8070
     8071/* Line 1806 of yacc.c  */
     8072#line 2179 "parser.yy"
    81058073    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81068074    break;
    81078075
    8108   case 570:
    8109 
    8110 /* Line 1806 of yacc.c  */
    8111 #line 2176 "parser.yy"
    8112     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8113     break;
    8114 
    8115   case 571:
    8116 
    8117 /* Line 1806 of yacc.c  */
    8118 #line 2178 "parser.yy"
    8119     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8120     break;
    8121 
    8122   case 572:
    8123 
    8124 /* Line 1806 of yacc.c  */
    8125 #line 2180 "parser.yy"
    8126     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8127     break;
    8128 
    81298076  case 573:
    81308077
    81318078/* Line 1806 of yacc.c  */
    8132 #line 2182 "parser.yy"
     8079#line 2184 "parser.yy"
     8080    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8081    break;
     8082
     8083  case 574:
     8084
     8085/* Line 1806 of yacc.c  */
     8086#line 2186 "parser.yy"
    81338087    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81348088    break;
    81358089
    8136   case 574:
    8137 
    8138 /* Line 1806 of yacc.c  */
    8139 #line 2187 "parser.yy"
    8140     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8141     break;
    8142 
    81438090  case 575:
    81448091
    81458092/* Line 1806 of yacc.c  */
    8146 #line 2189 "parser.yy"
    8147     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8148     break;
    8149 
    8150   case 576:
     8093#line 2196 "parser.yy"
     8094    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8095    break;
     8096
     8097  case 577:
    81518098
    81528099/* Line 1806 of yacc.c  */
     
    81588105
    81598106/* Line 1806 of yacc.c  */
    8160 #line 2202 "parser.yy"
     8107#line 2204 "parser.yy"
     8108    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8109    break;
     8110
     8111  case 579:
     8112
     8113/* Line 1806 of yacc.c  */
     8114#line 2206 "parser.yy"
     8115    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8116    break;
     8117
     8118  case 580:
     8119
     8120/* Line 1806 of yacc.c  */
     8121#line 2208 "parser.yy"
     8122    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8123    break;
     8124
     8125  case 581:
     8126
     8127/* Line 1806 of yacc.c  */
     8128#line 2213 "parser.yy"
     8129    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8130    break;
     8131
     8132  case 582:
     8133
     8134/* Line 1806 of yacc.c  */
     8135#line 2215 "parser.yy"
     8136    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8137    break;
     8138
     8139  case 583:
     8140
     8141/* Line 1806 of yacc.c  */
     8142#line 2217 "parser.yy"
     8143    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8144    break;
     8145
     8146  case 584:
     8147
     8148/* Line 1806 of yacc.c  */
     8149#line 2222 "parser.yy"
     8150    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8151    break;
     8152
     8153  case 585:
     8154
     8155/* Line 1806 of yacc.c  */
     8156#line 2224 "parser.yy"
     8157    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8158    break;
     8159
     8160  case 586:
     8161
     8162/* Line 1806 of yacc.c  */
     8163#line 2226 "parser.yy"
     8164    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8165    break;
     8166
     8167  case 590:
     8168
     8169/* Line 1806 of yacc.c  */
     8170#line 2241 "parser.yy"
     8171    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
     8172    break;
     8173
     8174  case 591:
     8175
     8176/* Line 1806 of yacc.c  */
     8177#line 2243 "parser.yy"
     8178    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
     8179    break;
     8180
     8181  case 592:
     8182
     8183/* Line 1806 of yacc.c  */
     8184#line 2245 "parser.yy"
     8185    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8186    break;
     8187
     8188  case 593:
     8189
     8190/* Line 1806 of yacc.c  */
     8191#line 2250 "parser.yy"
     8192    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8193    break;
     8194
     8195  case 594:
     8196
     8197/* Line 1806 of yacc.c  */
     8198#line 2252 "parser.yy"
     8199    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8200    break;
     8201
     8202  case 595:
     8203
     8204/* Line 1806 of yacc.c  */
     8205#line 2254 "parser.yy"
     8206    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8207    break;
     8208
     8209  case 596:
     8210
     8211/* Line 1806 of yacc.c  */
     8212#line 2259 "parser.yy"
     8213    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8214    break;
     8215
     8216  case 597:
     8217
     8218/* Line 1806 of yacc.c  */
     8219#line 2261 "parser.yy"
     8220    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8221    break;
     8222
     8223  case 598:
     8224
     8225/* Line 1806 of yacc.c  */
     8226#line 2263 "parser.yy"
     8227    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8228    break;
     8229
     8230  case 599:
     8231
     8232/* Line 1806 of yacc.c  */
     8233#line 2278 "parser.yy"
    81618234    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81628235    break;
    81638236
    8164   case 579:
    8165 
    8166 /* Line 1806 of yacc.c  */
    8167 #line 2207 "parser.yy"
    8168     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8169     break;
    8170 
    8171   case 580:
    8172 
    8173 /* Line 1806 of yacc.c  */
    8174 #line 2209 "parser.yy"
    8175     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8176     break;
    8177 
    8178   case 581:
    8179 
    8180 /* Line 1806 of yacc.c  */
    8181 #line 2211 "parser.yy"
    8182     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8183     break;
    8184 
    8185   case 582:
    8186 
    8187 /* Line 1806 of yacc.c  */
    8188 #line 2216 "parser.yy"
    8189     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8190     break;
    8191 
    8192   case 583:
    8193 
    8194 /* Line 1806 of yacc.c  */
    8195 #line 2218 "parser.yy"
    8196     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8197     break;
    8198 
    8199   case 584:
    8200 
    8201 /* Line 1806 of yacc.c  */
    8202 #line 2220 "parser.yy"
    8203     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8204     break;
    8205 
    8206   case 585:
    8207 
    8208 /* Line 1806 of yacc.c  */
    8209 #line 2225 "parser.yy"
    8210     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8211     break;
    8212 
    8213   case 586:
    8214 
    8215 /* Line 1806 of yacc.c  */
    8216 #line 2227 "parser.yy"
    8217     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8218     break;
    8219 
    8220   case 587:
    8221 
    8222 /* Line 1806 of yacc.c  */
    8223 #line 2229 "parser.yy"
    8224     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8225     break;
    8226 
    8227   case 591:
    8228 
    8229 /* Line 1806 of yacc.c  */
    8230 #line 2244 "parser.yy"
    8231     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8232     break;
    8233 
    8234   case 592:
    8235 
    8236 /* Line 1806 of yacc.c  */
    8237 #line 2246 "parser.yy"
    8238     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8239     break;
    8240 
    8241   case 593:
    8242 
    8243 /* Line 1806 of yacc.c  */
    8244 #line 2248 "parser.yy"
    8245     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8246     break;
    8247 
    8248   case 594:
    8249 
    8250 /* Line 1806 of yacc.c  */
    8251 #line 2253 "parser.yy"
    8252     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8253     break;
    8254 
    8255   case 595:
    8256 
    8257 /* Line 1806 of yacc.c  */
    8258 #line 2255 "parser.yy"
    8259     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8260     break;
    8261 
    8262   case 596:
    8263 
    8264 /* Line 1806 of yacc.c  */
    8265 #line 2257 "parser.yy"
    8266     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8267     break;
    8268 
    8269   case 597:
    8270 
    8271 /* Line 1806 of yacc.c  */
    8272 #line 2262 "parser.yy"
    8273     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8274     break;
    8275 
    8276   case 598:
    8277 
    8278 /* Line 1806 of yacc.c  */
    8279 #line 2264 "parser.yy"
    8280     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8281     break;
    8282 
    8283   case 599:
    8284 
    8285 /* Line 1806 of yacc.c  */
    8286 #line 2266 "parser.yy"
    8287     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8288     break;
    8289 
    8290   case 600:
     8237  case 601:
    82918238
    82928239/* Line 1806 of yacc.c  */
     
    82988245
    82998246/* Line 1806 of yacc.c  */
    8300 #line 2284 "parser.yy"
     8247#line 2283 "parser.yy"
    83018248    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83028249    break;
    83038250
    8304   case 603:
    8305 
    8306 /* Line 1806 of yacc.c  */
    8307 #line 2286 "parser.yy"
     8251  case 604:
     8252
     8253/* Line 1806 of yacc.c  */
     8254#line 2289 "parser.yy"
     8255    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8256    break;
     8257
     8258  case 605:
     8259
     8260/* Line 1806 of yacc.c  */
     8261#line 2294 "parser.yy"
     8262    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8263    break;
     8264
     8265  case 606:
     8266
     8267/* Line 1806 of yacc.c  */
     8268#line 2296 "parser.yy"
     8269    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8270    break;
     8271
     8272  case 607:
     8273
     8274/* Line 1806 of yacc.c  */
     8275#line 2298 "parser.yy"
     8276    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8277    break;
     8278
     8279  case 608:
     8280
     8281/* Line 1806 of yacc.c  */
     8282#line 2303 "parser.yy"
     8283    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8284    break;
     8285
     8286  case 609:
     8287
     8288/* Line 1806 of yacc.c  */
     8289#line 2305 "parser.yy"
     8290    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8291    break;
     8292
     8293  case 610:
     8294
     8295/* Line 1806 of yacc.c  */
     8296#line 2307 "parser.yy"
     8297    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8298    break;
     8299
     8300  case 611:
     8301
     8302/* Line 1806 of yacc.c  */
     8303#line 2309 "parser.yy"
     8304    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8305    break;
     8306
     8307  case 612:
     8308
     8309/* Line 1806 of yacc.c  */
     8310#line 2314 "parser.yy"
     8311    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8312    break;
     8313
     8314  case 613:
     8315
     8316/* Line 1806 of yacc.c  */
     8317#line 2316 "parser.yy"
     8318    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8319    break;
     8320
     8321  case 614:
     8322
     8323/* Line 1806 of yacc.c  */
     8324#line 2318 "parser.yy"
     8325    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8326    break;
     8327
     8328  case 615:
     8329
     8330/* Line 1806 of yacc.c  */
     8331#line 2328 "parser.yy"
    83088332    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83098333    break;
    83108334
    8311   case 605:
    8312 
    8313 /* Line 1806 of yacc.c  */
    8314 #line 2292 "parser.yy"
    8315     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8316     break;
    8317 
    8318   case 606:
    8319 
    8320 /* Line 1806 of yacc.c  */
    8321 #line 2297 "parser.yy"
    8322     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8323     break;
    8324 
    8325   case 607:
    8326 
    8327 /* Line 1806 of yacc.c  */
    8328 #line 2299 "parser.yy"
    8329     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8330     break;
    8331 
    8332   case 608:
    8333 
    8334 /* Line 1806 of yacc.c  */
    8335 #line 2301 "parser.yy"
    8336     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8337     break;
    8338 
    8339   case 609:
    8340 
    8341 /* Line 1806 of yacc.c  */
    8342 #line 2306 "parser.yy"
    8343     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8344     break;
    8345 
    8346   case 610:
    8347 
    8348 /* Line 1806 of yacc.c  */
    8349 #line 2308 "parser.yy"
    8350     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8351     break;
    8352 
    8353   case 611:
    8354 
    8355 /* Line 1806 of yacc.c  */
    8356 #line 2310 "parser.yy"
    8357     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8358     break;
    8359 
    8360   case 612:
    8361 
    8362 /* Line 1806 of yacc.c  */
    8363 #line 2312 "parser.yy"
    8364     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8365     break;
    8366 
    8367   case 613:
    8368 
    8369 /* Line 1806 of yacc.c  */
    8370 #line 2317 "parser.yy"
    8371     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8372     break;
    8373 
    8374   case 614:
    8375 
    8376 /* Line 1806 of yacc.c  */
    8377 #line 2319 "parser.yy"
    8378     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8379     break;
    8380 
    8381   case 615:
    8382 
    8383 /* Line 1806 of yacc.c  */
    8384 #line 2321 "parser.yy"
    8385     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8386     break;
    8387 
    8388   case 616:
     8335  case 617:
    83898336
    83908337/* Line 1806 of yacc.c  */
     
    83968343
    83978344/* Line 1806 of yacc.c  */
    8398 #line 2334 "parser.yy"
     8345#line 2333 "parser.yy"
    83998346    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84008347    break;
     
    84038350
    84048351/* Line 1806 of yacc.c  */
    8405 #line 2336 "parser.yy"
     8352#line 2338 "parser.yy"
     8353    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8354    break;
     8355
     8356  case 620:
     8357
     8358/* Line 1806 of yacc.c  */
     8359#line 2340 "parser.yy"
     8360    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8361    break;
     8362
     8363  case 621:
     8364
     8365/* Line 1806 of yacc.c  */
     8366#line 2342 "parser.yy"
     8367    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8368    break;
     8369
     8370  case 622:
     8371
     8372/* Line 1806 of yacc.c  */
     8373#line 2347 "parser.yy"
     8374    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8375    break;
     8376
     8377  case 623:
     8378
     8379/* Line 1806 of yacc.c  */
     8380#line 2349 "parser.yy"
     8381    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8382    break;
     8383
     8384  case 624:
     8385
     8386/* Line 1806 of yacc.c  */
     8387#line 2351 "parser.yy"
     8388    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8389    break;
     8390
     8391  case 625:
     8392
     8393/* Line 1806 of yacc.c  */
     8394#line 2353 "parser.yy"
     8395    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8396    break;
     8397
     8398  case 626:
     8399
     8400/* Line 1806 of yacc.c  */
     8401#line 2358 "parser.yy"
     8402    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8403    break;
     8404
     8405  case 627:
     8406
     8407/* Line 1806 of yacc.c  */
     8408#line 2360 "parser.yy"
     8409    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8410    break;
     8411
     8412  case 628:
     8413
     8414/* Line 1806 of yacc.c  */
     8415#line 2362 "parser.yy"
     8416    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8417    break;
     8418
     8419  case 629:
     8420
     8421/* Line 1806 of yacc.c  */
     8422#line 2393 "parser.yy"
    84068423    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84078424    break;
    84088425
    8409   case 620:
    8410 
    8411 /* Line 1806 of yacc.c  */
    8412 #line 2341 "parser.yy"
    8413     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8414     break;
    8415 
    8416   case 621:
    8417 
    8418 /* Line 1806 of yacc.c  */
    8419 #line 2343 "parser.yy"
    8420     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8421     break;
    8422 
    8423   case 622:
    8424 
    8425 /* Line 1806 of yacc.c  */
    8426 #line 2345 "parser.yy"
    8427     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8428     break;
    8429 
    8430   case 623:
    8431 
    8432 /* Line 1806 of yacc.c  */
    8433 #line 2350 "parser.yy"
    8434     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8435     break;
    8436 
    8437   case 624:
    8438 
    8439 /* Line 1806 of yacc.c  */
    8440 #line 2352 "parser.yy"
    8441     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8442     break;
    8443 
    8444   case 625:
    8445 
    8446 /* Line 1806 of yacc.c  */
    8447 #line 2354 "parser.yy"
    8448     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8449     break;
    8450 
    8451   case 626:
    8452 
    8453 /* Line 1806 of yacc.c  */
    8454 #line 2356 "parser.yy"
    8455     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8456     break;
    8457 
    8458   case 627:
    8459 
    8460 /* Line 1806 of yacc.c  */
    8461 #line 2361 "parser.yy"
    8462     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8463     break;
    8464 
    8465   case 628:
    8466 
    8467 /* Line 1806 of yacc.c  */
    8468 #line 2363 "parser.yy"
    8469     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8470     break;
    8471 
    8472   case 629:
    8473 
    8474 /* Line 1806 of yacc.c  */
    8475 #line 2365 "parser.yy"
    8476     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8477     break;
    8478 
    8479   case 630:
     8426  case 631:
    84808427
    84818428/* Line 1806 of yacc.c  */
     
    84878434
    84888435/* Line 1806 of yacc.c  */
    8489 #line 2399 "parser.yy"
     8436#line 2398 "parser.yy"
    84908437    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84918438    break;
     
    84948441
    84958442/* Line 1806 of yacc.c  */
    8496 #line 2401 "parser.yy"
    8497     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8498     break;
    8499 
    8500   case 634:
    8501 
    8502 /* Line 1806 of yacc.c  */
    8503 #line 2406 "parser.yy"
     8443#line 2403 "parser.yy"
    85048444    {
    85058445                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85088448    break;
    85098449
    8510   case 635:
    8511 
    8512 /* Line 1806 of yacc.c  */
    8513 #line 2411 "parser.yy"
     8450  case 634:
     8451
     8452/* Line 1806 of yacc.c  */
     8453#line 2408 "parser.yy"
    85148454    {
    85158455                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85188458    break;
    85198459
     8460  case 635:
     8461
     8462/* Line 1806 of yacc.c  */
     8463#line 2416 "parser.yy"
     8464    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8465    break;
     8466
    85208467  case 636:
    85218468
    85228469/* Line 1806 of yacc.c  */
    8523 #line 2419 "parser.yy"
     8470#line 2418 "parser.yy"
     8471    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8472    break;
     8473
     8474  case 637:
     8475
     8476/* Line 1806 of yacc.c  */
     8477#line 2420 "parser.yy"
     8478    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8479    break;
     8480
     8481  case 638:
     8482
     8483/* Line 1806 of yacc.c  */
     8484#line 2425 "parser.yy"
     8485    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
     8486    break;
     8487
     8488  case 639:
     8489
     8490/* Line 1806 of yacc.c  */
     8491#line 2427 "parser.yy"
     8492    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8493    break;
     8494
     8495  case 640:
     8496
     8497/* Line 1806 of yacc.c  */
     8498#line 2432 "parser.yy"
     8499    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
     8500    break;
     8501
     8502  case 641:
     8503
     8504/* Line 1806 of yacc.c  */
     8505#line 2434 "parser.yy"
     8506    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8507    break;
     8508
     8509  case 643:
     8510
     8511/* Line 1806 of yacc.c  */
     8512#line 2449 "parser.yy"
     8513    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8514    break;
     8515
     8516  case 644:
     8517
     8518/* Line 1806 of yacc.c  */
     8519#line 2451 "parser.yy"
     8520    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8521    break;
     8522
     8523  case 645:
     8524
     8525/* Line 1806 of yacc.c  */
     8526#line 2456 "parser.yy"
     8527    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8528    break;
     8529
     8530  case 646:
     8531
     8532/* Line 1806 of yacc.c  */
     8533#line 2458 "parser.yy"
     8534    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8535    break;
     8536
     8537  case 647:
     8538
     8539/* Line 1806 of yacc.c  */
     8540#line 2460 "parser.yy"
    85248541    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85258542    break;
    85268543
    8527   case 637:
    8528 
    8529 /* Line 1806 of yacc.c  */
    8530 #line 2421 "parser.yy"
     8544  case 648:
     8545
     8546/* Line 1806 of yacc.c  */
     8547#line 2462 "parser.yy"
    85318548    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85328549    break;
    85338550
    8534   case 638:
    8535 
    8536 /* Line 1806 of yacc.c  */
    8537 #line 2423 "parser.yy"
     8551  case 649:
     8552
     8553/* Line 1806 of yacc.c  */
     8554#line 2464 "parser.yy"
    85388555    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85398556    break;
    85408557
    8541   case 639:
    8542 
    8543 /* Line 1806 of yacc.c  */
    8544 #line 2428 "parser.yy"
     8558  case 651:
     8559
     8560/* Line 1806 of yacc.c  */
     8561#line 2470 "parser.yy"
     8562    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8563    break;
     8564
     8565  case 652:
     8566
     8567/* Line 1806 of yacc.c  */
     8568#line 2472 "parser.yy"
     8569    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8570    break;
     8571
     8572  case 653:
     8573
     8574/* Line 1806 of yacc.c  */
     8575#line 2474 "parser.yy"
     8576    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8577    break;
     8578
     8579  case 654:
     8580
     8581/* Line 1806 of yacc.c  */
     8582#line 2479 "parser.yy"
     8583    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8584    break;
     8585
     8586  case 655:
     8587
     8588/* Line 1806 of yacc.c  */
     8589#line 2481 "parser.yy"
     8590    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8591    break;
     8592
     8593  case 656:
     8594
     8595/* Line 1806 of yacc.c  */
     8596#line 2483 "parser.yy"
     8597    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8598    break;
     8599
     8600  case 657:
     8601
     8602/* Line 1806 of yacc.c  */
     8603#line 2489 "parser.yy"
     8604    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8605    break;
     8606
     8607  case 658:
     8608
     8609/* Line 1806 of yacc.c  */
     8610#line 2491 "parser.yy"
     8611    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
     8612    break;
     8613
     8614  case 660:
     8615
     8616/* Line 1806 of yacc.c  */
     8617#line 2497 "parser.yy"
     8618    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
     8619    break;
     8620
     8621  case 661:
     8622
     8623/* Line 1806 of yacc.c  */
     8624#line 2499 "parser.yy"
     8625    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
     8626    break;
     8627
     8628  case 662:
     8629
     8630/* Line 1806 of yacc.c  */
     8631#line 2501 "parser.yy"
     8632    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
     8633    break;
     8634
     8635  case 663:
     8636
     8637/* Line 1806 of yacc.c  */
     8638#line 2503 "parser.yy"
     8639    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
     8640    break;
     8641
     8642  case 665:
     8643
     8644/* Line 1806 of yacc.c  */
     8645#line 2518 "parser.yy"
     8646    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8647    break;
     8648
     8649  case 666:
     8650
     8651/* Line 1806 of yacc.c  */
     8652#line 2520 "parser.yy"
     8653    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8654    break;
     8655
     8656  case 667:
     8657
     8658/* Line 1806 of yacc.c  */
     8659#line 2525 "parser.yy"
     8660    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8661    break;
     8662
     8663  case 668:
     8664
     8665/* Line 1806 of yacc.c  */
     8666#line 2527 "parser.yy"
     8667    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8668    break;
     8669
     8670  case 669:
     8671
     8672/* Line 1806 of yacc.c  */
     8673#line 2529 "parser.yy"
     8674    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8675    break;
     8676
     8677  case 670:
     8678
     8679/* Line 1806 of yacc.c  */
     8680#line 2531 "parser.yy"
     8681    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8682    break;
     8683
     8684  case 671:
     8685
     8686/* Line 1806 of yacc.c  */
     8687#line 2533 "parser.yy"
     8688    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8689    break;
     8690
     8691  case 673:
     8692
     8693/* Line 1806 of yacc.c  */
     8694#line 2539 "parser.yy"
     8695    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8696    break;
     8697
     8698  case 674:
     8699
     8700/* Line 1806 of yacc.c  */
     8701#line 2541 "parser.yy"
     8702    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8703    break;
     8704
     8705  case 675:
     8706
     8707/* Line 1806 of yacc.c  */
     8708#line 2543 "parser.yy"
     8709    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8710    break;
     8711
     8712  case 676:
     8713
     8714/* Line 1806 of yacc.c  */
     8715#line 2548 "parser.yy"
     8716    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
     8717    break;
     8718
     8719  case 677:
     8720
     8721/* Line 1806 of yacc.c  */
     8722#line 2550 "parser.yy"
     8723    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
     8724    break;
     8725
     8726  case 678:
     8727
     8728/* Line 1806 of yacc.c  */
     8729#line 2552 "parser.yy"
     8730    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8731    break;
     8732
     8733  case 680:
     8734
     8735/* Line 1806 of yacc.c  */
     8736#line 2559 "parser.yy"
    85458737    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    85468738    break;
    85478739
    8548   case 640:
    8549 
    8550 /* Line 1806 of yacc.c  */
    8551 #line 2430 "parser.yy"
     8740  case 682:
     8741
     8742/* Line 1806 of yacc.c  */
     8743#line 2570 "parser.yy"
     8744    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
     8745    break;
     8746
     8747  case 683:
     8748
     8749/* Line 1806 of yacc.c  */
     8750#line 2573 "parser.yy"
     8751    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
     8752    break;
     8753
     8754  case 684:
     8755
     8756/* Line 1806 of yacc.c  */
     8757#line 2575 "parser.yy"
     8758    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
     8759    break;
     8760
     8761  case 685:
     8762
     8763/* Line 1806 of yacc.c  */
     8764#line 2578 "parser.yy"
     8765    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
     8766    break;
     8767
     8768  case 686:
     8769
     8770/* Line 1806 of yacc.c  */
     8771#line 2580 "parser.yy"
     8772    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
     8773    break;
     8774
     8775  case 687:
     8776
     8777/* Line 1806 of yacc.c  */
     8778#line 2582 "parser.yy"
     8779    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
     8780    break;
     8781
     8782  case 689:
     8783
     8784/* Line 1806 of yacc.c  */
     8785#line 2596 "parser.yy"
     8786    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8787    break;
     8788
     8789  case 690:
     8790
     8791/* Line 1806 of yacc.c  */
     8792#line 2598 "parser.yy"
     8793    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8794    break;
     8795
     8796  case 691:
     8797
     8798/* Line 1806 of yacc.c  */
     8799#line 2603 "parser.yy"
     8800    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
     8801    break;
     8802
     8803  case 692:
     8804
     8805/* Line 1806 of yacc.c  */
     8806#line 2605 "parser.yy"
     8807    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
     8808    break;
     8809
     8810  case 693:
     8811
     8812/* Line 1806 of yacc.c  */
     8813#line 2607 "parser.yy"
     8814    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
     8815    break;
     8816
     8817  case 694:
     8818
     8819/* Line 1806 of yacc.c  */
     8820#line 2609 "parser.yy"
     8821    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
     8822    break;
     8823
     8824  case 695:
     8825
     8826/* Line 1806 of yacc.c  */
     8827#line 2611 "parser.yy"
     8828    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8829    break;
     8830
     8831  case 697:
     8832
     8833/* Line 1806 of yacc.c  */
     8834#line 2617 "parser.yy"
    85528835    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85538836    break;
    85548837
    8555   case 641:
    8556 
    8557 /* Line 1806 of yacc.c  */
    8558 #line 2435 "parser.yy"
    8559     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8560     break;
    8561 
    8562   case 642:
    8563 
    8564 /* Line 1806 of yacc.c  */
    8565 #line 2437 "parser.yy"
     8838  case 698:
     8839
     8840/* Line 1806 of yacc.c  */
     8841#line 2619 "parser.yy"
     8842    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
     8843    break;
     8844
     8845  case 699:
     8846
     8847/* Line 1806 of yacc.c  */
     8848#line 2621 "parser.yy"
     8849    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8850    break;
     8851
     8852  case 700:
     8853
     8854/* Line 1806 of yacc.c  */
     8855#line 2626 "parser.yy"
    85668856    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85678857    break;
    85688858
    8569   case 644:
    8570 
    8571 /* Line 1806 of yacc.c  */
    8572 #line 2452 "parser.yy"
    8573     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8574     break;
    8575 
    8576   case 645:
    8577 
    8578 /* Line 1806 of yacc.c  */
    8579 #line 2454 "parser.yy"
    8580     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8581     break;
    8582 
    8583   case 646:
    8584 
    8585 /* Line 1806 of yacc.c  */
    8586 #line 2459 "parser.yy"
    8587     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8588     break;
    8589 
    8590   case 647:
    8591 
    8592 /* Line 1806 of yacc.c  */
    8593 #line 2461 "parser.yy"
    8594     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8595     break;
    8596 
    8597   case 648:
    8598 
    8599 /* Line 1806 of yacc.c  */
    8600 #line 2463 "parser.yy"
    8601     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8602     break;
    8603 
    8604   case 649:
    8605 
    8606 /* Line 1806 of yacc.c  */
    8607 #line 2465 "parser.yy"
    8608     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8609     break;
    8610 
    8611   case 650:
    8612 
    8613 /* Line 1806 of yacc.c  */
    8614 #line 2467 "parser.yy"
     8859  case 701:
     8860
     8861/* Line 1806 of yacc.c  */
     8862#line 2628 "parser.yy"
    86158863    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86168864    break;
    86178865
    8618   case 652:
    8619 
    8620 /* Line 1806 of yacc.c  */
    8621 #line 2473 "parser.yy"
    8622     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8623     break;
    8624 
    8625   case 653:
    8626 
    8627 /* Line 1806 of yacc.c  */
    8628 #line 2475 "parser.yy"
    8629     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8630     break;
    8631 
    8632   case 654:
    8633 
    8634 /* Line 1806 of yacc.c  */
    8635 #line 2477 "parser.yy"
    8636     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8637     break;
    8638 
    8639   case 655:
    8640 
    8641 /* Line 1806 of yacc.c  */
    8642 #line 2482 "parser.yy"
    8643     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8644     break;
    8645 
    8646   case 656:
    8647 
    8648 /* Line 1806 of yacc.c  */
    8649 #line 2484 "parser.yy"
    8650     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8651     break;
    8652 
    8653   case 657:
    8654 
    8655 /* Line 1806 of yacc.c  */
    8656 #line 2486 "parser.yy"
    8657     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8658     break;
    8659 
    8660   case 658:
    8661 
    8662 /* Line 1806 of yacc.c  */
    8663 #line 2492 "parser.yy"
    8664     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8665     break;
    8666 
    8667   case 659:
    8668 
    8669 /* Line 1806 of yacc.c  */
    8670 #line 2494 "parser.yy"
    8671     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8672     break;
    8673 
    8674   case 661:
    8675 
    8676 /* Line 1806 of yacc.c  */
    8677 #line 2500 "parser.yy"
    8678     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8679     break;
    8680 
    8681   case 662:
    8682 
    8683 /* Line 1806 of yacc.c  */
    8684 #line 2502 "parser.yy"
    8685     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8686     break;
    8687 
    8688   case 663:
    8689 
    8690 /* Line 1806 of yacc.c  */
    8691 #line 2504 "parser.yy"
    8692     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8693     break;
    8694 
    8695   case 664:
    8696 
    8697 /* Line 1806 of yacc.c  */
    8698 #line 2506 "parser.yy"
    8699     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8700     break;
    8701 
    8702   case 666:
    8703 
    8704 /* Line 1806 of yacc.c  */
    8705 #line 2521 "parser.yy"
    8706     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8707     break;
    8708 
    8709   case 667:
    8710 
    8711 /* Line 1806 of yacc.c  */
    8712 #line 2523 "parser.yy"
    8713     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8714     break;
    8715 
    8716   case 668:
    8717 
    8718 /* Line 1806 of yacc.c  */
    8719 #line 2528 "parser.yy"
    8720     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8721     break;
    8722 
    8723   case 669:
    8724 
    8725 /* Line 1806 of yacc.c  */
    8726 #line 2530 "parser.yy"
    8727     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8728     break;
    8729 
    8730   case 670:
    8731 
    8732 /* Line 1806 of yacc.c  */
    8733 #line 2532 "parser.yy"
    8734     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8735     break;
    8736 
    8737   case 671:
    8738 
    8739 /* Line 1806 of yacc.c  */
    8740 #line 2534 "parser.yy"
    8741     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8742     break;
    8743 
    8744   case 672:
    8745 
    8746 /* Line 1806 of yacc.c  */
    8747 #line 2536 "parser.yy"
    8748     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8749     break;
    8750 
    8751   case 674:
    8752 
    8753 /* Line 1806 of yacc.c  */
    8754 #line 2542 "parser.yy"
    8755     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8756     break;
    8757 
    8758   case 675:
    8759 
    8760 /* Line 1806 of yacc.c  */
    8761 #line 2544 "parser.yy"
    8762     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8763     break;
    8764 
    8765   case 676:
    8766 
    8767 /* Line 1806 of yacc.c  */
    8768 #line 2546 "parser.yy"
    8769     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8770     break;
    8771 
    8772   case 677:
    8773 
    8774 /* Line 1806 of yacc.c  */
    8775 #line 2551 "parser.yy"
    8776     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8777     break;
    8778 
    8779   case 678:
    8780 
    8781 /* Line 1806 of yacc.c  */
    8782 #line 2553 "parser.yy"
    8783     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8784     break;
    8785 
    8786   case 679:
    8787 
    8788 /* Line 1806 of yacc.c  */
    8789 #line 2555 "parser.yy"
    8790     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8791     break;
    8792 
    8793   case 681:
    8794 
    8795 /* Line 1806 of yacc.c  */
    8796 #line 2562 "parser.yy"
    8797     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8798     break;
    8799 
    8800   case 683:
    8801 
    8802 /* Line 1806 of yacc.c  */
    8803 #line 2573 "parser.yy"
    8804     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8805     break;
    8806 
    8807   case 684:
    8808 
    8809 /* Line 1806 of yacc.c  */
    8810 #line 2576 "parser.yy"
     8866  case 704:
     8867
     8868/* Line 1806 of yacc.c  */
     8869#line 2638 "parser.yy"
     8870    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     8871    break;
     8872
     8873  case 707:
     8874
     8875/* Line 1806 of yacc.c  */
     8876#line 2648 "parser.yy"
     8877    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8878    break;
     8879
     8880  case 708:
     8881
     8882/* Line 1806 of yacc.c  */
     8883#line 2650 "parser.yy"
     8884    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8885    break;
     8886
     8887  case 709:
     8888
     8889/* Line 1806 of yacc.c  */
     8890#line 2652 "parser.yy"
     8891    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8892    break;
     8893
     8894  case 710:
     8895
     8896/* Line 1806 of yacc.c  */
     8897#line 2654 "parser.yy"
     8898    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8899    break;
     8900
     8901  case 711:
     8902
     8903/* Line 1806 of yacc.c  */
     8904#line 2656 "parser.yy"
     8905    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8906    break;
     8907
     8908  case 712:
     8909
     8910/* Line 1806 of yacc.c  */
     8911#line 2658 "parser.yy"
     8912    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8913    break;
     8914
     8915  case 713:
     8916
     8917/* Line 1806 of yacc.c  */
     8918#line 2665 "parser.yy"
     8919    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8920    break;
     8921
     8922  case 714:
     8923
     8924/* Line 1806 of yacc.c  */
     8925#line 2667 "parser.yy"
     8926    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8927    break;
     8928
     8929  case 715:
     8930
     8931/* Line 1806 of yacc.c  */
     8932#line 2669 "parser.yy"
     8933    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8934    break;
     8935
     8936  case 716:
     8937
     8938/* Line 1806 of yacc.c  */
     8939#line 2671 "parser.yy"
     8940    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8941    break;
     8942
     8943  case 717:
     8944
     8945/* Line 1806 of yacc.c  */
     8946#line 2673 "parser.yy"
     8947    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8948    break;
     8949
     8950  case 718:
     8951
     8952/* Line 1806 of yacc.c  */
     8953#line 2675 "parser.yy"
     8954    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8955    break;
     8956
     8957  case 719:
     8958
     8959/* Line 1806 of yacc.c  */
     8960#line 2677 "parser.yy"
     8961    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8962    break;
     8963
     8964  case 720:
     8965
     8966/* Line 1806 of yacc.c  */
     8967#line 2679 "parser.yy"
     8968    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     8969    break;
     8970
     8971  case 721:
     8972
     8973/* Line 1806 of yacc.c  */
     8974#line 2681 "parser.yy"
     8975    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
     8976    break;
     8977
     8978  case 722:
     8979
     8980/* Line 1806 of yacc.c  */
     8981#line 2683 "parser.yy"
     8982    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     8983    break;
     8984
     8985  case 723:
     8986
     8987/* Line 1806 of yacc.c  */
     8988#line 2688 "parser.yy"
    88118989    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    88128990    break;
    88138991
    8814   case 685:
    8815 
    8816 /* Line 1806 of yacc.c  */
    8817 #line 2578 "parser.yy"
    8818     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8819     break;
    8820 
    8821   case 686:
    8822 
    8823 /* Line 1806 of yacc.c  */
    8824 #line 2581 "parser.yy"
     8992  case 724:
     8993
     8994/* Line 1806 of yacc.c  */
     8995#line 2690 "parser.yy"
    88258996    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88268997    break;
    88278998
    8828   case 687:
    8829 
    8830 /* Line 1806 of yacc.c  */
    8831 #line 2583 "parser.yy"
    8832     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8833     break;
    8834 
    8835   case 688:
    8836 
    8837 /* Line 1806 of yacc.c  */
    8838 #line 2585 "parser.yy"
    8839     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8840     break;
    8841 
    8842   case 690:
    8843 
    8844 /* Line 1806 of yacc.c  */
    8845 #line 2599 "parser.yy"
    8846     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8847     break;
    8848 
    8849   case 691:
    8850 
    8851 /* Line 1806 of yacc.c  */
    8852 #line 2601 "parser.yy"
    8853     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8854     break;
    8855 
    8856   case 692:
    8857 
    8858 /* Line 1806 of yacc.c  */
    8859 #line 2606 "parser.yy"
    8860     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8861     break;
    8862 
    8863   case 693:
    8864 
    8865 /* Line 1806 of yacc.c  */
    8866 #line 2608 "parser.yy"
    8867     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8868     break;
    8869 
    8870   case 694:
    8871 
    8872 /* Line 1806 of yacc.c  */
    8873 #line 2610 "parser.yy"
    8874     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8875     break;
    8876 
    8877   case 695:
    8878 
    8879 /* Line 1806 of yacc.c  */
    8880 #line 2612 "parser.yy"
    8881     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8882     break;
    8883 
    8884   case 696:
    8885 
    8886 /* Line 1806 of yacc.c  */
    8887 #line 2614 "parser.yy"
    8888     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8889     break;
    8890 
    8891   case 698:
    8892 
    8893 /* Line 1806 of yacc.c  */
    8894 #line 2620 "parser.yy"
    8895     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8896     break;
    8897 
    8898   case 699:
    8899 
    8900 /* Line 1806 of yacc.c  */
    8901 #line 2622 "parser.yy"
    8902     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8903     break;
    8904 
    8905   case 700:
    8906 
    8907 /* Line 1806 of yacc.c  */
    8908 #line 2624 "parser.yy"
    8909     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8910     break;
    8911 
    8912   case 701:
    8913 
    8914 /* Line 1806 of yacc.c  */
    8915 #line 2629 "parser.yy"
    8916     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8917     break;
    8918 
    8919   case 702:
    8920 
    8921 /* Line 1806 of yacc.c  */
    8922 #line 2631 "parser.yy"
    8923     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8924     break;
    8925 
    8926   case 705:
    8927 
    8928 /* Line 1806 of yacc.c  */
    8929 #line 2641 "parser.yy"
     8999  case 725:
     9000
     9001/* Line 1806 of yacc.c  */
     9002#line 2695 "parser.yy"
     9003    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
     9004    break;
     9005
     9006  case 726:
     9007
     9008/* Line 1806 of yacc.c  */
     9009#line 2697 "parser.yy"
     9010    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
     9011    break;
     9012
     9013  case 728:
     9014
     9015/* Line 1806 of yacc.c  */
     9016#line 2724 "parser.yy"
    89309017    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89319018    break;
    89329019
    8933   case 708:
    8934 
    8935 /* Line 1806 of yacc.c  */
    8936 #line 2651 "parser.yy"
     9020  case 732:
     9021
     9022/* Line 1806 of yacc.c  */
     9023#line 2735 "parser.yy"
    89379024    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89389025    break;
    89399026
    8940   case 709:
    8941 
    8942 /* Line 1806 of yacc.c  */
    8943 #line 2653 "parser.yy"
     9027  case 733:
     9028
     9029/* Line 1806 of yacc.c  */
     9030#line 2737 "parser.yy"
    89449031    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89459032    break;
    89469033
    8947   case 710:
    8948 
    8949 /* Line 1806 of yacc.c  */
    8950 #line 2655 "parser.yy"
     9034  case 734:
     9035
     9036/* Line 1806 of yacc.c  */
     9037#line 2739 "parser.yy"
    89519038    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89529039    break;
    89539040
    8954   case 711:
    8955 
    8956 /* Line 1806 of yacc.c  */
    8957 #line 2657 "parser.yy"
     9041  case 735:
     9042
     9043/* Line 1806 of yacc.c  */
     9044#line 2741 "parser.yy"
    89589045    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89599046    break;
    89609047
    8961   case 712:
    8962 
    8963 /* Line 1806 of yacc.c  */
    8964 #line 2659 "parser.yy"
     9048  case 736:
     9049
     9050/* Line 1806 of yacc.c  */
     9051#line 2743 "parser.yy"
    89659052    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89669053    break;
    89679054
    8968   case 713:
    8969 
    8970 /* Line 1806 of yacc.c  */
    8971 #line 2661 "parser.yy"
     9055  case 737:
     9056
     9057/* Line 1806 of yacc.c  */
     9058#line 2745 "parser.yy"
    89729059    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89739060    break;
    89749061
    8975   case 714:
    8976 
    8977 /* Line 1806 of yacc.c  */
    8978 #line 2668 "parser.yy"
     9062  case 738:
     9063
     9064/* Line 1806 of yacc.c  */
     9065#line 2752 "parser.yy"
    89799066    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89809067    break;
    89819068
    8982   case 715:
    8983 
    8984 /* Line 1806 of yacc.c  */
    8985 #line 2670 "parser.yy"
     9069  case 739:
     9070
     9071/* Line 1806 of yacc.c  */
     9072#line 2754 "parser.yy"
     9073    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9074    break;
     9075
     9076  case 740:
     9077
     9078/* Line 1806 of yacc.c  */
     9079#line 2756 "parser.yy"
    89869080    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89879081    break;
    89889082
    8989   case 716:
    8990 
    8991 /* Line 1806 of yacc.c  */
    8992 #line 2672 "parser.yy"
     9083  case 741:
     9084
     9085/* Line 1806 of yacc.c  */
     9086#line 2758 "parser.yy"
     9087    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9088    break;
     9089
     9090  case 742:
     9091
     9092/* Line 1806 of yacc.c  */
     9093#line 2760 "parser.yy"
    89939094    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89949095    break;
    89959096
    8996   case 717:
    8997 
    8998 /* Line 1806 of yacc.c  */
    8999 #line 2674 "parser.yy"
    9000     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9001     break;
    9002 
    9003   case 718:
    9004 
    9005 /* Line 1806 of yacc.c  */
    9006 #line 2676 "parser.yy"
     9097  case 743:
     9098
     9099/* Line 1806 of yacc.c  */
     9100#line 2762 "parser.yy"
    90079101    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90089102    break;
    90099103
    9010   case 719:
    9011 
    9012 /* Line 1806 of yacc.c  */
    9013 #line 2678 "parser.yy"
    9014     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9015     break;
    9016 
    9017   case 720:
    9018 
    9019 /* Line 1806 of yacc.c  */
    9020 #line 2680 "parser.yy"
    9021     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9022     break;
    9023 
    9024   case 721:
    9025 
    9026 /* Line 1806 of yacc.c  */
    9027 #line 2682 "parser.yy"
    9028     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9029     break;
    9030 
    9031   case 722:
    9032 
    9033 /* Line 1806 of yacc.c  */
    9034 #line 2684 "parser.yy"
    9035     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9036     break;
    9037 
    9038   case 723:
    9039 
    9040 /* Line 1806 of yacc.c  */
    9041 #line 2686 "parser.yy"
    9042     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9043     break;
    9044 
    9045   case 724:
    9046 
    9047 /* Line 1806 of yacc.c  */
    9048 #line 2691 "parser.yy"
    9049     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    9050     break;
    9051 
    9052   case 725:
    9053 
    9054 /* Line 1806 of yacc.c  */
    9055 #line 2693 "parser.yy"
    9056     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9057     break;
    9058 
    9059   case 726:
    9060 
    9061 /* Line 1806 of yacc.c  */
    9062 #line 2698 "parser.yy"
    9063     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9064     break;
    9065 
    9066   case 727:
    9067 
    9068 /* Line 1806 of yacc.c  */
    9069 #line 2700 "parser.yy"
    9070     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9071     break;
    9072 
    9073   case 729:
    9074 
    9075 /* Line 1806 of yacc.c  */
    9076 #line 2727 "parser.yy"
    9077     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9078     break;
    9079 
    9080   case 733:
    9081 
    9082 /* Line 1806 of yacc.c  */
    9083 #line 2738 "parser.yy"
    9084     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9085     break;
    9086 
    9087   case 734:
    9088 
    9089 /* Line 1806 of yacc.c  */
    9090 #line 2740 "parser.yy"
    9091     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9092     break;
    9093 
    9094   case 735:
    9095 
    9096 /* Line 1806 of yacc.c  */
    9097 #line 2742 "parser.yy"
    9098     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9099     break;
    9100 
    9101   case 736:
    9102 
    9103 /* Line 1806 of yacc.c  */
    9104 #line 2744 "parser.yy"
    9105     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9106     break;
    9107 
    9108   case 737:
    9109 
    9110 /* Line 1806 of yacc.c  */
    9111 #line 2746 "parser.yy"
    9112     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9113     break;
    9114 
    9115   case 738:
    9116 
    9117 /* Line 1806 of yacc.c  */
    9118 #line 2748 "parser.yy"
    9119     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9120     break;
    9121 
    9122   case 739:
    9123 
    9124 /* Line 1806 of yacc.c  */
    9125 #line 2755 "parser.yy"
    9126     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9127     break;
    9128 
    9129   case 740:
    9130 
    9131 /* Line 1806 of yacc.c  */
    9132 #line 2757 "parser.yy"
    9133     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9134     break;
    9135 
    9136   case 741:
    9137 
    9138 /* Line 1806 of yacc.c  */
    9139 #line 2759 "parser.yy"
    9140     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9141     break;
    9142 
    9143   case 742:
    9144 
    9145 /* Line 1806 of yacc.c  */
    9146 #line 2761 "parser.yy"
    9147     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9148     break;
    9149 
    9150   case 743:
    9151 
    9152 /* Line 1806 of yacc.c  */
    9153 #line 2763 "parser.yy"
    9154     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9155     break;
    9156 
    91579104  case 744:
    91589105
    91599106/* Line 1806 of yacc.c  */
    9160 #line 2765 "parser.yy"
    9161     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9107#line 2767 "parser.yy"
     9108    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91629109    break;
    91639110
     
    91659112
    91669113/* Line 1806 of yacc.c  */
    9167 #line 2770 "parser.yy"
    9168     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     9114#line 2772 "parser.yy"
     9115    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91699116    break;
    91709117
     
    91729119
    91739120/* Line 1806 of yacc.c  */
    9174 #line 2775 "parser.yy"
    9175     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
     9121#line 2774 "parser.yy"
     9122    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91769123    break;
    91779124
     
    91799126
    91809127/* Line 1806 of yacc.c  */
    9181 #line 2777 "parser.yy"
     9128#line 2776 "parser.yy"
    91829129    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91839130    break;
    91849131
    9185   case 748:
    9186 
    9187 /* Line 1806 of yacc.c  */
    9188 #line 2779 "parser.yy"
    9189     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9132  case 750:
     9133
     9134/* Line 1806 of yacc.c  */
     9135#line 2800 "parser.yy"
     9136    { (yyval.en) = 0; }
    91909137    break;
    91919138
     
    91939140
    91949141/* Line 1806 of yacc.c  */
    9195 #line 2803 "parser.yy"
    9196     { (yyval.en) = 0; }
    9197     break;
    9198 
    9199   case 752:
    9200 
    9201 /* Line 1806 of yacc.c  */
    9202 #line 2805 "parser.yy"
     9142#line 2802 "parser.yy"
    92039143    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    92049144    break;
     
    92079147
    92089148/* Line 1806 of yacc.c  */
    9209 #line 9210 "Parser/parser.cc"
     9149#line 9150 "Parser/parser.cc"
    92109150      default: break;
    92119151    }
     
    94389378
    94399379/* Line 2067 of yacc.c  */
    9440 #line 2808 "parser.yy"
     9380#line 2805 "parser.yy"
    94419381
    94429382// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.