Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r45161b4d rbd85400  
    7777#include <cstdio>
    7878#include <stack>
     79#include "TypedefTable.h"
    7980#include "lex.h"
    80 #include "parser.h"
    8181#include "ParseNode.h"
    82 #include "TypedefTable.h"
    8382#include "TypeData.h"
    8483#include "LinkageSpec.h"
     
    9190
    9291/* Line 268 of yacc.c  */
    93 #line 94 "Parser/parser.cc"
     92#line 93 "Parser/parser.cc"
    9493
    9594/* Enabling traces.  */
     
    139138     SIGNED = 277,
    140139     UNSIGNED = 278,
    141      VALIST = 279,
    142      BOOL = 280,
    143      COMPLEX = 281,
    144      IMAGINARY = 282,
    145      TYPEOF = 283,
    146      LABEL = 284,
    147      ENUM = 285,
    148      STRUCT = 286,
    149      UNION = 287,
    150      OTYPE = 288,
    151      FTYPE = 289,
    152      DTYPE = 290,
    153      TRAIT = 291,
    154      SIZEOF = 292,
    155      OFFSETOF = 293,
    156      ATTRIBUTE = 294,
    157      EXTENSION = 295,
    158      IF = 296,
    159      ELSE = 297,
    160      SWITCH = 298,
    161      CASE = 299,
    162      DEFAULT = 300,
    163      DO = 301,
    164      WHILE = 302,
    165      FOR = 303,
    166      BREAK = 304,
    167      CONTINUE = 305,
    168      GOTO = 306,
    169      RETURN = 307,
    170      CHOOSE = 308,
    171      DISABLE = 309,
    172      ENABLE = 310,
    173      FALLTHRU = 311,
    174      TRY = 312,
    175      CATCH = 313,
    176      CATCHRESUME = 314,
    177      FINALLY = 315,
    178      THROW = 316,
    179      THROWRESUME = 317,
    180      AT = 318,
    181      ASM = 319,
    182      ALIGNAS = 320,
    183      ALIGNOF = 321,
    184      ATOMIC = 322,
    185      GENERIC = 323,
    186      NORETURN = 324,
    187      STATICASSERT = 325,
    188      THREADLOCAL = 326,
    189      IDENTIFIER = 327,
    190      QUOTED_IDENTIFIER = 328,
    191      TYPEDEFname = 329,
    192      TYPEGENname = 330,
    193      ATTR_IDENTIFIER = 331,
    194      ATTR_TYPEDEFname = 332,
    195      ATTR_TYPEGENname = 333,
    196      INTEGERconstant = 334,
    197      FLOATINGconstant = 335,
    198      CHARACTERconstant = 336,
    199      STRINGliteral = 337,
    200      ZERO = 338,
    201      ONE = 339,
    202      ARROW = 340,
    203      ICR = 341,
    204      DECR = 342,
    205      LS = 343,
    206      RS = 344,
    207      LE = 345,
    208      GE = 346,
    209      EQ = 347,
    210      NE = 348,
    211      ANDAND = 349,
    212      OROR = 350,
    213      ELLIPSIS = 351,
    214      MULTassign = 352,
    215      DIVassign = 353,
    216      MODassign = 354,
    217      PLUSassign = 355,
    218      MINUSassign = 356,
    219      LSassign = 357,
    220      RSassign = 358,
    221      ANDassign = 359,
    222      ERassign = 360,
    223      ORassign = 361,
    224      ATassign = 362,
    225      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
    226224   };
    227225#endif
     
    248246#define SIGNED 277
    249247#define UNSIGNED 278
    250 #define VALIST 279
    251 #define BOOL 280
    252 #define COMPLEX 281
    253 #define IMAGINARY 282
    254 #define TYPEOF 283
    255 #define LABEL 284
    256 #define ENUM 285
    257 #define STRUCT 286
    258 #define UNION 287
    259 #define OTYPE 288
    260 #define FTYPE 289
    261 #define DTYPE 290
    262 #define TRAIT 291
    263 #define SIZEOF 292
    264 #define OFFSETOF 293
    265 #define ATTRIBUTE 294
    266 #define EXTENSION 295
    267 #define IF 296
    268 #define ELSE 297
    269 #define SWITCH 298
    270 #define CASE 299
    271 #define DEFAULT 300
    272 #define DO 301
    273 #define WHILE 302
    274 #define FOR 303
    275 #define BREAK 304
    276 #define CONTINUE 305
    277 #define GOTO 306
    278 #define RETURN 307
    279 #define CHOOSE 308
    280 #define DISABLE 309
    281 #define ENABLE 310
    282 #define FALLTHRU 311
    283 #define TRY 312
    284 #define CATCH 313
    285 #define CATCHRESUME 314
    286 #define FINALLY 315
    287 #define THROW 316
    288 #define THROWRESUME 317
    289 #define AT 318
    290 #define ASM 319
    291 #define ALIGNAS 320
    292 #define ALIGNOF 321
    293 #define ATOMIC 322
    294 #define GENERIC 323
    295 #define NORETURN 324
    296 #define STATICASSERT 325
    297 #define THREADLOCAL 326
    298 #define IDENTIFIER 327
    299 #define QUOTED_IDENTIFIER 328
    300 #define TYPEDEFname 329
    301 #define TYPEGENname 330
    302 #define ATTR_IDENTIFIER 331
    303 #define ATTR_TYPEDEFname 332
    304 #define ATTR_TYPEGENname 333
    305 #define INTEGERconstant 334
    306 #define FLOATINGconstant 335
    307 #define CHARACTERconstant 336
    308 #define STRINGliteral 337
    309 #define ZERO 338
    310 #define ONE 339
    311 #define ARROW 340
    312 #define ICR 341
    313 #define DECR 342
    314 #define LS 343
    315 #define RS 344
    316 #define LE 345
    317 #define GE 346
    318 #define EQ 347
    319 #define NE 348
    320 #define ANDAND 349
    321 #define OROR 350
    322 #define ELLIPSIS 351
    323 #define MULTassign 352
    324 #define DIVassign 353
    325 #define MODassign 354
    326 #define PLUSassign 355
    327 #define MINUSassign 356
    328 #define LSassign 357
    329 #define RSassign 358
    330 #define ANDassign 359
    331 #define ERassign 360
    332 #define ORassign 361
    333 #define ATassign 362
    334 #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
    335332
    336333
     
    342339
    343340/* Line 293 of yacc.c  */
    344 #line 112 "parser.yy"
     341#line 110 "parser.yy"
    345342
    346343        Token tok;
     
    359356
    360357/* Line 293 of yacc.c  */
    361 #line 362 "Parser/parser.cc"
     358#line 359 "Parser/parser.cc"
    362359} YYSTYPE;
    363360# define YYSTYPE_IS_TRIVIAL 1
     
    371368
    372369/* Line 343 of yacc.c  */
    373 #line 374 "Parser/parser.cc"
     370#line 371 "Parser/parser.cc"
    374371
    375372#ifdef short
     
    588585
    589586/* YYFINAL -- State number of the termination state.  */
    590 #define YYFINAL  249
     587#define YYFINAL  248
    591588/* YYLAST -- Last index in YYTABLE.  */
    592 #define YYLAST   11449
     589#define YYLAST   11042
    593590
    594591/* YYNTOKENS -- Number of terminals.  */
    595 #define YYNTOKENS  133
     592#define YYNTOKENS  132
    596593/* YYNNTS -- Number of nonterminals.  */
    597 #define YYNNTS  240
     594#define YYNNTS  238
    598595/* YYNRULES -- Number of rules.  */
    599 #define YYNRULES  754
     596#define YYNRULES  751
    600597/* YYNRULES -- Number of states.  */
    601 #define YYNSTATES  1581
     598#define YYNSTATES  1578
    602599
    603600/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    604601#define YYUNDEFTOK  2
    605 #define YYMAXUTOK   363
     602#define YYMAXUTOK   362
    606603
    607604#define YYTRANSLATE(YYX)                                                \
     
    614611       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    615612       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    616        2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
    617      109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
    618        2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
    619      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,
    620617       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621618       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622        2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
     619       2,   110,     2,   111,   127,     2,     2,     2,     2,     2,
    623620       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624621       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    625        2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
     622       2,     2,     2,   113,   128,   114,   122,     2,     2,     2,
    626623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    627624       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    647644      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    648645      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    649      105,   106,   107,   108
     646     105,   106,   107
    650647};
    651648
     
    688685    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    689686    1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
    690     1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
    691     1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
    692     1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
    693     1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,  1318,
    694     1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,  1354,
    695     1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,  1383,
    696     1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,  1415,
    697     1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,  1449,
    698     1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,  1492,
    699     1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,  1527,
    700     1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,  1555,
    701     1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1575,
    702     1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,  1598,
    703     1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,  1629,
    704     1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,  1673,
    705     1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,  1705,
    706     1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,  1747,
    707     1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,  1790,
    708     1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,  1835,
    709     1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,  1854,
    710     1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,  1894,
    711     1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,  1936,
    712     1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,  1965,
    713     1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,  1990,
    714     1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,  2034,
    715     2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,  2080,
    716     2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,  2117,
    717     2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,  2151,
    718     2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,  2199,
    719     2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,  2235,
    720     2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,  2273,
    721     2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,  2315,
    722     2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,  2360,
    723     2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,  2404,
    724     2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,  2439,
    725     2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,  2488,
    726     2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,  2528,
    727     2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,  2566,
    728     2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,  2601,
    729     2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,  2648,
    730     2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,  2681,
    731     2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,  2724,
    732     2731,  2738,  2739,  2741,  2742
     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
    733730};
    734731
     
    736733static const yytype_int16 yyrhs[] =
    737734{
    738      301,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    739       -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    740       -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
    741       -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
    742      110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
    743      134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
    744      143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
    745      112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
    746      146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
    747      109,   274,   110,   114,   278,   371,   115,    -1,   143,   114,
    748      144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    749      163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
    750      112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
    751      112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
    752      139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
    753      146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
    754      111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
    755      141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
    756       -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
    757       37,   148,    -1,    37,   109,   274,   110,    -1,    38,   109,
    758      274,   116,   139,   110,    -1,    76,    -1,    76,   109,   275,
    759      110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
    760       66,   109,   274,   110,    -1,    94,   139,    -1,   120,    -1,
    761      121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   274,
    762      110,   150,    -1,   109,   274,   110,   165,    -1,   150,    -1,
    763      151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
    764      150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
    765      151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
    766      152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
    767      153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
    768      154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
    769      155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
    770      156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
    771      159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
    772      160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
    773      117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
    774       -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
    775       -1,   165,   372,    -1,    -1,   163,    -1,   111,   112,    -1,
    776      111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
    777      135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
    778       -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
    779       -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
    780       -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
    781      116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
    782      176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
    783      197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
    784      117,   311,   170,    -1,   114,   115,    -1,   114,   134,   134,
    785      208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
    786       -1,   211,    -1,    40,   211,    -1,   307,    -1,   170,   135,
    787       -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
    788      109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
    789       42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
    790      109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
    791      109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
    792      134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
    793       -1,   309,    -1,   178,    -1,   179,   116,   178,    -1,    44,
    794      179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
    795       -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
    796      184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
    797      181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
    798      175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
    799       -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
    800      109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
    801      170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
    802      169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
    803      168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
    804       49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
    805       -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
    806      164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
    807      172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
    808       58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
    809      110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
    810       59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
    811      196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
    812      134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
    813      134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
    814      134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
    815       -1,   224,    -1,   224,   308,    -1,   224,   356,    -1,   365,
    816      139,    -1,   365,    -1,    64,   198,   109,   141,   110,   132,
    817       -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
    818       64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
    819       -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
    820      202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
    821      117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
    822       11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
    823       -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
    824      109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
    825       -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
    826       -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
    827       -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
    828       29,   210,   132,    -1,   209,    29,   210,   132,    -1,   273,
    829       -1,   210,   116,   273,    -1,   212,    -1,   221,    -1,   213,
    830      135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
    831       -1,   292,   135,   132,    -1,   295,   135,   132,    -1,   214,
    832      276,    -1,   230,   214,   276,    -1,   213,   135,   116,   134,
    833      271,   276,    -1,   366,   271,   310,    -1,   369,   271,   310,
    834       -1,   226,   369,   271,   310,    -1,   216,    -1,   226,   216,
    835       -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
    836      116,   134,   271,    -1,   111,   112,   271,   109,   134,   259,
    837      135,   110,    -1,   369,   271,   109,   134,   259,   135,   110,
    838       -1,   217,   271,   109,   134,   259,   135,   110,    -1,   111,
    839      134,   261,   135,   112,    -1,   111,   134,   261,   135,   116,
    840      134,   262,   135,   112,    -1,     3,   214,    -1,     3,   216,
    841       -1,   218,   135,   116,   134,   139,    -1,     3,   224,   308,
    842       -1,   219,   135,   116,   134,   308,    -1,   226,     3,   224,
    843      308,    -1,   224,     3,   308,    -1,   224,     3,   226,   308,
    844       -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
    845      139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
    846      132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
    847      223,   308,   310,   276,    -1,   222,   116,   311,   308,   310,
    848      276,    -1,   235,    -1,   239,    -1,   241,    -1,   282,    -1,
    849      236,    -1,   240,    -1,   242,    -1,   283,    -1,    -1,   226,
    850       -1,   227,    -1,   226,   227,    -1,   228,    -1,   313,    -1,
    851       10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
    852       -1,    13,   109,   229,   285,   110,    -1,   231,    -1,   226,
    853      231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
    854       -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
    855       -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,
    856853      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    857       -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
    858       -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
    859      235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
    860       -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
    861      234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
    862      275,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
    863      275,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
    864      230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
    865      243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
    866      230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
    867       74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
    868      255,    -1,   246,   114,   247,   115,    -1,   246,   273,    -1,
    869       -1,   246,   273,   245,   114,   247,   115,    -1,   246,   109,
    870      291,   110,   114,   247,   115,    -1,   246,   284,    -1,    31,
    871      311,    -1,    32,   311,    -1,   248,    -1,   247,   248,    -1,
    872      249,   132,    -1,    40,   249,   132,    -1,   250,   132,    -1,
    873       40,   250,   132,    -1,   365,    -1,   365,   273,    -1,   249,
    874      116,   273,    -1,   249,   116,    -1,   224,   251,    -1,   250,
    875      116,   311,   251,    -1,    -1,   253,    -1,   317,   252,    -1,
    876      330,   252,    -1,   356,    -1,    -1,   253,    -1,   117,   162,
    877       -1,    30,   311,    -1,   254,   114,   257,   371,   115,    -1,
    878      254,   273,    -1,    -1,   254,   273,   256,   114,   257,   371,
    879      115,    -1,   273,   258,    -1,   257,   116,   273,   258,    -1,
    880       -1,   131,   162,    -1,    -1,   260,    -1,   262,    -1,   261,
    881       -1,   261,   135,   116,   134,   262,    -1,   262,   135,   116,
    882      134,    96,    -1,   261,   135,   116,   134,    96,    -1,   266,
    883       -1,   262,   135,   116,   134,   266,    -1,   261,   135,   116,
    884      134,   266,    -1,   261,   135,   116,   134,   262,   135,   116,
    885      134,   266,    -1,   267,    -1,   262,   135,   116,   134,   267,
    886       -1,    -1,   264,    -1,   265,    -1,   265,   135,   116,   134,
    887       96,    -1,   269,    -1,   268,    -1,   265,   135,   116,   134,
    888      269,    -1,   265,   135,   116,   134,   268,    -1,   268,    -1,
    889      361,   271,   372,    -1,   369,   271,   372,    -1,   226,   369,
    890      271,   372,    -1,   216,    -1,   269,    -1,   361,    -1,   369,
    891       -1,   226,   369,    -1,   370,    -1,   223,   335,   372,    -1,
    892      223,   339,   372,    -1,   223,    -1,   223,   350,    -1,   139,
    893       -1,   270,   116,   139,    -1,   137,    -1,    74,    -1,    75,
    894       -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,
    895       -1,    75,    -1,   365,    -1,   224,    -1,   224,   356,    -1,
    896      365,    -1,   370,    -1,   224,    -1,   224,   344,    -1,    -1,
    897      131,   277,    -1,   107,   277,    -1,   163,    -1,   114,   278,
    898      371,   115,    -1,    -1,   277,    -1,   279,   277,    -1,   278,
    899      116,   277,    -1,   278,   116,   279,   277,    -1,   280,   117,
    900       -1,   273,   117,    -1,   281,    -1,   280,   281,    -1,    80,
    901       -1,   113,   273,    -1,   111,   134,   163,   135,   112,    -1,
    902      111,   134,   309,   135,   112,    -1,   111,   134,   162,    96,
    903      162,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
    904       -1,   283,    -1,   230,   283,    -1,   282,   232,    -1,   282,
    905      232,   226,    -1,   284,    -1,   226,   284,    -1,   283,   227,
    906       -1,    75,   109,   291,   110,    -1,   286,   372,    -1,   285,
    907      116,   286,   372,    -1,    -1,   288,   273,   287,   289,    -1,
    908      224,   335,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
    909      289,   290,    -1,   129,   273,   109,   291,   110,    -1,   129,
    910      114,   134,   297,   115,    -1,   129,   109,   134,   285,   135,
    911      110,   114,   134,   297,   115,   109,   291,   110,    -1,   275,
    912       -1,   163,    -1,   291,   116,   275,    -1,   291,   116,   163,
    913       -1,    33,   293,    -1,   231,    33,   293,    -1,   292,   116,
    914      293,    -1,   294,   289,    -1,   294,   289,   131,   275,    -1,
    915      273,    -1,   272,   109,   134,   285,   135,   110,    -1,    36,
    916      273,   109,   134,   285,   135,   110,   114,   115,    -1,    -1,
    917       36,   273,   109,   134,   285,   135,   110,   114,   296,   297,
    918      115,    -1,   298,    -1,   297,   134,   298,    -1,   299,   135,
    919      132,    -1,   300,   135,   132,    -1,   214,    -1,   216,    -1,
    920      299,   135,   116,   134,   271,    -1,   224,   308,    -1,   300,
    921      135,   116,   134,   308,    -1,    -1,   302,    -1,   304,    -1,
    922      302,   134,   304,    -1,    -1,   302,    -1,   211,    -1,   306,
    923       -1,   197,    -1,    -1,     5,    82,   305,   114,   303,   115,
    924       -1,    40,   304,    -1,   307,    -1,   322,   172,    -1,   326,
    925      134,   206,   172,    -1,   215,   172,    -1,   223,   322,   172,
    926       -1,   226,   322,   172,    -1,   230,   322,   172,    -1,   230,
    927      226,   322,   172,    -1,   223,   326,   134,   206,   172,    -1,
    928      226,   326,   134,   206,   172,    -1,   230,   326,   134,   206,
    929      172,    -1,   230,   226,   326,   134,   206,   172,    -1,   317,
    930       -1,   322,    -1,   330,    -1,   162,   123,   162,    -1,    -1,
    931       64,   109,   141,   110,   311,    -1,    -1,   312,    -1,   313,
    932       -1,   312,   313,    -1,    39,   109,   109,   314,   110,   110,
    933       -1,   315,    -1,   314,   116,   315,    -1,    -1,   316,    -1,
    934      316,   109,   169,   110,    -1,   271,    -1,   233,    -1,   234,
    935       -1,   227,    -1,   318,   311,    -1,   319,    -1,   320,   311,
    936       -1,   321,   311,    -1,   137,    -1,   109,   318,   110,    -1,
    937      119,   317,    -1,   119,   226,   317,    -1,   109,   319,   110,
    938       -1,   318,   348,    -1,   109,   319,   110,   348,    -1,   109,
    939      320,   110,   349,    -1,   109,   320,   110,    -1,   109,   319,
    940      110,   109,   134,   263,   135,   110,    -1,   109,   321,   110,
    941       -1,   323,   311,    -1,   324,    -1,   325,   311,    -1,   318,
    942      109,   134,   263,   135,   110,    -1,   109,   324,   110,   109,
    943      134,   263,   135,   110,    -1,   109,   323,   110,    -1,   119,
    944      322,    -1,   119,   226,   322,    -1,   109,   324,   110,    -1,
    945      109,   324,   110,   348,    -1,   109,   325,   110,   349,    -1,
    946      109,   325,   110,    -1,   327,    -1,   328,    -1,   329,    -1,
    947      318,   109,   270,   110,    -1,   109,   328,   110,   109,   270,
    948      110,    -1,   109,   327,   110,    -1,   119,   326,    -1,   119,
    949      226,   326,    -1,   109,   328,   110,    -1,   109,   328,   110,
    950      348,    -1,   109,   329,   110,   349,    -1,   109,   329,   110,
    951       -1,   331,   311,    -1,   332,    -1,   333,   311,    -1,   334,
    952      311,    -1,   340,    -1,   109,   331,   110,    -1,   119,   330,
    953       -1,   119,   226,   330,    -1,   109,   332,   110,    -1,   331,
    954      348,    -1,   109,   332,   110,   348,    -1,   109,   333,   110,
    955      349,    -1,   109,   333,   110,    -1,   331,   109,   134,   263,
    956      135,   110,    -1,   109,   332,   110,   109,   134,   263,   135,
    957      110,    -1,   109,   334,   110,    -1,   318,   311,    -1,   336,
    958       -1,   337,   311,    -1,   338,   311,    -1,   119,   335,    -1,
    959      119,   226,   335,    -1,   109,   336,   110,    -1,   318,   354,
    960       -1,   109,   336,   110,   348,    -1,   109,   337,   110,   349,
    961       -1,   109,   337,   110,    -1,   318,   109,   134,   263,   135,
    962      110,    -1,   109,   336,   110,   109,   134,   263,   135,   110,
    963       -1,   109,   338,   110,    -1,   340,   311,    -1,   341,    -1,
    964      342,   311,    -1,   343,   311,    -1,    74,    -1,    75,    -1,
    965      119,   339,    -1,   119,   226,   339,    -1,   109,   341,   110,
    966       -1,   340,   354,    -1,   109,   341,   110,   354,    -1,   340,
    967      109,   134,   263,   135,   110,    -1,   109,   341,   110,   109,
    968      134,   263,   135,   110,    -1,   345,    -1,   346,   311,    -1,
    969      347,   311,    -1,   119,    -1,   119,   226,    -1,   119,   344,
    970       -1,   119,   226,   344,    -1,   109,   345,   110,    -1,   348,
    971       -1,   109,   345,   110,   348,    -1,   109,   346,   110,   349,
    972       -1,   109,   346,   110,    -1,   109,   134,   263,   135,   110,
    973       -1,   109,   345,   110,   109,   134,   263,   135,   110,    -1,
    974      109,   347,   110,    -1,   111,   112,    -1,   111,   112,   349,
    975       -1,   349,    -1,   111,   134,   163,   135,   112,    -1,   111,
    976      134,   119,   135,   112,    -1,   349,   111,   134,   163,   135,
    977      112,    -1,   349,   111,   134,   119,   135,   112,    -1,   351,
    978       -1,   352,   311,    -1,   353,   311,    -1,   119,    -1,   119,
    979      226,    -1,   119,   350,    -1,   119,   226,   350,    -1,   109,
    980      351,   110,    -1,   354,    -1,   109,   351,   110,   354,    -1,
    981      109,   352,   110,   349,    -1,   109,   352,   110,    -1,   109,
    982      134,   263,   135,   110,    -1,   109,   351,   110,   109,   134,
    983      263,   135,   110,    -1,   109,   353,   110,    -1,   355,    -1,
    984      355,   349,    -1,   349,    -1,   111,   112,    -1,   111,   134,
    985      226,   119,   135,   112,    -1,   111,   134,   226,   135,   112,
    986       -1,   111,   134,   226,   163,   135,   112,    -1,   111,   134,
    987        7,   225,   163,   135,   112,    -1,   111,   134,   226,     7,
    988      163,   135,   112,    -1,   357,    -1,   358,   311,    -1,   359,
    989      311,    -1,   119,    -1,   119,   226,    -1,   119,   356,    -1,
    990      119,   226,   356,    -1,   109,   357,   110,    -1,   348,    -1,
    991      109,   357,   110,   348,    -1,   109,   358,   110,   349,    -1,
    992      109,   358,   110,    -1,   109,   357,   110,   109,   134,   263,
    993      135,   110,    -1,   109,   359,   110,    -1,   361,    -1,   369,
    994       -1,   226,   369,    -1,   362,    -1,   363,    -1,   119,   224,
    995       -1,   226,   119,   224,    -1,   119,   370,    -1,   226,   119,
    996      370,    -1,   119,   360,    -1,   226,   119,   360,    -1,   111,
    997      112,   224,    -1,   364,   224,    -1,   111,   112,   349,   224,
    998       -1,   364,   349,   224,    -1,   349,   224,    -1,   111,   112,
    999      362,    -1,   364,   362,    -1,   111,   112,   349,   362,    -1,
    1000      364,   349,   362,    -1,   349,   362,    -1,   111,   134,   226,
    1001      119,   135,   112,    -1,   111,   134,   226,   163,   135,   112,
    1002       -1,   111,   134,   230,   163,   135,   112,    -1,   111,   134,
    1003      230,   226,   163,   135,   112,    -1,   369,    -1,   226,   369,
    1004       -1,   366,    -1,   367,    -1,   368,    -1,   119,   224,    -1,
    1005      226,   119,   224,    -1,   119,   370,    -1,   226,   119,   370,
    1006       -1,   119,   365,    -1,   226,   119,   365,    -1,   111,   112,
    1007      224,    -1,   111,   112,   349,   224,    -1,   349,   224,    -1,
    1008      111,   112,   367,    -1,   111,   112,   349,   367,    -1,   349,
    1009      367,    -1,   111,   134,   262,   135,   112,    -1,   111,   112,
    1010      109,   259,   110,    -1,   369,   109,   134,   259,   135,   110,
    1011       -1,   217,   109,   134,   259,   135,   110,    -1,    -1,   116,
    1012       -1,    -1,   131,   163,    -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
    10131009};
    10141010
     
    10161012static const yytype_uint16 yyrline[] =
    10171013{
    1018        0,   292,   292,   298,   307,   308,   309,   313,   314,   315,
    1019      319,   320,   324,   325,   329,   330,   334,   335,   341,   343,
    1020      345,   347,   352,   353,   359,   363,   365,   366,   368,   369,
    1021      371,   373,   375,   383,   384,   390,   391,   392,   397,   399,
    1022      404,   405,   409,   413,   415,   417,   419,   424,   427,   429,
    1023      431,   433,   435,   437,   439,   441,   447,   449,   451,   453,
    1024      455,   457,   459,   461,   463,   468,   469,   470,   471,   475,
    1025      476,   478,   483,   484,   486,   488,   493,   494,   496,   501,
    1026      502,   504,   509,   510,   512,   514,   516,   521,   522,   524,
    1027      529,   530,   535,   536,   541,   542,   547,   548,   553,   554,
    1028      559,   560,   562,   564,   569,   574,   575,   577,   579,   585,
    1029      586,   592,   594,   596,   598,   603,   604,   609,   610,   611,
    1030      612,   613,   614,   615,   616,   617,   618,   622,   623,   629,
    1031      630,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    1032      653,   660,   662,   672,   673,   678,   680,   682,   684,   688,
    1033      689,   694,   699,   702,   704,   706,   711,   713,   721,   722,
    1034      724,   728,   729,   734,   735,   740,   741,   745,   750,   751,
    1035      755,   757,   763,   764,   768,   770,   772,   774,   780,   781,
    1036      785,   786,   790,   792,   794,   799,   801,   806,   808,   812,
    1037      815,   819,   822,   826,   828,   832,   834,   841,   843,   845,
    1038      854,   856,   858,   860,   862,   867,   869,   871,   873,   878,
    1039      891,   892,   897,   899,   904,   908,   910,   912,   914,   916,
    1040      922,   923,   929,   930,   934,   935,   940,   942,   948,   949,
    1041      951,   956,   958,   965,   967,   971,   972,   977,   979,   983,
    1042      984,   988,   990,   994,   995,   999,  1000,  1004,  1005,  1020,
    1043     1021,  1022,  1023,  1024,  1028,  1033,  1040,  1050,  1055,  1060,
    1044     1068,  1073,  1078,  1083,  1088,  1096,  1118,  1123,  1130,  1132,
    1045     1139,  1144,  1149,  1160,  1165,  1170,  1175,  1180,  1189,  1194,
    1046     1202,  1203,  1204,  1205,  1211,  1216,  1224,  1225,  1226,  1227,
    1047     1231,  1232,  1233,  1234,  1239,  1240,  1249,  1250,  1255,  1256,
    1048     1261,  1263,  1265,  1267,  1269,  1272,  1271,  1283,  1284,  1286,
    1049     1296,  1297,  1302,  1306,  1308,  1310,  1312,  1314,  1316,  1318,
    1050     1320,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
    1051     1343,  1345,  1347,  1349,  1355,  1356,  1358,  1360,  1362,  1367,
    1052     1368,  1374,  1375,  1377,  1379,  1384,  1386,  1388,  1390,  1395,
    1053     1396,  1398,  1400,  1405,  1406,  1408,  1413,  1414,  1416,  1418,
    1054     1423,  1425,  1427,  1432,  1433,  1437,  1439,  1445,  1444,  1448,
    1055     1450,  1455,  1457,  1462,  1464,  1469,  1470,  1472,  1473,  1478,
    1056     1479,  1481,  1483,  1488,  1490,  1496,  1497,  1499,  1502,  1505,
    1057     1510,  1511,  1516,  1521,  1525,  1527,  1533,  1532,  1539,  1541,
    1058     1547,  1548,  1556,  1557,  1561,  1562,  1563,  1565,  1567,  1574,
    1059     1575,  1577,  1579,  1584,  1585,  1591,  1592,  1596,  1597,  1602,
    1060     1603,  1604,  1606,  1614,  1615,  1617,  1620,  1622,  1626,  1627,
    1061     1628,  1630,  1632,  1636,  1641,  1649,  1650,  1659,  1661,  1666,
    1062     1667,  1668,  1672,  1673,  1674,  1678,  1679,  1680,  1684,  1685,
    1063     1686,  1691,  1692,  1693,  1694,  1700,  1701,  1703,  1708,  1709,
    1064     1714,  1715,  1716,  1717,  1718,  1733,  1734,  1739,  1740,  1748,
    1065     1750,  1752,  1755,  1757,  1759,  1782,  1783,  1785,  1787,  1792,
    1066     1793,  1795,  1800,  1805,  1806,  1812,  1811,  1815,  1819,  1821,
    1067     1823,  1829,  1830,  1835,  1840,  1842,  1847,  1849,  1850,  1852,
    1068     1857,  1859,  1861,  1866,  1868,  1873,  1878,  1886,  1892,  1891,
    1069     1905,  1906,  1911,  1912,  1916,  1921,  1926,  1934,  1939,  1950,
    1070     1951,  1962,  1963,  1969,  1970,  1974,  1975,  1976,  1979,  1978,
    1071     1989,  1994,  1999,  2005,  2014,  2020,  2026,  2032,  2038,  2046,
    1072     2052,  2060,  2066,  2075,  2076,  2077,  2081,  2085,  2087,  2092,
    1073     2093,  2097,  2098,  2103,  2109,  2110,  2113,  2115,  2116,  2120,
    1074     2121,  2122,  2123,  2157,  2159,  2160,  2162,  2167,  2172,  2177,
    1075     2179,  2181,  2186,  2188,  2190,  2192,  2197,  2199,  2209,  2211,
    1076     2212,  2217,  2219,  2221,  2226,  2228,  2230,  2235,  2237,  2239,
    1077     2248,  2249,  2250,  2254,  2256,  2258,  2263,  2265,  2267,  2272,
    1078     2274,  2276,  2291,  2293,  2294,  2296,  2301,  2302,  2307,  2309,
    1079     2311,  2316,  2318,  2320,  2322,  2327,  2329,  2331,  2341,  2343,
    1080     2344,  2346,  2351,  2353,  2355,  2360,  2362,  2364,  2366,  2371,
    1081     2373,  2375,  2406,  2408,  2409,  2411,  2416,  2421,  2429,  2431,
    1082     2433,  2438,  2440,  2445,  2447,  2461,  2462,  2464,  2469,  2471,
    1083     2473,  2475,  2477,  2482,  2483,  2485,  2487,  2492,  2494,  2496,
    1084     2502,  2504,  2506,  2510,  2512,  2514,  2516,  2530,  2531,  2533,
    1085     2538,  2540,  2542,  2544,  2546,  2551,  2552,  2554,  2556,  2561,
    1086     2563,  2565,  2571,  2572,  2574,  2583,  2586,  2588,  2591,  2593,
    1087     2595,  2608,  2609,  2611,  2616,  2618,  2620,  2622,  2624,  2629,
    1088     2630,  2632,  2634,  2639,  2641,  2649,  2650,  2651,  2656,  2657,
    1089     2661,  2663,  2665,  2667,  2669,  2671,  2678,  2680,  2682,  2684,
    1090     2686,  2688,  2690,  2692,  2694,  2696,  2701,  2703,  2705,  2710,
    1091     2736,  2737,  2739,  2743,  2744,  2748,  2750,  2752,  2754,  2756,
    1092     2758,  2765,  2767,  2769,  2771,  2773,  2775,  2780,  2785,  2787,
    1093     2789,  2807,  2809,  2814,  2815
     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
    10941090};
    10951091#endif
     
    11031099  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11041100  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
    1105   "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF",
    1106   "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT",
    1107   "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH",
    1108   "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO",
    1109   "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH",
    1110   "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS",
    1111   "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
    1112   "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
    1113   "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",
    11141110  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    11151111  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
     
    11561152  "sue_declaration_specifier", "sue_type_specifier",
    11571153  "typedef_declaration_specifier", "typedef_type_specifier",
    1158   "elaborated_type_name", "aggregate_name", "$@2", "aggregate_key",
     1154  "elaborated_type_name", "aggregate_name", "aggregate_key",
    11591155  "field_declaration_list", "field_declaration",
    11601156  "new_field_declaring_list", "field_declaring_list", "field_declarator",
    11611157  "bit_subrange_size_opt", "bit_subrange_size", "enum_key", "enum_name",
    1162   "$@3", "enumerator_list", "enumerator_value_opt",
    1163   "new_parameter_type_list_opt", "new_parameter_type_list",
    1164   "new_parameter_list", "new_abstract_parameter_list",
    1165   "parameter_type_list_opt", "parameter_type_list", "parameter_list",
    1166   "new_parameter_declaration", "new_abstract_parameter_declaration",
    1167   "parameter_declaration", "abstract_parameter_declaration",
    1168   "identifier_list", "identifier_or_type_name",
    1169   "no_01_identifier_or_type_name", "no_attr_identifier_or_type_name",
    1170   "type_name_no_function", "type_name", "initializer_opt", "initializer",
    1171   "initializer_list", "designation", "designator_list", "designator",
    1172   "typegen_declaration_specifier", "typegen_type_specifier",
    1173   "typegen_name", "type_parameter_list", "type_parameter", "$@4",
    1174   "type_class", "assertion_list_opt", "assertion", "type_name_list",
    1175   "type_declaring_list", "type_declarator", "type_declarator_name",
    1176   "trait_specifier", "$@5", "trait_declaration_list", "trait_declaration",
    1177   "new_trait_declaring_list", "trait_declaring_list", "translation_unit",
    1178   "external_definition_list", "external_definition_list_opt",
    1179   "external_definition", "$@6", "external_function_definition",
    1180   "function_definition", "declarator", "subrange", "asm_name_opt",
    1181   "attribute_list_opt", "attribute_list", "attribute",
    1182   "attribute_parameter_list", "attrib", "any_word", "variable_declarator",
    1183   "paren_identifier", "variable_ptr", "variable_array",
    1184   "variable_function", "function_declarator", "function_no_ptr",
    1185   "function_ptr", "function_array", "old_function_declarator",
    1186   "old_function_no_ptr", "old_function_ptr", "old_function_array",
    1187   "type_redeclarator", "paren_type", "type_ptr", "type_array",
    1188   "type_function", "identifier_parameter_declarator",
     1158  "enumerator_list", "enumerator_value_opt", "new_parameter_type_list_opt",
     1159  "new_parameter_type_list", "new_parameter_list",
     1160  "new_abstract_parameter_list", "parameter_type_list_opt",
     1161  "parameter_type_list", "parameter_list", "new_parameter_declaration",
     1162  "new_abstract_parameter_declaration", "parameter_declaration",
     1163  "abstract_parameter_declaration", "identifier_list",
     1164  "identifier_or_type_name", "no_01_identifier_or_type_name",
     1165  "no_attr_identifier_or_type_name", "type_name_no_function", "type_name",
     1166  "initializer_opt", "initializer", "initializer_list", "designation",
     1167  "designator_list", "designator", "typegen_declaration_specifier",
     1168  "typegen_type_specifier", "typegen_name", "type_parameter_list",
     1169  "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion",
     1170  "type_name_list", "type_declaring_list", "type_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",
    11891185  "identifier_parameter_ptr", "identifier_parameter_array",
    11901186  "identifier_parameter_function", "type_parameter_redeclarator",
     
    12231219     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12241220     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1225      355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1226       41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
    1227       38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
    1228       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
    12291225};
    12301226# endif
     
    12331229static const yytype_uint16 yyr1[] =
    12341230{
    1235        0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
    1236      138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
    1237      142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
    1238      143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
    1239      146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    1240      148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1241      148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
    1242      150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
    1243      153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
    1244      156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
    1245      161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
    1246      164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
    1247      167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
    1248      169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
    1249      171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
    1250      175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
    1251      178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
    1252      184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
    1253      188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
    1254      191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
    1255      193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
    1256      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
    1257      198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
    1258      202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
    1259      207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
    1260      212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
    1261      215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
    1262      218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
    1263      221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
    1264      224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
    1265      228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
    1266      231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
    1267      233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
    1268      234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
    1269      236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
    1270      239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
    1271      242,   242,   242,   243,   243,   244,   244,   245,   244,   244,
    1272      244,   246,   246,   247,   247,   248,   248,   248,   248,   249,
    1273      249,   249,   249,   250,   250,   251,   251,   251,   251,   251,
    1274      252,   252,   253,   254,   255,   255,   256,   255,   257,   257,
    1275      258,   258,   259,   259,   260,   260,   260,   260,   260,   261,
    1276      261,   261,   261,   262,   262,   263,   263,   264,   264,   265,
    1277      265,   265,   265,   266,   266,   266,   266,   266,   267,   267,
    1278      267,   267,   267,   268,   268,   269,   269,   270,   270,   271,
    1279      271,   271,   272,   272,   272,   273,   273,   273,   274,   274,
    1280      274,   275,   275,   275,   275,   276,   276,   276,   277,   277,
    1281      278,   278,   278,   278,   278,   279,   279,   280,   280,   281,
    1282      281,   281,   281,   281,   281,   282,   282,   282,   282,   283,
    1283      283,   283,   284,   285,   285,   287,   286,   286,   288,   288,
    1284      288,   289,   289,   290,   290,   290,   291,   291,   291,   291,
    1285      292,   292,   292,   293,   293,   294,   294,   295,   296,   295,
    1286      297,   297,   298,   298,   299,   299,   299,   300,   300,   301,
    1287      301,   302,   302,   303,   303,   304,   304,   304,   305,   304,
    1288      304,   306,   306,   306,   307,   307,   307,   307,   307,   307,
    1289      307,   307,   307,   308,   308,   308,   309,   310,   310,   311,
    1290      311,   312,   312,   313,   314,   314,   315,   315,   315,   316,
    1291      316,   316,   316,   317,   317,   317,   317,   318,   318,   319,
    1292      319,   319,   320,   320,   320,   320,   321,   321,   322,   322,
    1293      322,   323,   323,   323,   324,   324,   324,   325,   325,   325,
    1294      326,   326,   326,   327,   327,   327,   328,   328,   328,   329,
    1295      329,   329,   330,   330,   330,   330,   331,   331,   332,   332,
    1296      332,   333,   333,   333,   333,   334,   334,   334,   335,   335,
    1297      335,   335,   336,   336,   336,   337,   337,   337,   337,   338,
    1298      338,   338,   339,   339,   339,   339,   340,   340,   341,   341,
    1299      341,   342,   342,   343,   343,   344,   344,   344,   345,   345,
    1300      345,   345,   345,   346,   346,   346,   346,   347,   347,   347,
    1301      348,   348,   348,   349,   349,   349,   349,   350,   350,   350,
    1302      351,   351,   351,   351,   351,   352,   352,   352,   352,   353,
    1303      353,   353,   354,   354,   354,   355,   355,   355,   355,   355,
    1304      355,   356,   356,   356,   357,   357,   357,   357,   357,   358,
    1305      358,   358,   358,   359,   359,   360,   360,   360,   361,   361,
    1306      362,   362,   362,   362,   362,   362,   363,   363,   363,   363,
    1307      363,   363,   363,   363,   363,   363,   364,   364,   364,   364,
    1308      365,   365,   365,   366,   366,   367,   367,   367,   367,   367,
    1309      367,   368,   368,   368,   368,   368,   368,   369,   370,   370,
    1310      370,   371,   371,   372,   372
     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
    13111307};
    13121308
     
    13471343       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13481344       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1349        1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
    1350        3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
    1351        2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
    1352        1,     2,     2,     1,     1,     4,     2,     0,     6,     7,
    1353        2,     2,     2,     1,     2,     2,     3,     2,     3,     1,
    1354        2,     3,     2,     2,     4,     0,     1,     2,     2,     1,
    1355        0,     1,     2,     2,     5,     2,     0,     7,     2,     4,
    1356        0,     2,     0,     1,     1,     1,     5,     5,     5,     1,
    1357        5,     5,     9,     1,     5,     0,     1,     1,     5,     1,
    1358        1,     5,     5,     1,     3,     3,     4,     1,     1,     1,
    1359        1,     2,     1,     3,     3,     1,     2,     1,     3,     1,
    1360        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1361        2,     1,     1,     1,     2,     0,     2,     2,     1,     4,
    1362        0,     1,     2,     3,     4,     2,     2,     1,     2,     1,
    1363        2,     5,     5,     7,     6,     1,     2,     2,     3,     1,
    1364        2,     2,     4,     2,     4,     0,     4,     2,     1,     1,
    1365        1,     0,     2,     5,     5,    13,     1,     1,     3,     3,
    1366        2,     3,     3,     2,     4,     1,     6,     9,     0,    11,
    1367        1,     3,     3,     3,     1,     1,     5,     2,     5,     0,
    1368        1,     1,     3,     0,     1,     1,     1,     1,     0,     6,
    1369        2,     1,     2,     4,     2,     3,     3,     3,     4,     5,
    1370        5,     5,     6,     1,     1,     1,     3,     0,     5,     0,
    1371        1,     1,     2,     6,     1,     3,     0,     1,     4,     1,
    1372        1,     1,     1,     2,     1,     2,     2,     1,     3,     2,
    1373        3,     3,     2,     4,     4,     3,     8,     3,     2,     1,
    1374        2,     6,     8,     3,     2,     3,     3,     4,     4,     3,
    1375        1,     1,     1,     4,     6,     3,     2,     3,     3,     4,
    1376        4,     3,     2,     1,     2,     2,     1,     3,     2,     3,
    1377        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1378        2,     2,     2,     3,     3,     2,     4,     4,     3,     6,
    1379        8,     3,     2,     1,     2,     2,     1,     1,     2,     3,
    1380        3,     2,     4,     6,     8,     1,     2,     2,     1,     2,
    1381        2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
    1382        2,     3,     1,     5,     5,     6,     6,     1,     2,     2,
    1383        1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
    1384        8,     3,     1,     2,     1,     2,     6,     5,     6,     7,
    1385        7,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1386        4,     4,     3,     8,     3,     1,     1,     2,     1,     1,
    1387        2,     3,     2,     3,     2,     3,     3,     2,     4,     3,
    1388        2,     3,     2,     4,     3,     2,     6,     6,     6,     7,
    1389        1,     2,     1,     1,     1,     2,     3,     2,     3,     2,
    1390        3,     3,     4,     2,     3,     4,     2,     5,     5,     6,
    1391        6,     0,     1,     0,     2
     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,
     1368       2,     1,     2,     2,     1,     3,     2,     3,     3,     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
    13921388};
    13931389
     
    13991395     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    14001396     301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
    1401      327,   328,   333,   330,   331,   332,   549,   549,   549,     0,
    1402        0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
    1403        8,    14,    15,     0,     2,   294,   567,     9,   527,   525,
    1404      247,     3,   455,     3,   260,     0,     3,     3,     3,   248,
    1405        3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
    1406      312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
    1407      363,     0,     0,   364,   289,   475,   479,     3,     3,     0,
    1408        2,   521,   526,   531,   299,     0,     0,   549,   579,   549,
    1409        2,   590,   591,   592,   294,     0,   733,   734,     0,    12,
    1410      294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
    1411      293,   528,   305,   393,   550,   551,   371,   372,    12,   446,
    1412      447,    11,   442,   445,     0,   505,   500,   491,   446,   447,
    1413        0,     0,   530,   221,     0,   294,     0,     0,     0,     0,
    1414        0,     0,     0,     0,   294,   294,     2,     0,   735,   295,
    1415      584,   596,   739,   732,   730,   737,     0,     0,     0,   254,
    1416        2,     0,   534,   440,   441,   439,     0,     0,     0,     0,
    1417      549,     0,   636,   637,     0,     0,   547,   543,   549,   564,
    1418      549,   549,   544,     2,   545,   549,   603,   549,   549,   606,
    1419        0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
    1420      297,   308,   342,   354,   480,     0,     2,     0,   455,   262,
    1421      295,   335,   350,   357,   476,     0,     2,     0,   311,   336,
    1422      343,   344,     0,   351,   355,   358,   362,   447,   294,   294,
    1423      366,   370,     0,   395,   477,   481,     0,     0,     0,     1,
    1424      294,     2,   532,   578,   580,   294,     2,   743,   295,   746,
    1425      547,   547,   295,     0,     0,     0,   273,   549,   544,     2,
    1426      294,     0,     0,   294,   552,     2,   503,     2,   556,     0,
    1427        0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
    1428       16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
    1429       67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
    1430       76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
    1431      105,   497,   753,   453,   496,     0,   451,   452,     0,   568,
    1432      583,   586,   589,   595,   598,   601,   360,     0,     2,   741,
    1433        0,   294,   744,     2,   294,     3,   427,     0,   435,   295,
    1434      294,   307,   334,   287,   349,   356,     3,     3,   409,   413,
    1435      423,   428,   475,   294,   429,   708,   709,   294,   430,   432,
    1436      294,     2,   585,   597,   731,     2,     2,   249,     2,   460,
    1437        0,   458,   457,   456,   141,     2,     2,   251,     2,     2,
    1438      250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
    1439        0,     0,     0,     0,     0,     0,   569,   608,     0,   455,
    1440        2,   563,   572,   662,   565,   566,   535,   294,     2,   602,
    1441      611,   604,   605,     0,   276,   294,   294,   340,   295,     0,
    1442      295,     0,   294,   736,   740,   738,   536,   294,   547,   255,
    1443      263,   309,     0,     2,   537,   294,   501,   337,   338,   283,
    1444      352,   359,     0,   294,     2,   385,   294,   373,     0,     0,
    1445      379,   730,     0,   751,   400,     0,   478,   502,   252,   253,
    1446      522,   294,   437,     0,   294,   237,     0,     2,   239,     0,
    1447      295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
    1448      547,   294,   488,   490,   489,     0,     0,   753,     0,   294,
    1449        0,   294,   492,   294,   562,   560,   561,   559,     0,   554,
    1450      557,     0,     0,   294,    56,   294,    69,    52,   294,    62,
    1451      294,   294,    50,    51,    64,     2,   127,     0,     0,   449,
    1452        0,   448,   111,   294,    54,    55,    17,     0,    29,    30,
    1453       35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
    1454      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,
    14551451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1456        0,     0,     0,     0,     0,     0,     0,   108,     2,   648,
    1457      454,   645,   549,   549,   653,   482,   294,     2,   587,   588,
    1458        0,   599,   600,     0,     2,   742,   745,   111,   294,     2,
    1459      294,     0,   710,   295,   714,   705,   706,   712,     0,     2,
    1460        2,   670,   549,   753,   619,   549,   549,   753,   549,   633,
    1461      549,   549,   684,   436,   667,   549,   549,   675,   682,   294,
    1462      431,   295,     0,     0,   294,   720,   295,   725,   753,   717,
    1463      294,   722,   753,   294,   294,   294,     0,   111,     0,    18,
    1464        5,     2,     0,    19,     0,   461,   751,     0,     0,   467,
    1465      241,     0,   294,     0,     0,     0,   547,   571,   575,   577,
    1466      607,   610,   614,   617,   570,   609,     0,   284,   660,     0,
    1467      294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
    1468      538,   294,     0,     0,     0,     0,   294,   294,     0,     0,
    1469      694,   383,   386,   390,   549,   390,   699,   389,   691,   549,
    1470      549,   365,   374,   382,   375,   549,   377,   380,   294,   752,
    1471        0,     0,   398,     0,   295,     3,   416,     3,   420,   419,
    1472      593,     0,   533,   294,     3,     3,   294,   435,   295,     3,
    1473      429,   430,     2,     0,     0,     0,   487,   306,   294,   483,
    1474      485,     3,     2,     2,     0,   504,     3,     0,   556,   129,
    1475        0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
    1476        0,     0,   111,   294,    20,     0,    21,     0,   694,   450,
    1477        0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
    1478       25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
    1479       81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
    1480       97,    99,     0,     0,   754,   294,     0,     0,     0,   649,
    1481      650,   646,   647,   499,   498,   294,     0,     3,   294,   716,
    1482      294,   721,   295,   294,   294,   294,   664,   707,   663,     2,
    1483      294,     0,     0,     0,     0,     0,     0,     0,     0,   685,
    1484        0,   671,   622,   638,   672,     2,   618,   625,   433,   620,
    1485      621,   434,     2,   632,   641,   634,   635,   668,   669,   683,
    1486      711,   715,   713,   753,   268,     2,   747,     2,   424,   719,
    1487      724,   425,     0,   403,     3,     3,     3,     3,   455,     3,
    1488        0,     2,   470,   466,   752,     0,   462,   469,     2,   465,
    1489      468,     0,   294,   242,   264,     3,   272,   274,     0,   455,
    1490        2,   573,   574,     2,   612,   613,     0,   661,   539,     3,
    1491      346,   345,   348,   347,   294,   540,     0,   541,   294,   376,
    1492      378,     2,     0,     0,     0,     0,   104,   392,   695,   696,
    1493      387,   391,   388,   692,   693,   381,   385,   294,   400,   394,
    1494      401,   751,     0,     0,   438,   240,     0,     0,     3,     2,
    1495      670,   431,     0,   529,     0,   753,   491,     0,   294,   294,
    1496      294,     0,   553,   555,   130,     0,     0,   215,     0,     0,
    1497        0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
    1498        0,   128,   695,   460,    70,    71,   110,   115,     3,   109,
    1499        0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
    1500        3,   652,   656,   659,   651,     3,   594,     3,   718,   723,
    1501        2,   294,     3,     3,   295,     0,     3,   624,   628,   631,
    1502      640,   674,   678,   681,   294,     3,   623,   639,   673,   294,
    1503      294,   426,   294,   294,   748,     0,     0,     0,     0,   256,
    1504        0,   104,     0,     3,     3,     0,   463,     0,   459,     0,
    1505        0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
    1506        0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
    1507        3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
    1508      138,   145,   147,     0,     0,     0,   285,   294,   294,   549,
    1509        0,   542,   294,   111,   698,   702,   704,   697,   384,   368,
    1510      399,     0,   581,     2,   666,   665,     0,   671,     2,   484,
    1511      486,   506,     3,   514,   515,     0,     2,   510,     3,     3,
    1512        0,     0,   558,   222,     0,     0,     0,   222,     0,     0,
    1513        3,    37,   751,   109,     0,     3,   663,    42,     3,    40,
    1514        3,    34,     0,     3,   101,   103,     0,     2,   654,   655,
    1515        0,     0,   294,     0,     0,     0,     3,   640,     0,     2,
    1516      626,   627,     2,   642,     2,   676,   677,     0,     0,     3,
    1517        0,     3,     3,     3,     3,   411,   410,   414,     2,     2,
    1518      750,   749,   112,     0,     0,     0,     0,     3,   464,     3,
    1519        0,   243,   146,     3,   295,   294,     0,     0,     0,     0,
    1520        2,   191,     0,   189,     0,     0,     0,     0,     0,     0,
    1521        0,     0,   111,     0,   549,   151,   148,   294,     0,     0,
    1522      267,   279,     3,     3,   548,   615,   369,     2,   700,   701,
    1523      397,   294,   266,   294,     0,   517,   494,   294,     0,     0,
    1524      493,   508,     0,     0,     0,   216,     0,   225,    58,   109,
    1525        0,     0,   116,   113,     0,     0,     0,     0,     0,     0,
    1526       23,     0,   657,   294,   582,   265,   726,   727,   728,     0,
    1527      679,   294,   294,   294,     3,     3,     0,   687,     0,     0,
    1528        0,     0,   294,   294,     3,   546,   471,   472,     0,     0,
    1529      246,   295,     0,     0,     0,     0,   294,   192,   190,     0,
    1530      187,   193,     0,     0,     0,     0,   197,   200,   198,   194,
    1531        0,   195,    35,   129,   144,   142,   244,     0,     0,   294,
    1532      418,   422,   421,     0,   511,     2,   512,     2,   513,   507,
    1533      294,   228,     0,   226,     0,   228,     3,   663,    31,   114,
    1534        2,    45,     2,    43,    41,    28,   112,    26,     3,   729,
    1535        3,     3,     3,     0,     0,   686,   688,   629,   643,   269,
    1536        2,   408,     3,   407,     0,   474,   471,   129,     0,     0,
    1537      129,     3,     0,   129,   188,     0,     2,     2,   209,   199,
    1538        0,     0,     0,     0,   140,   576,   616,     3,     2,     0,
    1539        0,     2,   229,     0,     0,   217,     0,     0,     0,     0,
    1540        0,     0,     0,     0,     0,   689,   690,   294,     0,   473,
    1541      152,     0,     0,     2,   165,   129,   154,     0,   182,     0,
    1542      129,     0,     2,   156,     0,     2,     0,     2,     2,     2,
    1543      196,    32,     0,   294,   516,   518,   509,     0,     0,     0,
    1544        0,   114,    38,     3,     3,   658,   630,   644,   680,   412,
    1545      129,   158,   161,     0,   160,   164,     3,   167,   166,     0,
    1546      129,   184,   129,     3,     0,   294,     0,   294,     0,     2,
    1547        0,     2,   139,   703,     2,   230,   231,     0,   227,   218,
    1548        0,     0,     0,   153,     0,     0,   163,   233,   168,     2,
    1549      235,   183,     0,   186,   172,   201,     3,   210,   214,   203,
    1550        3,     0,   294,     0,   294,     0,     0,     0,    39,    46,
    1551       44,   159,   162,   129,     0,   169,   294,   129,   129,     0,
    1552      173,     0,     0,   694,   211,   212,   213,     0,   202,     3,
    1553      204,     3,   294,   219,   232,   149,   170,   155,   129,   236,
    1554      185,   180,   178,   174,   157,   129,     0,   695,     0,     0,
    1555        0,     0,   150,   171,   181,   175,   179,   178,   176,     3,
    1556        3,     0,     0,   495,   177,   205,   207,     3,     3,   206,
    1557      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
    15581553};
    15591554
     
    15611556static const yytype_int16 yydefgoto[] =
    15621557{
    1563       -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
    1564      306,   786,   787,  1148,  1149,   307,   308,   309,   310,   311,
    1565      312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
    1566      526,   997,   322,   998,   555,   974,  1079,  1545,  1081,  1082,
    1567     1083,  1084,  1546,  1085,  1086,  1462,  1463,  1424,  1425,  1426,
    1568     1524,  1525,  1529,  1530,  1565,  1566,  1087,  1382,  1088,  1089,
    1569     1316,  1317,  1318,  1506,  1090,   144,   980,   981,   982,  1403,
    1570     1487,  1498,  1499,   476,   477,   902,   903,  1060,    49,    50,
    1571       51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
    1572      348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
    1573       70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
    1574       79,    80,   462,    81,   456,   457,   458,   459,   701,   940,
    1575      702,    82,    83,   465,   463,   722,   882,   883,   356,   357,
    1576      725,   726,   727,   358,   359,   360,   361,   473,   340,   134,
    1577      135,   530,   324,   169,   655,   656,   657,   658,   659,    84,
    1578      120,    86,   496,   497,   966,   498,   276,   502,   325,    87,
    1579      136,   137,    88,  1340,  1126,  1127,  1128,  1129,    89,    90,
    1580      743,    91,   272,    92,    93,   186,  1054,   689,   411,   124,
    1581       94,   508,   509,   510,   187,   267,   189,   190,   191,   268,
    1582       97,    98,    99,   100,   101,   102,   103,   194,   195,   196,
    1583      197,   198,   852,   614,   615,   616,   617,   199,   619,   620,
    1584      621,   580,   581,   582,   583,   706,   104,   623,   624,   625,
    1585      626,   627,   628,   939,   708,   709,   710,   604,   364,   365,
    1586      366,   367,   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
    15871582};
    15881583
    15891584/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15901585   STATE-NUM.  */
    1591 #define YYPACT_NINF -1332
     1586#define YYPACT_NINF -1281
    15921587static const yytype_int16 yypact[] =
    15931588{
    1594     3506,  8076, -1332,    12, -1332, -1332, -1332, -1332, -1332, -1332,
    1595    -1332,    61, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1596    -1332, -1332, -1332, -1332, -1332, -1332,   102,   102,   102,  1011,
    1597     1062,    86,  5961,   228, -1332, -1332, -1332, -1332, -1332,   138,
    1598    -1332, -1332, -1332,   684,   144,  9470, -1332, -1332, -1332, -1332,
    1599    -1332, -1332,   190,   182, -1332,  1658, -1332, -1332, -1332, -1332,
    1600      201,  1834,   303,    32,  4928, -1332, -1332,  9508,  1650, -1332,
    1601    -1332, -1332,   615,   401,  4443,   184,   589,   615,  1225, -1332,
    1602    -1332,   848,   938, -1332,   615,  1259, -1332,   301, -1332,   486,
    1603      503, -1332, -1332, -1332, -1332,   316,   182,   102, -1332,   102,
    1604    -1332, -1332, -1332, -1332,  9240,  1658, -1332, -1332,  1658, -1332,
    1605     9354,   391, -1332, -1332, -1332,  1948,  9876, -1332,   810,   810,
    1606      810, -1332, -1332, -1332,   102, -1332, -1332, -1332,   426,   447,
    1607      456, -1332, -1332, -1332,   477, -1332, -1332, -1332, -1332, -1332,
    1608      485,   495, -1332, -1332,    36,  8974,  2459,   272,   545,   579,
    1609      623,   632,   671,   733,  8777,  7372,   596,   719, -1332,  9546,
    1610    -1332, -1332, -1332, -1332,   739, -1332,   209,  3245,  3245, -1332,
    1611      760,   213, -1332, -1332, -1332, -1332,   770,   237,   353,   362,
    1612      102,   755, -1332, -1332,  1834,  1803,   846, -1332,    70, -1332,
    1613      102,   102,   182, -1332, -1332,    98, -1332,   102,   102, -1332,
    1614     2479,   820,   843,   810,  5405, -1332, -1332,   844,  9470, -1332,
    1615    -1332,   615, -1332, -1332, -1332,   182, -1332,  1658,   190, -1332,
    1616     7926, -1332,   810,   810,   810,   182, -1332,  1011, -1332,  2880,
    1617    -1332, -1332,   827,   810, -1332,   810, -1332,   138,  8974,  8891,
    1618      857, -1332,  1062,   864,   810, -1332,  1011,   870,   879, -1332,
    1619     5961,   735, -1332, -1332, -1332,  9437, -1332, -1332,  3894, -1332,
    1620      846,    69,  9876,  6310,  1948,  2479, -1332,   114, -1332, -1332,
    1621     9354,  1658,   875, 11374, -1332, -1332,   546, -1332, 11116,   886,
    1622      926, 10861,   905, 10919, 10938, -1332,   919, -1332, -1332, -1332,
    1623    -1332, 10996, 10996,   735,  8632,   928, 10919,  9088, -1332, -1332,
    1624    -1332, -1332, -1332, -1332,   949, -1332,   840,  2531, 10919, -1332,
    1625      516,   336,   425,   270,   704,   934,   936,   960,   997,    52,
    1626    -1332, -1332,   974,   356, -1332,   290, -1332, -1332,  2459, -1332,
    1627    -1332,   600,   996, -1332,   701,   996,  1007,   138, -1332, -1332,
    1628     1010,  9240, -1332,  1018,  8746, -1332, -1332,  1849,  1084,  8347,
    1629     5405,   615, -1332,   615,   810,   810, -1332, -1332, -1332, -1332,
    1630    -1332, -1332,   810,  9914,  1658, -1332, -1332,  9987,  1975, -1332,
    1631     9012, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1030,  3059,
    1632    10919, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1633    -1332, -1332, -1332, -1332, -1332,  1948, -1332,   773,  1012,  1034,
    1634     1040,   889,  1045,  1051,  1053,  1803, -1332, -1332,  1063,   190,
    1635     1064, -1332, -1332,  1066, -1332, -1332, -1332,  9437, -1332, -1332,
    1636    -1332, -1332, -1332,  2479, -1332,  8974,  8974, -1332,   810,  1948,
    1637     6923,  1658,  8420, -1332, -1332, -1332, -1332,  9437,    69, -1332,
    1638    -1332,   615,   182, -1332, -1332,  9437, -1332,  3625, -1332, -1332,
    1639      810,   810,   464, 10025,  1068,   907,  9695, -1332,   437,   475,
    1640     1062, -1332,  1067,  1069,  1047,  1070,   810, -1332, -1332, -1332,
    1641    -1332, 10283, -1332,   522,  6793, -1332,   182,  1074, -1332,  1948,
    1642    11198,  6368, -1332, -1332, -1332, -1332,   939,  2479, -1332,  8493,
    1643      846,  5374, -1332, -1332, -1332,   828,   610,   974,  1062, 11374,
    1644      861,  9354, -1332, 11374, -1332, -1332, -1332, -1332,   618, -1332,
    1645     1073,   926,   326,  8632, -1332, 10025, -1332, -1332,  8632, -1332,
    1646     8860,  8632, -1332, -1332, -1332,  1077, -1332,   619,  1082,   630,
    1647     1087, -1332,  5066,  7012, -1332, -1332, -1332,    47, -1332, -1332,
    1648    10784, -1332,   474, 10784, -1332, -1332, -1332, -1332, -1332, -1332,
    1649    -1332, -1332, -1332, -1332,  6310,  6310, -1332, 10919, 10919, 10919,
    1650    10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919,
    1651    10919, 10919, 10919, 10919, 10919,  4001,  6310, -1332,   356,   777,
    1652    -1332, -1332,   102,   102, -1332, -1332,  8974, -1332, -1332,  1066,
    1653      735, -1332,  1066, 10842, -1332, -1332, -1332,  6075,  7012,  1086,
    1654     9202,  1093, -1332, 10055, -1332, -1332,   739, -1332,  1094,   690,
    1655     1096,  1090,   157,   974, -1332,   102,   102,   974,   166, -1332,
    1656      102,   102,  1066, -1332, -1332,   102,   102, -1332,   996, 10137,
    1657     1658, 11343,   372,   531, 10137, -1332,  6678, -1332,   974, -1332,
    1658     9914, -1332,   285,  8042,  8042,  8042,  1658, -1332,  5183,  1085,
    1659      453,  1030,   955,  1095,  1097, -1332,  1099,  3245,   590, -1332,
    1660     1182,  1658,  8042,   735,  1948,   735,   846,   706,   996, -1332,
    1661    -1332,   806,   996, -1332, -1332, -1332,   926, -1332,   996,   182,
    1662    10283, -1332,   647,  1107,   688,  1108, -1332,  1109,   182, -1332,
    1663    -1332,  9437,   182,  1105,   497,   502, 10167,  7492,  1400, 10919,
    1664     1678, -1332, -1332,  1103,    62,  1103, -1332, -1332, -1332,   102,
    1665      102, -1332, -1332,  1062, -1332,   102, -1332, -1332,  8891,  1062,
    1666     1110, 10919, -1332,  1062, 11343, -1332, -1332,  1113, -1332, -1332,
    1667    -1332,   735, -1332, 11271, 10919, -1332,  8042,   718,  8347, -1332,
    1668    -1332,   739,  1114,  1115,   828,  2655, -1332, -1332, 11374, -1332,
    1669    -1332,  1116, -1332, -1332,  1122, -1332,  1116,  1123, 11116,  6310,
    1670      163,  1092,    54,  1131,  1128,  1135,   928,  1130,  1138, -1332,
    1671     1140,  1141,  9733,  7132, -1332,  6310, -1332,   630,  1274, -1332,
    1672     5523,  6310,  1139, -1332, -1332,  1030,   695, -1332,  6310, -1332,
    1673    -1332,   741, -1332, -1332, -1332, -1332, -1332,   516,   516,   336,
    1674      336,   425,   425,   425,   425,   270,   270,   704,   934,   936,
    1675      960,   997, 10919,   754, -1332, 10283,  1150,  1151,  1153,   777,
    1676    -1332, -1332, -1332, -1332, -1332, 10283,   748, 10919,  8042, -1332,
    1677     9914, -1332,  7612,  9316,  9126,  7372, -1332, -1332, -1332,   690,
    1678    10283,   950,  1164,  1165,  1171,  1172,  1179,  1180,  1181, -1332,
    1679     3591,  1090, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1680    -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
    1681    -1332, -1332, -1332,   974, -1332, -1332, -1332, -1332, -1332, -1332,
    1682    -1332, -1332,  1183, -1332,  1184,  1187, -1332, -1332,   190,  1139,
    1683     5183, -1332, -1332, -1332,  3059,  1185, -1332, -1332, -1332, -1332,
    1684    -1332,  1062,  6532,  1270, -1332, -1332, -1332, -1332,  1173,   190,
    1685    -1332, -1332,  1066, -1332, -1332,  1066,   152,  1066, -1332, -1332,
    1686    -1332, -1332, -1332, -1332,  9584, -1332,   182, -1332,  8891, -1332,
    1687    -1332,  1193,   795,  1199,  1200,  1204, -1332, -1332,  1678, -1332,
    1688    -1332, -1332, -1332, -1332, -1332, -1332,   907,  9763,  1047, -1332,
    1689    -1332,  1069,  1205,  1201, -1332, -1332,  1206,  1207, -1332,   718,
    1690     1989, -1332,   634, -1332,  2655,   974, -1332,  1211, 11374, 10205,
    1691     8974,  1214, -1332, -1332,  1212,  1217,  1213, -1332, 10919,   229,
    1692      205,  1215, -1332,  1202,   735,  1202,  7012,  6310, -1332, -1332,
    1693     1202, -1332,  1274,  3059, -1332, -1332, -1332, -1332,  1220,  6310,
    1694     1228,   735,  5183, -1332, 10784, -1332,   735, -1332, -1332,  6310,
    1695    -1332,   863,   996, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1696     1030,  8746, -1332, -1332,  7732,  1219, -1332,   876,   996, -1332,
    1697      883,   896,   996, -1332,   810,  4775, -1332, -1332, -1332, 10283,
    1698    10283, -1332,  8420,  8420, -1332,  1221,  1226,  1233,  1235, -1332,
    1699     1234,   643,   137,  1139, -1332,   735, -1332,  3245, -1332,  6310,
    1700      517, -1332,  6892,  1245,  1249, 10726,  1253,  1258,   330,   380,
    1701      387,  6310,  1265,   182,  6310,  6310,  1256,   294,  1269,  1250,
    1702    -1332, -1332, -1332,  1277, -1332, -1332, -1332, -1332, -1332, -1332,
    1703    -1332, -1332, -1332,  1062,  1285,  6310, -1332, 10283, 10283,   102,
    1704     1287, -1332,  9845,  9622,   932,   996, -1332, -1332, -1332, -1332,
    1705    -1332,  1286, -1332, -1332, -1332, -1332,  1293,  1989, -1332, -1332,
    1706     1275, -1332,  1116, -1332, -1332,  1948,  1290, -1332, -1332, -1332,
    1707      749,  1292, -1332,    54,  1295, 10919,  1279,    54,    54,  1305,
    1708     1301, -1332,  1099,  6310,  1308,  1220,   605,    89,  1306, -1332,
    1709     1301, -1332,  1312,  1306, -1332, -1332,  1317, -1332, -1332,  1066,
    1710     1319,  1322,  7252,  1323,  1325,  1326, -1332, -1332,  1329, -1332,
    1711    -1332,  1066, -1332, -1332, -1332, -1332,  1066,  6310,  6310, 10919,
    1712     1330, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1713    -1332, -1332, -1332, 10919, 10919,  1332,  1335,  1306, -1332, -1332,
    1714     1062, -1332, -1332, -1332,  7853, 10205,  6310,  6310,  1394,  6310,
    1715    -1332, -1332,  1321, -1332,  1324,  6310,  1327,  1331,  6310,  1013,
    1716     1333,    97,  8265,  1262,   102, -1332, -1332,  6532,  1334,   537,
    1717    -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
    1718    -1332, 10544, -1332,  8493,  1345, -1332, -1332, 10205,   562,   563,
    1719    -1332,  1343,  1344,   926,  1352, -1332,   450, -1332, -1332,  6310,
    1720     1355,  1349, -1332, -1332,  1356,   543,   613,   735,  1357,  1358,
    1721    -1332,  1361, -1332, 10283, -1332, -1332, -1332, -1332, -1332,  1365,
    1722    -1332, 10283, 10283, 10283, -1332, -1332,  1367, -1332,  1368,  1371,
    1723     1372,   668,  8115,  8231, -1332, -1332,   457, -1332,  1376,  1378,
    1724    -1332,  8566,   750,   782,  1387,   793,  6762, -1332, -1332,   598,
    1725    -1332, -1332,   803,  1388,  1393,   182,  1445,   882, -1332, -1332,
    1726     6310, -1332, 10784, 10726, -1332, -1332, -1332,  1396,  1404, 10283,
    1727    -1332, -1332, -1332,  1401, -1332, -1332, -1332, -1332, -1332, -1332,
    1728    10205,   926,   254, -1332,  1384,   926,  1220,   366, -1332, -1332,
    1729    -1332, -1332, -1332, -1332, -1332, -1332,  1405, -1332, -1332, -1332,
    1730    -1332, -1332, -1332,  1406,  1409, -1332, -1332, -1332, -1332, -1332,
    1731    -1332, -1332,  1414, -1332,  1413, -1332, -1332, 10726,    84,  6310,
    1732    10726, -1332,  1417,  6310, -1332,    99,  1433,  1434, -1332, -1332,
    1733     1422,  1425,  1408,   852, -1332, -1332, -1332, -1332, -1332,  1658,
    1734     1948,  1421,   949,   918, 10919, -1332,   832,  1426,  6310,   735,
    1735      735,  1427,  1431,  1440,  1441, -1332, -1332,  8420,  1428, -1332,
    1736     1501, 10919,  1437, -1332, -1332, 10637, -1332,   845, -1332,  1424,
    1737    10726,  1436, -1332, -1332,  1460, -1332,  1461, -1332,  1476,  1481,
    1738    -1332,  1446,  1471, 10205, -1332, -1332, -1332,   926,   735,  1472,
    1739     1452,  1468, -1332,  1306,  1306, -1332, -1332, -1332, -1332, -1332,
    1740    10726,   295, -1332,   940, -1332, -1332,  5671, -1332, -1332,  1454,
    1741     6310, -1332,  6310,  5671,   182, 10025,   182, 10025,  1478, -1332,
    1742     1482, -1332, -1332, -1332,  1480,   949, -1332,   850, -1332, -1332,
    1743     6310,  1479,  1487, -1332, 10919, 10919, -1332, -1332,  1054,   123,
    1744    -1332, -1332,  1465, -1332,  1054, -1332, -1332,  1818,   735, -1332,
    1745    -1332,   182, 10025,   182, 10025,  1492,  1474,   735, -1332, -1332,
    1746    -1332, -1332, -1332, 10637,  1488,  1054,  6242,  6310, 10548,  1495,
    1747     1054,  1502,  1818,  2347, -1332, -1332, -1332,  1505, -1332, -1332,
    1748    -1332, -1332,  8974, -1332, -1332, -1332, 10415, -1332, 10637, -1332,
    1749    -1332,  1484, 10322, -1332, -1332, 10548,   182,  2347,   182,  1509,
    1750     1510,   853, -1332, 10415, -1332, -1332, -1332, 10322, -1332, -1332,
    1751    -1332,   182,   182, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1752    -1332
     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
    17531747};
    17541748
     
    17561750static const yytype_int16 yypgoto[] =
    17571751{
    1758    -1332,  4383,  1919, -1332,  1457, -1332,    41,     0,  -257, -1332,
    1759      544,  -527,  -514,  -956,  -190,  3713, -1332,  1485,   580,   585,
    1760      548,   602,  1055,  1052,  1056,  1059,  1061, -1332,  -217,  -341,
    1761     5350,  -699,  -697,  -922, -1332,   -83,  -701,  -678, -1332,   561,
    1762    -1332,   399, -1087, -1332, -1332,   141, -1332, -1329,  -838,   252,
    1763    -1332, -1332, -1332, -1332,    71, -1078, -1332, -1332, -1332, -1332,
    1764    -1332, -1332,   325, -1308,    57, -1332,  -297, -1332,   504,   305,
    1765    -1332,   173, -1332,  -305, -1332, -1332, -1332,   558,  -799, -1332,
    1766    -1332,    11, -1027,   151,   658, -1332, -1332, -1332,   -52, -1332,
    1767      117,   913,  -200,  1494,  4071, -1332, -1332,    19,   107,   365,
    1768     -232,  1565, -1332,  2150, -1332, -1332,   134,  2571, -1332,  3063,
    1769     1550, -1332, -1332, -1332,  -643,  -431,  1210,  1216,   707,   947,
    1770      188, -1332, -1332, -1332,   945,   723,  -404, -1332,  -520,  -362,
    1771      293, -1332, -1332,  -990,  -995,   965,  1194,  1083,   304, -1332,
    1772      150,   317,   -75,  -197,  -129,   679,   781, -1332,  1020, -1332,
    1773     3338,  1566,  -427,   948, -1332, -1332,   710, -1332,  -230, -1332,
    1774      -89, -1332, -1332, -1332, -1266,   433, -1332, -1332, -1332,  1195,
    1775    -1332,    22, -1332, -1332,  -865,  -105, -1331,   -98,  1750, -1332,
    1776     2253, -1332,   929, -1332,  -168,   288,  -180,  -179,  -173,     2,
    1777      -34,   -29,   -28,   687,    75,    77,    92,  -161,  -162,  -153,
    1778     -151,  -148,  -320,  -530,  -516,  -495,  -552,  -307,  -529, -1332,
    1779    -1332,  -506,  1106,  1117,  1121,  2218,  5180,  -562,  -569,  -544,
    1780     -538,  -550, -1332,  -429,  -691,  -685,  -671,  -611,  -246,  -241,
    1781    -1332, -1332,  1149,   273,   -84, -1332,  3714,    76,  -612,  -441
     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
    17821776};
    17831777
     
    17851779   positive, shift that token.  If negative, reduce the rule which
    17861780   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1787 #define YYTABLE_NINF -525
     1781#define YYTABLE_NINF -522
    17881782static const yytype_int16 yytable[] =
    17891783{
    1790       47,   112,    96,   427,   398,   399,   768,   933,   452,   148,
    1791      266,   400,   113,   934,   149,   150,   791,   406,   871,    67,
    1792      259,   439,   401,   512,   407,   712,   707,   935,   613,   112,
    1793      112,   402,    47,   403,    96,  1203,   404,  1092,   382,   383,
    1794      846,   618,   111,    47,   895,    47,   505,   160,  1187,   854,
    1795     1153,    67,  1185,  1186,   142,    47,   749,    48,   975,   853,
    1796      201,    47,   857,   192,    47,   847,   215,    47,   864,   225,
    1797      342,   848,   751,   820,  1401,   947,   756,  1145,   218,   842,
    1798      845,   112,   112,   995,   398,   399,   933,   279,   409,    48,
    1799     1464,   400,   934,   843,   121,   424,  1468,   406,   605,  1197,
    1800      779,    31,   401,  1091,   407,    47,   935,    68,    47,    31,
    1801      202,   402,   679,   403,   844,    47,   404,    61,   151,   109,
    1802      152,   165,   637,   884,   884,   884,   641,   739,  1421,  1422,
    1803       41,    42,   688,   408,    75,   153,   290,    31,   446,    68,
    1804      692,    31,   884,  1421,  1422,   280,    47,   574,   160,    61,
    1805      148,    54,   114,    31,    47,   149,   150,   467,   783,    47,
    1806     1320,   372,   482,   484,  1464,   978,    75,  -234,  -234,  1510,
    1807      122,   211,   858,   410,  1265,   746,   861,  1484,   483,   251,
    1808      140,   410,   575,    54,    47,    47,   165,   160,     2,   205,
    1809        4,     5,     6,     7,  1468,   141,    31,   878,  1423,  1468,
    1810       47,   881,  1266,   478,  1539,    31,  1541,   418,    47,   410,
    1811      160,   527,   677,  1432,   842,   209,   884,    47,   219,  1468,
    1812       47,   327,   442,   488,  1080,   410,  1468,   112,   843,  1321,
    1813      148,   240,   243,  1193,   536,   149,   150,   674,  -234,   143,
    1814      886,   887,   112,   740,   675,   536,   112,   145,  1187,   844,
    1815       47,   112,    96,    35,   760,    36,   154,   596,   905,   151,
    1816     1194,   152,  1099,  1202,    47,    47,   855,   160,   610,    67,
    1817      846,    47,   470,   105,   105,   862,   153,   610,    47,  1203,
    1818      976,   885,   885,   885,   435,  1102,   342,   703,    95,  1038,
    1819      666,   857,   472,   112,   705,   847,   170,   167,  1187,  1037,
    1820      885,   848,  1185,  1186,   618,   105,   200,    48,   884,   842,
    1821     1025,   536,  1155,  1014,   327,  1136,    -3,   180,   681,   674,
    1822       95,   168,  1137,   843,   686,   376,   675,   441,    47,   386,
    1823      372,   147,   958,    95,   524,   739,   536,  1346,  1135,  1111,
    1824      105,   377,   682,   684,   844,   387,   435,    47,    47,   188,
    1825      683,   685,    95,   389,   605,    95,   831,    68,   937,   176,
    1826      564,   565,  1092,  1404,    47,   478,   285,    61,    47,   390,
    1827     1217,   440,   479,   165,   885,  1220,  1221,    41,    42,   653,
    1828      950,   251,   329,   605,    75,   478,   926,  1208,   605,    75,
    1829      846,  1494,   464,   478,   483,    47,   566,   567,   854,   880,
    1830      585,    54,   109,   521,  -290,    47,   586,   372,   536,   260,
    1831      871,   739,   261,    41,    42,   847,   576,   246,  1194,   916,
    1832      607,   848,  1187,    47,  1017,   251,   755,  1459,  1091,    47,
    1833      527,    47,  1041,   228,    95,   527,   761,   229,   527,  1203,
    1834      233,  1552,   235,   762,  1262,   770,  1203,    95,   342,   244,
    1835     1553,   740,   109,  1453,  1454,    47,   211,   560,   561,   109,
    1836      112,  1563,  1211,    41,    42,   578,   885,   410,  1567,   391,
    1837       41,    42,   397,   188,   112,   579,  -112,  1568,   393,    47,
    1838     1173,  1175,   936,  1408,   874,   392,   249,    47,   875,   372,
    1839     1151,    47,   813,    96,   394,    47,    95,  -112,   112,  1203,
    1840      112,   327,   327,  -520,   936,   979,  1215,  1383,    95,  1107,
    1841       67,   824,  1213,   562,   563,   111,   712,   707,   398,   399,
    1842      653,   438,   263,   105,  1119,   400,   505,   740,   896,   654,
    1843     1261,  1036,   406,  -469,   479,   -10,   401,   112,    95,   407,
    1844      653,  1122,   112,   653,   618,   402,   109,   403,    48,  1080,
    1845      404,    75,   486,   713,   479,  1038,  -443,    41,    42,   907,
    1846     1344,   767,   479,  1107,  -469,  -444,  -469,  1345,   909,   714,
    1847     -469,    75,  -112,  -112,   693,   490,   228,   327,   784,    75,
    1848      586,   767,   507,   790,   767,   789,   275,   211,  -112,  1019,
    1849      112,   715,  -291,   831,   277,  1008,   327,    47,    68,     8,
    1850        9,    10,    11,    12,   278,  1381,   737,   716,    61,    47,
    1851      717,    47,   342,   713,   172,   109,    95,   833,   715,     2,
    1852      205,     4,     5,     6,     7,    75,    41,    42,    31,   929,
    1853       47,   472,   730,  1200,   930,   557,   612,  1134,   731,   478,
    1854      558,   559,    54,   876,  1036,  1394,    47,   877,   750,  1201,
    1855      754,   176,   112,  1200,  1350,   330,    34,   252,    55,    55,
    1856     1523,    47,   327,   112,    47,   112,  1528,  1500,   638,  1326,
    1857      897,   712,   642,  1051,  1500,   500,   607,   501,  1335,  1337,
    1858     1184,   955,  1431,   831,    35,   109,    36,  1548,   342,   331,
    1859       55,  1049,  1555,   188,  1336,  1338,    41,    42,    47,  1420,
    1860       47,   898,  1428,   652,   906,   872,   908,   899,   370,   587,
    1861      607,   410,  1096,   112,   775,  -112,   228,  -112,   233,   112,
    1862      747,  -112,    55,   112,  1352,    55,   748,  1549,   757,   774,
    1863     1384,   112,   161,   332,   758,   775,  -112,  -112,   441,   777,
    1864     1130,   410,   333,   704,    47,    47,   876,  1467,   193,   778,
    1865     1118,   216,  1471,   416,   226,  -105,    37,   920,    47,  -105,
    1866       40,   936,    37,   775,   105,  1056,    40,    41,    42,  1502,
    1867      674,  1503,   954,    41,    42,   605,   436,   675,   703,    95,
    1868     1369,   334,  1493,   612,  1370,   705,   444,     8,     9,    10,
    1869       11,    12,  1154,    43,  1254,  1393,   568,   569,   922,   839,
    1870      739,   610,   892,   146,   775,  1003,   228,   109,   479,   611,
    1871      590,  1004,   410,   347,   737,   910,    31,   410,    41,    42,
    1872        8,     9,    10,    11,    12,    75,  1550,   959,   371,   610,
    1873      763,   211,   764,   161,  1177,   765,  1252,   960,   771,    47,
    1874     1256,   933,  1051,   335,    34,   211,   373,   934,   375,    31,
    1875      479,    47,  1294,  1295,   833,   528,  1007,  1004,  1016,  1250,
    1876     1377,   935,   831,   945,   731,   586,   775,    75,  1562,   948,
    1877      775,  1009,   161,   464,  1562,   384,   979,    34,    55,   388,
    1878      979,   979,   251,   329,   410,  1562,   578,   396,   410,  1562,
    1879      737,   941,  1378,   941,   653,   161,   579,   841,   775,   612,
    1880       37,   112,   653,  1380,    40,   329,   410,   443,    55,   775,
    1881      408,    41,    42,  1385,   115,   913,   740,   410,   936,   775,
    1882      109,    67,   138,   237,    47,   537,   538,   539,  1198,   425,
    1883     1372,    41,    42,   109,   873,   138,   139,   744,    47,   211,
    1884     1390,  1391,  1450,  1078,    41,    42,    47,   745,  1447,   540,
    1885      888,   541,   426,   542,   543,  1469,   431,   238,   158,   449,
    1886     1516,   775,   239,  1573,    47,   904,  1517,  1441,  1004,   586,
    1887      752,  -367,  1157,   919,   410,   753,   936,   936,  -396,    37,
    1888     1123,   182,   183,    40,   112,  1169,   932,   410,   704,   491,
    1889       41,    42,  1172,   653,   610,   511,  1342,   740,   418,   670,
    1890      410,   112,   468,   690,   653,  1174,   112,   610,   290,    68,
    1891      109,   469,   138,   139,   515,   373,   698,   257,   410,    61,
    1892     1245,    41,    42,   158,   699,  1139,   700,   109,   520,   138,
    1893      139,   536,   841,   612,  1447,  1448,    75,   732,    41,    42,
    1894      532,  1237,  1147,   410,   654,   767,   327,  1147,   488,   329,
    1895      410,  1061,   242,    54,   570,   112,  1495,  1496,   323,   855,
    1896      329,   610,   507,  1449,   571,   653,   891,   339,   112,   112,
    1897      112,  1313,  1314,  1315,   528,  1351,  1353,  1354,  1535,   528,
    1898     1461,  1205,   528,   128,  1402,   129,   130,   131,  1402,   572,
    1899      347,   573,   373,   112,    41,    42,  1147,   872,  1421,  1422,
    1900        8,     9,    10,    11,    12,   576,  1078,   338,  1010,  1212,
    1901     1214,  1216,   801,   802,   803,   804,  -440,   429,  1015,   594,
    1902     1124,   433,   667,  1302,  1303,    47,  1305,   841,  1107,    31,
    1903      597,   441,  1309,  1026,   109,  1312,   138,   139,   342,   612,
    1904      797,   798,   647,   654,   668,    41,    42,   799,   800,    55,
    1905      669,   323,   455,  1521,  1461,   671,    37,    34,   182,   183,
    1906       40,   672,    37,   673,   182,   183,    40,    41,    42,    68,
    1907      805,   806,   676,    41,    42,   105,   678,   256,   721,   479,
    1908      696,   718,   759,   433,   723,   719,   495,   936,  -238,   772,
    1909     1485,   347,   776,   609,   162,   610,    75,   780,   834,   609,
    1910      112,   610,   -12,   611,   936,   836,   838,   529,   849,   611,
    1911      158,   901,   -13,    54,   893,   894,   218,   921,   923,   928,
    1912      699,   924,    47,  -417,   977,   949,   704,   653,  -292,  -524,
    1913      963,   970,   748,   972,   704,     8,     9,    10,    11,    12,
    1914      918,   983,   105,  1061,   984,   985,    67,   987,   988,   925,
    1915      989,   990,   612,   927,   595,   999,   347,   602,  1123,   162,
    1916     1011,  1012,  -293,  1013,    31,   112,   112,   112,  1078,     8,
    1917        9,    10,    11,    12,  1027,  1028,   635,   936,   936,   737,
    1918      639,  1029,  1030,   339,     8,     9,    10,    11,    12,  1031,
    1919     1032,  1033,    34,  1044,  -405,  1445,  1427,  -404,    31,  1093,
    1920     1058,   347,   347,   347,  1095,  1103,  1147,  1147,  1147,  1104,
    1921     1105,   211,  1561,    31,  1106,  1112,   993,  1113,  1114,  1115,
    1922      347,  1121,   653,   653,  1131,  1205,    34,  1132,   775,  1167,
    1923     1133,  1138,  1182,  1183,    68,   105,  1143,  1188,   323,   323,
    1924     1146,    34,  1189,  1190,    61,  1191,  1192,   537,   538,   539,
    1925     1300,  1123,   398,   399,  1206,   209,   219,   434,  1207,   400,
    1926      737,    75,  1209,   767,  1078,   406,   455,  1210,  1222,   455,
    1927      401,   540,   407,   541,  1218,   542,  1322,   653,    54,   402,
    1928      653,   403,  1225,   777,   404,   410,  1224,   115,   460,   674,
    1929     1232,  1233,    -3,   778,   347,  1230,   675,  1235,  1124,    47,
    1930       47,  1240,  1534,  1242,   500,  1246,  1251,  1253,   441,   112,
    1931      112,  1255,   495,    68,   323,  1258,   495,  1259,  1078,   434,
    1932     1263,  1078,  1267,   479,  1270,   653,   529,  1272,   529,  1274,
    1933      653,   529,  1275,   323,   529,  1276,   728,  1277,  1278,  1280,
    1934       75,  1304,  1287,   531,  1296,   339,   162,  1297,   112,  1325,
    1935     1147,  1147,   440,  1307,  1123,  1333,  1308,    54,  1339,  1310,
    1936      653,  1341,  1343,  1311,  1348,  1319,  1078,  1347,  1349,  1355,
    1937     1356,  1078,    37,  1357,   182,   183,    40,  1359,   105,  1365,
    1938     1366,  1367,  1368,    41,    42,  1205,   347,  1101,  1375,  1486,
    1939     1376,  1124,  1205,   347,    64,   116,  1379,  1386,   148,   323,
    1940      105,  1078,  1387,   149,   150,  1315,  1395,    47,   112,   698,
    1941      829,   410,   175,   602,  1396,  1398,  1405,   112,  1415,   700,
    1942      105,  1416,  1408,   653,  -406,  1419,    64,  1430,   653,  1434,
    1943     1436,  1438,    47,    47,  1439,   160,  1446,  1455,  1451,   159,
    1944     1440,  1456,   870,  1460,  1370,  1205,   653,   602,   653,  1536,
    1945     1457,  1458,   653,   879,  1465,   653,  1470,    47,  1544,   372,
    1946       55,   220,   175,   653,  1078,   175,  1358,   653,  1472,  1078,
    1947     1474,  1476,  1478,    68,  1360,  1361,  1362,  1480,  1482,   105,
    1948       68,  1483,  1488,   479,  1489,  1490,  1501,  1078,  1511,  1078,
    1949      479,  1519,  1513,  1078,  1124,  1515,  1078,  1527,   258,  1520,
    1950       75,  1542,   460,  1547,  1078,   460,  1543,    75,  1078,   339,
    1951     1554,   175,  1556,   105,   213,  1558,  1564,    54,   327,  1571,
    1952     1572,  1223,  1397,   808,    54,   807,  1324,    55,   809,   212,
    1953      214,   455,   810,    68,  1219,   811,  1522,  1433,  1574,   231,
    1954      328,  1389,  1257,   479,   347,   728,  1504,   241,   258,   349,
    1955     1406,  1229,   942,  1108,     2,   205,     4,     5,     6,     7,
    1956       75,   495,   531,   694,   531,   729,   213,   531,   951,   695,
    1957      531,  1110,  1142,   826,   175,  1057,  1120,    54,   900,   405,
    1958     1334,   212,   214,   227,   816,   339,   742,   973,     8,     9,
    1959       10,    11,    12,     0,   423,   817,   965,   428,   430,   818,
    1960      347,   347,   159,  1444,     0,     0,     0,     0,     0,   213,
    1961        0,     0,     0,     0,     0,     0,   105,    31,     0,    35,
    1962       55,    36,     0,   447,   212,   214,     0,   450,   175,   451,
    1963       37,     0,   173,   174,    40,   175,     0,     0,   466,   105,
    1964        0,    41,    42,  1018,    64,    34,   105,   829,     0,   480,
    1965       37,     0,   182,   183,    40,     0,     0,     0,     0,   487,
    1966        0,    41,    42,     0,     0,     0,     0,   430,   517,     0,
    1967      213,     0,     0,     0,     0,     0,   123,   126,   127,     0,
    1968      728,   534,   535,     0,     0,   212,   214,   698,     0,   410,
    1969      728,     0,     0,   556,     0,     0,     0,   700,     0,   105,
    1970        0,     0,     0,     0,   175,   728,     0,     0,   213,     0,
    1971        0,     0,   213,     8,     9,    10,    11,    12,     0,     0,
    1972      486,   175,     0,   212,   214,   175,     0,   212,   214,   535,
    1973        0,     0,     0,     0,     0,   258,     0,   829,   603,     0,
    1974        0,   455,    31,   506,   631,     0,     0,   253,     0,   254,
    1975        0,     0,     0,     0,     0,     0,     0,   636,     0,     0,
    1976      455,   636,    55,    55,   258,   535,     0,   460,     0,     0,
    1977       34,     0,     0,     0,   729,    37,  1388,   182,   183,    40,
    1978        0,   495,  1125,   323,     0,    55,    41,    42,   175,     0,
    1979       37,     0,   182,   183,    40,     0,     0,     0,     0,   213,
    1980        0,    41,    42,     0,     0,    55,    37,     0,   182,   183,
    1981       40,   480,   184,     0,   212,   214,     0,    41,    42,     0,
    1982        0,    37,   185,   173,   174,    40,   349,  1532,     0,   410,
    1983      395,   480,    41,    42,   870,     0,     0,  1533,     0,   480,
    1984      414,   415,     0,   184,     0,   419,     0,   421,   422,     0,
    1985      347,   347,     0,   185,     0,     0,     0,     0,   371,    55,
    1986        0,     0,     0,     0,    55,   724,     0,     0,   430,     0,
    1987      166,     0,   171,     0,     0,   177,   178,   179,     0,   181,
    1988      213,     0,     0,   738,     0,    64,     0,     0,     0,     0,
    1989        0,     0,     0,   430,   232,   212,   214,   430,    55,     8,
    1990        9,    10,    11,    12,   728,   728,   247,   248,     0,   729,
    1991        0,     0,   212,     0,     0,   455,   829,     0,     0,   729,
    1992       37,     0,   182,   183,    40,     0,   258,   349,    31,     0,
    1993      213,    41,    42,     0,   729,  1505,     0,  1509,     0,     0,
    1994        0,     0,   794,   795,   796,   212,   214,    37,     0,   173,
    1995      174,    40,     0,     0,   175,     0,    34,   264,    41,    42,
    1996        0,     0,   728,   728,     0,     0,     0,   265,     0,     0,
    1997        0,     0,  1538,   819,  1540,   347,     0,   460,     0,     0,
    1998        0,     0,     0,     0,   375,   535,     0,   175,     0,     0,
    1999        0,   636,   832,     0,   603,     0,   460,     0,   959,     0,
    2000      610,    55,     0,   175,     0,   851,     0,     0,   960,     0,
    2001        0,     0,     0,     0,     0,     0,     0,  1569,   175,  1570,
    2002        0,     0,     0,   603,    55,     0,     0,     0,   603,     0,
    2003        0,    55,  1577,  1578,   636,   339,     0,   349,   349,   349,
     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,
    20042091       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2005       73,     0,     0,   213,     0,     0,   349,     0,     0,     0,
    2006     1125,     0,     0,     0,     0,     0,     0,     0,   212,   214,
    2007        0,     0,     0,     0,   724,     0,     0,     0,     0,     0,
    2008        0,   213,    73,     0,    55,   480,   213,     0,     0,     0,
    2009      258,   738,     0,     0,   938,     0,   212,   214,     0,     0,
    2010        0,   212,   214,     0,     0,     0,  1331,     0,     0,     0,
    2011        0,     0,     0,     0,     0,   175,     0,   221,     0,   535,
    2012        0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
    2013      349,     0,     0,   729,   729,     0,     0,     0,   728,   964,
    2014        0,     0,   430,     0,     0,     0,   728,   728,   728,     0,
    2015        0,   460,     0,  1125,     0,     0,     0,     0,     0,     0,
    2016        0,     0,     0,   601,   608,   994,   258,   738,     0,     0,
    2017        0,     0,   992,     0,   213,   632,   633,     0,     0,   125,
    2018      125,   125,     0,     0,     0,     0,     0,     0,   213,   212,
    2019      214,   729,   729,     0,   728,     0,     0,     0,     0,     0,
    2020        0,     0,     0,   212,   214,   352,     0,     0,     0,   724,
    2021        0,     0,   535,     0,     0,     0,     0,     0,     0,   724,
    2022        0,     0,   349,   506,   636,     0,     0,  1024,   636,   832,
    2023        0,     0,   821,   822,   724,     0,     0,     0,     0,     0,
    2024        0,     0,     0,     0,  1035,     0,     0,     0,     0,     0,
    2025      125,     0,   125,     0,     0,     0,  1125,     8,     9,    10,
    2026       11,    12,   856,     0,     0,   859,   860,     0,   863,     0,
    2027      865,   866,     0,     0,     0,   867,   868,   274,     0,   448,
    2028        0,   175,   213,     0,     0,     0,    31,     0,  1507,     0,
    2029     1507,     0,     0,     0,     0,     0,    64,   212,   214,     0,
    2030       73,     0,     0,     0,     0,    73,   412,     0,     0,     0,
    2031        0,     0,     0,   420,    34,     0,     0,     0,   636,    37,
    2032        0,   182,   183,    40,     0,  1507,     0,  1507,     0,     0,
    2033       41,    42,     0,   125,     0,  1332,     0,     0,     0,     0,
    2034        0,   125,     0,   125,   125,     0,     0,     0,   125,     0,
    2035      125,   125,     0,     0,  1117,   323,  1532,     0,   410,   943,
    2036      944,     0,   430,   116,     0,   946,  1533,   729,     0,     8,
    2037        9,    10,    11,    12,     0,   729,   729,   729,     0,     0,
    2038      349,     0,     0,     0,     0,   412,     0,     0,     0,     8,
    2039        9,    10,    11,    12,     0,     0,     0,     0,    31,     0,
    2040      221,     0,     0,     0,     0,     0,   535,     0,     0,     0,
    2041        0,     0,     0,     0,     0,   603,     0,     0,    31,     0,
    2042      125,     0,     0,   729,     0,     0,    34,     0,   428,     0,
    2043        0,    37,     0,   724,   724,    40,   349,   349,     0,     0,
    2044        0,   584,    41,    42,     0,     0,    34,   517,     0,   588,
    2045        0,    37,   591,   182,   183,    40,  1204,     0,     0,     0,
    2046        0,     0,    41,    42,     0,     0,     0,    73,    43,     0,
    2047        0,    76,     0,     0,   213,     0,     0,     0,   146,     0,
    2048        0,     0,   352,     0,     0,     0,     0,    73,   264,   212,
    2049      214,   724,   724,     0,     0,    73,     0,   636,   265,     0,
    2050        0,     0,     0,    76,     0,     0,     0,     0,     0,     0,
    2051        0,     0,     0,     0,     0,   412,     0,     0,     0,   420,
    2052        0,   352,     0,     0,  1508,     0,  1508,     0,   544,   545,
    2053      546,   547,   548,   549,   550,   551,   552,   553,   222,   352,
    2054        0,    73,     0,     0,   952,     0,   953,     0,     0,     0,
    2055        0,     0,     0,   956,   957,     0,   738,     0,   962,     0,
    2056        0,  1508,   554,  1508,   535,     8,     9,    10,    11,    12,
    2057      967,     0,     0,     0,     0,   971,     0,     0,     0,   175,
    2058        0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
    2059        0,     0,     0,     0,    31,     0,     0,     0,     0,  1301,
    2060        0,  1000,     0,     0,   412,     0,     0,     0,     0,     0,
    2061        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
    2062        0,    64,    34,     0,     0,     0,   354,    37,     0,     0,
    2063        0,    40,     0,     0,     0,   724,     0,   738,    41,    42,
    2064        0,   116,     0,     0,     0,     0,   601,     0,   352,     0,
    2065        0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
    2066        0,     0,     0,     0,   744,     0,     0,   724,     0,   212,
    2067      214,     0,     0,     0,   745,   724,   724,   724,     0,     0,
    2068        0,     0,     0,     0,     0,     0,   349,   349,     0,     0,
    2069        0,     0,     0,   352,   352,   352,   584,   584,     0,     0,
    2070     1204,     0,     0,  1045,  1046,  1047,  1048,     0,  1050,     0,
    2071        0,     0,   352,     0,     0,     0,     0,     0,     0,     0,
    2072        0,    76,     0,   724,  1094,     0,    76,     0,     0,     0,
    2073      352,     0,     0,     0,   116,   125,   125,     0,  1100,     0,
    2074        0,    73,     0,     0,     0,     0,     0,   352,     0,  1234,
    2075        0,   213,     0,     0,     0,     0,   175,     0,     0,     0,
    2076        0,     0,     0,     0,     0,   125,   212,   214,   125,   125,
    2077        0,   125,     0,   125,   125,     0,     0,  1116,   125,   125,
    2078        0,     0,     0,    73,     0,   911,   352,     0,     0,   914,
    2079        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2080       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2081        0,   349,     0,     0,     0,     0,     0,  1144,     0,    31,
    2082        0,   222,   412,   352,  1152,     0,     0,     0,     0,  1156,
    2083        0,     0,     0,     0,  1160,     0,  1161,   116,     0,     0,
    2084     1163,  1164,  1165,     0,     0,  1168,     0,    34,     0,     0,
    2085        0,     0,     0,     0,  1180,     0,     0,   125,  -294,     0,
    2086     1204,     0,   125,   125,     0,   352,     0,  1204,   125,     0,
    2087        0,     0,  1195,  1196,  1323,   352,     0,     0,   352,     0,
    2088        0,     0,     0,   221,     0,   352,     0,     0,    76,     0,
    2089      352,     0,     0,     0,     0,     0,     0,     0,     0,  1226,
    2090        0,     0,  1228,   354,     0,     0,     0,     0,    76,     0,
    2091        0,     0,     0,     0,     0,     0,    76,     0,     0,     0,
    2092     1204,     0,     0,     0,     0,     0,     0,  1557,     0,     0,
    2093        0,     0,     0,     0,     0,     0,     0,   584,     0,     0,
    2094        0,  1244,   354,     0,     0,     0,     0,  1248,  1249,     0,
    2095        0,     0,    73,     0,     0,     0,     0,     0,     0,  1260,
    2096      354,     0,    76,    78,  1264,     0,     0,  1268,     0,  1269,
    2097        0,     0,  1271,     0,     0,     0,     0,     0,     0,     0,
    2098        0,     0,     0,     0,     0,  1279,     0,     0,     0,     0,
    2099        0,     0,     0,     0,     0,    78,   281,   282,  1286,   283,
    2100     1288,  1289,  1290,  1291,   354,     0,     0,     0,     0,     0,
    2101        0,     0,     0,     0,     0,     0,  1298,     0,  1299,     0,
    2102        0,     0,   171,     0,     0,   284,     0,     0,     0,     0,
    2103      223,   649,     0,   138,   139,   286,   352,     0,   287,   650,
    2104      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2105      412,  1327,  1328,   293,     0,     0,     0,     0,     0,     0,
    2106        0,     0,     0,     0,     0,     0,     0,     0,   294,   354,
    2107      651,     0,   652,   379,     0,     0,     0,   296,   380,   298,
    2108      299,   300,   301,     0,     0,     0,     0,     0,     0,   352,
    2109      352,     0,   352,   352,     0,     0,     0,     0,     0,     0,
    2110        0,     0,     0,  1363,  1364,     0,     0,     0,     0,     0,
    2111        0,     0,    73,  1374,   354,   354,   354,     0,   355,     0,
    2112        0,     0,     0,     0,     0,     0,     0,     0,     0,  1158,
    2113        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2114        0,     0,     0,     0,     0,  1170,     0,   352,   352,     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,
    21152135       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
    2116        0,     0,    76,     0,     0,  1407,     0,     0,   354,     0,
    2117        0,     0,     0,     0,     0,     0,     0,  1411,     0,  1412,
    2118     1413,  1414,   281,   282,     0,   283,     0,     0,     0,     0,
    2119        0,  1418,     0,     0,     0,     0,     0,     0,     0,     0,
    2120     1429,     0,     0,     0,    76,     0,     0,   354,     0,     0,
    2121        0,   284,   352,    78,     0,     0,  1442,   285,    78,     0,
    2122        0,   286,  1238,     0,   287,   288,   289,   290,    41,    42,
    2123        0,   291,   292,     0,     0,     0,     0,     0,    85,   293,
    2124        0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
    2125        0,     0,   125,     0,   294,   221,   378,     0,     0,   379,
    2126        0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
    2127       85,     0,  1491,  1492,     0,     0,     0,    73,     0,     0,
    2128        0,     0,     0,     0,     0,  1497,   354,     0,     0,     0,
    2129        0,   352,  1497,   352,     0,     0,   354,     0,     0,   354,
    2130        0,     0,     0,     0,   222,   224,   354,     0,     0,     0,
    2131        0,   354,     0,   223,     0,     0,     0,     0,     0,     0,
    2132        0,     0,     0,   352,     0,  1531,     0,     0,     0,  1537,
    2133        0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
    2134        0,     0,   352,   352,     0,     0,     0,     0,     0,     0,
    2135        0,     0,     0,     0,     0,     0,    73,     0,  1559,     0,
    2136     1560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2137        0,     0,     0,    76,     0,     0,     0,   125,     0,   352,
    2138       78,     0,     0,     0,     0,     0,     0,     0,  1575,  1576,
    2139        0,     0,     0,   362,     0,   355,  1579,  1580,     0,     0,
    2140       78,     0,     0,     0,     0,     0,  -519,     0,    78,     1,
     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,
    21412385       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    21422386      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2143       22,    23,    24,    25,   355,     0,    26,    27,    28,    29,
    2144        0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
    2145        0,     0,   355,     0,    78,     0,     0,   354,     0,     0,
    2146        0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
    2147       33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2148       38,    39,    40,     0,     0,     0,     0,     0,    85,    41,
    2149       42,     0,     0,    85,     0,     0,   355,     0,  1034,     0,
    2150        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2151      354,   354,     0,   354,   354,    43,    73,    44,     0,     0,
    2152        0,     0,     0,    73,     0,    45,     0,     0,   281,   282,
    2153       31,   283,     0,    76,     0,     8,     9,    10,    11,    12,
    2154       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2155       23,    24,    25,  -295,     0,     0,     0,   284,    34,     0,
    2156        0,   355,     0,   285,    31,     0,     0,   286,   354,   354,
    2157      287,   288,   289,   290,    41,    42,    73,   291,   292,     0,
    2158        0,     0,     0,     0,     0,   293,     0,     0,   224,     0,
    2159        0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
    2160      294,     0,   378,  -295,     0,     0,   355,   355,   355,   296,
    2161      827,   298,   299,   300,   301,     0,     0,     0,     0,     0,
    2162        0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
    2163        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2164        0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
    2165        0,     0,     0,     0,    78,    85,     0,     0,     0,   164,
    2166      355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2167      362,     0,     0,     0,     0,    85,   222,     0,   217,     0,
    2168        0,     0,     0,    85,     0,     0,     0,     0,     0,     0,
    2169        0,     0,     0,     0,     0,     0,    78,     0,    76,   355,
    2170        0,     0,     0,     0,     0,     0,     0,     0,     0,   362,
    2171        0,     0,   354,     0,   354,     0,     0,     0,     0,     0,
    2172        0,     0,     0,     0,   164,     0,     0,   362,     0,    85,
    2173      271,     0,     0,     0,     0,     0,   355,     0,     0,     0,
    2174        0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
    2175        0,     0,   354,   354,   354,     0,     0,     0,     0,   164,
    2176        0,     0,     0,   354,   354,     0,     0,     0,     0,   368,
    2177        0,   362,     0,   374,     0,     0,     0,    76,   355,     0,
    2178        0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    2179        0,   355,     0,     0,     0,     0,   223,     0,   355,     0,
    2180      354,     0,     0,   355,     8,     9,    10,    11,    12,    13,
    2181       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2182       24,    25,   164,     0,    26,    27,    28,     0,     0,     0,
    2183        0,     0,     0,    31,   217,     0,   362,     0,     0,     0,
    2184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2185        0,     0,   164,   461,     0,     0,     0,     0,     0,     0,
    2186        0,    34,     0,     0,     0,    78,     0,     0,   206,    39,
    2187        0,     0,     0,     0,     0,     0,   374,     0,     0,     0,
    2188        0,   362,   362,   362,   164,     0,     0,     0,   354,     0,
    2189        0,     0,     0,     0,   514,     0,   516,   519,     0,     0,
    2190      362,     0,     0,     0,   522,   523,     0,     0,   461,   516,
    2191      516,   164,     0,   270,     0,     0,     0,     0,   362,     0,
    2192        0,   516,     0,     0,     0,     0,     0,     0,     0,    85,
    2193        0,     0,     0,     0,     0,   362,     0,    76,   281,   282,
    2194        0,   283,     0,     0,    76,     0,     0,     0,     0,   355,
    2195        0,     0,     0,     0,     0,     0,     0,   516,   606,     0,
    2196        0,     0,     0,   630,     0,     0,     0,   284,     0,     0,
    2197        0,    85,     0,   285,   362,     0,     0,   286,     0,     0,
    2198      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2199        0,     0,     0,   516,     0,   293,     0,    76,     0,     0,
    2200        0,     0,   355,   355,     0,   355,   355,     0,     0,     0,
    2201      294,   362,   378,     0,     0,     0,     0,     0,   812,   296,
    2202      380,   298,   299,   300,   301,    78,     0,     0,     0,     0,
    2203        0,     0,     0,     0,     0,   210,     0,     0,     0,   164,
    2204      164,     0,     0,     0,     0,   230,   368,   234,     0,   236,
    2205        0,     0,     0,   362,     0,     0,   245,     0,     0,     0,
    2206      355,   355,     0,   362,     0,     0,   362,   461,     0,     0,
    2207      461,   224,     0,   362,     0,     0,     0,     0,   362,     0,
    2208        0,     0,     0,     0,     0,     0,     0,   210,     0,   234,
    2209      236,   245,     0,     0,     0,     0,     0,     0,     0,     0,
    2210        0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
    2211        0,     0,     0,     0,     0,   164,     0,     0,     0,     0,
    2212        0,     0,     0,     0,     0,   355,     0,   461,     0,   461,
    2213      210,     0,   461,     0,   164,   461,     0,     0,     0,     0,
    2214       85,     0,     0,     0,     0,     0,     0,   368,     0,     0,
    2215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,     0,     0,     0,     0,   223,     0,
    2217      516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
    2218      516,   516,   516,   516,   516,   516,   516,   516,     0,     0,
    2219       78,   210,     0,   234,   236,   245,     0,     0,     0,     0,
    2220      164,     0,     0,     0,   355,     0,   355,     0,     0,     0,
    2221        0,     0,   368,   516,   606,     0,     0,   837,     0,     0,
    2222        0,     0,     0,     0,   362,     0,     0,     0,     0,   210,
    2223        0,     0,     0,   210,     0,     0,   355,     0,     0,     0,
    2224        0,     0,     0,   606,   355,   355,   355,     0,   606,   504,
    2225        0,     0,     0,     0,     0,   355,   355,   368,   368,   368,
    2226        0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
    2227        0,     0,     0,     0,     0,     0,   368,   362,   362,     0,
    2228      362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
    2229        0,     0,   355,     0,     0,     0,     0,     0,     0,   210,
    2230       85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2231        0,   741,   516,     0,     0,     0,     0,     0,     0,     0,
    2232      210,     0,     0,     0,     0,   234,   236,   155,     0,     0,
    2233        0,     0,   461,   245,   516,   362,   362,     0,     0,     0,
    2234        0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2235      368,     0,   961,     8,     9,    10,    11,    12,    13,    14,
    2236       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2237       25,     0,     0,   250,     0,     0,   210,     0,     0,     0,
    2238      355,     0,    31,   255,     0,     0,     0,   741,     0,     0,
    2239        0,     0,     0,   516,   210,     0,     0,     0,     0,   210,
    2240      362,   210,     0,     0,     0,     0,     0,     0,     0,     0,
    2241       34,     0,     0,     0,     0,     0,     0,     0,   210,     0,
    2242        0,   210,   210,     0,     0,   516,     0,     0,     0,    78,
    2243        0,     0,     0,     0,     0,     0,    78,   210,     0,   155,
    2244      516,     0,   368,   224,     0,     0,   630,     0,     0,   368,
    2245        0,   210,     0,   385,     0,     0,     0,     0,   210,     0,
    2246        0,     0,     0,     0,     0,    85,     0,     0,     0,     0,
    2247        0,     0,     0,     0,     0,     0,   417,     0,     0,   362,
    2248        0,   362,     0,     0,     0,     0,     0,     0,     0,    78,
    2249      432,     0,     0,     0,     0,     0,     0,     0,     0,   437,
    2250        0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
    2251        0,   362,     0,     0,     0,     0,     0,     0,     0,   362,
    2252      362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
    2253      362,   362,     0,     0,   471,     0,     0,     0,     0,   481,
    2254        0,     0,   461,     0,    85,     0,     0,     0,     0,     0,
    2255        0,     0,   489,     0,     0,     0,     0,     0,   499,     0,
    2256      503,   461,     0,     0,     0,     0,     0,   362,     0,     0,
    2257        0,     0,     0,     0,   210,     0,     0,     0,   533,     0,
    2258        0,     0,     0,     0,   164,     0,     0,     0,     0,     0,
    2259        0,   516,     0,     0,     0,     0,     0,     0,     0,     0,
    2260      368,     0,   210,     0,     0,     0,     0,   210,     0,     0,
    2261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2262        0,   593,   516,     0,     0,     0,   598,     0,     0,     0,
    2263        0,     0,     0,     0,   516,   606,     0,     0,     0,     0,
    2264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2265        0,     0,     0,     0,   644,   362,   368,   368,   645,   646,
    2266        0,   648,     0,     0,     0,     0,     0,     0,   660,   661,
    2267        0,   662,   663,     0,   664,   516,   665,     0,     0,     0,
    2268        0,     0,  1178,     0,     0,     8,     9,    10,    11,    12,
    2269        0,     0,     0,   593,     0,   210,     0,     0,     0,     0,
    2270        0,   680,     0,     0,    85,     0,     0,     0,     0,   210,
    2271        0,    85,   281,   282,    31,   283,   461,     0,     0,     0,
    2272        0,     0,     0,     0,     0,     0,   691,     0,     0,   504,
    2273        0,     0,     0,     0,     0,     0,     0,   697,     0,     0,
    2274        0,   284,    34,     0,     0,     0,     0,   285,   516,     0,
    2275        0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2276      733,   291,   292,     0,    85,     0,   736,     0,     0,   293,
    2277        0,   471,     0,     0,     0,     0,   741,     0,     0,     0,
    2278        0,     0,     0,     0,   294,     0,   378,     0,     0,     0,
    2279      210,     0,   516,   296,  1179,   298,   299,   300,   301,     0,
    2280        0,     0,     0,   210,     0,     0,   516,   516,   773,     0,
    2281        0,     0,     0,     0,     0,     0,     0,     0,   217,     0,
    2282        0,     0,   210,     0,   788,     0,     0,     0,     0,     0,
    2283        0,   204,     2,   205,     4,     5,     6,     7,     8,     9,
    2284       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2285       20,    21,    22,    23,    24,    25,     0,   741,    26,    27,
    2286       28,   815,     0,     0,     0,     0,     0,    31,     0,     0,
    2287      825,     0,     0,     0,     0,     0,     0,   828,     0,     0,
    2288        0,     0,   835,     0,     0,     0,     0,     0,     0,     0,
    2289        0,     0,     0,   850,     0,    34,     0,    35,     0,    36,
    2290       37,     0,   206,    39,    40,     0,   368,   368,     0,   210,
    2291        0,    41,    42,     0,     0,   217,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293        0,     0,     0,     0,   890,   210,     0,    43,     0,   207,
    2294        0,     0,     0,     0,     0,     0,     0,   208,     0,     0,
    2295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2296        0,     0,     0,   210,     0,     0,     0,     0,     0,     0,
    2297      835,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2298       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2299       22,    23,    24,    25,  -294,   210,    26,    27,    28,     0,
    2300        0,     0,     0,     0,     0,    31,   210,     0,     0,     0,
    2301        0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2302        0,     0,     0,     0,     0,   250,     0,     0,     0,     0,
    2303        0,   368,     0,    34,   516,   968,   969,     0,     0,     0,
    2304       38,    39,     0,     0,  -294,     0,     0,     0,     0,   986,
    2305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2306        0,     0,     0,     0,     0,     0,  1001,     0,  1002,     0,
    2307        0,     0,  1006,     0,     0,   643,     0,   338,     0,     0,
    2308        0,     0,     0,     0,     0,   110,     0,     0,   210,   461,
    2309        0,   461,     0,     0,     0,     0,     0,     0,     0,     0,
    2310        0,     0,     0,     0,     0,     0,     0,   516,   516,     0,
    2311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2312      281,   282,     0,   283,     0,     0,   461,     0,   461,     0,
    2313        0,     0,     0,     0,     0,     0,     0,     0,  1039,     0,
    2314        0,     0,     0,     0,     0,  1040,     0,     0,     0,   284,
    2315        0,     0,     0,     0,     0,   285,   164,     0,  1042,   286,
    2316     1043,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2317      292,     0,     0,     0,  1055,   210,     0,   293,     0,     0,
    2318        0,  1059,     0,     0,     0,     0,     0,     0,     0,     0,
    2319        0,     0,   294,  1097,   378,     0,  1098,     0,     0,   781,
    2320        0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
    2321        0,     0,     0,     0,   598,     0,     0,     0,     0,     0,
    2322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2323        0,     0,     0,     0,   341,   363,     0,     0,     0,     0,
     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,
    23242404       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23252405       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2326        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
    2327        0,     0,   210,     0,     0,   413,     0,     1,     2,     3,
     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,
    23282457       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    23292458      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2330       24,    25,     0,  1162,    26,    27,    28,    29,     0,     0,
    2331       30,     0,     0,    31,    32,     8,     9,    10,    11,    12,
     2459      24,  1449,     0,    25,    26,    27,     0,     0,     0,     0,
     2460     280,   281,    30,   282,     0,     8,     9,    10,    11,    12,
    23322461      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2333       23,    24,    25,     0,     0,    26,    27,    28,    33,     0,
    2334        0,    34,     0,    35,    31,    36,    37,   413,    38,    39,
    2335       40,     0,     0,     0,     0,     0,     0,    41,    42,   533,
    2336        0,     0,     0,     0,     0,     0,  1227,     0,     0,     0,
    2337        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2338       39,     0,     0,    43,     0,    44,     0,     0,     0,  -523,
    2339        0,     0,     0,    45,     0,   321,  1241,     0,     0,     0,
    2340        0,  1243,     0,   413,     0,   345,     0,     0,     0,  1247,
    2341        0,   413,   589,     0,   413,   592,     0,   381,   381,     0,
    2342        0,     0,     0,     0,   363,     0,     0,     0,   622,     0,
    2343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2344     1273,     0,     0,     0,     0,     0,     0,   640,     0,     0,
    2345      341,     0,  1281,     0,     0,  1282,     0,  1283,     0,     0,
    2346      281,   282,     0,   283,     0,     0,     0,     0,     0,     0,
    2347        0,  1292,  1293,     0,     0,     0,     0,   413,     0,     0,
    2348        0,   413,     0,     0,     0,     0,     0,     0,   321,   284,
    2349        0,     0,     0,  1306,     0,   285,     0,     0,     0,   286,
    2350        0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2351      292,     0,   363,   485,     0,     0,     0,   293,     0,     0,
    2352     1329,     0,     0,     0,     0,     0,     0,     0,   210,     0,
    2353        0,     0,   294,     0,   378,   413,     0,   993,     0,     0,
    2354        0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
    2355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2356        0,     0,     0,     0,     0,     0,   413,     0,     0,   363,
    2357        0,     0,     0,     0,     1,     2,   205,     4,     5,     6,
     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,
    23582493       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2359       17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
    2360        0,    26,    27,    28,    29,     0,     0,    30,     0,   413,
    2361       31,     0,   341,   363,     0,     0,     0,     0,  1399,     0,
    2362     1400,     0,     0,     0,     0,     0,     0,     0,     0,   381,
    2363        0,     0,     0,  1409,     0,  1410,     0,     0,    34,     0,
    2364       35,     0,    36,     0,     0,    38,    39,     0,     0,  -294,
    2365        0,     0,     0,  1417,     0,     0,     0,     0,   413,   413,
    2366        0,     0,     0,     0,     0,     0,     0,     0,     0,  1435,
    2367     1437,     0,     0,     0,     0,     0,     0,   830,   363,     0,
    2368      363,  1443,    44,     0,  1247,     0,     0,     0,     0,   622,
    2369      110,   622,   622,     0,     0,     0,     0,     0,   622,     0,
    2370        0,     0,     0,     0,     0,     0,  1466,     0,   869,   363,
    2371        0,     0,     0,     0,   363,  1473,     0,     0,  1475,     0,
    2372     1477,  1479,  1481,   363,   363,   363,     0,     0,     0,     0,
    2373        0,   735,     0,     0,     0,     0,     0,     0,     0,     0,
    2374        0,     0,   363,     0,     0,     0,     0,   413,   912,     0,
    2375        0,   413,   915,     0,     0,     0,     0,     0,   917,     0,
    2376        0,     0,  1512,     0,  1514,     0,     0,  1247,     0,     0,
    2377      769,     0,     0,     0,     0,     0,   341,   363,   413,     0,
    2378      413,     0,  1526,   782,   413,     0,     0,     0,     0,     0,
    2379      769,     0,     0,   769,     0,     0,     0,     0,     0,     0,
    2380        0,     0,     0,     0,   792,   793,     0,     0,     0,     0,
    2381        0,     0,     0,     0,     0,     0,   363,   622,     0,     0,
    2382        0,     0,     0,     0,     0,     0,   814,     0,     0,     0,
    2383        0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
    2384        0,     0,     0,   345,     0,     0,     0,     0,   782,     0,
    2385        0,     0,   341,   363,     0,     0,     0,   413,   413,     0,
    2386        0,     0,     0,     0,     1,     2,     3,     4,     5,     6,
    2387        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2388       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2389        0,    26,    27,    28,    29,     0,     0,    30,   889,   413,
    2390       31,    32,     0,     0,     0,     0,     0,   381,   363,     0,
    2391        0,     0,     0,     0,   830,   363,     0,     0,     0,   622,
    2392        0,   622,     0,     0,     0,    33,     0,     0,    34,     0,
    2393       35,   622,    36,    37,     0,    38,    39,    40,     0,     0,
    2394        0,     0,     0,     0,    41,    42,     0,   345,     0,     0,
     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,
     2505       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     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,
    23952520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23962521       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2397       43,     0,    44,     0,     0,     0,     0,     0,     0,     0,
    2398       45,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     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,
    23992598      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2400       23,    24,    25,  -294,   830,    26,    27,    28,     0,     0,
    2401        0,     0,   413,     0,    31,     0,     0,     0,   413,     0,
    2402        0,     0,     0,   782,     0,   991,   413,     0,     0,     0,
    2403        0,   996,     0,     0,     0,     0,     0,     0,  1005,   622,
    2404      622,     0,    34,     0,     0,     0,     0,    37,     0,   336,
    2405      337,    40,     0,  -294,     0,     0,     0,     0,    41,    42,
    2406        0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
    2407        0,     0,   413,     0,     0,     0,     0,     0,     0,     0,
    2408        0,     0,  1022,  1023,   643,   345,   338,     0,     0,     0,
    2409        0,   413,  1159,     0,   634,     0,     0,     0,     0,     0,
    2410      345,   363,     0,     0,     0,     0,     0,   413,  1171,     0,
    2411      622,   622,  1176,     0,     0,     0,     0,     0,     0,     0,
    2412        0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
     2599      23,    24,    33,     0,    25,    26,    27,    36,     0,    37,
     2600      38,    39,     0,    30,     0,     0,     0,     0,    40,    41,
    24132601       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2414     1053,     0,     0,     0,   381,     1,     2,   205,     4,     5,
     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,
     2612       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2613      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2614       0,     0,    25,    26,    27,     0,    33,     0,    34,     0,
     2615      35,    30,     0,    37,    38,     0,     0,     0,     0,     0,
     2616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     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,
     2621      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2622      23,    24,     0,   337,    25,    26,    27,     0,     0,     0,
     2623       0,   109,     0,    30,     0,     0,     0,     0,     0,     0,
     2624       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2625       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     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,
     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,    -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,
     3524       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     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,
    24153572       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24163573      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2417        0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2418        0,    31,     0,   830,   413,  1239,     0,     0,     0,     0,
    2419        0,     0,     0,     0,     0,     0,     0,   622,     0,     0,
    2420        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2421        0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
    2422      321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2423        0,     0,     0,     0,     0,     0,  1140,  1141,     0,     0,
    2424        0,     0,   363,   381,     0,     0,     0,   281,   282,   996,
    2425      283,     0,  1150,    44,   769,     0,     0,     0,     0,     0,
    2426        0,   110,     0,     0,     0,     0,     0,     0,     0,     0,
    2427        0,     0,     0,     0,  1166,     0,   284,     0,     0,     0,
    2428        0,     0,   285,     0,     0,  1181,   286,     0,     0,   287,
    2429      288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
    2430        0,     0,   341,     0,   293,   281,   282,   381,   283,  1199,
    2431        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2432        0,   378,     0,   363,   996,   996,     0,     0,   296,   380,
    2433      298,   299,   300,   301,   284,     0,     0,     0,     0,     0,
    2434      285,     0,     0,     0,   286,  1231,     0,   287,   288,   289,
    2435      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2436        0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2437        0,     0,   363,   363,     0,     0,     0,   294,     0,   378,
    2438        0,     0,     0,     0,     0,     0,   296,   734,   298,   299,
    2439      300,   301,     0,   996,     0,     0,     0,     0,     0,     0,
    2440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2441        0,     0,   889,     0,     0,     0,     0,     0,     0,     0,
    2442        0,     0,     0,     0,     0,     0,     0,  1284,  1285,     0,
    2443        0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     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,
     3632      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     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,
    24443667       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24453668      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2446        0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
    2447      282,    31,  1062,  1063,     0,  1064,     0,     0,  1065,  1066,
    2448     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
    2449        0,     0,     0,  1074,  1075,     0,    33,   363,   284,    34,
    2450        0,    35,     0,    36,   649,     0,    38,    39,   286,   996,
    2451        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2452        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
    2455      296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
    2456     1077,     0,     0,     0,  -129,     0,     0,     0,     0,     0,
    2457     1392,     0,   769,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,     0,     0,     0,     0,     0,   413,     8,     9,
     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,
    24593679      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2460       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2461       28,     0,   413,   413,     0,     0,     0,    31,     0,     0,
    2462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2463        0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
    2464        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2465        0,     0,   206,    39,     0,     0,     0,     0,  1452,     0,
    2466        0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     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,
     3694      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     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,
     3712       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3713      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     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,
     3724      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     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,
     3742       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3743      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     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,
     3846      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     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,
    24673974       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24683975      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2469        0,     0,    26,    27,    28,    29,     0,   629,    30,   281,
    2470      282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
    2471       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2472       25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
    2473        0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
    2474     1518,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2475        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2476       34,     0,     0,     0,     0,   109,     0,    38,    39,     0,
    2477        0,   294,     0,  1076,     0,     0,    41,    42,     0,     0,
    2478      296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
    2479        0,     0,   321,     0,  -129,     1,     2,   205,     4,     5,
    2480        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2481       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2482        0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
    2483      282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
    2484       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2485       25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
    2486        0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
    2487        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2488        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2489       34,     0,     0,     0,     0,     0,     0,   206,    39,     0,
    2490        0,   294,     0,    44,     0,     0,     0,     0,     0,     0,
    2491      296,   297,   298,   299,   300,   301,     2,   205,     4,     5,
    2492        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2493       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2494        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2495      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2496        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2497        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2498        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2499        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2500        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2502        0,   294,     0,   343,     0,     0,     0,     0,   781,     0,
    2503      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2504        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2505       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2506        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2507      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2509        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2510        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2511        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2512        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2514        0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
    2515      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2516        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2517       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2518        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2519      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2521        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2522        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2523        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2524        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2526        0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
    2527      296,   600,   298,   299,   300,   301,     2,   205,     4,     5,
    2528        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2529       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2530        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2531      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2533        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2534        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2535        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2536        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2538        0,   294,     0,   343,     0,     0,     0,     0,     0,     0,
    2539      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2540        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2541       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2542        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2543      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2545        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2546        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2547        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2548        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2550        0,   294,     0,   931,     0,     0,     0,     0,     0,     0,
    2551      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2552        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2553       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2554        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2555      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2557        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2558        0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
    2559        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2560        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2562        0,   294,     0,  1020,     0,     0,     0,     0,     0,     0,
    2563      296,  1021,   298,   299,   300,   301,     2,   205,     4,     5,
    2564        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2565       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2566        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2567      282,    31,   283,     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,     0,     0,   284,    34,
    2570        0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
    2571        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2572        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2574        0,   294,     0,   378,     0,     0,     0,     0,     0,     0,
    2575      296,   380,   298,   299,   300,   301,   204,     2,   205,     4,
     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,
    25763982       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25773983      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2578       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2579        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2582       34,     0,    35,     0,    36,     0,     0,   206,    39,     0,
    2583        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2584       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2585       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2586        0,     0,     0,     0,   207,    31,     0,     0,     0,     0,
    2587        0,     0,   270,     0,     0,     0,     0,     0,     0,     0,
    2588        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2590      206,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    2591       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2593        0,     0,     0,     0,     0,    43,     0,   207,     0,     0,
    2594        0,     0,     0,     0,     0,   208,     2,   205,     4,     5,
    2595        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2596       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2597        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2598        0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
    2599       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2600       22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
    2601        0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
    2602      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2603       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2604       23,    24,    25,    34,     0,    26,    27,    28,   109,     0,
    2605       38,    39,  -402,   687,    31,     0,     0,     0,     0,    41,
    2606       42,   634,     0,     0,     0,     0,     0,     0,     0,     0,
    2607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608        0,     0,    34,     0,    35,     0,    36,    44,     0,    38,
    2609       39,     0,     0,     0,     0,   110,     0,     0,     0,     0,
    2610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2611        0,  1371,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,     0,     0,     0,     0,   687,     0,     0,     0,
    2613        0,     0,     0,     0,   634,     2,   205,     4,     5,     6,
    2614        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2615       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2616        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2617       31,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2618       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2619       23,    24,    25,  -294,     0,    26,    27,    28,    34,     0,
    2620       35,     0,    36,     0,    31,    38,    39,     0,     0,     0,
    2621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2622        0,     0,     0,     0,     0,     0,     0,  1373,     0,     0,
    2623        0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
    2624      337,    40,   687,  -294,     0,     0,     0,     0,    41,    42,
    2625      634,     2,   205,     4,     5,     6,     7,     8,     9,    10,
    2626       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2627       21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
    2628        0,     0,     0,     0,   110,     0,    31,     0,     0,     0,
    2629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2631        0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2632        0,   206,    39,     0,     2,   205,     4,     5,     6,     7,
    2633        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2634       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2635       26,    27,    28,     0,     0,     0,     0,     0,   269,    31,
    2636        0,     0,     0,     0,     0,     0,   629,     0,     0,     0,
    2637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2638        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2639        0,    36,     0,     0,    38,    39,     0,     2,   205,     4,
    2640        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2641       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2642       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2643        0,   687,    31,     0,     0,     0,     0,     0,     0,   634,
    2644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2646       34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2647        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2648       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2649       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2650        0,     0,     0,     0,   599,    31,     0,     0,     0,     0,
    2651        0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
    2652        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2653        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2654      206,    39,     8,     9,    10,    11,    12,    13,    14,    15,
    2655       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2656        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2657      282,    31,   283,     0,     0,     0,     0,   207,     0,     0,
    2658        0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
    2659        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2660        0,     0,     0,     0,   285,     0,    38,    39,   286,     0,
    2661        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2662        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2664        0,   294,     0,   525,     0,     0,   170,     0,     0,     0,
    2665      296,   297,   298,   299,   300,   301,     8,     9,    10,    11,
    2666       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2667       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2668        0,     0,     0,   281,   282,    31,   283,     8,     9,    10,
    2669       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2670       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2671        0,     0,   284,    34,     0,     0,    31,     0,   285,     0,
    2672       38,    39,   286,     0,     0,   287,   288,   289,   290,    41,
    2673       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2674      293,     0,     0,     0,    34,     0,     0,     0,     0,    37,
    2675        0,   336,   337,    40,     0,   294,     0,   599,    -3,     0,
    2676       41,    42,     0,     0,   296,   600,   298,   299,   300,   301,
    2677        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2678       18,    19,    20,    21,    22,    23,    24,    25,   338,     0,
    2679       26,    27,    28,     0,     0,     0,   110,   281,   282,    31,
    2680      283,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2681       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2682        0,    26,    27,    28,     0,     0,   284,    34,     0,     0,
    2683       31,   453,   649,     0,    38,    39,   286,     0,     0,   287,
    2684      288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
    2685        0,     0,     0,     0,   293,     0,     0,     0,    34,     0,
    2686        0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
    2687      -35,   766,     0,     0,     0,     0,     0,     0,   296,   297,
    2688      298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
    2689       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2690       24,    25,   454,     0,    26,    27,    28,     0,     0,     0,
    2691      110,   281,   282,    31,   283,     0,     0,     0,     0,     0,
    2692        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2693       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2694      284,    34,    26,    27,    28,     0,   285,     0,    38,    39,
    2695      286,    31,     0,   287,   288,   289,   290,    41,    42,     0,
    2696      291,   292,     0,     0,     0,     0,     0,     0,   293,     0,
    2697        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2698        0,     0,     0,   294,     0,   295,    38,    39,     0,     0,
    2699        0,     0,   296,   297,   298,   299,   300,   301,     8,     9,
    2700       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2701       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2702       28,   643,     0,   338,     0,   281,   282,    31,   283,     0,
    2703        0,   110,     0,     0,     0,     0,     8,     9,    10,    11,
    2704       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2705       22,    23,    24,    25,   284,    34,    26,    27,    28,     0,
    2706      285,     0,    38,    39,   286,    31,     0,   287,   288,   289,
    2707      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2708        0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2709        0,     0,     0,    34,     0,     0,     0,   294,     0,   156,
    2710       38,    39,     0,     0,     0,     0,   296,   297,   298,   299,
    2711      300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
    2712       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2713        0,     0,    26,    27,    28,   643,     0,   338,     0,   281,
    2714      282,    31,   283,     0,     0,   634,     0,     0,     0,     0,
    2715        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2716       18,    19,    20,    21,    22,    23,    24,    25,   284,    34,
    2717       26,    27,    28,     0,   285,     0,    38,    39,   286,    31,
    2718        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2719        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2720        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2721        0,   294,     0,   599,    38,    39,     0,     0,     0,     0,
    2722      296,   600,   298,   299,   300,   301,     8,     9,    10,    11,
    2723       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2724       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2725        0,   256,     0,   281,   282,    31,   283,     0,     0,   110,
    2726        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2727       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2728       24,    25,   284,    34,    26,    27,    28,     0,   285,     0,
    2729       38,    39,   286,    31,     0,   287,   288,   289,   290,    41,
    2730       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2731      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2732        0,    34,     0,     0,     0,   294,     0,   378,    38,    39,
    2733        0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2734      474,     2,   205,     4,     5,     6,     7,     8,     9,    10,
    2735       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2736       21,    22,    23,    24,    25,   156,     0,    26,    27,    28,
    2737        0,     0,     0,   110,     0,     0,    31,     0,     0,     0,
    2738        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2739       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2740       26,    27,    28,     0,    34,     0,    35,     0,    36,    31,
    2741        0,    38,    39,     0,     0,     0,     0,     0,     8,     9,
    2742       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2743       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2744       28,     0,    37,     0,    38,    39,    40,    31,     0,     0,
    2745        0,    -3,     0,    41,    42,     0,     8,     9,    10,    11,
    2746       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2747       22,    23,    24,    25,     0,    34,    26,    27,    28,    43,
    2748       37,   156,    38,    39,    40,    31,     0,     0,     0,    45,
    2749        0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
    2750       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2751       24,    25,     0,    34,    26,    27,    28,    43,    37,    44,
    2752      206,    39,    40,    31,     0,     0,     0,    45,     0,    41,
    2753       42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2754       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2755     -294,    34,    26,    27,    28,    43,    37,   269,   336,   337,
    2756       40,    31,     0,     0,     0,   208,     0,    41,    42,     0,
    2757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2758        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2759        0,     0,     0,   643,     0,   338,    38,    39,     0,     0,
    2760     -294,     0,     0,   634,     0,     8,     9,    10,    11,    12,
    2761       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2762       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2763        0,   643,     0,   338,    31,   453,     0,     0,     0,     0,
    2764        0,   634,     0,     8,     9,    10,    11,    12,    13,    14,
    2765       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2766       25,  -294,    34,    26,    27,    28,     0,     0,     0,    38,
    2767       39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2768       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2769       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2770       34,     0,    31,   453,     0,     0,   454,    38,    39,     0,
    2771      711,  -294,     0,     0,   110,     0,     0,     0,     0,     0,
    2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2773       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2774        0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
    2775        0,     0,   110,     0,     0,     8,     9,    10,    11,    12,
    2776       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2777       23,    24,    25,     0,   454,    26,    27,    28,  1109,     0,
    2778        0,     0,   110,     0,    31,   453,     8,     9,    10,    11,
    2779       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2780       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2781        0,     0,    34,     0,     0,    31,     0,     0,     0,    38,
    2782       39,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2783       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2784       24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
    2785      206,    39,     0,    31,     0,     0,   454,     0,     0,     0,
    2786     1236,     0,     0,     0,   110,     0,     0,     0,     0,     0,
    2787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2788        0,    34,     0,     0,     0,     0,     0,   269,    38,    39,
    2789        0,     0,     0,     0,     0,   270,     0,     8,     9,    10,
    2790       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2791       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2792        0,     0,     0,     0,     0,   256,    31,     0,     0,     0,
    2793        0,     0,     0,   634,     0,     8,     9,    10,    11,    12,
    2794       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2795       23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
    2796        0,    38,    39,     0,    31,     8,     9,    10,    11,    12,
    2797       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2798       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2799        0,     0,    34,     0,    31,     0,     0,     0,   338,    38,
    2800       39,     0,     0,     0,     0,     0,   634,     0,     0,     0,
    2801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2802        0,     0,    34,     0,     0,     0,     0,     0,     0,   206,
    2803       39,     0,     0,     0,     0,     0,   454,     0,     0,     0,
    2804        0,     0,     0,     0,   110,     0,     0,     8,     9,    10,
    2805       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2806       21,    22,    23,    24,    25,     0,   269,    26,    27,    28,
    2807        0,     0,     0,     0,   629,     0,    31,     8,     9,    10,
    2808       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2809       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2810        0,     0,     0,     0,    34,     0,    31,     0,     0,     0,
    2811        0,    38,    39,     0,     0,     8,     9,    10,    11,    12,
    2812       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2813       23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
    2814        0,    38,    39,     0,    31,     0,     0,     0,   599,     0,
    2815        0,     0,     0,     0,     0,     0,   634,     0,     0,     0,
    2816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2817        0,     0,    34,     0,     0,     0,     0,     0,   338,    38,
    2818       39,     0,     0,     0,     0,     0,   110,     2,   205,     4,
    2819        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2820       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2821       25,     0,     0,    26,    27,    28,    44,     0,     0,     0,
    2822        0,     0,    31,     0,   110,     0,     0,     0,     0,     0,
    2823        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2825       34,     0,    35,     0,    36,     0,     0,    38,    39,   281,
    2826      282,     0,   283,  1063,     0,  1064,     0,     0,  1065,  1066,
    2827     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1551,  1073,
    2828        0,     0,     0,  1074,  1075,     0,    33,     0,   284,     0,
    2829        0,     0,     0,  -415,   649,     0,     0,     0,   286,     0,
    2830        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2831        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2833        0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
    2834      296,   380,   298,   299,   300,   301,     0,     0,     0,     0,
    2835     1077,     0,   281,   282,  -129,   283,  1063,     0,  1064,     0,
    2836        0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,     0,
    2837        0,     0,  1073,     0,     0,     0,  1074,  1075,     0,    33,
    2838        0,   284,     0,     0,     0,     0,     0,   649,     0,     0,
    2839        0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2840        0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
    2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2842        0,     0,     0,     0,   294,     0,   378,     0,     0,   170,
    2843        0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
    2844        0,     0,     0,  1077,     0,     0,     0,  -129,     2,   205,
    2845        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2846       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2847       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2848        0,     0,     0,    31,     0,   281,   282,     0,   283,  1063,
    2849        0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,
    2850     1071,  1072,     0,     0,  1551,  1073,     0,     0,     0,  1074,
    2851     1075,    34,    33,    35,   284,    36,     0,     0,    38,    39,
    2852      649,     0,     0,     0,   286,     0,     0,   287,   288,   289,
    2853      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2854     1330,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2855        0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
    2856        0,     0,   170,     0,     0,     0,   296,   380,   298,   299,
    2857      300,   301,     0,     0,   281,   282,  1077,   283,  1063,     0,
    2858     1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
    2859     1072,     0,     0,     0,  1073,     0,     0,     0,  1074,  1075,
    2860        0,    33,     0,   284,     0,     0,     0,     0,     0,   649,
    2861        0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
    2862       41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
    2863        0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2864        0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
    2865        0,   170,     0,     0,     0,   296,   380,   298,   299,   300,
    2866      301,     0,     0,   281,   282,  1077,   283,  1063,     0,  1064,
    2867        0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
    2868        0,     0,     0,  1073,     0,     0,     0,  1074,  1075,     0,
    2869       33,     0,   284,     0,     0,     0,     0,     0,   649,     0,
    2870        0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
    2871       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2872      293,   281,   282,     0,   283,     0,     0,     0,     0,     0,
    2873        0,     0,     0,     0,     0,   294,     0,   378,     0,     0,
    2874      170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2875      284,     0,     0,     0,  1077,     0,   649,     0,     0,     0,
    2876      286,     0,     0,   287,   288,   289,   290,    41,    42,     0,
    2877      291,   292,     0,     0,     0,     0,     0,     0,   293,   281,
    2878      282,     0,   283,     0,     0,     0,     0,     0,     0,     0,
    2879        0,     0,     0,   294,     0,   785,     0,     0,   281,   282,
    2880        0,   283,   296,   380,   298,   299,   300,   301,   284,     0,
    2881        0,     0,     0,     0,   285,     0,     0,     0,   286,     0,
    2882        0,   287,   288,   289,   290,    41,    42,   284,   291,   292,
    2883        0,     0,     0,   285,     0,     0,   293,   286,     0,     0,
    2884      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2885        0,   294,     0,   378,     0,   293,   281,   282,     0,   283,
    2886      296,   827,   298,   299,   300,   301,     0,     0,     0,     0,
    2887      513,     0,     0,     0,     0,   281,   282,     0,   283,   296,
    2888      380,   298,   299,   300,   301,   284,     0,     0,     0,     0,
    2889        0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
    2890      289,   290,    41,    42,   284,   291,   292,     0,     0,     0,
    2891      285,     0,     0,   293,   286,     0,     0,   287,   288,   289,
    2892      290,    41,    42,     0,   291,   292,     0,     0,   294,     0,
    2893        0,     0,   293,   281,   282,     0,   283,   296,   380,   298,
    2894      299,   300,   301,     0,     0,     0,     0,   518,     0,     0,
    2895        0,     0,     0,     0,     0,     0,   296,   380,   298,   299,
    2896      300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
    2897        0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
    2898       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2899      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2900        0,     0,     0,     0,     0,   521,     0,     0,     0,     0,
    2901        0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2902        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2903       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2904       22,    23,    24,    25,     0,     0,     0,     0,     0,     0,
    2905        0,     0,     0,     0,     0,    31,     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        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2909      173,   174,    40,     0,     0,     0,     0,     0,     0,    41,
    2910       42,   204,     2,   205,     4,     5,     6,     7,     8,     9,
    2911       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2912       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2913       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2915        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2916        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2917        0,     0,   206,    39,   474,     2,   205,     4,     5,     6,
    2918        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2919       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2920        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2921       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2923        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2924       35,     0,    36,     0,     0,    38,    39,     2,   205,     4,
    2925        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2926       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2927       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2928        0,     0,    31,     0,     8,     9,    10,    11,    12,    13,
    2929       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2930       24,    25,     0,     0,    26,    27,    28,   492,   493,   494,
    2931       34,     0,    35,    31,    36,     0,     0,   206,    39,     0,
    2932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2934        0,    34,     0,     0,     0,     0,     0,     0,    38,    39
    2935 };
    2936 
    2937 #define yypact_value_is_default(yystate) \
    2938   ((yystate) == (-1332))
    2939 
    2940 #define yytable_value_is_error(yytable_value) \
    2941   YYID (0)
    2942 
    2943 static const yytype_int16 yycheck[] =
    2944 {
    2945        0,     1,     0,   203,   184,   184,   520,   698,   238,    43,
    2946      115,   184,     1,   698,    43,    43,   543,   185,   629,     0,
    2947      104,   218,   184,   280,   185,   456,   455,   698,   348,    29,
    2948       30,   184,    32,   184,    32,  1062,   184,   902,   167,   168,
    2949      609,   348,     1,    43,   656,    45,   278,    45,  1043,   611,
    2950     1006,    32,  1042,  1043,    32,    55,   497,     0,   759,   611,
    2951       28,    61,   612,    61,    64,   609,    64,    67,   618,    67,
    2952      154,   609,   499,   579,  1340,   718,   503,   999,    67,   609,
    2953      609,    81,    82,   780,   264,   264,   777,    51,   186,    32,
    2954     1421,   264,   777,   609,    82,   200,  1425,   265,   344,  1055,
    2955      529,    39,   264,   902,   265,   105,   777,     0,   108,    39,
    2956       78,   264,   417,   264,   609,   115,   264,     0,    43,    72,
    2957       43,    45,   363,   643,   644,   645,   367,   489,    44,    45,
    2958       83,    84,   437,    64,     0,    43,    82,    39,   227,    32,
    2959      445,    39,   662,    44,    45,   109,   146,    95,   146,    32,
    2960      184,     0,     1,    39,   154,   184,   184,   246,   111,   159,
    2961       63,   159,   260,   261,  1495,   111,    32,    44,    45,  1477,
    2962      109,    64,   613,   111,    85,   495,   617,  1443,   109,   109,
    2963       30,   111,   130,    32,   184,   185,   110,   185,     4,     5,
    2964        6,     7,     8,     9,  1523,   109,    39,   638,   114,  1528,
    2965      200,   642,   113,   255,  1512,    39,  1514,   109,   208,   111,
    2966      208,   294,   409,   114,   744,    64,   736,   217,    67,  1548,
    2967      220,   145,   220,   109,   902,   111,  1555,   227,   744,   132,
    2968      264,    81,    82,    96,    82,   264,   264,   405,   115,    11,
    2969      644,   645,   242,   489,   405,    82,   246,   109,  1243,   744,
    2970      250,   251,   250,    69,   511,    71,   112,   341,   662,   184,
    2971      123,   184,   110,  1062,   264,   265,   109,   265,   111,   250,
    2972      839,   271,   250,     0,     1,   109,   184,   111,   278,  1306,
    2973      117,   643,   644,   645,   208,   928,   370,   455,     0,   851,
    2974      395,   841,   251,   293,   455,   839,   114,   107,  1293,   851,
    2975      662,   839,  1292,  1293,   611,    32,     3,   250,   828,   839,
    2976      839,    82,  1009,   819,   238,   110,   132,   116,   423,   487,
    2977       32,   131,   117,   839,   429,   116,   487,   220,   328,   116,
    2978      328,    43,   736,    45,   293,   697,    82,  1259,   109,   951,
    2979       67,   132,   425,   426,   839,   132,   270,   347,   348,    61,
    2980      425,   426,    64,   116,   600,    67,   597,   250,   699,    55,
    2981       90,    91,  1227,   109,   364,   417,    72,   250,   368,   132,
    2982     1071,   220,   255,   297,   736,  1074,  1075,    83,    84,   379,
    2983      721,   109,   110,   629,   250,   437,   691,  1065,   634,   255,
    2984      959,    96,   242,   445,   109,   395,   126,   127,   960,   640,
    2985      110,   250,    72,   109,     3,   405,   116,   405,    82,   105,
    2986     1021,   773,   108,    83,    84,   959,   131,   116,   123,   676,
    2987      344,   959,  1417,   423,   828,   109,   501,  1417,  1227,   429,
    2988      513,   431,   873,    68,   146,   518,   110,    72,   521,  1466,
    2989       75,  1528,    77,   117,  1143,   520,  1473,   159,   532,    84,
    2990     1528,   697,    72,  1409,  1410,   455,   349,   121,   122,    72,
    2991      460,  1548,   132,    83,    84,   109,   828,   111,  1555,   116,
    2992       83,    84,   184,   185,   474,   119,   110,  1555,   116,   479,
    2993     1030,  1031,   699,   117,   112,   132,     0,   487,   116,   487,
    2994     1004,   491,   575,   491,   132,   495,   208,   131,   498,  1526,
    2995      500,   425,   426,     0,   721,   762,   119,  1306,   220,   938,
    2996      491,   586,   132,    88,    89,   474,   947,   946,   698,   698,
    2997      520,   217,   131,   250,   965,   698,   758,   773,   657,   379,
    2998     1142,   851,   700,    80,   417,   109,   698,   537,   250,   700,
    2999      540,   968,   542,   543,   851,   698,    72,   698,   491,  1227,
    3000      698,   417,   264,   116,   437,  1117,   109,    83,    84,   664,
    3001      110,   520,   445,   992,   111,   109,   113,   117,   666,   132,
    3002      117,   437,   115,   116,   110,   271,   211,   501,   537,   445,
    3003      116,   540,   278,   542,   543,   111,   109,   480,   131,   830,
    3004      590,   116,     3,   834,   109,   812,   520,   597,   491,    10,
    3005       11,    12,    13,    14,   109,  1306,   489,   132,   491,   609,
    3006      460,   611,   696,   116,    53,    72,   328,   598,   116,     4,
    3007        5,     6,     7,     8,     9,   491,    83,    84,    39,   132,
    3008      630,   590,   110,   116,   132,   119,   348,   978,   116,   691,
    3009      124,   125,   491,   112,   964,  1323,   646,   116,   498,   132,
    3010      500,   347,   652,   116,   111,   110,    67,    96,     0,     1,
    3011     1498,   661,   586,   663,   664,   665,  1504,  1466,   364,   132,
    3012       80,  1102,   368,   890,  1473,   129,   600,   131,   116,   116,
    3013     1042,   733,  1383,   924,    69,    72,    71,  1525,   772,   110,
    3014       32,   888,  1530,   405,   132,   132,    83,    84,   698,  1377,
    3015      700,   111,  1380,   113,   663,   629,   665,   117,   112,   109,
    3016      634,   111,   909,   713,   116,   110,   351,   112,   353,   719,
    3017      110,   116,    64,   723,   111,    67,   116,  1526,   110,   110,
    3018      132,   731,    45,   110,   116,   116,   131,   132,   631,   109,
    3019      970,   111,   110,   455,   744,   745,   112,  1425,    61,   119,
    3020      116,    64,  1430,   192,    67,   112,    72,   110,   758,   116,
    3021       76,   978,    72,   116,   491,   894,    76,    83,    84,  1470,
    3022      938,  1472,   731,    83,    84,  1021,   215,   938,   946,   491,
    3023      112,   110,  1460,   495,   116,   946,   225,    10,    11,    12,
    3024       13,    14,  1009,   109,  1135,  1322,    92,    93,   110,   109,
    3025     1162,   111,   652,   119,   116,   110,   441,    72,   691,   119,
    3026      109,   116,   111,   155,   697,   109,    39,   111,    83,    84,
    3027       10,    11,    12,    13,    14,   691,  1527,   109,   109,   111,
    3028      513,   724,   515,   146,  1034,   518,  1133,   119,   521,   839,
    3029     1137,  1532,  1059,   110,    67,   738,   159,  1532,   109,    39,
    3030      733,   851,  1193,  1194,   835,   294,   115,   116,   110,   110,
    3031      110,  1532,  1103,   713,   116,   116,   116,   733,  1546,   719,
    3032      116,   117,   185,   723,  1552,   115,  1133,    67,   220,   109,
    3033     1137,  1138,   109,   110,   111,  1563,   109,   132,   111,  1567,
    3034      773,   703,   110,   705,   894,   208,   119,   609,   116,   611,
    3035       72,   901,   902,   110,    76,   110,   111,   220,   250,   116,
    3036       64,    83,    84,   110,     1,   109,  1162,   111,  1135,   116,
    3037       72,   902,    74,    75,   924,    85,    86,    87,  1057,   109,
    3038     1292,    83,    84,    72,   630,    74,    75,   109,   938,   832,
    3039       58,    59,   110,   902,    83,    84,   946,   119,   116,   109,
    3040      646,   111,   109,   113,   114,   110,   112,   109,    45,   132,
    3041      110,   116,   114,   110,   964,   661,   116,   115,   116,   116,
    3042      109,   114,   109,   680,   111,   114,  1193,  1194,   114,    72,
    3043      969,    74,    75,    76,   984,   109,   698,   111,   700,   114,
    3044       83,    84,   109,   993,   111,   109,  1253,  1243,   109,   110,
    3045      111,  1001,   132,   442,  1004,   109,  1006,   111,    82,   902,
    3046       72,   132,    74,    75,   109,   328,   109,   104,   111,   902,
    3047     1125,    83,    84,   110,   117,   984,   119,    72,   109,    74,
    3048       75,    82,   744,   745,   116,   117,   902,   476,    83,    84,
    3049      112,   109,  1001,   111,   894,  1004,   970,  1006,   109,   110,
    3050      111,   901,   114,   902,   120,  1055,   116,   117,   145,   109,
    3051      110,   111,   758,  1404,   128,  1065,   111,   154,  1068,  1069,
    3052     1070,    58,    59,    60,   513,  1265,  1266,  1267,  1507,   518,
    3053     1421,  1062,   521,    72,  1341,    74,    75,    76,  1345,   129,
    3054      432,    94,   405,  1093,    83,    84,  1055,  1021,    44,    45,
    3055       10,    11,    12,    13,    14,   131,  1065,   111,   815,  1068,
    3056     1069,  1070,   564,   565,   566,   567,   109,   204,   825,   109,
    3057      969,   208,   110,  1206,  1207,  1125,  1209,   839,  1557,    39,
    3058      112,  1024,  1215,   840,    72,  1218,    74,    75,  1222,   851,
    3059      560,   561,   112,   993,   110,    83,    84,   562,   563,   491,
    3060      110,   238,   239,  1494,  1495,   110,    72,    67,    74,    75,
    3061       76,   110,    72,   110,    74,    75,    76,    83,    84,  1062,
    3062      568,   569,   109,    83,    84,   902,   112,   111,   131,  1062,
    3063      112,   114,   109,   270,   114,   116,   273,  1404,   114,   112,
    3064     1447,   533,   110,   109,    45,   111,  1062,   110,   112,   109,
    3065     1200,   111,   117,   119,  1421,   112,   112,   294,   112,   119,
    3066      297,    29,   117,  1062,   117,   116,  1205,   110,   110,   114,
    3067      117,   112,  1222,   110,   132,   115,   938,  1227,     3,   115,
    3068      115,   109,   116,   110,   946,    10,    11,    12,    13,    14,
    3069      679,   110,   969,  1093,   116,   110,  1227,   117,   110,   688,
    3070      110,   110,   964,   692,   341,   116,   598,   344,  1247,   110,
    3071      110,   110,     3,   110,    39,  1265,  1266,  1267,  1227,    10,
    3072       11,    12,    13,    14,   110,   110,   363,  1494,  1495,  1162,
    3073      367,   110,   110,   370,    10,    11,    12,    13,    14,   110,
    3074      110,   110,    67,   110,   110,  1400,  1379,   110,    39,    29,
    3075      115,   643,   644,   645,   131,   112,  1265,  1266,  1267,   110,
    3076      110,  1204,  1542,    39,   110,   110,   114,   116,   112,   112,
    3077      662,   110,  1322,  1323,   110,  1306,    67,   110,   116,   110,
    3078      117,   116,  1039,  1040,  1227,  1062,   116,   116,   425,   426,
    3079      112,    67,   116,   110,  1227,   110,   112,    85,    86,    87,
    3080     1200,  1340,  1532,  1532,   109,  1204,  1205,   208,   109,  1532,
    3081     1243,  1227,   109,  1322,  1323,  1533,   453,   109,   112,   456,
    3082     1532,   109,  1533,   111,   109,   113,   114,  1377,  1227,  1532,
    3083     1380,  1532,   132,   109,  1532,   111,   117,   474,   239,  1557,
    3084     1097,  1098,   115,   119,   736,   110,  1557,   110,  1247,  1399,
    3085     1400,   115,  1507,   110,   129,   115,   114,   112,  1301,  1409,
    3086     1410,   132,   499,  1306,   501,   110,   503,   116,  1377,   270,
    3087      112,  1380,   116,  1306,   112,  1425,   513,   110,   515,   110,
    3088     1430,   518,   110,   520,   521,   112,   471,   112,   112,   110,
    3089     1306,    47,   112,   294,   112,   532,   297,   112,  1448,   115,
    3090     1409,  1410,  1301,   132,  1443,   110,   132,  1306,   115,   132,
    3091     1460,   117,   110,   132,   115,   132,  1425,   112,   112,   112,
    3092      112,  1430,    72,   112,    74,    75,    76,   112,  1205,   112,
    3093      112,   110,   110,    83,    84,  1466,   828,   926,   112,  1448,
    3094      112,  1340,  1473,   835,     0,     1,   109,   109,  1532,   586,
    3095     1227,  1460,   109,  1532,  1532,    60,   110,  1507,  1508,   109,
    3096      597,   111,    55,   600,   110,   114,   132,  1517,   112,   119,
    3097     1247,   112,   117,  1523,   110,   112,    32,   110,  1528,    96,
    3098       96,   109,  1532,  1533,   109,  1533,   115,   110,   112,    45,
    3099      132,   110,   629,    42,   116,  1526,  1546,   634,  1548,  1508,
    3100      110,   110,  1552,   640,   117,  1555,   132,  1557,  1517,  1557,
    3101      902,    67,   105,  1563,  1523,   108,  1273,  1567,   132,  1528,
    3102      110,   110,    96,  1466,  1281,  1282,  1283,    96,   132,  1306,
    3103     1473,   110,   110,  1466,   132,   117,   132,  1546,   110,  1548,
    3104     1473,   112,   110,  1552,  1443,   115,  1555,   132,   104,   112,
    3105     1466,   109,   453,   115,  1563,   456,   132,  1473,  1567,   696,
    3106      115,   154,   110,  1340,    64,   110,   132,  1466,  1542,   110,
    3107      110,  1077,  1329,   571,  1473,   570,  1227,   969,   572,    64,
    3108       64,   718,   573,  1526,  1073,   574,  1495,  1385,  1567,    74,
    3109      146,  1316,  1138,  1526,   986,   680,  1473,    81,   154,   155,
    3110     1345,  1093,   705,   946,     4,     5,     6,     7,     8,     9,
    3111     1526,   748,   513,   453,   515,   471,   116,   518,   723,   453,
    3112      521,   948,   993,   590,   217,   894,   966,  1526,   658,   185,
    3113     1247,   116,   116,    33,   578,   772,   491,   758,    10,    11,
    3114       12,    13,    14,    -1,   200,   578,   748,   203,   204,   578,
    3115     1042,  1043,   208,  1399,    -1,    -1,    -1,    -1,    -1,   159,
    3116       -1,    -1,    -1,    -1,    -1,    -1,  1443,    39,    -1,    69,
    3117     1062,    71,    -1,   229,   159,   159,    -1,   233,   271,   235,
    3118       72,    -1,    74,    75,    76,   278,    -1,    -1,   244,  1466,
    3119       -1,    83,    84,   830,   250,    67,  1473,   834,    -1,   255,
    3120       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   265,
    3121       -1,    83,    84,    -1,    -1,    -1,    -1,   273,   283,    -1,
    3122      220,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
    3123      815,   296,   297,    -1,    -1,   220,   220,   109,    -1,   111,
    3124      825,    -1,    -1,   308,    -1,    -1,    -1,   119,    -1,  1526,
    3125       -1,    -1,    -1,    -1,   347,   840,    -1,    -1,   258,    -1,
    3126       -1,    -1,   262,    10,    11,    12,    13,    14,    -1,    -1,
    3127     1532,   364,    -1,   258,   258,   368,    -1,   262,   262,   344,
    3128       -1,    -1,    -1,    -1,    -1,   341,    -1,   924,   344,    -1,
    3129       -1,   928,    39,   278,   350,    -1,    -1,    97,    -1,    99,
    3130       -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,
    3131      947,   367,  1204,  1205,   370,   380,    -1,   718,    -1,    -1,
    3132       67,    -1,    -1,    -1,   680,    72,  1315,    74,    75,    76,
    3133       -1,   968,   969,   970,    -1,  1227,    83,    84,   431,    -1,
    3134       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   349,
    3135       -1,    83,    84,    -1,    -1,  1247,    72,    -1,    74,    75,
    3136       76,   417,   109,    -1,   349,   349,    -1,    83,    84,    -1,
    3137       -1,    72,   119,    74,    75,    76,   432,   109,    -1,   111,
    3138      180,   437,    83,    84,  1021,    -1,    -1,   119,    -1,   445,
    3139      190,   191,    -1,   109,    -1,   195,    -1,   197,   198,    -1,
    3140     1292,  1293,    -1,   119,    -1,    -1,    -1,    -1,   109,  1301,
    3141       -1,    -1,    -1,    -1,  1306,   471,    -1,    -1,   474,    -1,
    3142       51,    -1,    53,    -1,    -1,    56,    57,    58,    -1,    60,
    3143      430,    -1,    -1,   489,    -1,   491,    -1,    -1,    -1,    -1,
    3144       -1,    -1,    -1,   499,    75,   430,   430,   503,  1340,    10,
    3145       11,    12,    13,    14,  1039,  1040,    87,    88,    -1,   815,
    3146       -1,    -1,   447,    -1,    -1,  1102,  1103,    -1,    -1,   825,
    3147       72,    -1,    74,    75,    76,    -1,   532,   533,    39,    -1,
    3148      480,    83,    84,    -1,   840,  1474,    -1,  1476,    -1,    -1,
    3149       -1,    -1,   557,   558,   559,   480,   480,    72,    -1,    74,
    3150       75,    76,    -1,    -1,   597,    -1,    67,   109,    83,    84,
    3151       -1,    -1,  1097,  1098,    -1,    -1,    -1,   119,    -1,    -1,
    3152       -1,    -1,  1511,   579,  1513,  1417,    -1,   928,    -1,    -1,
    3153       -1,    -1,    -1,    -1,   109,   600,    -1,   630,    -1,    -1,
    3154       -1,   597,   598,    -1,   600,    -1,   947,    -1,   109,    -1,
    3155      111,  1443,    -1,   646,    -1,   611,    -1,    -1,   119,    -1,
    3156       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,   661,  1558,
    3157       -1,    -1,    -1,   629,  1466,    -1,    -1,    -1,   634,    -1,
    3158       -1,  1473,  1571,  1572,   640,  1222,    -1,   643,   644,   645,
    3159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3160        0,    -1,    -1,   603,    -1,    -1,   662,    -1,    -1,    -1,
    3161     1247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   603,
    3162       -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,
    3163       -1,   631,    32,    -1,  1526,   691,   636,    -1,    -1,    -1,
    3164      696,   697,    -1,    -1,   700,    -1,   631,   631,    -1,    -1,
    3165       -1,   636,   636,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
    3166       -1,    -1,    -1,    -1,    -1,   758,    -1,    67,    -1,   734,
    3167       -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,
    3168      736,    -1,    -1,  1039,  1040,    -1,    -1,    -1,  1273,   745,
    3169       -1,    -1,   748,    -1,    -1,    -1,  1281,  1282,  1283,    -1,
    3170       -1,  1102,    -1,  1340,    -1,    -1,    -1,    -1,    -1,    -1,
    3171       -1,    -1,    -1,   344,   345,   780,   772,   773,    -1,    -1,
    3172       -1,    -1,   778,    -1,   724,   356,   357,    -1,    -1,    26,
    3173       27,    28,    -1,    -1,    -1,    -1,    -1,    -1,   738,   724,
    3174      724,  1097,  1098,    -1,  1329,    -1,    -1,    -1,    -1,    -1,
    3175       -1,    -1,    -1,   738,   738,   155,    -1,    -1,    -1,   815,
    3176       -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,   825,
    3177       -1,    -1,   828,   758,   830,    -1,    -1,   833,   834,   835,
    3178       -1,    -1,   582,   583,   840,    -1,    -1,    -1,    -1,    -1,
    3179       -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,    -1,    -1,
    3180       97,    -1,    99,    -1,    -1,    -1,  1443,    10,    11,    12,
    3181       13,    14,   612,    -1,    -1,   615,   616,    -1,   618,    -1,
    3182      620,   621,    -1,    -1,    -1,   625,   626,   124,    -1,   229,
    3183       -1,   924,   832,    -1,    -1,    -1,    39,    -1,  1475,    -1,
    3184     1477,    -1,    -1,    -1,    -1,    -1,   902,   832,   832,    -1,
    3185      250,    -1,    -1,    -1,    -1,   255,   188,    -1,    -1,    -1,
    3186       -1,    -1,    -1,   195,    67,    -1,    -1,    -1,   924,    72,
    3187       -1,    74,    75,    76,    -1,  1512,    -1,  1514,    -1,    -1,
    3188       83,    84,    -1,   180,    -1,  1241,    -1,    -1,    -1,    -1,
    3189       -1,   188,    -1,   190,   191,    -1,    -1,    -1,   195,    -1,
    3190      197,   198,    -1,    -1,   960,  1542,   109,    -1,   111,   709,
    3191      710,    -1,   968,   969,    -1,   715,   119,  1273,    -1,    10,
    3192       11,    12,    13,    14,    -1,  1281,  1282,  1283,    -1,    -1,
    3193      986,    -1,    -1,    -1,    -1,   267,    -1,    -1,    -1,    10,
    3194       11,    12,    13,    14,    -1,    -1,    -1,    -1,    39,    -1,
    3195      350,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    -1,
    3196       -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    39,    -1,
    3197      267,    -1,    -1,  1329,    -1,    -1,    67,    -1,  1034,    -1,
    3198       -1,    72,    -1,  1039,  1040,    76,  1042,  1043,    -1,    -1,
    3199       -1,   323,    83,    84,    -1,    -1,    67,  1062,    -1,   331,
    3200       -1,    72,   334,    74,    75,    76,  1062,    -1,    -1,    -1,
    3201       -1,    -1,    83,    84,    -1,    -1,    -1,   417,   109,    -1,
    3202       -1,     0,    -1,    -1,  1024,    -1,    -1,    -1,   119,    -1,
    3203       -1,    -1,   432,    -1,    -1,    -1,    -1,   437,   109,  1024,
    3204     1024,  1097,  1098,    -1,    -1,   445,    -1,  1103,   119,    -1,
    3205       -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3206       -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,    -1,   401,
    3207       -1,   471,    -1,    -1,  1475,    -1,  1477,    -1,    97,    98,
    3208       99,   100,   101,   102,   103,   104,   105,   106,    67,   489,
    3209       -1,   491,    -1,    -1,   725,    -1,   727,    -1,    -1,    -1,
    3210       -1,    -1,    -1,   734,   735,    -1,  1162,    -1,   739,    -1,
    3211       -1,  1512,   131,  1514,  1179,    10,    11,    12,    13,    14,
    3212      751,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,  1222,
    3213       -1,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,    -1,
    3214       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,  1205,
    3215       -1,   782,    -1,    -1,   486,    -1,    -1,    -1,    -1,    -1,
    3216       -1,    -1,    -1,    -1,    -1,    -1,  1222,    -1,    -1,    -1,
    3217       -1,  1227,    67,    -1,    -1,    -1,   155,    72,    -1,    -1,
    3218       -1,    76,    -1,    -1,    -1,  1241,    -1,  1243,    83,    84,
    3219       -1,  1247,    -1,    -1,    -1,    -1,   827,    -1,   598,    -1,
    3220       -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
    3221       -1,    -1,    -1,    -1,   109,    -1,    -1,  1273,    -1,  1204,
    3222     1204,    -1,    -1,    -1,   119,  1281,  1282,  1283,    -1,    -1,
    3223       -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    -1,
    3224       -1,    -1,    -1,   643,   644,   645,   578,   579,    -1,    -1,
    3225     1306,    -1,    -1,   884,   885,   886,   887,    -1,   889,    -1,
    3226       -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3227       -1,   250,    -1,  1329,   905,    -1,   255,    -1,    -1,    -1,
    3228      680,    -1,    -1,    -1,  1340,   582,   583,    -1,   919,    -1,
    3229       -1,   691,    -1,    -1,    -1,    -1,    -1,   697,    -1,  1099,
    3230       -1,  1301,    -1,    -1,    -1,    -1,  1399,    -1,    -1,    -1,
    3231       -1,    -1,    -1,    -1,    -1,   612,  1301,  1301,   615,   616,
    3232       -1,   618,    -1,   620,   621,    -1,    -1,   958,   625,   626,
    3233       -1,    -1,    -1,   733,    -1,   667,   736,    -1,    -1,   671,
    3234       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3235       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
    3236       -1,  1417,    -1,    -1,    -1,    -1,    -1,   998,    -1,    39,
    3237       -1,   350,   704,   773,  1005,    -1,    -1,    -1,    -1,  1010,
    3238       -1,    -1,    -1,    -1,  1015,    -1,  1017,  1443,    -1,    -1,
    3239     1021,  1022,  1023,    -1,    -1,  1026,    -1,    67,    -1,    -1,
    3240       -1,    -1,    -1,    -1,  1035,    -1,    -1,   704,    78,    -1,
    3241     1466,    -1,   709,   710,    -1,   815,    -1,  1473,   715,    -1,
    3242       -1,    -1,  1053,  1054,  1224,   825,    -1,    -1,   828,    -1,
    3243       -1,    -1,    -1,   833,    -1,   835,    -1,    -1,   417,    -1,
    3244      840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1080,
    3245       -1,    -1,  1083,   432,    -1,    -1,    -1,    -1,   437,    -1,
    3246       -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,    -1,
    3247     1526,    -1,    -1,    -1,    -1,    -1,    -1,  1533,    -1,    -1,
    3248       -1,    -1,    -1,    -1,    -1,    -1,    -1,   819,    -1,    -1,
    3249       -1,  1122,   471,    -1,    -1,    -1,    -1,  1128,  1129,    -1,
    3250       -1,    -1,   902,    -1,    -1,    -1,    -1,    -1,    -1,  1140,
    3251      489,    -1,   491,     0,  1145,    -1,    -1,  1148,    -1,  1150,
    3252       -1,    -1,  1153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3253       -1,    -1,    -1,    -1,    -1,  1166,    -1,    -1,    -1,    -1,
    3254       -1,    -1,    -1,    -1,    -1,    32,    37,    38,  1179,    40,
    3255     1181,  1182,  1183,  1184,   533,    -1,    -1,    -1,    -1,    -1,
    3256       -1,    -1,    -1,    -1,    -1,    -1,  1197,    -1,  1199,    -1,
    3257       -1,    -1,  1203,    -1,    -1,    66,    -1,    -1,    -1,    -1,
    3258       67,    72,    -1,    74,    75,    76,   986,    -1,    79,    80,
    3259       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3260      932,  1232,  1233,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   598,
    3262      111,    -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,
    3263      121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,  1039,
    3264     1040,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
    3265       -1,    -1,    -1,  1284,  1285,    -1,    -1,    -1,    -1,    -1,
    3266       -1,    -1,  1062,  1294,   643,   644,   645,    -1,   155,    -1,
    3267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1011,
    3268       -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,
    3269       -1,    -1,    -1,    -1,    -1,  1027,    -1,  1097,  1098,    -1,
    3270       -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271       -1,    -1,   691,    -1,    -1,  1346,    -1,    -1,   697,    -1,
    3272       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1358,    -1,  1360,
    3273     1361,  1362,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3274       -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3275     1381,    -1,    -1,    -1,   733,    -1,    -1,   736,    -1,    -1,
    3276       -1,    66,  1162,   250,    -1,    -1,  1397,    72,   255,    -1,
    3277       -1,    76,  1104,    -1,    79,    80,    81,    82,    83,    84,
    3278       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,     0,    94,
    3279       -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,
    3280       -1,    -1,  1099,    -1,   109,  1205,   111,    -1,    -1,   114,
    3281       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3282       32,    -1,  1453,  1454,    -1,    -1,    -1,  1227,    -1,    -1,
    3283       -1,    -1,    -1,    -1,    -1,  1466,   815,    -1,    -1,    -1,
    3284       -1,  1241,  1473,  1243,    -1,    -1,   825,    -1,    -1,   828,
    3285       -1,    -1,    -1,    -1,   833,    67,   835,    -1,    -1,    -1,
    3286       -1,   840,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,
    3287       -1,    -1,    -1,  1273,    -1,  1506,    -1,    -1,    -1,  1510,
    3288       -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,
    3289       -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,    -1,    -1,
    3290       -1,    -1,    -1,    -1,    -1,    -1,  1306,    -1,  1539,    -1,
    3291     1541,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,   902,    -1,    -1,    -1,  1224,    -1,  1329,
    3293      417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,  1570,
    3294       -1,    -1,    -1,   155,    -1,   432,  1577,  1578,    -1,    -1,
    3295      437,    -1,    -1,    -1,    -1,    -1,     0,    -1,   445,     3,
    3296        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3297       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3298       24,    25,    26,    27,   471,    -1,    30,    31,    32,    33,
    3299       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
    3300       -1,    -1,   489,    -1,   491,    -1,    -1,   986,    -1,    -1,
    3301       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1417,    -1,    -1,
    3302       64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3303       74,    75,    76,    -1,    -1,    -1,    -1,    -1,   250,    83,
    3304       84,    -1,    -1,   255,    -1,    -1,   533,    -1,     7,    -1,
    3305       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3306     1039,  1040,    -1,  1042,  1043,   109,  1466,   111,    -1,    -1,
    3307       -1,    -1,    -1,  1473,    -1,   119,    -1,    -1,    37,    38,
    3308       39,    40,    -1,  1062,    -1,    10,    11,    12,    13,    14,
    3309       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3310       25,    26,    27,    28,    -1,    -1,    -1,    66,    67,    -1,
    3311       -1,   598,    -1,    72,    39,    -1,    -1,    76,  1097,  1098,
    3312       79,    80,    81,    82,    83,    84,  1526,    86,    87,    -1,
    3313       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,   350,    -1,
    3314       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3315      109,    -1,   111,    78,    -1,    -1,   643,   644,   645,   118,
    3316      119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,
    3318       -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
    3319       -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,    -1,    -1,   691,   417,    -1,    -1,    -1,    45,
    3321      697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3322      432,    -1,    -1,    -1,    -1,   437,  1205,    -1,    64,    -1,
    3323       -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,
    3324       -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,  1227,   736,
    3325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,
    3326       -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,    -1,    -1,
    3327       -1,    -1,    -1,    -1,   110,    -1,    -1,   489,    -1,   491,
    3328      116,    -1,    -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,
    3329       -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,   145,
    3331       -1,    -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,   155,
    3332       -1,   533,    -1,   159,    -1,    -1,    -1,  1306,   815,    -1,
    3333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,
    3334       -1,   828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,
    3335     1329,    -1,    -1,   840,    10,    11,    12,    13,    14,    15,
    3336       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3337       26,    27,   208,    -1,    30,    31,    32,    -1,    -1,    -1,
    3338       -1,    -1,    -1,    39,   220,    -1,   598,    -1,    -1,    -1,
    3339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340       -1,    -1,   238,   239,    -1,    -1,    -1,    -1,    -1,    -1,
    3341       -1,    67,    -1,    -1,    -1,   902,    -1,    -1,    74,    75,
    3342       -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,    -1,
    3343       -1,   643,   644,   645,   270,    -1,    -1,    -1,  1417,    -1,
    3344       -1,    -1,    -1,    -1,   281,    -1,   283,   284,    -1,    -1,
    3345      662,    -1,    -1,    -1,   291,   292,    -1,    -1,   294,   296,
    3346      297,   297,    -1,   119,    -1,    -1,    -1,    -1,   680,    -1,
    3347       -1,   308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
    3348       -1,    -1,    -1,    -1,    -1,   697,    -1,  1466,    37,    38,
    3349       -1,    40,    -1,    -1,  1473,    -1,    -1,    -1,    -1,   986,
    3350       -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,   344,    -1,
    3351       -1,    -1,    -1,   349,    -1,    -1,    -1,    66,    -1,    -1,
    3352       -1,   733,    -1,    72,   736,    -1,    -1,    76,    -1,    -1,
    3353       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3354       -1,    -1,    -1,   380,    -1,    94,    -1,  1526,    -1,    -1,
    3355       -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,    -1,    -1,
    3356      109,   773,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3357      119,   120,   121,   122,   123,  1062,    -1,    -1,    -1,    -1,
    3358       -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,   425,
    3359      426,    -1,    -1,    -1,    -1,    74,   432,    76,    -1,    78,
    3360       -1,    -1,    -1,   815,    -1,    -1,    85,    -1,    -1,    -1,
    3361     1097,  1098,    -1,   825,    -1,    -1,   828,   453,    -1,    -1,
    3362      456,   833,    -1,   835,    -1,    -1,    -1,    -1,   840,    -1,
    3363       -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,   118,
    3364      119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,
    3366       -1,    -1,    -1,    -1,    -1,   501,    -1,    -1,    -1,    -1,
    3367       -1,    -1,    -1,    -1,    -1,  1162,    -1,   513,    -1,   515,
    3368      159,    -1,   518,    -1,   520,   521,    -1,    -1,    -1,    -1,
    3369      902,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,    -1,
    3370       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,
    3372      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    3373      567,   568,   569,   570,   571,   572,   573,   574,    -1,    -1,
    3374     1227,   220,    -1,   222,   223,   224,    -1,    -1,    -1,    -1,
    3375      586,    -1,    -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,
    3376       -1,    -1,   598,   600,   600,    -1,    -1,   603,    -1,    -1,
    3377       -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,   258,
    3378       -1,    -1,    -1,   262,    -1,    -1,  1273,    -1,    -1,    -1,
    3379       -1,    -1,    -1,   629,  1281,  1282,  1283,    -1,   634,   278,
    3380       -1,    -1,    -1,    -1,    -1,  1292,  1293,   643,   644,   645,
    3381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1306,
    3382       -1,    -1,    -1,    -1,    -1,    -1,   662,  1039,  1040,    -1,
    3383     1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3384       -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,   328,
    3385     1062,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3386       -1,   697,   699,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3387      349,    -1,    -1,    -1,    -1,   354,   355,    44,    -1,    -1,
    3388       -1,    -1,   718,   362,   721,  1097,  1098,    -1,    -1,    -1,
    3389       -1,    -1,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,
    3390      736,    -1,   738,    10,    11,    12,    13,    14,    15,    16,
    3391       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3392       27,    -1,    -1,    90,    -1,    -1,   405,    -1,    -1,    -1,
    3393     1417,    -1,    39,   100,    -1,    -1,    -1,   773,    -1,    -1,
    3394       -1,    -1,    -1,   780,   423,    -1,    -1,    -1,    -1,   428,
    3395     1162,   430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,
    3397       -1,   450,   451,    -1,    -1,   812,    -1,    -1,    -1,  1466,
    3398       -1,    -1,    -1,    -1,    -1,    -1,  1473,   466,    -1,   156,
    3399      827,    -1,   828,  1205,    -1,    -1,   832,    -1,    -1,   835,
    3400       -1,   480,    -1,   170,    -1,    -1,    -1,    -1,   487,    -1,
    3401       -1,    -1,    -1,    -1,    -1,  1227,    -1,    -1,    -1,    -1,
    3402       -1,    -1,    -1,    -1,    -1,    -1,   193,    -1,    -1,  1241,
    3403       -1,  1243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,
    3404      207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,
    3405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
    3406       -1,  1273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1281,
    3407     1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3408     1292,  1293,    -1,    -1,   251,    -1,    -1,    -1,    -1,   256,
    3409       -1,    -1,   928,    -1,  1306,    -1,    -1,    -1,    -1,    -1,
    3410       -1,    -1,   269,    -1,    -1,    -1,    -1,    -1,   275,    -1,
    3411      277,   947,    -1,    -1,    -1,    -1,    -1,  1329,    -1,    -1,
    3412       -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,   295,    -1,
    3413       -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,    -1,
    3414       -1,   978,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3415      986,    -1,   631,    -1,    -1,    -1,    -1,   636,    -1,    -1,
    3416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3417       -1,   338,  1009,    -1,    -1,    -1,   343,    -1,    -1,    -1,
    3418       -1,    -1,    -1,    -1,  1021,  1021,    -1,    -1,    -1,    -1,
    3419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    -1,    -1,    -1,   371,  1417,  1042,  1043,   375,   376,
    3421       -1,   378,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,
    3422       -1,   388,   389,    -1,   391,  1062,   393,    -1,    -1,    -1,
    3423       -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3424       -1,    -1,    -1,   410,    -1,   724,    -1,    -1,    -1,    -1,
    3425       -1,   418,    -1,    -1,  1466,    -1,    -1,    -1,    -1,   738,
    3426       -1,  1473,    37,    38,    39,    40,  1102,    -1,    -1,    -1,
    3427       -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,   758,
    3428       -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,
    3429       -1,    66,    67,    -1,    -1,    -1,    -1,    72,  1135,    -1,
    3430       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3431      477,    86,    87,    -1,  1526,    -1,   483,    -1,    -1,    94,
    3432       -1,   488,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,
    3433       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3434      819,    -1,  1179,   118,   119,   120,   121,   122,   123,    -1,
    3435       -1,    -1,    -1,   832,    -1,    -1,  1193,  1194,   525,    -1,
    3436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,
    3437       -1,    -1,   851,    -1,   541,    -1,    -1,    -1,    -1,    -1,
    3438       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3439       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3440       22,    23,    24,    25,    26,    27,    -1,  1243,    30,    31,
    3441       32,   578,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3442      587,    -1,    -1,    -1,    -1,    -1,    -1,   594,    -1,    -1,
    3443       -1,    -1,   599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3444       -1,    -1,    -1,   610,    -1,    67,    -1,    69,    -1,    71,
    3445       72,    -1,    74,    75,    76,    -1,  1292,  1293,    -1,   938,
    3446       -1,    83,    84,    -1,    -1,  1301,    -1,    -1,    -1,    -1,
    3447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3448       -1,    -1,    -1,    -1,   651,   964,    -1,   109,    -1,   111,
    3449       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
    3450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,
    3452      687,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3453       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3454       24,    25,    26,    27,    28,  1024,    30,    31,    32,    -1,
    3455       -1,    -1,    -1,    -1,    -1,    39,  1035,    -1,    -1,    -1,
    3456       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1404,    -1,    -1,
    3457       -1,    -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,
    3458       -1,  1417,    -1,    67,  1421,   752,   753,    -1,    -1,    -1,
    3459       74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,   766,
    3460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3461       -1,    -1,    -1,    -1,    -1,    -1,   783,    -1,   785,    -1,
    3462       -1,    -1,   789,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3463       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,  1117,  1475,
    3464       -1,  1477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3465       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1494,  1495,    -1,
    3466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3467       37,    38,    -1,    40,    -1,    -1,  1512,    -1,  1514,    -1,
    3468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   855,    -1,
    3469       -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    66,
    3470       -1,    -1,    -1,    -1,    -1,    72,  1542,    -1,   875,    76,
    3471      877,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3472       87,    -1,    -1,    -1,   891,  1204,    -1,    94,    -1,    -1,
    3473       -1,   898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3474       -1,    -1,   109,   910,   111,    -1,   913,    -1,    -1,   116,
    3475       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    3476       -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3478       -1,    -1,    -1,    -1,   154,   155,    -1,    -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,
    34793986      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34803987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,
    3482       -1,    -1,  1301,    -1,    -1,   195,    -1,     3,     4,     5,
    3483        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3484       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3485       26,    27,    -1,  1020,    30,    31,    32,    33,    -1,    -1,
    3486       36,    -1,    -1,    39,    40,    10,    11,    12,    13,    14,
    3487       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3488       25,    26,    27,    -1,    -1,    30,    31,    32,    64,    -1,
    3489       -1,    67,    -1,    69,    39,    71,    72,   267,    74,    75,
    3490       76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,  1076,
    3491       -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,    -1,    -1,
    3492       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3493       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,   115,
    3494       -1,    -1,    -1,   119,    -1,   145,  1113,    -1,    -1,    -1,
    3495       -1,  1118,    -1,   323,    -1,   155,    -1,    -1,    -1,  1126,
    3496       -1,   331,   332,    -1,   334,   335,    -1,   167,   168,    -1,
    3497       -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,   348,    -1,
    3498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3499     1157,    -1,    -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,
    3500      370,    -1,  1169,    -1,    -1,  1172,    -1,  1174,    -1,    -1,
    3501       37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3502       -1,  1188,  1189,    -1,    -1,    -1,    -1,   397,    -1,    -1,
    3503       -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,   238,    66,
    3504       -1,    -1,    -1,  1210,    -1,    72,    -1,    -1,    -1,    76,
    3505       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3506       87,    -1,   432,   263,    -1,    -1,    -1,    94,    -1,    -1,
    3507     1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,
    3508       -1,    -1,   109,    -1,   111,   455,    -1,   114,    -1,    -1,
    3509       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    3510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3511       -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,    -1,   489,
    3512       -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3513        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3514       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3515       -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,   529,
    3516       39,    -1,   532,   533,    -1,    -1,    -1,    -1,  1335,    -1,
    3517     1337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   379,
    3518       -1,    -1,    -1,  1350,    -1,  1352,    -1,    -1,    67,    -1,
    3519       69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,
    3520       -1,    -1,    -1,  1370,    -1,    -1,    -1,    -1,   578,   579,
    3521       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1386,
    3522     1387,    -1,    -1,    -1,    -1,    -1,    -1,   597,   598,    -1,
    3523      600,  1398,   111,    -1,  1401,    -1,    -1,    -1,    -1,   609,
    3524      119,   611,   612,    -1,    -1,    -1,    -1,    -1,   618,    -1,
    3525       -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   628,   629,
    3526       -1,    -1,    -1,    -1,   634,  1432,    -1,    -1,  1435,    -1,
    3527     1437,  1438,  1439,   643,   644,   645,    -1,    -1,    -1,    -1,
    3528       -1,   481,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       -1,    -1,   662,    -1,    -1,    -1,    -1,   667,   668,    -1,
    3530       -1,   671,   672,    -1,    -1,    -1,    -1,    -1,   678,    -1,
    3531       -1,    -1,  1479,    -1,  1481,    -1,    -1,  1484,    -1,    -1,
    3532      520,    -1,    -1,    -1,    -1,    -1,   696,   697,   698,    -1,
    3533      700,    -1,  1499,   533,   704,    -1,    -1,    -1,    -1,    -1,
    3534      540,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
    3535       -1,    -1,    -1,    -1,   554,   555,    -1,    -1,    -1,    -1,
    3536       -1,    -1,    -1,    -1,    -1,    -1,   736,   737,    -1,    -1,
    3537       -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
    3538       -1,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,
    3539       -1,    -1,    -1,   593,    -1,    -1,    -1,    -1,   598,    -1,
    3540       -1,    -1,   772,   773,    -1,    -1,    -1,   777,   778,    -1,
    3541       -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3542        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3543       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3544       -1,    30,    31,    32,    33,    -1,    -1,    36,   648,   819,
    3545       39,    40,    -1,    -1,    -1,    -1,    -1,   657,   828,    -1,
    3546       -1,    -1,    -1,    -1,   834,   835,    -1,    -1,    -1,   839,
    3547       -1,   841,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
    3548       69,   851,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3549       -1,    -1,    -1,    -1,    83,    84,    -1,   697,    -1,    -1,
     3988      -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,    74,
     3989       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3990      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3991      23,    24,    25,    26,    -1,    -1,    29,    30,    31,    -1,
     3992      -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,
    35503993      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35513994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3552      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3553      119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3554       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3555       25,    26,    27,    28,   924,    30,    31,    32,    -1,    -1,
    3556       -1,    -1,   932,    -1,    39,    -1,    -1,    -1,   938,    -1,
    3557       -1,    -1,    -1,   773,    -1,   775,   946,    -1,    -1,    -1,
    3558       -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,   788,   959,
    3559      960,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3560       75,    76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,
    3561       -1,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,
    3562       -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3563       -1,    -1,   832,   833,   109,   835,   111,    -1,    -1,    -1,
    3564       -1,  1011,  1012,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3565      850,  1021,    -1,    -1,    -1,    -1,    -1,  1027,  1028,    -1,
    3566     1030,  1031,  1032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3567       -1,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
    3568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3569      890,    -1,    -1,    -1,   894,     3,     4,     5,     6,     7,
    3570        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3571       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3572       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3573       -1,    39,    -1,  1103,  1104,  1105,    -1,    -1,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,    -1,    -1,
    3575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3576       -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
    3577      970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3578       -1,    -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,
    3579       -1,    -1,  1162,   993,    -1,    -1,    -1,    37,    38,   999,
    3580       40,    -1,  1002,   111,  1004,    -1,    -1,    -1,    -1,    -1,
    3581       -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3582       -1,    -1,    -1,    -1,  1024,    -1,    66,    -1,    -1,    -1,
    3583       -1,    -1,    72,    -1,    -1,  1035,    76,    -1,    -1,    79,
    3584       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3585       -1,    -1,  1222,    -1,    94,    37,    38,  1057,    40,  1059,
    3586       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3587       -1,   111,    -1,  1243,  1074,  1075,    -1,    -1,   118,   119,
    3588      120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,    -1,
    3589       72,    -1,    -1,    -1,    76,  1095,    -1,    79,    80,    81,
    3590       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3591       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3592       -1,    -1,  1292,  1293,    -1,    -1,    -1,   109,    -1,   111,
    3593       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3594      122,   123,    -1,  1143,    -1,    -1,    -1,    -1,    -1,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3597       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,  1178,    -1,
    3598       -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
    3599        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3600       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3601       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
    3602       38,    39,    40,    41,    -1,    43,    -1,    -1,    46,    47,
    3603       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3604       -1,    -1,    -1,    61,    62,    -1,    64,  1417,    66,    67,
    3605       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1259,
    3606       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3609       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3610      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3611      128,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,
    3612     1320,    -1,  1322,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3613       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1507,    10,    11,
     3995      -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,
     3996      73,    74,     4,     5,     6,     7,     8,     9,    10,    11,
    36143997      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3615       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3616       32,    -1,  1532,  1533,    -1,    -1,    -1,    39,    -1,    -1,
    3617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3618       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,    -1,
    3619       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3620       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1408,    -1,
    3621       -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
    3622        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3623       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3624       -1,    -1,    30,    31,    32,    33,    -1,   119,    36,    37,
    3625       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3626       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3627       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3628       -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
    3629     1490,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3630       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3631       67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
    3632       -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,    -1,
    3633      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3634       -1,    -1,  1542,    -1,   132,     3,     4,     5,     6,     7,
    3635        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3636       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3637       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
    3638       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3639       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3640       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3641       -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
    3642       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3643       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3644       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3645       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3646      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3647        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3648       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3649       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3650       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3653       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3654       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3655       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3657       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3658      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3659        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3660       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3661       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3662       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3665       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3666       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3667       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3669       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3670      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3671        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3672       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3673       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3674       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3677       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3678       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3679       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3681       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3682      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3683        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3684       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3685       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3686       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3689       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3690       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3691       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3694      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3695        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3696       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3697       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3698       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3701       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3702       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3705       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3706      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3707        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3708       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3709       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3710       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3713       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3714       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3715       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3717       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3718      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3719        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3720       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3721       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3722       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3725       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3726       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3727       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3729       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3730      118,   119,   120,   121,   122,   123,     3,     4,     5,     6,
    3731        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3732       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3733       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3734       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3998      22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
     3999      -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,
    37354000      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37364001      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3737       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3738        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3739       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3740       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3741       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3742       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3744       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3745       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3746       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3748       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3749       -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,
    3750        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3751       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3752       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3753       -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3754       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3755       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
    3756       -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
    3757        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3758       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3759       25,    26,    27,    67,    -1,    30,    31,    32,    72,    -1,
    3760       74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,    83,
    3761       84,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,    -1,    67,    -1,    69,    -1,    71,   111,    -1,    74,
    3764       75,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3766       -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3767       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3768       -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,     8,
    3769        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3770       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3771       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3772       39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3773       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3774       25,    26,    27,    28,    -1,    30,    31,    32,    67,    -1,
    3775       69,    -1,    71,    -1,    39,    74,    75,    -1,    -1,    -1,
    3776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
    3778       -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3779       75,    76,   111,    78,    -1,    -1,    -1,    -1,    83,    84,
    3780      119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3781       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3782       23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
    3783       -1,    -1,    -1,    -1,   119,    -1,    39,    -1,    -1,    -1,
    3784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3786       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    3787       -1,    74,    75,    -1,     4,     5,     6,     7,     8,     9,
    3788       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3789       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3790       30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
    3791       -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    3792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3794       -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
    3795        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3796       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3797       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3798       -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3801       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3802        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3803       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3804       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3805       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3806       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3808       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3809       74,    75,    10,    11,    12,    13,    14,    15,    16,    17,
    3810       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3811       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3812       38,    39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3813       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3815       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    3816       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3817       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3819       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3820      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    3821       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3822       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3823       -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
    3824       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3825       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3826       -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
    3827       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3828       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3830       -1,    74,    75,    76,    -1,   109,    -1,   111,   112,    -1,
    3831       83,    84,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3832       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3833       20,    21,    22,    23,    24,    25,    26,    27,   111,    -1,
    3834       30,    31,    32,    -1,    -1,    -1,   119,    37,    38,    39,
    3835       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3836       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3837       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
    3838       39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3839       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
    3842      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3843      120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
    3844       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3845       26,    27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,
    3846      119,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3847       -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3848       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3849       66,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
    3850       76,    39,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3851       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3853       -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
    3854       -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
    3855       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3856       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3857       32,   109,    -1,   111,    -1,    37,    38,    39,    40,    -1,
    3858       -1,   119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3859       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3860       24,    25,    26,    27,    66,    67,    30,    31,    32,    -1,
    3861       72,    -1,    74,    75,    76,    39,    -1,    79,    80,    81,
    3862       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3863       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3864       -1,    -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,
    3865       74,    75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3866      122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
    3867       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3868       -1,    -1,    30,    31,    32,   109,    -1,   111,    -1,    37,
    3869       38,    39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3870       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3871       20,    21,    22,    23,    24,    25,    26,    27,    66,    67,
    3872       30,    31,    32,    -1,    72,    -1,    74,    75,    76,    39,
    3873       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3874       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3876       -1,   109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,
    3877      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    3878       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3879       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3880       -1,   111,    -1,    37,    38,    39,    40,    -1,    -1,   119,
    3881       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3882       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3883       26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
    3884       74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
    3885       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3886       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3887       -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
    3888       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3889        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3890       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3891       23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
    3892       -1,    -1,    -1,   119,    -1,    -1,    39,    -1,    -1,    -1,
    3893       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3894       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3895       30,    31,    32,    -1,    67,    -1,    69,    -1,    71,    39,
    3896       -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,
    3897       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3898       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3899       32,    -1,    72,    -1,    74,    75,    76,    39,    -1,    -1,
    3900       -1,   114,    -1,    83,    84,    -1,    10,    11,    12,    13,
    3901       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3902       24,    25,    26,    27,    -1,    67,    30,    31,    32,   109,
    3903       72,   111,    74,    75,    76,    39,    -1,    -1,    -1,   119,
    3904       -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
    3905       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3906       26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
    3907       74,    75,    76,    39,    -1,    -1,    -1,   119,    -1,    83,
    3908       84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3909       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3910       28,    67,    30,    31,    32,   109,    72,   111,    74,    75,
    3911       76,    39,    -1,    -1,    -1,   119,    -1,    83,    84,    -1,
    3912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3914       -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
    3915       78,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
    3916       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3917       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3918       -1,   109,    -1,   111,    39,    40,    -1,    -1,    -1,    -1,
    3919       -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
    3920       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3921       27,    28,    67,    30,    31,    32,    -1,    -1,    -1,    74,
    3922       75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    3923       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3924       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3925       67,    -1,    39,    40,    -1,    -1,   111,    74,    75,    -1,
    3926      115,    78,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3928       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3929       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3930       -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
    3931       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3932       25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
    3933       -1,    -1,   119,    -1,    39,    40,    10,    11,    12,    13,
    3934       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3935       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3936       -1,    -1,    67,    -1,    -1,    39,    -1,    -1,    -1,    74,
    3937       75,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3938       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3939       26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
    3940       74,    75,    -1,    39,    -1,    -1,   111,    -1,    -1,    -1,
    3941      115,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3943       -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,
    3944       -1,    -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,
    3945       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3946       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3947       -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
    3948       -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
    3949       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3950       25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
    3951       -1,    74,    75,    -1,    39,    10,    11,    12,    13,    14,
    3952       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3953       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3954       -1,    -1,    67,    -1,    39,    -1,    -1,    -1,   111,    74,
    3955       75,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    3956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3957       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3958       75,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3959       -1,    -1,    -1,    -1,   119,    -1,    -1,    10,    11,    12,
    3960       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3961       23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
    3962       -1,    -1,    -1,    -1,   119,    -1,    39,    10,    11,    12,
    3963       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3964       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3965       -1,    -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    -1,
    3966       -1,    74,    75,    -1,    -1,    10,    11,    12,    13,    14,
    3967       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3968       25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
    3969       -1,    74,    75,    -1,    39,    -1,    -1,    -1,   111,    -1,
    3970       -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
    3971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3972       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,
    3973       75,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,
    3974        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3975       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3976       27,    -1,    -1,    30,    31,    32,   111,    -1,    -1,    -1,
    3977       -1,    -1,    39,    -1,   119,    -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       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    37,
    3981       38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,    47,
    3982       48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
    3983       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
    3984       -1,    -1,    -1,   110,    72,    -1,    -1,    -1,    76,    -1,
    3985       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3986       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3988       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3989      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3990      128,    -1,    37,    38,   132,    40,    41,    -1,    43,    -1,
    3991       -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3992       -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
    3993       -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3994       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3995       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    3996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3997       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3998       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3999       -1,    -1,    -1,   128,    -1,    -1,    -1,   132,     4,     5,
    4000        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    4001       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4002       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    4003       -1,    -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,
    4004       -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    4005       52,    53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
    4006       62,    67,    64,    69,    66,    71,    -1,    -1,    74,    75,
    4007       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    4008       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    4009       96,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4010       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    4011       -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
    4012      122,   123,    -1,    -1,    37,    38,   128,    40,    41,    -1,
    4013       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    4014       53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
    4015       -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
    4016       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    4017       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    4018       -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4019       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    4020       -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    4021      123,    -1,    -1,    37,    38,   128,    40,    41,    -1,    43,
    4022       -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    4023       -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
    4024       64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4025       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4026       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    4027       94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
    4028       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    4029      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4030       66,    -1,    -1,    -1,   128,    -1,    72,    -1,    -1,    -1,
    4031       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    4032       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    37,
    4033       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4034       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,    38,
    4035       -1,    40,   118,   119,   120,   121,   122,   123,    66,    -1,
    4036       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    4037       -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
    4038       -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,
    4039       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    4040       -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,    40,
    4041      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    4042      109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,   118,
    4043      119,   120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,
    4044       -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    4045       81,    82,    83,    84,    66,    86,    87,    -1,    -1,    -1,
    4046       72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,    81,
    4047       82,    83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,
    4048       -1,    -1,    94,    37,    38,    -1,    40,   118,   119,   120,
    4049      121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,    -1,
    4050       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    4051      122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4052       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4053       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    4054       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4055       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
    4056       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4057        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    4058       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    4059       24,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,
    4060       -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    4061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4063       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    4064       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    4065       84,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    4066       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    4067       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    4068       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    4069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4071       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    4072       -1,    -1,    74,    75,     3,     4,     5,     6,     7,     8,
    4073        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    4074       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    4075       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    4076       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4078       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    4079       69,    -1,    71,    -1,    -1,    74,    75,     4,     5,     6,
    4080        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    4081       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4082       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4083       -1,    -1,    39,    -1,    10,    11,    12,    13,    14,    15,
    4084       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4085       26,    27,    -1,    -1,    30,    31,    32,    33,    34,    35,
    4086       67,    -1,    69,    39,    71,    -1,    -1,    74,    75,    -1,
    4087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4089       -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75
     4002      -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
     4003      -1,    73,    74
    40904004};
    40914005
     
    40964010       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    40974011      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    4098       22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    4099       36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    4100       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,
    41014015     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    4102      222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
    4103      233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
    4104      244,   246,   254,   255,   282,   283,   284,   292,   295,   301,
    4105      302,   304,   306,   307,   313,   318,   322,   323,   324,   325,
    4106      326,   327,   328,   329,   349,   366,   367,   368,   369,    72,
    4107      119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
    4108      283,    82,   109,   311,   312,   313,   311,   311,    72,    74,
    4109       75,    76,   138,   139,   272,   273,   293,   294,    74,    75,
    4110      273,   109,   304,    11,   198,   109,   119,   318,   323,   324,
    4111      325,   327,   328,   329,   112,   134,   111,   217,   224,   226,
    4112      322,   326,   365,   366,   369,   370,   135,   107,   131,   276,
    4113      114,   135,   172,    74,    75,   137,   271,   135,   135,   135,
    4114      116,   135,    74,    75,   109,   119,   308,   317,   318,   319,
    4115      320,   321,   322,   326,   330,   331,   332,   333,   334,   340,
    4116        3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
    4117      227,   231,   234,   243,   284,   322,   326,   369,   214,   216,
    4118      226,   236,   240,   242,   283,   322,   326,    33,   232,   232,
    4119      227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
    4120      273,   284,   114,   273,   232,   227,   116,   135,   135,     0,
    4121      134,   109,   172,   311,   311,   134,   111,   224,   226,   367,
    4122      271,   271,   226,   131,   109,   119,   308,   318,   322,   111,
    4123      119,   369,   305,   229,   313,   109,   289,   109,   109,    51,
    4124      109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
    4125       82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
    4126      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,
    41274041     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    4128      161,   163,   165,   224,   275,   291,   365,   370,   226,   110,
    4129      110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
    4130      271,   349,   367,   111,   119,   163,   216,   217,   223,   226,
    4131      230,   231,   236,   239,   240,   242,   261,   262,   266,   267,
    4132      268,   269,   283,   349,   361,   362,   363,   364,   369,   370,
    4133      112,   109,   322,   326,   369,   109,   116,   132,   111,   114,
    4134      119,   163,   277,   277,   115,   134,   116,   132,   109,   116,
    4135      132,   116,   132,   116,   132,   311,   132,   318,   319,   320,
    4136      321,   331,   332,   333,   334,   226,   317,   330,    64,   310,
    4137      111,   311,   348,   349,   311,   311,   172,   134,   109,   311,
    4138      348,   311,   311,   226,   308,   109,   109,   225,   226,   224,
    4139      226,   112,   134,   224,   365,   370,   172,   134,   271,   276,
    4140      216,   231,   322,   326,   172,   134,   293,   226,   236,   132,
    4141      226,   226,   291,    40,   111,   224,   247,   248,   249,   250,
    4142      365,   369,   245,   257,   273,   256,   226,   293,   132,   132,
    4143      304,   134,   139,   270,     3,   135,   206,   207,   221,   223,
    4144      226,   134,   310,   109,   310,   163,   318,   226,   109,   134,
    4145      271,   114,    33,    34,    35,   224,   285,   286,   288,   134,
    4146      129,   131,   290,   134,   227,   233,   234,   271,   314,   315,
    4147      316,   109,   141,   109,   148,   109,   148,   150,   109,   148,
    4148      109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
    4149      274,   365,   112,   134,   150,   150,    82,    85,    86,    87,
    4150      109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
    4151      103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
    4152      121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
    4153      120,   128,   129,    94,    95,   130,   131,   372,   109,   119,
    4154      344,   345,   346,   347,   348,   110,   116,   109,   348,   349,
    4155      109,   348,   349,   134,   109,   224,   367,   112,   134,   111,
    4156      119,   135,   224,   226,   360,   361,   369,   370,   135,   109,
    4157      111,   119,   318,   335,   336,   337,   338,   339,   340,   341,
    4158      342,   343,   349,   350,   351,   352,   353,   354,   355,   119,
    4159      369,   226,   135,   135,   119,   224,   226,   362,   271,   224,
    4160      349,   362,   271,   109,   134,   134,   134,   112,   134,    72,
    4161       80,   111,   113,   140,   273,   277,   278,   279,   280,   281,
    4162      134,   134,   134,   134,   134,   134,   308,   110,   110,   110,
    4163      110,   110,   110,   110,   317,   330,   109,   276,   112,   206,
    4164      134,   308,   168,   275,   168,   275,   308,   111,   206,   310,
    4165      172,   134,   206,   110,   249,   250,   112,   134,   109,   117,
    4166      119,   251,   253,   317,   318,   330,   348,   356,   357,   358,
    4167      359,   115,   248,   116,   132,   116,   132,   273,   114,   116,
    4168      371,   131,   258,   114,   226,   263,   264,   265,   268,   269,
    4169      110,   116,   172,   134,   119,   163,   134,   223,   226,   262,
    4170      361,   369,   302,   303,   109,   119,   335,   110,   116,   372,
    4171      273,   285,   109,   114,   273,   275,   285,   110,   116,   109,
    4172      141,   110,   117,   274,   274,   274,   111,   139,   145,   163,
    4173      275,   274,   112,   134,   110,   116,   110,   109,   119,   356,
    4174      110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
    4175      139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
    4176      152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
    4177      158,   159,   117,   168,   163,   134,   345,   346,   347,   226,
    4178      344,   311,   311,   163,   275,   134,   270,   119,   134,   224,
    4179      349,   362,   226,   230,   112,   134,   112,   369,   112,   109,
    4180      134,   318,   336,   337,   338,   341,   351,   352,   353,   112,
    4181      134,   226,   335,   339,   350,   109,   311,   354,   372,   311,
    4182      311,   372,   109,   311,   354,   311,   311,   311,   311,   349,
    4183      224,   360,   370,   271,   112,   116,   112,   116,   372,   224,
    4184      362,   372,   259,   260,   261,   262,   259,   259,   271,   163,
    4185      134,   111,   273,   117,   116,   371,   277,    80,   111,   117,
    4186      281,    29,   208,   209,   271,   259,   139,   308,   139,   310,
    4187      109,   348,   349,   109,   348,   349,   141,   349,   172,   263,
    4188      110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
    4189      132,   111,   318,   357,   358,   359,   161,   162,   226,   356,
    4190      252,   253,   252,   311,   311,   273,   311,   247,   273,   115,
    4191      162,   257,   135,   135,   139,   221,   135,   135,   259,   109,
    4192      119,   369,   135,   115,   226,   286,   287,   135,   134,   134,
    4193      109,   135,   110,   315,   168,   169,   117,   132,   111,   141,
    4194      199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
    4195      110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
    4196      135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
    4197      263,   110,   110,   110,   344,   263,   110,   259,   224,   362,
    4198      111,   119,   163,   163,   226,   341,   263,   110,   110,   110,
    4199      110,   110,   110,   110,     7,   226,   335,   339,   350,   134,
    4200      134,   372,   134,   134,   110,   135,   135,   135,   135,   276,
    4201      135,   161,   162,   163,   309,   134,   277,   279,   115,   134,
    4202      210,   273,    40,    41,    43,    46,    47,    48,    49,    50,
    4203       51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
    4204      170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
    4205      197,   211,   307,    29,   135,   131,   276,   134,   134,   110,
    4206      135,   172,   247,   112,   110,   110,   110,   356,   251,   115,
    4207      258,   371,   110,   116,   112,   112,   135,   226,   116,   372,
    4208      289,   110,   285,   214,   216,   224,   297,   298,   299,   300,
    4209      291,   110,   110,   117,   162,   109,   110,   117,   116,   139,
    4210      163,   163,   278,   116,   135,   166,   112,   139,   146,   147,
    4211      163,   145,   135,   146,   161,   165,   135,   109,   348,   349,
    4212      135,   135,   134,   135,   135,   135,   163,   110,   135,   109,
    4213      348,   349,   109,   354,   109,   354,   349,   225,     7,   119,
    4214      135,   163,   263,   263,   262,   266,   266,   267,   116,   116,
    4215      110,   110,   112,    96,   123,   135,   135,   146,   277,   163,
    4216      116,   132,   211,   215,   226,   230,   109,   109,   170,   109,
    4217      109,   132,   139,   132,   139,   119,   139,   169,   109,   172,
    4218      164,   164,   112,   143,   117,   132,   135,   134,   135,   210,
    4219      110,   163,   263,   263,   311,   110,   115,   109,   348,   349,
    4220      115,   134,   110,   134,   135,   308,   115,   134,   135,   135,
    4221      110,   114,   199,   112,   162,   132,   199,   201,   110,   116,
    4222      135,   371,   164,   112,   135,    85,   113,   116,   135,   135,
    4223      112,   135,   110,   134,   110,   110,   112,   112,   112,   135,
    4224      110,   134,   134,   134,   163,   163,   135,   112,   135,   135,
    4225      135,   135,   134,   134,   162,   162,   112,   112,   135,   135,
    4226      273,   226,   168,   168,    47,   168,   134,   132,   132,   168,
    4227      132,   132,   168,    58,    59,    60,   193,   194,   195,   132,
    4228       63,   132,   114,   311,   174,   115,   132,   135,   135,   134,
    4229       96,   268,   269,   110,   298,   116,   132,   116,   132,   115,
    4230      296,   117,   141,   110,   110,   117,   166,   112,   115,   112,
    4231      111,   147,   111,   147,   147,   112,   112,   112,   263,   112,
    4232      263,   263,   263,   135,   135,   112,   112,   110,   110,   112,
    4233      116,    96,   262,    96,   135,   112,   112,   110,   110,   109,
    4234      110,   169,   190,   211,   132,   110,   109,   109,   172,   195,
    4235       58,    59,   163,   144,   170,   110,   110,   263,   114,   134,
    4236      134,   297,   141,   202,   109,   132,   202,   135,   117,   134,
    4237      134,   135,   135,   135,   135,   112,   112,   134,   135,   112,
    4238      170,    44,    45,   114,   180,   181,   182,   168,   170,   135,
    4239      110,   169,   114,   182,    96,   134,    96,   134,   109,   109,
    4240      132,   115,   135,   134,   271,   308,   115,   116,   117,   162,
    4241      110,   112,   163,   146,   146,   110,   110,   110,   110,   266,
    4242       42,   162,   178,   179,   309,   117,   134,   170,   180,   110,
    4243      132,   170,   132,   134,   110,   134,   110,   134,    96,   134,
    4244       96,   134,   132,   110,   297,   141,   139,   203,   110,   132,
    4245      117,   135,   135,   170,    96,   116,   117,   135,   204,   205,
    4246      211,   132,   169,   169,   204,   172,   196,   224,   365,   172,
    4247      196,   110,   134,   110,   134,   115,   110,   116,   163,   112,
    4248      112,   162,   178,   181,   183,   184,   134,   132,   181,   185,
    4249      186,   135,   109,   119,   308,   356,   139,   135,   172,   196,
    4250      172,   196,   109,   132,   139,   170,   175,   115,   181,   211,
    4251      169,    56,   175,   188,   115,   181,   110,   226,   110,   135,
    4252      135,   291,   170,   175,   132,   187,   188,   175,   188,   172,
    4253      172,   110,   110,   110,   187,   135,   135,   172,   172,   135,
    4254      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
    42554168};
    42564169
     
    50895002
    50905003/* Line 1806 of yacc.c  */
    5091 #line 292 "parser.yy"
     5004#line 290 "parser.yy"
    50925005    {
    50935006                        typedefTable.enterScope();
     
    50985011
    50995012/* Line 1806 of yacc.c  */
    5100 #line 298 "parser.yy"
     5013#line 296 "parser.yy"
    51015014    {
    51025015                        typedefTable.leaveScope();
     
    51075020
    51085021/* 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  */
     5029#line 306 "parser.yy"
     5030    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
     5031    break;
     5032
     5033  case 6:
     5034
     5035/* Line 1806 of yacc.c  */
    51095036#line 307 "parser.yy"
    5110     { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    5111     break;
    5112 
    5113   case 5:
    5114 
    5115 /* Line 1806 of yacc.c  */
    5116 #line 308 "parser.yy"
    5117     { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    5118     break;
    5119 
    5120   case 6:
    5121 
    5122 /* Line 1806 of yacc.c  */
    5123 #line 309 "parser.yy"
    51245037    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    51255038    break;
     
    51285041
    51295042/* Line 1806 of yacc.c  */
    5130 #line 334 "parser.yy"
     5043#line 332 "parser.yy"
    51315044    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    51325045    break;
     
    51355048
    51365049/* Line 1806 of yacc.c  */
    5137 #line 335 "parser.yy"
     5050#line 333 "parser.yy"
    51385051    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    51395052    break;
    51405053
    51415054  case 18:
     5055
     5056/* Line 1806 of yacc.c  */
     5057#line 340 "parser.yy"
     5058    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5059    break;
     5060
     5061  case 19:
    51425062
    51435063/* Line 1806 of yacc.c  */
     
    51465066    break;
    51475067
    5148   case 19:
     5068  case 20:
    51495069
    51505070/* Line 1806 of yacc.c  */
    51515071#line 344 "parser.yy"
    5152     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    5153     break;
    5154 
    5155   case 20:
     5072    { (yyval.en) = (yyvsp[(2) - (3)].en); }
     5073    break;
     5074
     5075  case 21:
    51565076
    51575077/* Line 1806 of yacc.c  */
    51585078#line 346 "parser.yy"
    5159     { (yyval.en) = (yyvsp[(2) - (3)].en); }
    5160     break;
    5161 
    5162   case 21:
    5163 
    5164 /* Line 1806 of yacc.c  */
    5165 #line 348 "parser.yy"
    51665079    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    51675080    break;
     
    51705083
    51715084/* Line 1806 of yacc.c  */
     5085#line 356 "parser.yy"
     5086    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
     5087    break;
     5088
     5089  case 24:
     5090
     5091/* Line 1806 of yacc.c  */
    51725092#line 358 "parser.yy"
    5173     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    5174     break;
    5175 
    5176   case 24:
    5177 
    5178 /* Line 1806 of yacc.c  */
    5179 #line 360 "parser.yy"
    51805093    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    51815094    break;
     
    51845097
    51855098/* Line 1806 of yacc.c  */
    5186 #line 364 "parser.yy"
     5099#line 362 "parser.yy"
    51875100    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51885101    break;
     
    51915104
    51925105/* Line 1806 of yacc.c  */
    5193 #line 367 "parser.yy"
     5106#line 365 "parser.yy"
    51945107    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51955108    break;
     
    51985111
    51995112/* Line 1806 of yacc.c  */
     5113#line 368 "parser.yy"
     5114    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
     5115    break;
     5116
     5117  case 30:
     5118
     5119/* Line 1806 of yacc.c  */
    52005120#line 370 "parser.yy"
    5201     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    5202     break;
    5203 
    5204   case 30:
     5121    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
     5122    break;
     5123
     5124  case 31:
    52055125
    52065126/* Line 1806 of yacc.c  */
    52075127#line 372 "parser.yy"
    5208     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    5209     break;
    5210 
    5211   case 31:
     5128    { (yyval.en) = 0; }
     5129    break;
     5130
     5131  case 32:
    52125132
    52135133/* Line 1806 of yacc.c  */
    52145134#line 374 "parser.yy"
    5215     { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); }
    5216     break;
    5217 
    5218   case 32:
    5219 
    5220 /* Line 1806 of yacc.c  */
    5221 #line 376 "parser.yy"
    52225135    {
    52235136                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    52295142
    52305143/* Line 1806 of yacc.c  */
    5231 #line 385 "parser.yy"
     5144#line 383 "parser.yy"
    52325145    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    52335146    break;
     
    52365149
    52375150/* Line 1806 of yacc.c  */
    5238 #line 390 "parser.yy"
     5151#line 388 "parser.yy"
    52395152    { (yyval.en) = 0; }
    52405153    break;
     
    52435156
    52445157/* Line 1806 of yacc.c  */
    5245 #line 393 "parser.yy"
     5158#line 391 "parser.yy"
    52465159    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    52475160    break;
     
    52505163
    52515164/* Line 1806 of yacc.c  */
     5165#line 396 "parser.yy"
     5166    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
     5167    break;
     5168
     5169  case 39:
     5170
     5171/* Line 1806 of yacc.c  */
    52525172#line 398 "parser.yy"
    5253     { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    5254     break;
    5255 
    5256   case 39:
    5257 
    5258 /* Line 1806 of yacc.c  */
    5259 #line 400 "parser.yy"
    52605173    { (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) )))); }
    52615174    break;
     
    52645177
    52655178/* Line 1806 of yacc.c  */
    5266 #line 405 "parser.yy"
     5179#line 403 "parser.yy"
    52675180    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    52685181    break;
     
    52715184
    52725185/* Line 1806 of yacc.c  */
    5273 #line 410 "parser.yy"
     5186#line 408 "parser.yy"
    52745187    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    52755188    break;
     
    52785191
    52795192/* Line 1806 of yacc.c  */
     5193#line 412 "parser.yy"
     5194    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5195    break;
     5196
     5197  case 44:
     5198
     5199/* Line 1806 of yacc.c  */
    52805200#line 414 "parser.yy"
    5281     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    5282     break;
    5283 
    5284   case 44:
     5201    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
     5202    break;
     5203
     5204  case 45:
    52855205
    52865206/* Line 1806 of yacc.c  */
    52875207#line 416 "parser.yy"
    5288     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    5289     break;
    5290 
    5291   case 45:
     5208    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
     5209    break;
     5210
     5211  case 46:
    52925212
    52935213/* Line 1806 of yacc.c  */
    52945214#line 418 "parser.yy"
    5295     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    5296     break;
    5297 
    5298   case 46:
    5299 
    5300 /* Line 1806 of yacc.c  */
    5301 #line 420 "parser.yy"
    53025215    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    53035216    break;
    53045217
    53055218  case 48:
     5219
     5220/* Line 1806 of yacc.c  */
     5221#line 426 "parser.yy"
     5222    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5223    break;
     5224
     5225  case 49:
    53065226
    53075227/* Line 1806 of yacc.c  */
     
    53105230    break;
    53115231
    5312   case 49:
     5232  case 50:
    53135233
    53145234/* Line 1806 of yacc.c  */
    53155235#line 430 "parser.yy"
    5316     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5317     break;
    5318 
    5319   case 50:
     5236    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
     5237    break;
     5238
     5239  case 51:
    53205240
    53215241/* Line 1806 of yacc.c  */
    53225242#line 432 "parser.yy"
    5323     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    5324     break;
    5325 
    5326   case 51:
     5243    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
     5244    break;
     5245
     5246  case 52:
    53275247
    53285248/* Line 1806 of yacc.c  */
    53295249#line 434 "parser.yy"
    5330     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    5331     break;
    5332 
    5333   case 52:
     5250    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5251    break;
     5252
     5253  case 53:
    53345254
    53355255/* Line 1806 of yacc.c  */
    53365256#line 436 "parser.yy"
    5337     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    5338     break;
    5339 
    5340   case 53:
     5257    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5258    break;
     5259
     5260  case 54:
    53415261
    53425262/* Line 1806 of yacc.c  */
    53435263#line 438 "parser.yy"
    5344     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5345     break;
    5346 
    5347   case 54:
     5264    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
     5265    break;
     5266
     5267  case 55:
    53485268
    53495269/* Line 1806 of yacc.c  */
    53505270#line 440 "parser.yy"
    5351     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    5352     break;
    5353 
    5354   case 55:
    5355 
    5356 /* Line 1806 of yacc.c  */
    5357 #line 442 "parser.yy"
    53585271    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    53595272    break;
     
    53625275
    53635276/* Line 1806 of yacc.c  */
     5277#line 446 "parser.yy"
     5278    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
     5279    break;
     5280
     5281  case 57:
     5282
     5283/* Line 1806 of yacc.c  */
    53645284#line 448 "parser.yy"
    5365     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    5366     break;
    5367 
    5368   case 57:
     5285    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5286    break;
     5287
     5288  case 58:
    53695289
    53705290/* Line 1806 of yacc.c  */
    53715291#line 450 "parser.yy"
    5372     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5373     break;
    5374 
    5375   case 58:
     5292    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
     5293    break;
     5294
     5295  case 59:
    53765296
    53775297/* Line 1806 of yacc.c  */
    53785298#line 452 "parser.yy"
    5379     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    5380     break;
    5381 
    5382   case 59:
     5299    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
     5300    break;
     5301
     5302  case 60:
    53835303
    53845304/* Line 1806 of yacc.c  */
    53855305#line 454 "parser.yy"
    5386     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    5387     break;
    5388 
    5389   case 60:
     5306    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5307    break;
     5308
     5309  case 61:
    53905310
    53915311/* Line 1806 of yacc.c  */
    53925312#line 456 "parser.yy"
    5393     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    5394     break;
    5395 
    5396   case 61:
     5313    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5314    break;
     5315
     5316  case 62:
    53975317
    53985318/* Line 1806 of yacc.c  */
    53995319#line 458 "parser.yy"
    5400     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    5401     break;
    5402 
    5403   case 62:
     5320    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
     5321    break;
     5322
     5323  case 63:
    54045324
    54055325/* Line 1806 of yacc.c  */
    54065326#line 460 "parser.yy"
    5407     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    5408     break;
    5409 
    5410   case 63:
     5327    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
     5328    break;
     5329
     5330  case 64:
    54115331
    54125332/* Line 1806 of yacc.c  */
    54135333#line 462 "parser.yy"
    5414     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    5415     break;
    5416 
    5417   case 64:
    5418 
    5419 /* Line 1806 of yacc.c  */
    5420 #line 464 "parser.yy"
    54215334    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    54225335    break;
     
    54255338
    54265339/* 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  */
     5347#line 467 "parser.yy"
     5348    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
     5349    break;
     5350
     5351  case 67:
     5352
     5353/* Line 1806 of yacc.c  */
    54275354#line 468 "parser.yy"
    5428     { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    5429     break;
    5430 
    5431   case 66:
     5355    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
     5356    break;
     5357
     5358  case 68:
    54325359
    54335360/* Line 1806 of yacc.c  */
    54345361#line 469 "parser.yy"
    5435     { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    5436     break;
    5437 
    5438   case 67:
    5439 
    5440 /* Line 1806 of yacc.c  */
    5441 #line 470 "parser.yy"
    5442     { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    5443     break;
    5444 
    5445   case 68:
    5446 
    5447 /* Line 1806 of yacc.c  */
    5448 #line 471 "parser.yy"
    54495362    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    54505363    break;
    54515364
    54525365  case 70:
     5366
     5367/* Line 1806 of yacc.c  */
     5368#line 475 "parser.yy"
     5369    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5370    break;
     5371
     5372  case 71:
    54535373
    54545374/* Line 1806 of yacc.c  */
     
    54575377    break;
    54585378
    5459   case 71:
    5460 
    5461 /* Line 1806 of yacc.c  */
    5462 #line 479 "parser.yy"
    5463     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5464     break;
    5465 
    54665379  case 73:
    54675380
    54685381/* Line 1806 of yacc.c  */
     5382#line 483 "parser.yy"
     5383    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5384    break;
     5385
     5386  case 74:
     5387
     5388/* Line 1806 of yacc.c  */
    54695389#line 485 "parser.yy"
    5470     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5471     break;
    5472 
    5473   case 74:
     5390    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5391    break;
     5392
     5393  case 75:
    54745394
    54755395/* Line 1806 of yacc.c  */
    54765396#line 487 "parser.yy"
    5477     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5478     break;
    5479 
    5480   case 75:
    5481 
    5482 /* Line 1806 of yacc.c  */
    5483 #line 489 "parser.yy"
    54845397    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54855398    break;
     
    54885401
    54895402/* Line 1806 of yacc.c  */
     5403#line 493 "parser.yy"
     5404    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5405    break;
     5406
     5407  case 78:
     5408
     5409/* Line 1806 of yacc.c  */
    54905410#line 495 "parser.yy"
    5491     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5492     break;
    5493 
    5494   case 78:
    5495 
    5496 /* Line 1806 of yacc.c  */
    5497 #line 497 "parser.yy"
    54985411    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54995412    break;
     
    55025415
    55035416/* Line 1806 of yacc.c  */
     5417#line 501 "parser.yy"
     5418    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5419    break;
     5420
     5421  case 81:
     5422
     5423/* Line 1806 of yacc.c  */
    55045424#line 503 "parser.yy"
    5505     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5506     break;
    5507 
    5508   case 81:
    5509 
    5510 /* Line 1806 of yacc.c  */
    5511 #line 505 "parser.yy"
    55125425    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55135426    break;
     
    55165429
    55175430/* Line 1806 of yacc.c  */
     5431#line 509 "parser.yy"
     5432    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5433    break;
     5434
     5435  case 84:
     5436
     5437/* Line 1806 of yacc.c  */
    55185438#line 511 "parser.yy"
    5519     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5520     break;
    5521 
    5522   case 84:
     5439    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5440    break;
     5441
     5442  case 85:
    55235443
    55245444/* Line 1806 of yacc.c  */
    55255445#line 513 "parser.yy"
    5526     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5527     break;
    5528 
    5529   case 85:
     5446    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5447    break;
     5448
     5449  case 86:
    55305450
    55315451/* Line 1806 of yacc.c  */
    55325452#line 515 "parser.yy"
    5533     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5534     break;
    5535 
    5536   case 86:
    5537 
    5538 /* Line 1806 of yacc.c  */
    5539 #line 517 "parser.yy"
    55405453    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55415454    break;
     
    55445457
    55455458/* Line 1806 of yacc.c  */
     5459#line 521 "parser.yy"
     5460    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5461    break;
     5462
     5463  case 89:
     5464
     5465/* Line 1806 of yacc.c  */
    55465466#line 523 "parser.yy"
    5547     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5548     break;
    5549 
    5550   case 89:
    5551 
    5552 /* Line 1806 of yacc.c  */
    5553 #line 525 "parser.yy"
    55545467    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55555468    break;
     
    55585471
    55595472/* Line 1806 of yacc.c  */
    5560 #line 531 "parser.yy"
     5473#line 529 "parser.yy"
    55615474    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55625475    break;
     
    55655478
    55665479/* Line 1806 of yacc.c  */
    5567 #line 537 "parser.yy"
     5480#line 535 "parser.yy"
    55685481    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55695482    break;
     
    55725485
    55735486/* Line 1806 of yacc.c  */
    5574 #line 543 "parser.yy"
     5487#line 541 "parser.yy"
    55755488    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55765489    break;
     
    55795492
    55805493/* Line 1806 of yacc.c  */
    5581 #line 549 "parser.yy"
     5494#line 547 "parser.yy"
    55825495    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55835496    break;
     
    55865499
    55875500/* Line 1806 of yacc.c  */
    5588 #line 555 "parser.yy"
     5501#line 553 "parser.yy"
    55895502    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55905503    break;
     
    55935506
    55945507/* Line 1806 of yacc.c  */
     5508#line 559 "parser.yy"
     5509    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
     5510    break;
     5511
     5512  case 102:
     5513
     5514/* Line 1806 of yacc.c  */
    55955515#line 561 "parser.yy"
     5516    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
     5517    break;
     5518
     5519  case 103:
     5520
     5521/* Line 1806 of yacc.c  */
     5522#line 563 "parser.yy"
    55965523    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55975524    break;
    55985525
    5599   case 102:
    5600 
    5601 /* Line 1806 of yacc.c  */
    5602 #line 563 "parser.yy"
    5603     { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    5604     break;
    5605 
    5606   case 103:
    5607 
    5608 /* Line 1806 of yacc.c  */
    5609 #line 565 "parser.yy"
    5610     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    5611     break;
    5612 
    56135526  case 106:
    56145527
    56155528/* Line 1806 of yacc.c  */
     5529#line 574 "parser.yy"
     5530    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5531    break;
     5532
     5533  case 107:
     5534
     5535/* Line 1806 of yacc.c  */
    56165536#line 576 "parser.yy"
    5617     { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5618     break;
    5619 
    5620   case 107:
     5537    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5538    break;
     5539
     5540  case 108:
    56215541
    56225542/* Line 1806 of yacc.c  */
    56235543#line 578 "parser.yy"
    5624     { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    5625     break;
    5626 
    5627   case 108:
    5628 
    5629 /* Line 1806 of yacc.c  */
    5630 #line 580 "parser.yy"
    56315544    { (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) ); }
    56325545    break;
     
    56355548
    56365549/* Line 1806 of yacc.c  */
    5637 #line 585 "parser.yy"
     5550#line 583 "parser.yy"
    56385551    { (yyval.en) = new NullExprNode; }
    56395552    break;
     
    56425555
    56435556/* Line 1806 of yacc.c  */
     5557#line 591 "parser.yy"
     5558    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
     5559    break;
     5560
     5561  case 112:
     5562
     5563/* Line 1806 of yacc.c  */
    56445564#line 593 "parser.yy"
    5645     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    5646     break;
    5647 
    5648   case 112:
     5565    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
     5566    break;
     5567
     5568  case 113:
    56495569
    56505570/* Line 1806 of yacc.c  */
    56515571#line 595 "parser.yy"
    5652     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    5653     break;
    5654 
    5655   case 113:
     5572    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
     5573    break;
     5574
     5575  case 114:
    56565576
    56575577/* Line 1806 of yacc.c  */
    56585578#line 597 "parser.yy"
    5659     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    5660     break;
    5661 
    5662   case 114:
    5663 
    5664 /* Line 1806 of yacc.c  */
    5665 #line 599 "parser.yy"
    56665579    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    56675580    break;
     
    56705583
    56715584/* Line 1806 of yacc.c  */
    5672 #line 605 "parser.yy"
     5585#line 603 "parser.yy"
    56735586    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    56745587    break;
     
    56775590
    56785591/* 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  */
     5599#line 608 "parser.yy"
     5600    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
     5601    break;
     5602
     5603  case 119:
     5604
     5605/* Line 1806 of yacc.c  */
    56795606#line 609 "parser.yy"
    5680     { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    5681     break;
    5682 
    5683   case 118:
     5607    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
     5608    break;
     5609
     5610  case 120:
    56845611
    56855612/* Line 1806 of yacc.c  */
    56865613#line 610 "parser.yy"
    5687     { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    5688     break;
    5689 
    5690   case 119:
     5614    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
     5615    break;
     5616
     5617  case 121:
    56915618
    56925619/* Line 1806 of yacc.c  */
    56935620#line 611 "parser.yy"
    5694     { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    5695     break;
    5696 
    5697   case 120:
     5621    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
     5622    break;
     5623
     5624  case 122:
    56985625
    56995626/* Line 1806 of yacc.c  */
    57005627#line 612 "parser.yy"
    5701     { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    5702     break;
    5703 
    5704   case 121:
     5628    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
     5629    break;
     5630
     5631  case 123:
    57055632
    57065633/* Line 1806 of yacc.c  */
    57075634#line 613 "parser.yy"
    5708     { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    5709     break;
    5710 
    5711   case 122:
     5635    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
     5636    break;
     5637
     5638  case 124:
    57125639
    57135640/* Line 1806 of yacc.c  */
    57145641#line 614 "parser.yy"
    5715     { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    5716     break;
    5717 
    5718   case 123:
     5642    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
     5643    break;
     5644
     5645  case 125:
    57195646
    57205647/* Line 1806 of yacc.c  */
    57215648#line 615 "parser.yy"
    5722     { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    5723     break;
    5724 
    5725   case 124:
     5649    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
     5650    break;
     5651
     5652  case 126:
    57265653
    57275654/* Line 1806 of yacc.c  */
    57285655#line 616 "parser.yy"
    5729     { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    5730     break;
    5731 
    5732   case 125:
    5733 
    5734 /* Line 1806 of yacc.c  */
    5735 #line 617 "parser.yy"
    5736     { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    5737     break;
    5738 
    5739   case 126:
    5740 
    5741 /* Line 1806 of yacc.c  */
    5742 #line 618 "parser.yy"
    57435656    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    57445657    break;
     
    57475660
    57485661/* Line 1806 of yacc.c  */
    5749 #line 624 "parser.yy"
     5662#line 622 "parser.yy"
    57505663    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57515664    break;
     
    57545667
    57555668/* Line 1806 of yacc.c  */
    5756 #line 629 "parser.yy"
     5669#line 627 "parser.yy"
    57575670    { (yyval.en) = 0; }
    57585671    break;
     
    57615674
    57625675/* Line 1806 of yacc.c  */
    5763 #line 638 "parser.yy"
     5676#line 636 "parser.yy"
    57645677    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    57655678    break;
     
    57685681
    57695682/* Line 1806 of yacc.c  */
    5770 #line 645 "parser.yy"
     5683#line 643 "parser.yy"
    57715684    {
    57725685                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    57795692
    57805693/* Line 1806 of yacc.c  */
    5781 #line 654 "parser.yy"
     5694#line 652 "parser.yy"
    57825695    {
    57835696                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57885701
    57895702/* Line 1806 of yacc.c  */
    5790 #line 661 "parser.yy"
     5703#line 659 "parser.yy"
    57915704    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57925705    break;
     
    57955708
    57965709/* Line 1806 of yacc.c  */
    5797 #line 668 "parser.yy"
     5710#line 666 "parser.yy"
    57985711    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57995712    break;
     
    58025715
    58035716/* Line 1806 of yacc.c  */
    5804 #line 674 "parser.yy"
     5717#line 672 "parser.yy"
    58055718    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    58065719    break;
     
    58095722
    58105723/* Line 1806 of yacc.c  */
     5724#line 677 "parser.yy"
     5725    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5726    break;
     5727
     5728  case 146:
     5729
     5730/* Line 1806 of yacc.c  */
    58115731#line 679 "parser.yy"
     5732    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
     5733    break;
     5734
     5735  case 147:
     5736
     5737/* Line 1806 of yacc.c  */
     5738#line 681 "parser.yy"
    58125739    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    58135740    break;
    58145741
    5815   case 146:
    5816 
    5817 /* Line 1806 of yacc.c  */
    5818 #line 681 "parser.yy"
    5819     { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    5820     break;
    5821 
    5822   case 147:
    5823 
    5824 /* Line 1806 of yacc.c  */
    5825 #line 683 "parser.yy"
    5826     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    5827     break;
    5828 
    58295742  case 150:
    58305743
    58315744/* Line 1806 of yacc.c  */
    5832 #line 690 "parser.yy"
     5745#line 688 "parser.yy"
    58335746    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    58345747    break;
     
    58375750
    58385751/* Line 1806 of yacc.c  */
    5839 #line 695 "parser.yy"
     5752#line 693 "parser.yy"
    58405753    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    58415754    break;
     
    58445757
    58455758/* Line 1806 of yacc.c  */
     5759#line 699 "parser.yy"
     5760    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5761    break;
     5762
     5763  case 153:
     5764
     5765/* Line 1806 of yacc.c  */
    58465766#line 701 "parser.yy"
    5847     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5848     break;
    5849 
    5850   case 153:
     5767    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
     5768    break;
     5769
     5770  case 154:
    58515771
    58525772/* Line 1806 of yacc.c  */
    58535773#line 703 "parser.yy"
    5854     { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    5855     break;
    5856 
    5857   case 154:
     5774    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5775    break;
     5776
     5777  case 155:
    58585778
    58595779/* Line 1806 of yacc.c  */
    58605780#line 705 "parser.yy"
    5861     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5862     break;
    5863 
    5864   case 155:
    5865 
    5866 /* Line 1806 of yacc.c  */
    5867 #line 707 "parser.yy"
    58685781    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    58695782    break;
     
    58725785
    58735786/* Line 1806 of yacc.c  */
     5787#line 710 "parser.yy"
     5788    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5789    break;
     5790
     5791  case 157:
     5792
     5793/* Line 1806 of yacc.c  */
    58745794#line 712 "parser.yy"
    5875     { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    5876     break;
    5877 
    5878   case 157:
    5879 
    5880 /* Line 1806 of yacc.c  */
    5881 #line 714 "parser.yy"
    58825795    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    58835796    break;
     
    58865799
    58875800/* Line 1806 of yacc.c  */
     5801#line 719 "parser.yy"
     5802    { (yyval.en) = (yyvsp[(1) - (1)].en); }
     5803    break;
     5804
     5805  case 159:
     5806
     5807/* Line 1806 of yacc.c  */
    58885808#line 721 "parser.yy"
    5889     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    5890     break;
    5891 
    5892   case 159:
    5893 
    5894 /* Line 1806 of yacc.c  */
    5895 #line 723 "parser.yy"
    58965809    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58975810    break;
     
    59005813
    59015814/* Line 1806 of yacc.c  */
    5902 #line 730 "parser.yy"
     5815#line 728 "parser.yy"
    59035816    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    59045817    break;
     
    59075820
    59085821/* Line 1806 of yacc.c  */
    5909 #line 734 "parser.yy"
     5822#line 732 "parser.yy"
    59105823    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    59115824    break;
     
    59145827
    59155828/* Line 1806 of yacc.c  */
    5916 #line 735 "parser.yy"
     5829#line 733 "parser.yy"
    59175830    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    59185831    break;
     
    59215834
    59225835/* Line 1806 of yacc.c  */
    5923 #line 741 "parser.yy"
     5836#line 739 "parser.yy"
    59245837    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    59255838    break;
     
    59285841
    59295842/* Line 1806 of yacc.c  */
    5930 #line 745 "parser.yy"
     5843#line 743 "parser.yy"
    59315844    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59325845    break;
     
    59355848
    59365849/* Line 1806 of yacc.c  */
    5937 #line 750 "parser.yy"
     5850#line 748 "parser.yy"
    59385851    { (yyval.sn) = 0; }
    59395852    break;
     
    59425855
    59435856/* Line 1806 of yacc.c  */
     5857#line 754 "parser.yy"
     5858    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5859    break;
     5860
     5861  case 171:
     5862
     5863/* Line 1806 of yacc.c  */
    59445864#line 756 "parser.yy"
     5865    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5866    break;
     5867
     5868  case 172:
     5869
     5870/* Line 1806 of yacc.c  */
     5871#line 761 "parser.yy"
     5872    { (yyval.sn) = 0; }
     5873    break;
     5874
     5875  case 174:
     5876
     5877/* Line 1806 of yacc.c  */
     5878#line 767 "parser.yy"
    59455879    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59465880    break;
    59475881
    5948   case 171:
    5949 
    5950 /* Line 1806 of yacc.c  */
    5951 #line 758 "parser.yy"
     5882  case 175:
     5883
     5884/* Line 1806 of yacc.c  */
     5885#line 769 "parser.yy"
     5886    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
     5887    break;
     5888
     5889  case 176:
     5890
     5891/* Line 1806 of yacc.c  */
     5892#line 771 "parser.yy"
    59525893    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59535894    break;
    59545895
    5955   case 172:
    5956 
    5957 /* Line 1806 of yacc.c  */
    5958 #line 763 "parser.yy"
     5896  case 177:
     5897
     5898/* Line 1806 of yacc.c  */
     5899#line 773 "parser.yy"
     5900    { (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) ))))); }
     5901    break;
     5902
     5903  case 178:
     5904
     5905/* Line 1806 of yacc.c  */
     5906#line 778 "parser.yy"
    59595907    { (yyval.sn) = 0; }
    59605908    break;
    59615909
    5962   case 174:
    5963 
    5964 /* Line 1806 of yacc.c  */
    5965 #line 769 "parser.yy"
    5966     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5967     break;
    5968 
    5969   case 175:
    5970 
    5971 /* Line 1806 of yacc.c  */
    5972 #line 771 "parser.yy"
    5973     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    5974     break;
    5975 
    5976   case 176:
    5977 
    5978 /* Line 1806 of yacc.c  */
    5979 #line 773 "parser.yy"
    5980     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    5981     break;
    5982 
    5983   case 177:
    5984 
    5985 /* Line 1806 of yacc.c  */
    5986 #line 775 "parser.yy"
    5987     { (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) ))))); }
    5988     break;
    5989 
    5990   case 178:
    5991 
    5992 /* Line 1806 of yacc.c  */
    5993 #line 780 "parser.yy"
    5994     { (yyval.sn) = 0; }
    5995     break;
    5996 
    59975910  case 180:
    59985911
    59995912/* Line 1806 of yacc.c  */
    6000 #line 785 "parser.yy"
     5913#line 783 "parser.yy"
    60015914    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60025915    break;
     
    60055918
    60065919/* Line 1806 of yacc.c  */
    6007 #line 786 "parser.yy"
     5920#line 784 "parser.yy"
    60085921    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60095922    break;
     
    60125925
    60135926/* Line 1806 of yacc.c  */
     5927#line 789 "parser.yy"
     5928    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     5929    break;
     5930
     5931  case 183:
     5932
     5933/* Line 1806 of yacc.c  */
    60145934#line 791 "parser.yy"
    6015     { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    6016     break;
    6017 
    6018   case 183:
     5935    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
     5936    break;
     5937
     5938  case 184:
    60195939
    60205940/* Line 1806 of yacc.c  */
    60215941#line 793 "parser.yy"
    6022     { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    6023     break;
    6024 
    6025   case 184:
    6026 
    6027 /* Line 1806 of yacc.c  */
    6028 #line 795 "parser.yy"
    60295942    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    60305943    break;
     
    60335946
    60345947/* Line 1806 of yacc.c  */
     5948#line 798 "parser.yy"
     5949    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
     5950    break;
     5951
     5952  case 186:
     5953
     5954/* Line 1806 of yacc.c  */
    60355955#line 800 "parser.yy"
    6036     { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    6037     break;
    6038 
    6039   case 186:
    6040 
    6041 /* Line 1806 of yacc.c  */
    6042 #line 802 "parser.yy"
    60435956    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    60445957    break;
     
    60475960
    60485961/* Line 1806 of yacc.c  */
    6049 #line 807 "parser.yy"
     5962#line 805 "parser.yy"
    60505963    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    60515964    break;
     
    60545967
    60555968/* Line 1806 of yacc.c  */
    6056 #line 811 "parser.yy"
     5969#line 809 "parser.yy"
    60575970    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    60585971    break;
     
    60615974
    60625975/* Line 1806 of yacc.c  */
    6063 #line 814 "parser.yy"
     5976#line 812 "parser.yy"
    60645977    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    60655978    break;
     
    60685981
    60695982/* Line 1806 of yacc.c  */
    6070 #line 818 "parser.yy"
     5983#line 816 "parser.yy"
    60715984    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    60725985    break;
     
    60755988
    60765989/* Line 1806 of yacc.c  */
    6077 #line 821 "parser.yy"
     5990#line 819 "parser.yy"
    60785991    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    60795992    break;
     
    60825995
    60835996/* Line 1806 of yacc.c  */
     5997#line 823 "parser.yy"
     5998    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
     5999    break;
     6000
     6001  case 193:
     6002
     6003/* Line 1806 of yacc.c  */
    60846004#line 825 "parser.yy"
    6085     { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    6086     break;
    6087 
    6088   case 193:
     6005    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
     6006    break;
     6007
     6008  case 194:
    60896009
    60906010/* Line 1806 of yacc.c  */
    60916011#line 827 "parser.yy"
    6092     { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    6093     break;
    6094 
    6095   case 194:
    6096 
    6097 /* Line 1806 of yacc.c  */
    6098 #line 829 "parser.yy"
    60996012    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    61006013    break;
     
    61036016
    61046017/* Line 1806 of yacc.c  */
     6018#line 831 "parser.yy"
     6019    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     6020    break;
     6021
     6022  case 196:
     6023
     6024/* Line 1806 of yacc.c  */
    61056025#line 833 "parser.yy"
    6106     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    6107     break;
    6108 
    6109   case 196:
    6110 
    6111 /* Line 1806 of yacc.c  */
    6112 #line 835 "parser.yy"
    61136026    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    61146027    break;
    61156028
    61166029  case 197:
     6030
     6031/* Line 1806 of yacc.c  */
     6032#line 840 "parser.yy"
     6033    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6034    break;
     6035
     6036  case 198:
    61176037
    61186038/* Line 1806 of yacc.c  */
     
    61216041    break;
    61226042
    6123   case 198:
     6043  case 199:
    61246044
    61256045/* Line 1806 of yacc.c  */
    61266046#line 844 "parser.yy"
    6127     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6128     break;
    6129 
    6130   case 199:
    6131 
    6132 /* Line 1806 of yacc.c  */
    6133 #line 846 "parser.yy"
    61346047    {
    61356048                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    61416054
    61426055/* Line 1806 of yacc.c  */
     6056#line 855 "parser.yy"
     6057    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
     6058    break;
     6059
     6060  case 202:
     6061
     6062/* Line 1806 of yacc.c  */
    61436063#line 857 "parser.yy"
     6064    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
     6065    break;
     6066
     6067  case 203:
     6068
     6069/* Line 1806 of yacc.c  */
     6070#line 859 "parser.yy"
    61446071    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61456072    break;
    61466073
    6147   case 202:
    6148 
    6149 /* Line 1806 of yacc.c  */
    6150 #line 859 "parser.yy"
     6074  case 204:
     6075
     6076/* Line 1806 of yacc.c  */
     6077#line 861 "parser.yy"
    61516078    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61526079    break;
    61536080
    6154   case 203:
    6155 
    6156 /* Line 1806 of yacc.c  */
    6157 #line 861 "parser.yy"
    6158     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6159     break;
    6160 
    6161   case 204:
    6162 
    6163 /* Line 1806 of yacc.c  */
    6164 #line 863 "parser.yy"
    6165     { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    6166     break;
    6167 
    61686081  case 205:
    61696082
    61706083/* Line 1806 of yacc.c  */
     6084#line 866 "parser.yy"
     6085    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6086    break;
     6087
     6088  case 206:
     6089
     6090/* Line 1806 of yacc.c  */
    61716091#line 868 "parser.yy"
     6092    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
     6093    break;
     6094
     6095  case 207:
     6096
     6097/* Line 1806 of yacc.c  */
     6098#line 870 "parser.yy"
    61726099    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61736100    break;
    61746101
    6175   case 206:
    6176 
    6177 /* Line 1806 of yacc.c  */
    6178 #line 870 "parser.yy"
     6102  case 208:
     6103
     6104/* Line 1806 of yacc.c  */
     6105#line 872 "parser.yy"
    61796106    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61806107    break;
    61816108
    6182   case 207:
    6183 
    6184 /* Line 1806 of yacc.c  */
    6185 #line 872 "parser.yy"
    6186     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    6187     break;
    6188 
    6189   case 208:
    6190 
    6191 /* Line 1806 of yacc.c  */
    6192 #line 874 "parser.yy"
    6193     { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    6194     break;
    6195 
    61966109  case 209:
    61976110
    61986111/* Line 1806 of yacc.c  */
    6199 #line 879 "parser.yy"
     6112#line 877 "parser.yy"
    62006113    {
    62016114                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    62076120
    62086121/* Line 1806 of yacc.c  */
    6209 #line 893 "parser.yy"
     6122#line 891 "parser.yy"
    62106123    {
    62116124                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62176130
    62186131/* Line 1806 of yacc.c  */
     6132#line 896 "parser.yy"
     6133    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     6134    break;
     6135
     6136  case 213:
     6137
     6138/* Line 1806 of yacc.c  */
    62196139#line 898 "parser.yy"
    6220     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    6221     break;
    6222 
    6223   case 213:
    6224 
    6225 /* Line 1806 of yacc.c  */
    6226 #line 900 "parser.yy"
    62276140    {
    62286141                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62346147
    62356148/* Line 1806 of yacc.c  */
     6149#line 907 "parser.yy"
     6150    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
     6151    break;
     6152
     6153  case 216:
     6154
     6155/* Line 1806 of yacc.c  */
    62366156#line 909 "parser.yy"
    6237     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    6238     break;
    6239 
    6240   case 216:
     6157    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
     6158    break;
     6159
     6160  case 217:
    62416161
    62426162/* Line 1806 of yacc.c  */
    62436163#line 911 "parser.yy"
    6244     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    6245     break;
    6246 
    6247   case 217:
     6164    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
     6165    break;
     6166
     6167  case 218:
    62486168
    62496169/* Line 1806 of yacc.c  */
    62506170#line 913 "parser.yy"
    6251     { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    6252     break;
    6253 
    6254   case 218:
     6171    { (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) ); }
     6172    break;
     6173
     6174  case 219:
    62556175
    62566176/* Line 1806 of yacc.c  */
    62576177#line 915 "parser.yy"
    6258     { (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) ); }
    6259     break;
    6260 
    6261   case 219:
    6262 
    6263 /* Line 1806 of yacc.c  */
    6264 #line 917 "parser.yy"
    62656178    { (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) ); }
    62666179    break;
     
    62696182
    62706183/* Line 1806 of yacc.c  */
     6184#line 920 "parser.yy"
     6185    { (yyval.flag) = false; }
     6186    break;
     6187
     6188  case 221:
     6189
     6190/* Line 1806 of yacc.c  */
    62716191#line 922 "parser.yy"
    6272     { (yyval.flag) = false; }
    6273     break;
    6274 
    6275   case 221:
    6276 
    6277 /* Line 1806 of yacc.c  */
    6278 #line 924 "parser.yy"
    62796192    { (yyval.flag) = true; }
    62806193    break;
     
    62836196
    62846197/* Line 1806 of yacc.c  */
    6285 #line 929 "parser.yy"
     6198#line 927 "parser.yy"
    62866199    { (yyval.en) = 0; }
    62876200    break;
     
    62906203
    62916204/* Line 1806 of yacc.c  */
    6292 #line 936 "parser.yy"
     6205#line 934 "parser.yy"
    62936206    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62946207    break;
     
    62976210
    62986211/* Line 1806 of yacc.c  */
     6212#line 939 "parser.yy"
     6213    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
     6214    break;
     6215
     6216  case 227:
     6217
     6218/* Line 1806 of yacc.c  */
    62996219#line 941 "parser.yy"
    6300     { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    6301     break;
    6302 
    6303   case 227:
    6304 
    6305 /* Line 1806 of yacc.c  */
    6306 #line 943 "parser.yy"
    63076220    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    63086221    break;
     
    63116224
    63126225/* Line 1806 of yacc.c  */
     6226#line 946 "parser.yy"
     6227    { (yyval.constant) = 0; }
     6228    break;
     6229
     6230  case 229:
     6231
     6232/* Line 1806 of yacc.c  */
    63136233#line 948 "parser.yy"
    6314     { (yyval.constant) = 0; }
    6315     break;
    6316 
    6317   case 229:
     6234    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
     6235    break;
     6236
     6237  case 230:
    63186238
    63196239/* Line 1806 of yacc.c  */
    63206240#line 950 "parser.yy"
    6321     { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    6322     break;
    6323 
    6324   case 230:
    6325 
    6326 /* Line 1806 of yacc.c  */
    6327 #line 952 "parser.yy"
    63286241    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    63296242    break;
     
    63326245
    63336246/* Line 1806 of yacc.c  */
     6247#line 955 "parser.yy"
     6248    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
     6249    break;
     6250
     6251  case 232:
     6252
     6253/* Line 1806 of yacc.c  */
    63346254#line 957 "parser.yy"
    6335     { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    6336     break;
    6337 
    6338   case 232:
    6339 
    6340 /* Line 1806 of yacc.c  */
    6341 #line 959 "parser.yy"
    63426255    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    63436256    break;
     
    63466259
    63476260/* Line 1806 of yacc.c  */
    6348 #line 966 "parser.yy"
     6261#line 964 "parser.yy"
    63496262    { (yyval.decl) = 0; }
    63506263    break;
     
    63536266
    63546267/* Line 1806 of yacc.c  */
    6355 #line 973 "parser.yy"
     6268#line 971 "parser.yy"
    63566269    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63576270    break;
     
    63606273
    63616274/* Line 1806 of yacc.c  */
    6362 #line 978 "parser.yy"
     6275#line 976 "parser.yy"
    63636276    { (yyval.decl) = 0; }
    63646277    break;
     
    63676280
    63686281/* Line 1806 of yacc.c  */
    6369 #line 985 "parser.yy"
     6282#line 983 "parser.yy"
    63706283    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63716284    break;
     
    63746287
    63756288/* Line 1806 of yacc.c  */
    6376 #line 999 "parser.yy"
     6289#line 997 "parser.yy"
    63776290    {}
    63786291    break;
     
    63816294
    63826295/* Line 1806 of yacc.c  */
    6383 #line 1000 "parser.yy"
     6296#line 998 "parser.yy"
    63846297    {}
    63856298    break;
     
    63886301
    63896302/* Line 1806 of yacc.c  */
    6390 #line 1029 "parser.yy"
     6303#line 1027 "parser.yy"
    63916304    {
    63926305                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6393                         (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) );
     6306                        (yyval.decl) = (yyvsp[(1) - (2)].decl);
    63946307                }
    63956308    break;
     
    63986311
    63996312/* Line 1806 of yacc.c  */
    6400 #line 1036 "parser.yy"
     6313#line 1034 "parser.yy"
    64016314    {
    64026315                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6403                         (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );;
     6316                        (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) );
    64046317                }
    64056318    break;
     
    64086321
    64096322/* Line 1806 of yacc.c  */
    6410 #line 1041 "parser.yy"
     6323#line 1039 "parser.yy"
    64116324    {
    64126325                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
    6413                         (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) );
     6326                        (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) );
    64146327                }
    64156328    break;
     
    64186331
    64196332/* Line 1806 of yacc.c  */
    6420 #line 1051 "parser.yy"
     6333#line 1049 "parser.yy"
    64216334    {
    64226335                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64286341
    64296342/* Line 1806 of yacc.c  */
    6430 #line 1056 "parser.yy"
     6343#line 1054 "parser.yy"
    64316344    {
    64326345                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64386351
    64396352/* Line 1806 of yacc.c  */
    6440 #line 1061 "parser.yy"
     6353#line 1059 "parser.yy"
    64416354    {
    64426355                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    64486361
    64496362/* Line 1806 of yacc.c  */
    6450 #line 1069 "parser.yy"
     6363#line 1067 "parser.yy"
    64516364    {
    64526365                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64586371
    64596372/* Line 1806 of yacc.c  */
    6460 #line 1074 "parser.yy"
     6373#line 1072 "parser.yy"
    64616374    {
    64626375                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64686381
    64696382/* Line 1806 of yacc.c  */
    6470 #line 1079 "parser.yy"
     6383#line 1077 "parser.yy"
    64716384    {
    64726385                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64786391
    64796392/* Line 1806 of yacc.c  */
    6480 #line 1084 "parser.yy"
     6393#line 1082 "parser.yy"
    64816394    {
    64826395                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64886401
    64896402/* Line 1806 of yacc.c  */
    6490 #line 1089 "parser.yy"
     6403#line 1087 "parser.yy"
    64916404    {
    64926405                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64986411
    64996412/* Line 1806 of yacc.c  */
    6500 #line 1097 "parser.yy"
     6413#line 1095 "parser.yy"
    65016414    {
    65026415                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    65076420
    65086421/* Line 1806 of yacc.c  */
    6509 #line 1120 "parser.yy"
     6422#line 1118 "parser.yy"
    65106423    {
    65116424                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65166429
    65176430/* Line 1806 of yacc.c  */
    6518 #line 1124 "parser.yy"
     6431#line 1122 "parser.yy"
    65196432    {
    65206433                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    65256438
    65266439/* Line 1806 of yacc.c  */
    6527 #line 1131 "parser.yy"
     6440#line 1129 "parser.yy"
    65286441    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    65296442    break;
     
    65326445
    65336446/* Line 1806 of yacc.c  */
    6534 #line 1135 "parser.yy"
     6447#line 1133 "parser.yy"
    65356448    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    65366449    break;
     
    65396452
    65406453/* Line 1806 of yacc.c  */
    6541 #line 1140 "parser.yy"
     6454#line 1138 "parser.yy"
    65426455    {
    65436456                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65496462
    65506463/* Line 1806 of yacc.c  */
    6551 #line 1145 "parser.yy"
     6464#line 1143 "parser.yy"
    65526465    {
    65536466                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65596472
    65606473/* Line 1806 of yacc.c  */
    6561 #line 1150 "parser.yy"
     6474#line 1148 "parser.yy"
    65626475    {
    65636476                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    65696482
    65706483/* Line 1806 of yacc.c  */
    6571 #line 1161 "parser.yy"
     6484#line 1159 "parser.yy"
    65726485    {
    65736486                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65796492
    65806493/* Line 1806 of yacc.c  */
    6581 #line 1166 "parser.yy"
     6494#line 1164 "parser.yy"
    65826495    {
    65836496                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65896502
    65906503/* Line 1806 of yacc.c  */
    6591 #line 1171 "parser.yy"
     6504#line 1169 "parser.yy"
    65926505    {
    65936506                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65996512
    66006513/* Line 1806 of yacc.c  */
    6601 #line 1176 "parser.yy"
     6514#line 1174 "parser.yy"
    66026515    {
    66036516                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66096522
    66106523/* Line 1806 of yacc.c  */
    6611 #line 1181 "parser.yy"
     6524#line 1179 "parser.yy"
    66126525    {
    66136526                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66196532
    66206533/* Line 1806 of yacc.c  */
    6621 #line 1190 "parser.yy"
     6534#line 1188 "parser.yy"
    66226535    {
    66236536                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    66296542
    66306543/* Line 1806 of yacc.c  */
    6631 #line 1195 "parser.yy"
     6544#line 1193 "parser.yy"
    66326545    {
    66336546                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    66396552
    66406553/* Line 1806 of yacc.c  */
    6641 #line 1212 "parser.yy"
     6554#line 1210 "parser.yy"
    66426555    {
    66436556                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66496562
    66506563/* Line 1806 of yacc.c  */
    6651 #line 1217 "parser.yy"
     6564#line 1215 "parser.yy"
    66526565    {
    66536566                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66596572
    66606573/* Line 1806 of yacc.c  */
    6661 #line 1239 "parser.yy"
     6574#line 1237 "parser.yy"
    66626575    { (yyval.decl) = 0; }
    66636576    break;
     
    66666579
    66676580/* Line 1806 of yacc.c  */
    6668 #line 1251 "parser.yy"
     6581#line 1249 "parser.yy"
    66696582    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66706583    break;
     
    66736586
    66746587/* Line 1806 of yacc.c  */
     6588#line 1260 "parser.yy"
     6589    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
     6590    break;
     6591
     6592  case 301:
     6593
     6594/* Line 1806 of yacc.c  */
    66756595#line 1262 "parser.yy"
    6676     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    6677     break;
    6678 
    6679   case 301:
     6596    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
     6597    break;
     6598
     6599  case 302:
    66806600
    66816601/* Line 1806 of yacc.c  */
    66826602#line 1264 "parser.yy"
    6683     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    6684     break;
    6685 
    6686   case 302:
     6603    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
     6604    break;
     6605
     6606  case 303:
    66876607
    66886608/* Line 1806 of yacc.c  */
    66896609#line 1266 "parser.yy"
    6690     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    6691     break;
    6692 
    6693   case 303:
     6610    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
     6611    break;
     6612
     6613  case 304:
    66946614
    66956615/* Line 1806 of yacc.c  */
    66966616#line 1268 "parser.yy"
    6697     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    6698     break;
    6699 
    6700   case 304:
     6617    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
     6618    break;
     6619
     6620  case 305:
    67016621
    67026622/* Line 1806 of yacc.c  */
    67036623#line 1270 "parser.yy"
    6704     { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    6705     break;
    6706 
    6707   case 305:
    6708 
    6709 /* Line 1806 of yacc.c  */
    6710 #line 1272 "parser.yy"
    67116624    {
    67126625                        typedefTable.enterScope();
     
    67176630
    67186631/* Line 1806 of yacc.c  */
    6719 #line 1276 "parser.yy"
     6632#line 1274 "parser.yy"
    67206633    {
    67216634                        typedefTable.leaveScope();
     
    67276640
    67286641/* Line 1806 of yacc.c  */
     6642#line 1283 "parser.yy"
     6643    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     6644    break;
     6645
     6646  case 309:
     6647
     6648/* Line 1806 of yacc.c  */
    67296649#line 1285 "parser.yy"
     6650    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
     6651    break;
     6652
     6653  case 311:
     6654
     6655/* Line 1806 of yacc.c  */
     6656#line 1296 "parser.yy"
    67306657    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67316658    break;
    67326659
    6733   case 309:
    6734 
    6735 /* Line 1806 of yacc.c  */
    6736 #line 1287 "parser.yy"
     6660  case 313:
     6661
     6662/* Line 1806 of yacc.c  */
     6663#line 1305 "parser.yy"
     6664    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
     6665    break;
     6666
     6667  case 314:
     6668
     6669/* Line 1806 of yacc.c  */
     6670#line 1307 "parser.yy"
     6671    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
     6672    break;
     6673
     6674  case 315:
     6675
     6676/* Line 1806 of yacc.c  */
     6677#line 1309 "parser.yy"
     6678    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
     6679    break;
     6680
     6681  case 316:
     6682
     6683/* Line 1806 of yacc.c  */
     6684#line 1311 "parser.yy"
     6685    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
     6686    break;
     6687
     6688  case 317:
     6689
     6690/* Line 1806 of yacc.c  */
     6691#line 1313 "parser.yy"
     6692    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
     6693    break;
     6694
     6695  case 318:
     6696
     6697/* Line 1806 of yacc.c  */
     6698#line 1315 "parser.yy"
     6699    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
     6700    break;
     6701
     6702  case 319:
     6703
     6704/* Line 1806 of yacc.c  */
     6705#line 1317 "parser.yy"
     6706    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
     6707    break;
     6708
     6709  case 320:
     6710
     6711/* Line 1806 of yacc.c  */
     6712#line 1319 "parser.yy"
     6713    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
     6714    break;
     6715
     6716  case 321:
     6717
     6718/* Line 1806 of yacc.c  */
     6719#line 1324 "parser.yy"
     6720    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     6721    break;
     6722
     6723  case 322:
     6724
     6725/* Line 1806 of yacc.c  */
     6726#line 1326 "parser.yy"
     6727    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     6728    break;
     6729
     6730  case 323:
     6731
     6732/* Line 1806 of yacc.c  */
     6733#line 1328 "parser.yy"
     6734    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     6735    break;
     6736
     6737  case 324:
     6738
     6739/* Line 1806 of yacc.c  */
     6740#line 1330 "parser.yy"
     6741    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     6742    break;
     6743
     6744  case 325:
     6745
     6746/* Line 1806 of yacc.c  */
     6747#line 1332 "parser.yy"
     6748    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
     6749    break;
     6750
     6751  case 326:
     6752
     6753/* Line 1806 of yacc.c  */
     6754#line 1334 "parser.yy"
     6755    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
     6756    break;
     6757
     6758  case 327:
     6759
     6760/* Line 1806 of yacc.c  */
     6761#line 1336 "parser.yy"
     6762    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
     6763    break;
     6764
     6765  case 328:
     6766
     6767/* Line 1806 of yacc.c  */
     6768#line 1338 "parser.yy"
     6769    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
     6770    break;
     6771
     6772  case 329:
     6773
     6774/* Line 1806 of yacc.c  */
     6775#line 1340 "parser.yy"
     6776    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
     6777    break;
     6778
     6779  case 330:
     6780
     6781/* Line 1806 of yacc.c  */
     6782#line 1342 "parser.yy"
     6783    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
     6784    break;
     6785
     6786  case 331:
     6787
     6788/* Line 1806 of yacc.c  */
     6789#line 1344 "parser.yy"
     6790    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
     6791    break;
     6792
     6793  case 332:
     6794
     6795/* Line 1806 of yacc.c  */
     6796#line 1346 "parser.yy"
     6797    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
     6798    break;
     6799
     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) ); }
     6805    break;
     6806
     6807  case 335:
     6808
     6809/* Line 1806 of yacc.c  */
     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"
    67376818    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67386819    break;
    67396820
    6740   case 311:
    6741 
    6742 /* Line 1806 of yacc.c  */
    6743 #line 1298 "parser.yy"
     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"
     6839    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     6840    break;
     6841
     6842  case 342:
     6843
     6844/* Line 1806 of yacc.c  */
     6845#line 1374 "parser.yy"
    67446846    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67456847    break;
    67466848
    6747   case 313:
    6748 
    6749 /* Line 1806 of yacc.c  */
    6750 #line 1307 "parser.yy"
    6751     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    6752     break;
    6753 
    6754   case 314:
    6755 
    6756 /* Line 1806 of yacc.c  */
    6757 #line 1309 "parser.yy"
    6758     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    6759     break;
    6760 
    6761   case 315:
    6762 
    6763 /* Line 1806 of yacc.c  */
    6764 #line 1311 "parser.yy"
    6765     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    6766     break;
    6767 
    6768   case 316:
    6769 
    6770 /* Line 1806 of yacc.c  */
    6771 #line 1313 "parser.yy"
    6772     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    6773     break;
    6774 
    6775   case 317:
    6776 
    6777 /* Line 1806 of yacc.c  */
    6778 #line 1315 "parser.yy"
    6779     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    6780     break;
    6781 
    6782   case 318:
    6783 
    6784 /* Line 1806 of yacc.c  */
    6785 #line 1317 "parser.yy"
    6786     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    6787     break;
    6788 
    6789   case 319:
    6790 
    6791 /* Line 1806 of yacc.c  */
    6792 #line 1319 "parser.yy"
    6793     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    6794     break;
    6795 
    6796   case 320:
    6797 
    6798 /* Line 1806 of yacc.c  */
    6799 #line 1321 "parser.yy"
    6800     { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    6801     break;
    6802 
    6803   case 321:
    6804 
    6805 /* Line 1806 of yacc.c  */
    6806 #line 1326 "parser.yy"
    6807     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    6808     break;
    6809 
    6810   case 322:
    6811 
    6812 /* Line 1806 of yacc.c  */
    6813 #line 1328 "parser.yy"
    6814     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    6815     break;
    6816 
    6817   case 323:
    6818 
    6819 /* Line 1806 of yacc.c  */
    6820 #line 1330 "parser.yy"
    6821     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    6822     break;
    6823 
    6824   case 324:
    6825 
    6826 /* Line 1806 of yacc.c  */
    6827 #line 1332 "parser.yy"
    6828     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    6829     break;
    6830 
    6831   case 325:
    6832 
    6833 /* Line 1806 of yacc.c  */
    6834 #line 1334 "parser.yy"
    6835     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    6836     break;
    6837 
    6838   case 326:
    6839 
    6840 /* Line 1806 of yacc.c  */
    6841 #line 1336 "parser.yy"
    6842     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    6843     break;
    6844 
    6845   case 327:
    6846 
    6847 /* Line 1806 of yacc.c  */
    6848 #line 1338 "parser.yy"
    6849     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    6850     break;
    6851 
    6852   case 328:
    6853 
    6854 /* Line 1806 of yacc.c  */
    6855 #line 1340 "parser.yy"
    6856     { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    6857     break;
    6858 
    6859   case 329:
    6860 
    6861 /* Line 1806 of yacc.c  */
    6862 #line 1342 "parser.yy"
    6863     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    6864     break;
    6865 
    6866   case 330:
    6867 
    6868 /* Line 1806 of yacc.c  */
    6869 #line 1344 "parser.yy"
    6870     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    6871     break;
    6872 
    6873   case 331:
    6874 
    6875 /* Line 1806 of yacc.c  */
    6876 #line 1346 "parser.yy"
    6877     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    6878     break;
    6879 
    6880   case 332:
    6881 
    6882 /* Line 1806 of yacc.c  */
    6883 #line 1348 "parser.yy"
    6884     { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    6885     break;
    6886 
    6887   case 333:
    6888 
    6889 /* Line 1806 of yacc.c  */
    6890 #line 1350 "parser.yy"
    6891     { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    6892     break;
    6893 
    6894   case 335:
    6895 
    6896 /* Line 1806 of yacc.c  */
    6897 #line 1357 "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"
    68986888    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68996889    break;
    69006890
    6901   case 336:
    6902 
    6903 /* Line 1806 of yacc.c  */
    6904 #line 1359 "parser.yy"
     6891  case 350:
     6892
     6893/* Line 1806 of yacc.c  */
     6894#line 1395 "parser.yy"
    69056895    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69066896    break;
    69076897
    6908   case 337:
    6909 
    6910 /* Line 1806 of yacc.c  */
    6911 #line 1361 "parser.yy"
     6898  case 351:
     6899
     6900/* Line 1806 of yacc.c  */
     6901#line 1397 "parser.yy"
    69126902    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69136903    break;
    69146904
    6915   case 338:
    6916 
    6917 /* Line 1806 of yacc.c  */
    6918 #line 1363 "parser.yy"
    6919     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    6920     break;
    6921 
    6922   case 340:
    6923 
    6924 /* Line 1806 of yacc.c  */
    6925 #line 1369 "parser.yy"
    6926     { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    6927     break;
    6928 
    6929   case 342:
    6930 
    6931 /* Line 1806 of yacc.c  */
    6932 #line 1376 "parser.yy"
     6905  case 353:
     6906
     6907/* Line 1806 of yacc.c  */
     6908#line 1403 "parser.yy"
    69336909    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69346910    break;
    69356911
    6936   case 343:
    6937 
    6938 /* Line 1806 of yacc.c  */
    6939 #line 1378 "parser.yy"
     6912  case 354:
     6913
     6914/* Line 1806 of yacc.c  */
     6915#line 1405 "parser.yy"
    69406916    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69416917    break;
    69426918
    6943   case 344:
    6944 
    6945 /* Line 1806 of yacc.c  */
    6946 #line 1380 "parser.yy"
    6947     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    6948     break;
    6949 
    6950   case 345:
    6951 
    6952 /* Line 1806 of yacc.c  */
    6953 #line 1385 "parser.yy"
    6954     { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    6955     break;
    6956 
    6957   case 346:
    6958 
    6959 /* Line 1806 of yacc.c  */
    6960 #line 1387 "parser.yy"
    6961     { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    6962     break;
    6963 
    6964   case 347:
    6965 
    6966 /* Line 1806 of yacc.c  */
    6967 #line 1389 "parser.yy"
    6968     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    6969     break;
    6970 
    6971   case 348:
    6972 
    6973 /* Line 1806 of yacc.c  */
    6974 #line 1391 "parser.yy"
    6975     { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    6976     break;
    6977 
    6978   case 350:
    6979 
    6980 /* Line 1806 of yacc.c  */
    6981 #line 1397 "parser.yy"
     6919  case 356:
     6920
     6921/* Line 1806 of yacc.c  */
     6922#line 1411 "parser.yy"
    69826923    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69836924    break;
    69846925
    6985   case 351:
    6986 
    6987 /* Line 1806 of yacc.c  */
    6988 #line 1399 "parser.yy"
     6926  case 357:
     6927
     6928/* Line 1806 of yacc.c  */
     6929#line 1413 "parser.yy"
    69896930    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69906931    break;
    69916932
    6992   case 352:
    6993 
    6994 /* Line 1806 of yacc.c  */
    6995 #line 1401 "parser.yy"
     6933  case 358:
     6934
     6935/* Line 1806 of yacc.c  */
     6936#line 1415 "parser.yy"
    69966937    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69976938    break;
    69986939
    6999   case 354:
    7000 
    7001 /* Line 1806 of yacc.c  */
    7002 #line 1407 "parser.yy"
    7003     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7004     break;
    7005 
    7006   case 355:
    7007 
    7008 /* Line 1806 of yacc.c  */
    7009 #line 1409 "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"
    70106958    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70116959    break;
    70126960
    7013   case 357:
    7014 
    7015 /* Line 1806 of yacc.c  */
    7016 #line 1415 "parser.yy"
    7017     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7018     break;
    7019 
    7020   case 358:
    7021 
    7022 /* Line 1806 of yacc.c  */
    7023 #line 1417 "parser.yy"
    7024     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7025     break;
    7026 
    7027   case 359:
    7028 
    7029 /* Line 1806 of yacc.c  */
    7030 #line 1419 "parser.yy"
    7031     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7032     break;
    7033 
    7034   case 360:
    7035 
    7036 /* Line 1806 of yacc.c  */
    7037 #line 1424 "parser.yy"
    7038     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    7039     break;
    7040 
    7041   case 361:
    7042 
    7043 /* Line 1806 of yacc.c  */
    7044 #line 1426 "parser.yy"
    7045     { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    7046     break;
    7047 
    7048   case 362:
    7049 
    7050 /* Line 1806 of yacc.c  */
    7051 #line 1428 "parser.yy"
    7052     { (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) ); }
    70536966    break;
    70546967
     
    70566969
    70576970/* Line 1806 of yacc.c  */
     6971#line 1436 "parser.yy"
     6972    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
     6973    break;
     6974
     6975  case 366:
     6976
     6977/* Line 1806 of yacc.c  */
    70586978#line 1438 "parser.yy"
    7059     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    7060     break;
    7061 
    7062   case 366:
     6979    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     6980    break;
     6981
     6982  case 367:
    70636983
    70646984/* Line 1806 of yacc.c  */
    70656985#line 1440 "parser.yy"
    7066     {
    7067                         typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
    7068                         (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 );
    7069                 }
    7070     break;
    7071 
    7072   case 367:
    7073 
    7074 /* Line 1806 of yacc.c  */
    7075 #line 1445 "parser.yy"
    7076     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     6986    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    70776987    break;
    70786988
     
    70806990
    70816991/* Line 1806 of yacc.c  */
     6992#line 1442 "parser.yy"
     6993    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     6994    break;
     6995
     6996  case 369:
     6997
     6998/* Line 1806 of yacc.c  */
    70826999#line 1447 "parser.yy"
    7083     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
    7084     break;
    7085 
    7086   case 369:
     7000    { (yyval.aggKey) = DeclarationNode::Struct; }
     7001    break;
     7002
     7003  case 370:
    70877004
    70887005/* Line 1806 of yacc.c  */
    70897006#line 1449 "parser.yy"
    7090     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    7091     break;
    7092 
    7093   case 370:
    7094 
    7095 /* Line 1806 of yacc.c  */
    7096 #line 1451 "parser.yy"
    7097     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7007    { (yyval.aggKey) = DeclarationNode::Union; }
    70987008    break;
    70997009
     
    71017011
    71027012/* Line 1806 of yacc.c  */
     7013#line 1454 "parser.yy"
     7014    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
     7015    break;
     7016
     7017  case 372:
     7018
     7019/* Line 1806 of yacc.c  */
    71037020#line 1456 "parser.yy"
    7104     { (yyval.aggKey) = DeclarationNode::Struct; }
    7105     break;
    7106 
    7107   case 372:
    7108 
    7109 /* Line 1806 of yacc.c  */
    7110 #line 1458 "parser.yy"
    7111     { (yyval.aggKey) = DeclarationNode::Union; }
    7112     break;
    7113 
    7114   case 373:
    7115 
    7116 /* Line 1806 of yacc.c  */
    7117 #line 1463 "parser.yy"
    7118     { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
     7021    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    71197022    break;
    71207023
     
    71227025
    71237026/* Line 1806 of yacc.c  */
     7027#line 1462 "parser.yy"
     7028    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7029    break;
     7030
     7031  case 376:
     7032
     7033/* Line 1806 of yacc.c  */
    71247034#line 1465 "parser.yy"
    7125     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7126     break;
    7127 
    7128   case 376:
     7035    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7036    break;
     7037
     7038  case 378:
    71297039
    71307040/* Line 1806 of yacc.c  */
    71317041#line 1471 "parser.yy"
    7132     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    7133     break;
    7134 
    7135   case 378:
    7136 
    7137 /* Line 1806 of yacc.c  */
    7138 #line 1474 "parser.yy"
    7139     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7042    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
     7043    break;
     7044
     7045  case 379:
     7046
     7047/* Line 1806 of yacc.c  */
     7048#line 1473 "parser.yy"
     7049    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    71407050    break;
    71417051
     
    71437053
    71447054/* Line 1806 of yacc.c  */
     7055#line 1475 "parser.yy"
     7056    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7057    break;
     7058
     7059  case 381:
     7060
     7061/* Line 1806 of yacc.c  */
    71457062#line 1480 "parser.yy"
    7146     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    7147     break;
    7148 
    7149   case 381:
     7063    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7064    break;
     7065
     7066  case 382:
    71507067
    71517068/* Line 1806 of yacc.c  */
    71527069#line 1482 "parser.yy"
    7153     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    7154     break;
    7155 
    7156   case 382:
    7157 
    7158 /* Line 1806 of yacc.c  */
    7159 #line 1484 "parser.yy"
    7160     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
     7070    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    71617071    break;
    71627072
     
    71647074
    71657075/* Line 1806 of yacc.c  */
     7076#line 1487 "parser.yy"
     7077    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7078    break;
     7079
     7080  case 384:
     7081
     7082/* Line 1806 of yacc.c  */
    71667083#line 1489 "parser.yy"
    7167     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7168     break;
    7169 
    7170   case 384:
    7171 
    7172 /* Line 1806 of yacc.c  */
    7173 #line 1491 "parser.yy"
    7174     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
     7084    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71757085    break;
    71767086
     
    71787088
    71797089/* Line 1806 of yacc.c  */
    7180 #line 1496 "parser.yy"
    7181     { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
     7090#line 1492 "parser.yy"
     7091    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71827092    break;
    71837093
     
    71857095
    71867096/* Line 1806 of yacc.c  */
    7187 #line 1498 "parser.yy"
    7188     { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    7189     break;
    7190 
    7191   case 387:
     7097#line 1495 "parser.yy"
     7098    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7099    break;
     7100
     7101  case 388:
    71927102
    71937103/* Line 1806 of yacc.c  */
    71947104#line 1501 "parser.yy"
    7195     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    7196     break;
    7197 
    7198   case 388:
    7199 
    7200 /* Line 1806 of yacc.c  */
    7201 #line 1504 "parser.yy"
    7202     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7105    { (yyval.en) = 0; }
     7106    break;
     7107
     7108  case 389:
     7109
     7110/* Line 1806 of yacc.c  */
     7111#line 1503 "parser.yy"
     7112    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    72037113    break;
    72047114
     
    72067116
    72077117/* Line 1806 of yacc.c  */
    7208 #line 1510 "parser.yy"
     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"
    72097161    { (yyval.en) = 0; }
    72107162    break;
    72117163
    7212   case 391:
    7213 
    7214 /* Line 1806 of yacc.c  */
    7215 #line 1512 "parser.yy"
    7216     { (yyval.en) = (yyvsp[(1) - (1)].en); }
    7217     break;
    7218 
    7219   case 392:
    7220 
    7221 /* Line 1806 of yacc.c  */
    7222 #line 1517 "parser.yy"
     7164  case 398:
     7165
     7166/* Line 1806 of yacc.c  */
     7167#line 1535 "parser.yy"
    72237168    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72247169    break;
    72257170
    7226   case 394:
    7227 
    7228 /* Line 1806 of yacc.c  */
    7229 #line 1526 "parser.yy"
    7230     { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    7231     break;
    7232 
    7233   case 395:
    7234 
    7235 /* Line 1806 of yacc.c  */
    7236 #line 1528 "parser.yy"
    7237     {
    7238                         typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
    7239                         (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 );
    7240                 }
    7241     break;
    7242 
    7243   case 396:
    7244 
    7245 /* Line 1806 of yacc.c  */
    7246 #line 1533 "parser.yy"
    7247     { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    7248     break;
    7249 
    7250   case 397:
    7251 
    7252 /* Line 1806 of yacc.c  */
    7253 #line 1535 "parser.yy"
    7254     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    7255     break;
    7256 
    7257   case 398:
    7258 
    7259 /* Line 1806 of yacc.c  */
    7260 #line 1540 "parser.yy"
    7261     { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    7262     break;
    7263 
    72647171  case 399:
    72657172
    72667173/* Line 1806 of yacc.c  */
    72677174#line 1542 "parser.yy"
    7268     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    7269     break;
    7270 
    7271   case 400:
    7272 
    7273 /* Line 1806 of yacc.c  */
    7274 #line 1547 "parser.yy"
    7275     { (yyval.en) = 0; }
    7276     break;
    7277 
    7278   case 401:
    7279 
    7280 /* Line 1806 of yacc.c  */
    7281 #line 1549 "parser.yy"
    7282     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    7283     break;
    7284 
    7285   case 402:
    7286 
    7287 /* Line 1806 of yacc.c  */
    7288 #line 1556 "parser.yy"
    72897175    { (yyval.decl) = 0; }
    72907176    break;
    72917177
    7292   case 406:
     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
     7185  case 404:
     7186
     7187/* Line 1806 of yacc.c  */
     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"
     7203    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7204    break;
     7205
     7206  case 408:
    72937207
    72947208/* Line 1806 of yacc.c  */
     
    72977211    break;
    72987212
    7299   case 407:
     7213  case 409:
    73007214
    73017215/* Line 1806 of yacc.c  */
    73027216#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"
    73037238    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73047239    break;
    73057240
    7306   case 408:
    7307 
    7308 /* Line 1806 of yacc.c  */
    7309 #line 1568 "parser.yy"
    7310     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7311     break;
    7312 
    7313   case 410:
    7314 
    7315 /* Line 1806 of yacc.c  */
    7316 #line 1576 "parser.yy"
     7241  case 418:
     7242
     7243/* Line 1806 of yacc.c  */
     7244#line 1591 "parser.yy"
    73177245    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73187246    break;
    73197247
    7320   case 411:
    7321 
    7322 /* Line 1806 of yacc.c  */
    7323 #line 1578 "parser.yy"
     7248  case 419:
     7249
     7250/* Line 1806 of yacc.c  */
     7251#line 1593 "parser.yy"
    73247252    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73257253    break;
    73267254
    7327   case 412:
    7328 
    7329 /* Line 1806 of yacc.c  */
    7330 #line 1580 "parser.yy"
    7331     { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    7332     break;
    7333 
    7334   case 414:
    7335 
    7336 /* Line 1806 of yacc.c  */
    7337 #line 1586 "parser.yy"
    7338     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7339     break;
    7340 
    7341   case 415:
    7342 
    7343 /* Line 1806 of yacc.c  */
    7344 #line 1591 "parser.yy"
    7345     { (yyval.decl) = 0; }
    7346     break;
    7347 
    7348   case 418:
    7349 
    7350 /* Line 1806 of yacc.c  */
    7351 #line 1598 "parser.yy"
    7352     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7353     break;
    7354 
    73557255  case 421:
    73567256
    73577257/* Line 1806 of yacc.c  */
     7258#line 1602 "parser.yy"
     7259    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7260    break;
     7261
     7262  case 422:
     7263
     7264/* Line 1806 of yacc.c  */
    73587265#line 1605 "parser.yy"
    7359     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7360     break;
    7361 
    7362   case 422:
     7266    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7267    break;
     7268
     7269  case 423:
    73637270
    73647271/* Line 1806 of yacc.c  */
    73657272#line 1607 "parser.yy"
    7366     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7367     break;
    7368 
    7369   case 424:
    7370 
    7371 /* Line 1806 of yacc.c  */
    7372 #line 1616 "parser.yy"
    7373     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7374     break;
    7375 
    7376   case 425:
    7377 
    7378 /* Line 1806 of yacc.c  */
    7379 #line 1619 "parser.yy"
    7380     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    7381     break;
    7382 
    7383   case 426:
    7384 
    7385 /* Line 1806 of yacc.c  */
    7386 #line 1621 "parser.yy"
    73877273    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73887274    break;
    73897275
    7390   case 431:
    7391 
    7392 /* Line 1806 of yacc.c  */
    7393 #line 1631 "parser.yy"
     7276  case 428:
     7277
     7278/* Line 1806 of yacc.c  */
     7279#line 1617 "parser.yy"
    73947280    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73957281    break;
    73967282
    7397   case 433:
    7398 
    7399 /* Line 1806 of yacc.c  */
    7400 #line 1637 "parser.yy"
     7283  case 430:
     7284
     7285/* Line 1806 of yacc.c  */
     7286#line 1623 "parser.yy"
    74017287    {
    74027288                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74057291    break;
    74067292
    7407   case 434:
    7408 
    7409 /* Line 1806 of yacc.c  */
    7410 #line 1642 "parser.yy"
     7293  case 431:
     7294
     7295/* Line 1806 of yacc.c  */
     7296#line 1628 "parser.yy"
    74117297    {
    74127298                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74157301    break;
    74167302
    7417   case 436:
    7418 
    7419 /* Line 1806 of yacc.c  */
    7420 #line 1651 "parser.yy"
     7303  case 433:
     7304
     7305/* Line 1806 of yacc.c  */
     7306#line 1637 "parser.yy"
    74217307    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74227308    break;
    74237309
    7424   case 437:
    7425 
    7426 /* Line 1806 of yacc.c  */
    7427 #line 1660 "parser.yy"
     7310  case 434:
     7311
     7312/* Line 1806 of yacc.c  */
     7313#line 1646 "parser.yy"
    74287314    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    74297315    break;
    74307316
    7431   case 438:
    7432 
    7433 /* Line 1806 of yacc.c  */
    7434 #line 1662 "parser.yy"
     7317  case 435:
     7318
     7319/* Line 1806 of yacc.c  */
     7320#line 1648 "parser.yy"
    74357321    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    74367322    break;
    74377323
    7438   case 450:
    7439 
    7440 /* Line 1806 of yacc.c  */
    7441 #line 1687 "parser.yy"
     7324  case 447:
     7325
     7326/* Line 1806 of yacc.c  */
     7327#line 1673 "parser.yy"
    74427328    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74437329    break;
    74447330
     7331  case 451:
     7332
     7333/* Line 1806 of yacc.c  */
     7334#line 1681 "parser.yy"
     7335    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
     7336    break;
     7337
     7338  case 452:
     7339
     7340/* Line 1806 of yacc.c  */
     7341#line 1686 "parser.yy"
     7342    { (yyval.in) = 0; }
     7343    break;
     7344
     7345  case 453:
     7346
     7347/* Line 1806 of yacc.c  */
     7348#line 1688 "parser.yy"
     7349    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7350    break;
     7351
    74457352  case 454:
    74467353
    74477354/* 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  */
    74487369#line 1695 "parser.yy"
    7449     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    7450     break;
    7451 
    7452   case 455:
     7370    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7371    break;
     7372
     7373  case 457:
    74537374
    74547375/* Line 1806 of yacc.c  */
     
    74577378    break;
    74587379
    7459   case 456:
     7380  case 459:
    74607381
    74617382/* Line 1806 of yacc.c  */
    74627383#line 1702 "parser.yy"
    7463     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7464     break;
    7465 
    7466   case 457:
    7467 
    7468 /* Line 1806 of yacc.c  */
    7469 #line 1704 "parser.yy"
    7470     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7471     break;
    7472 
    7473   case 458:
    7474 
    7475 /* Line 1806 of yacc.c  */
    7476 #line 1708 "parser.yy"
    7477     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7478     break;
    7479 
    7480   case 459:
    7481 
    7482 /* Line 1806 of yacc.c  */
    7483 #line 1709 "parser.yy"
    7484     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7384    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    74857385    break;
    74867386
     
    74887388
    74897389/* Line 1806 of yacc.c  */
    7490 #line 1714 "parser.yy"
    7491     { (yyval.in) = 0; }
    7492     break;
    7493 
    7494   case 462:
    7495 
    7496 /* Line 1806 of yacc.c  */
    7497 #line 1716 "parser.yy"
    7498     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7390#line 1703 "parser.yy"
     7391    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
     7392    break;
     7393
     7394  case 461:
     7395
     7396/* Line 1806 of yacc.c  */
     7397#line 1705 "parser.yy"
     7398    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74997399    break;
    75007400
     
    75027402
    75037403/* Line 1806 of yacc.c  */
    7504 #line 1717 "parser.yy"
    7505     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    7506     break;
    7507 
    7508   case 464:
    7509 
    7510 /* Line 1806 of yacc.c  */
    7511 #line 1719 "parser.yy"
    7512     { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
     7404#line 1721 "parser.yy"
     7405    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7406    break;
     7407
     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) )); }
    75137413    break;
    75147414
     
    75177417/* Line 1806 of yacc.c  */
    75187418#line 1735 "parser.yy"
    7519     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
     7419    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7420    break;
     7421
     7422  case 467:
     7423
     7424/* Line 1806 of yacc.c  */
     7425#line 1737 "parser.yy"
     7426    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    75207427    break;
    75217428
     
    75237430
    75247431/* Line 1806 of yacc.c  */
    7525 #line 1741 "parser.yy"
    7526     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
     7432#line 1740 "parser.yy"
     7433    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75277434    break;
    75287435
     
    75307437
    75317438/* Line 1806 of yacc.c  */
    7532 #line 1749 "parser.yy"
    7533     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
     7439#line 1742 "parser.yy"
     7440    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75347441    break;
    75357442
     
    75377444
    75387445/* Line 1806 of yacc.c  */
    7539 #line 1751 "parser.yy"
    7540     { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
     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 ); }
    75417448    break;
    75427449
     
    75447451
    75457452/* Line 1806 of yacc.c  */
    7546 #line 1754 "parser.yy"
    7547     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    7548     break;
    7549 
    7550   case 472:
    7551 
    7552 /* Line 1806 of yacc.c  */
    7553 #line 1756 "parser.yy"
    7554     { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
     7453#line 1746 "parser.yy"
     7454    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    75557455    break;
    75567456
     
    75587458
    75597459/* Line 1806 of yacc.c  */
    7560 #line 1758 "parser.yy"
    7561     { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
     7460#line 1770 "parser.yy"
     7461    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75627462    break;
    75637463
     
    75657465
    75667466/* Line 1806 of yacc.c  */
    7567 #line 1760 "parser.yy"
    7568     { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    7569     break;
    7570 
    7571   case 476:
    7572 
    7573 /* Line 1806 of yacc.c  */
    7574 #line 1784 "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"
    75757482    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75767483    break;
    75777484
    7578   case 477:
    7579 
    7580 /* Line 1806 of yacc.c  */
    7581 #line 1786 "parser.yy"
     7485  case 478:
     7486
     7487/* Line 1806 of yacc.c  */
     7488#line 1782 "parser.yy"
    75827489    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75837490    break;
    75847491
    7585   case 478:
    7586 
    7587 /* Line 1806 of yacc.c  */
    7588 #line 1788 "parser.yy"
    7589     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    7590     break;
    7591 
    7592   case 480:
    7593 
    7594 /* Line 1806 of yacc.c  */
    7595 #line 1794 "parser.yy"
    7596     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7492  case 479:
     7493
     7494/* Line 1806 of yacc.c  */
     7495#line 1787 "parser.yy"
     7496    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75977497    break;
    75987498
     
    76007500
    76017501/* Line 1806 of yacc.c  */
    7602 #line 1796 "parser.yy"
    7603     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     7502#line 1793 "parser.yy"
     7503    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    76047504    break;
    76057505
     
    76077507
    76087508/* Line 1806 of yacc.c  */
    7609 #line 1801 "parser.yy"
    7610     { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    7611     break;
    7612 
    7613   case 484:
    7614 
    7615 /* Line 1806 of yacc.c  */
    7616 #line 1807 "parser.yy"
    7617     { (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 ); }
     7511    break;
     7512
     7513  case 483:
     7514
     7515/* Line 1806 of yacc.c  */
     7516#line 1800 "parser.yy"
     7517    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    76187518    break;
    76197519
     
    76217521
    76227522/* Line 1806 of yacc.c  */
    7623 #line 1812 "parser.yy"
    7624     { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
     7523#line 1806 "parser.yy"
     7524    { (yyval.tclass) = DeclarationNode::Type; }
    76257525    break;
    76267526
     
    76287528
    76297529/* Line 1806 of yacc.c  */
    7630 #line 1814 "parser.yy"
    7631     { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
     7530#line 1808 "parser.yy"
     7531    { (yyval.tclass) = DeclarationNode::Ftype; }
     7532    break;
     7533
     7534  case 487:
     7535
     7536/* Line 1806 of yacc.c  */
     7537#line 1810 "parser.yy"
     7538    { (yyval.tclass) = DeclarationNode::Dtype; }
    76327539    break;
    76337540
     
    76357542
    76367543/* Line 1806 of yacc.c  */
    7637 #line 1820 "parser.yy"
    7638     { (yyval.tclass) = DeclarationNode::Type; }
     7544#line 1815 "parser.yy"
     7545    { (yyval.decl) = 0; }
    76397546    break;
    76407547
     
    76427549
    76437550/* Line 1806 of yacc.c  */
     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  */
    76447558#line 1822 "parser.yy"
    7645     { (yyval.tclass) = DeclarationNode::Ftype; }
    7646     break;
    7647 
    7648   case 490:
    7649 
    7650 /* Line 1806 of yacc.c  */
    7651 #line 1824 "parser.yy"
    7652     { (yyval.tclass) = DeclarationNode::Dtype; }
     7559    {
     7560                        typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
     7561                        (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
     7562                }
    76537563    break;
    76547564
    76557565  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:
    76567573
    76577574/* Line 1806 of yacc.c  */
     
    76607577    break;
    76617578
    7662   case 492:
    7663 
    7664 /* Line 1806 of yacc.c  */
    7665 #line 1831 "parser.yy"
    7666     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7667     break;
    7668 
    76697579  case 493:
    76707580
    76717581/* Line 1806 of yacc.c  */
    7672 #line 1836 "parser.yy"
    7673     {
    7674                         typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
    7675                         (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
    7676                 }
    7677     break;
    7678 
    7679   case 494:
    7680 
    7681 /* Line 1806 of yacc.c  */
    7682 #line 1841 "parser.yy"
    7683     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7582#line 1834 "parser.yy"
     7583    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    76847584    break;
    76857585
     
    76877587
    76887588/* Line 1806 of yacc.c  */
    7689 #line 1843 "parser.yy"
    7690     { (yyval.decl) = 0; }
     7589#line 1837 "parser.yy"
     7590    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    76917591    break;
    76927592
     
    76947594
    76957595/* Line 1806 of yacc.c  */
     7596#line 1839 "parser.yy"
     7597    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
     7598    break;
     7599
     7600  case 497:
     7601
     7602/* Line 1806 of yacc.c  */
     7603#line 1844 "parser.yy"
     7604    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7605    break;
     7606
     7607  case 498:
     7608
     7609/* Line 1806 of yacc.c  */
     7610#line 1846 "parser.yy"
     7611    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
     7612    break;
     7613
     7614  case 499:
     7615
     7616/* Line 1806 of yacc.c  */
    76967617#line 1848 "parser.yy"
    7697     { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    7698     break;
    7699 
    7700   case 498:
    7701 
    7702 /* Line 1806 of yacc.c  */
    7703 #line 1851 "parser.yy"
    7704     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    7705     break;
    7706 
    7707   case 499:
     7618    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
     7619    break;
     7620
     7621  case 500:
    77087622
    77097623/* Line 1806 of yacc.c  */
    77107624#line 1853 "parser.yy"
    7711     { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    7712     break;
    7713 
    7714   case 500:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1858 "parser.yy"
    7718     { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
     7625    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    77197626    break;
    77207627
     
    77227629
    77237630/* Line 1806 of yacc.c  */
     7631#line 1855 "parser.yy"
     7632    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
     7633    break;
     7634
     7635  case 502:
     7636
     7637/* Line 1806 of yacc.c  */
    77247638#line 1860 "parser.yy"
    7725     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    7726     break;
    7727 
    7728   case 502:
    7729 
    7730 /* Line 1806 of yacc.c  */
    7731 #line 1862 "parser.yy"
    7732     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    7733     break;
    7734 
    7735   case 503:
    7736 
    7737 /* Line 1806 of yacc.c  */
    7738 #line 1867 "parser.yy"
    7739     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    7740     break;
    7741 
    7742   case 504:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1869 "parser.yy"
    7746     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    7747     break;
    7748 
    7749   case 505:
    7750 
    7751 /* Line 1806 of yacc.c  */
    7752 #line 1874 "parser.yy"
    77537639    {
    77547640                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    77577643    break;
    77587644
    7759   case 506:
    7760 
    7761 /* Line 1806 of yacc.c  */
    7762 #line 1879 "parser.yy"
     7645  case 503:
     7646
     7647/* Line 1806 of yacc.c  */
     7648#line 1865 "parser.yy"
    77637649    {
    77647650                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    77677653    break;
    77687654
    7769   case 507:
    7770 
    7771 /* Line 1806 of yacc.c  */
    7772 #line 1887 "parser.yy"
     7655  case 504:
     7656
     7657/* Line 1806 of yacc.c  */
     7658#line 1873 "parser.yy"
    77737659    {
    77747660                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
    7775                         (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 );
    77767662                }
    77777663    break;
    77787664
    7779   case 508:
    7780 
    7781 /* Line 1806 of yacc.c  */
    7782 #line 1892 "parser.yy"
     7665  case 505:
     7666
     7667/* Line 1806 of yacc.c  */
     7668#line 1878 "parser.yy"
    77837669    {
    7784                         typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     7670                        typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
    77857671                        typedefTable.enterScope();
    77867672                }
    77877673    break;
    77887674
    7789   case 509:
    7790 
    7791 /* Line 1806 of yacc.c  */
    7792 #line 1897 "parser.yy"
     7675  case 506:
     7676
     7677/* Line 1806 of yacc.c  */
     7678#line 1883 "parser.yy"
    77937679    {
    7794                         typedefTable.leaveTrait();
     7680                        typedefTable.leaveContext();
    77957681                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID );
    7796                         (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) );
    77977683                }
    77987684    break;
    77997685
     7686  case 508:
     7687
     7688/* Line 1806 of yacc.c  */
     7689#line 1893 "parser.yy"
     7690    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
     7691    break;
     7692
    78007693  case 511:
    78017694
    78027695/* Line 1806 of yacc.c  */
    7803 #line 1907 "parser.yy"
    7804     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    7805     break;
    7806 
    7807   case 514:
    7808 
    7809 /* Line 1806 of yacc.c  */
    7810 #line 1917 "parser.yy"
     7696#line 1903 "parser.yy"
    78117697    {
    78127698                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78157701    break;
    78167702
    7817   case 515:
    7818 
    7819 /* Line 1806 of yacc.c  */
    7820 #line 1922 "parser.yy"
     7703  case 512:
     7704
     7705/* Line 1806 of yacc.c  */
     7706#line 1908 "parser.yy"
    78217707    {
    78227708                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78257711    break;
    78267712
    7827   case 516:
    7828 
    7829 /* Line 1806 of yacc.c  */
    7830 #line 1927 "parser.yy"
     7713  case 513:
     7714
     7715/* Line 1806 of yacc.c  */
     7716#line 1913 "parser.yy"
    78317717    {
    78327718                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    78357721    break;
    78367722
    7837   case 517:
    7838 
    7839 /* Line 1806 of yacc.c  */
    7840 #line 1935 "parser.yy"
     7723  case 514:
     7724
     7725/* Line 1806 of yacc.c  */
     7726#line 1921 "parser.yy"
    78417727    {
    78427728                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78457731    break;
    78467732
    7847   case 518:
    7848 
    7849 /* Line 1806 of yacc.c  */
    7850 #line 1940 "parser.yy"
     7733  case 515:
     7734
     7735/* Line 1806 of yacc.c  */
     7736#line 1926 "parser.yy"
    78517737    {
    78527738                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78557741    break;
    78567742
    7857   case 519:
    7858 
    7859 /* Line 1806 of yacc.c  */
    7860 #line 1950 "parser.yy"
     7743  case 516:
     7744
     7745/* Line 1806 of yacc.c  */
     7746#line 1936 "parser.yy"
    78617747    {}
    78627748    break;
    78637749
    7864   case 520:
    7865 
    7866 /* Line 1806 of yacc.c  */
    7867 #line 1952 "parser.yy"
     7750  case 517:
     7751
     7752/* Line 1806 of yacc.c  */
     7753#line 1938 "parser.yy"
    78687754    {
    78697755                        if ( theTree ) {
     
    78757761    break;
    78767762
    7877   case 522:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 1964 "parser.yy"
     7763  case 519:
     7764
     7765/* Line 1806 of yacc.c  */
     7766#line 1950 "parser.yy"
    78817767    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    78827768    break;
    78837769
    7884   case 523:
    7885 
    7886 /* Line 1806 of yacc.c  */
    7887 #line 1969 "parser.yy"
     7770  case 520:
     7771
     7772/* Line 1806 of yacc.c  */
     7773#line 1955 "parser.yy"
    78887774    { (yyval.decl) = 0; }
    78897775    break;
    78907776
    7891   case 527:
    7892 
    7893 /* Line 1806 of yacc.c  */
    7894 #line 1977 "parser.yy"
     7777  case 524:
     7778
     7779/* Line 1806 of yacc.c  */
     7780#line 1963 "parser.yy"
    78957781    {}
    78967782    break;
    78977783
    7898   case 528:
    7899 
    7900 /* Line 1806 of yacc.c  */
    7901 #line 1979 "parser.yy"
     7784  case 525:
     7785
     7786/* Line 1806 of yacc.c  */
     7787#line 1965 "parser.yy"
    79027788    {
    79037789                        linkageStack.push( linkage );
     
    79067792    break;
    79077793
    7908   case 529:
    7909 
    7910 /* Line 1806 of yacc.c  */
    7911 #line 1984 "parser.yy"
     7794  case 526:
     7795
     7796/* Line 1806 of yacc.c  */
     7797#line 1970 "parser.yy"
    79127798    {
    79137799                        linkage = linkageStack.top();
     
    79177803    break;
    79187804
    7919   case 530:
    7920 
    7921 /* Line 1806 of yacc.c  */
    7922 #line 1990 "parser.yy"
     7805  case 527:
     7806
     7807/* Line 1806 of yacc.c  */
     7808#line 1976 "parser.yy"
    79237809    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    79247810    break;
    79257811
    7926   case 532:
    7927 
    7928 /* Line 1806 of yacc.c  */
    7929 #line 2000 "parser.yy"
     7812  case 529:
     7813
     7814/* Line 1806 of yacc.c  */
     7815#line 1986 "parser.yy"
    79307816    {
    79317817                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79357821    break;
    79367822
    7937   case 533:
    7938 
    7939 /* Line 1806 of yacc.c  */
    7940 #line 2006 "parser.yy"
     7823  case 530:
     7824
     7825/* Line 1806 of yacc.c  */
     7826#line 1992 "parser.yy"
    79417827    {
    79427828                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79467832    break;
    79477833
    7948   case 534:
    7949 
    7950 /* Line 1806 of yacc.c  */
    7951 #line 2015 "parser.yy"
     7834  case 531:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 2001 "parser.yy"
    79527838    {
    79537839                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79577843    break;
    79587844
    7959   case 535:
    7960 
    7961 /* Line 1806 of yacc.c  */
    7962 #line 2021 "parser.yy"
     7845  case 532:
     7846
     7847/* Line 1806 of yacc.c  */
     7848#line 2007 "parser.yy"
    79637849    {
    79647850                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79687854    break;
    79697855
    7970   case 536:
    7971 
    7972 /* Line 1806 of yacc.c  */
    7973 #line 2027 "parser.yy"
     7856  case 533:
     7857
     7858/* Line 1806 of yacc.c  */
     7859#line 2013 "parser.yy"
    79747860    {
    79757861                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79797865    break;
    79807866
    7981   case 537:
    7982 
    7983 /* Line 1806 of yacc.c  */
    7984 #line 2033 "parser.yy"
     7867  case 534:
     7868
     7869/* Line 1806 of yacc.c  */
     7870#line 2019 "parser.yy"
    79857871    {
    79867872                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79907876    break;
    79917877
    7992   case 538:
    7993 
    7994 /* Line 1806 of yacc.c  */
    7995 #line 2039 "parser.yy"
     7878  case 535:
     7879
     7880/* Line 1806 of yacc.c  */
     7881#line 2025 "parser.yy"
    79967882    {
    79977883                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80017887    break;
    80027888
    8003   case 539:
    8004 
    8005 /* Line 1806 of yacc.c  */
    8006 #line 2047 "parser.yy"
     7889  case 536:
     7890
     7891/* Line 1806 of yacc.c  */
     7892#line 2033 "parser.yy"
    80077893    {
    80087894                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80127898    break;
    80137899
    8014   case 540:
    8015 
    8016 /* Line 1806 of yacc.c  */
    8017 #line 2053 "parser.yy"
     7900  case 537:
     7901
     7902/* Line 1806 of yacc.c  */
     7903#line 2039 "parser.yy"
    80187904    {
    80197905                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80237909    break;
    80247910
    8025   case 541:
    8026 
    8027 /* Line 1806 of yacc.c  */
    8028 #line 2061 "parser.yy"
     7911  case 538:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 2047 "parser.yy"
    80297915    {
    80307916                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80347920    break;
    80357921
    8036   case 542:
    8037 
    8038 /* Line 1806 of yacc.c  */
    8039 #line 2067 "parser.yy"
     7922  case 539:
     7923
     7924/* Line 1806 of yacc.c  */
     7925#line 2053 "parser.yy"
    80407926    {
    80417927                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80457931    break;
    80467932
     7933  case 543:
     7934
     7935/* Line 1806 of yacc.c  */
     7936#line 2068 "parser.yy"
     7937    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     7938    break;
     7939
    80477940  case 546:
    80487941
    80497942/* Line 1806 of yacc.c  */
    8050 #line 2082 "parser.yy"
    8051     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     7943#line 2078 "parser.yy"
     7944    { (yyval.decl) = 0; }
    80527945    break;
    80537946
     
    80557948
    80567949/* Line 1806 of yacc.c  */
    8057 #line 2092 "parser.yy"
     7950#line 2085 "parser.yy"
     7951    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
     7952    break;
     7953
     7954  case 550:
     7955
     7956/* Line 1806 of yacc.c  */
     7957#line 2091 "parser.yy"
    80587958    { (yyval.decl) = 0; }
    80597959    break;
    80607960
    8061   case 552:
    8062 
    8063 /* Line 1806 of yacc.c  */
    8064 #line 2099 "parser.yy"
    8065     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8066     break;
    8067 
    8068   case 553:
    8069 
    8070 /* Line 1806 of yacc.c  */
    8071 #line 2105 "parser.yy"
    8072     { (yyval.decl) = 0; }
     7961  case 556:
     7962
     7963/* Line 1806 of yacc.c  */
     7964#line 2106 "parser.yy"
     7965    {}
     7966    break;
     7967
     7968  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    {}
    80737980    break;
    80747981
     
    80767983
    80777984/* Line 1806 of yacc.c  */
    8078 #line 2120 "parser.yy"
     7985#line 2109 "parser.yy"
    80797986    {}
    80807987    break;
     
    80837990
    80847991/* Line 1806 of yacc.c  */
    8085 #line 2121 "parser.yy"
    8086     {}
    8087     break;
    8088 
    8089   case 561:
    8090 
    8091 /* Line 1806 of yacc.c  */
    8092 #line 2122 "parser.yy"
    8093     {}
     7992#line 2144 "parser.yy"
     7993    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80947994    break;
    80957995
     
    80977997
    80987998/* Line 1806 of yacc.c  */
    8099 #line 2123 "parser.yy"
    8100     {}
     7999#line 2147 "parser.yy"
     8000    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81018001    break;
    81028002
     
    81048004
    81058005/* Line 1806 of yacc.c  */
    8106 #line 2158 "parser.yy"
     8006#line 2149 "parser.yy"
    81078007    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81088008    break;
    81098009
    8110   case 565:
    8111 
    8112 /* Line 1806 of yacc.c  */
    8113 #line 2161 "parser.yy"
    8114     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8115     break;
    8116 
    8117   case 566:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2163 "parser.yy"
    8121     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8122     break;
    8123 
    8124   case 567:
    8125 
    8126 /* Line 1806 of yacc.c  */
    8127 #line 2168 "parser.yy"
     8010  case 564:
     8011
     8012/* Line 1806 of yacc.c  */
     8013#line 2154 "parser.yy"
    81288014    {
    81298015                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    81328018    break;
    81338019
     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
     8027  case 566:
     8028
     8029/* Line 1806 of yacc.c  */
     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
    81348041  case 568:
    81358042
    81368043/* Line 1806 of yacc.c  */
     8044#line 2168 "parser.yy"
     8045    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8046    break;
     8047
     8048  case 569:
     8049
     8050/* Line 1806 of yacc.c  */
    81378051#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"
    81388073    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81398074    break;
    81408075
    8141   case 569:
    8142 
    8143 /* Line 1806 of yacc.c  */
    8144 #line 2178 "parser.yy"
     8076  case 573:
     8077
     8078/* Line 1806 of yacc.c  */
     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"
     8087    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     8088    break;
     8089
     8090  case 575:
     8091
     8092/* Line 1806 of yacc.c  */
     8093#line 2196 "parser.yy"
     8094    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8095    break;
     8096
     8097  case 577:
     8098
     8099/* Line 1806 of yacc.c  */
     8100#line 2199 "parser.yy"
     8101    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8102    break;
     8103
     8104  case 578:
     8105
     8106/* Line 1806 of yacc.c  */
     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"
    81458129    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81468130    break;
    81478131
    8148   case 570:
    8149 
    8150 /* Line 1806 of yacc.c  */
    8151 #line 2180 "parser.yy"
     8132  case 582:
     8133
     8134/* Line 1806 of yacc.c  */
     8135#line 2215 "parser.yy"
    81528136    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81538137    break;
    81548138
    8155   case 571:
    8156 
    8157 /* Line 1806 of yacc.c  */
    8158 #line 2182 "parser.yy"
     8139  case 583:
     8140
     8141/* Line 1806 of yacc.c  */
     8142#line 2217 "parser.yy"
    81598143    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81608144    break;
    81618145
    8162   case 572:
    8163 
    8164 /* Line 1806 of yacc.c  */
    8165 #line 2187 "parser.yy"
     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"
     8234    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8235    break;
     8236
     8237  case 601:
     8238
     8239/* Line 1806 of yacc.c  */
     8240#line 2281 "parser.yy"
     8241    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8242    break;
     8243
     8244  case 602:
     8245
     8246/* Line 1806 of yacc.c  */
     8247#line 2283 "parser.yy"
     8248    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8249    break;
     8250
     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"
    81668283    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    81678284    break;
    81688285
    8169   case 573:
    8170 
    8171 /* Line 1806 of yacc.c  */
    8172 #line 2189 "parser.yy"
     8286  case 609:
     8287
     8288/* Line 1806 of yacc.c  */
     8289#line 2305 "parser.yy"
    81738290    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81748291    break;
    81758292
    8176   case 574:
    8177 
    8178 /* Line 1806 of yacc.c  */
    8179 #line 2191 "parser.yy"
     8293  case 610:
     8294
     8295/* Line 1806 of yacc.c  */
     8296#line 2307 "parser.yy"
    81808297    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81818298    break;
    81828299
    8183   case 575:
    8184 
    8185 /* Line 1806 of yacc.c  */
    8186 #line 2193 "parser.yy"
     8300  case 611:
     8301
     8302/* Line 1806 of yacc.c  */
     8303#line 2309 "parser.yy"
    81878304    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81888305    break;
    81898306
    8190   case 576:
    8191 
    8192 /* Line 1806 of yacc.c  */
    8193 #line 2198 "parser.yy"
     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"
    81948318    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81958319    break;
    81968320
    8197   case 577:
    8198 
    8199 /* Line 1806 of yacc.c  */
    8200 #line 2200 "parser.yy"
     8321  case 614:
     8322
     8323/* Line 1806 of yacc.c  */
     8324#line 2318 "parser.yy"
    82018325    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82028326    break;
    82038327
    8204   case 578:
    8205 
    8206 /* Line 1806 of yacc.c  */
    8207 #line 2210 "parser.yy"
     8328  case 615:
     8329
     8330/* Line 1806 of yacc.c  */
     8331#line 2328 "parser.yy"
    82088332    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82098333    break;
    82108334
    8211   case 580:
    8212 
    8213 /* Line 1806 of yacc.c  */
    8214 #line 2213 "parser.yy"
     8335  case 617:
     8336
     8337/* Line 1806 of yacc.c  */
     8338#line 2331 "parser.yy"
    82158339    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82168340    break;
    82178341
    8218   case 581:
    8219 
    8220 /* Line 1806 of yacc.c  */
    8221 #line 2218 "parser.yy"
     8342  case 618:
     8343
     8344/* Line 1806 of yacc.c  */
     8345#line 2333 "parser.yy"
     8346    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8347    break;
     8348
     8349  case 619:
     8350
     8351/* Line 1806 of yacc.c  */
     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"
    82228402    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    82238403    break;
    82248404
    8225   case 582:
    8226 
    8227 /* Line 1806 of yacc.c  */
    8228 #line 2220 "parser.yy"
     8405  case 627:
     8406
     8407/* Line 1806 of yacc.c  */
     8408#line 2360 "parser.yy"
    82298409    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82308410    break;
    82318411
    8232   case 583:
    8233 
    8234 /* Line 1806 of yacc.c  */
    8235 #line 2222 "parser.yy"
     8412  case 628:
     8413
     8414/* Line 1806 of yacc.c  */
     8415#line 2362 "parser.yy"
    82368416    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82378417    break;
    82388418
    8239   case 584:
    8240 
    8241 /* Line 1806 of yacc.c  */
    8242 #line 2227 "parser.yy"
    8243     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8244     break;
    8245 
    8246   case 585:
    8247 
    8248 /* Line 1806 of yacc.c  */
    8249 #line 2229 "parser.yy"
    8250     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8251     break;
    8252 
    8253   case 586:
    8254 
    8255 /* Line 1806 of yacc.c  */
    8256 #line 2231 "parser.yy"
    8257     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8258     break;
    8259 
    8260   case 587:
    8261 
    8262 /* Line 1806 of yacc.c  */
    8263 #line 2236 "parser.yy"
    8264     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8265     break;
    8266 
    8267   case 588:
    8268 
    8269 /* Line 1806 of yacc.c  */
    8270 #line 2238 "parser.yy"
    8271     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8272     break;
    8273 
    8274   case 589:
    8275 
    8276 /* Line 1806 of yacc.c  */
    8277 #line 2240 "parser.yy"
    8278     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8279     break;
    8280 
    8281   case 593:
    8282 
    8283 /* Line 1806 of yacc.c  */
    8284 #line 2255 "parser.yy"
    8285     { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    8286     break;
    8287 
    8288   case 594:
    8289 
    8290 /* Line 1806 of yacc.c  */
    8291 #line 2257 "parser.yy"
    8292     { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    8293     break;
    8294 
    8295   case 595:
    8296 
    8297 /* Line 1806 of yacc.c  */
    8298 #line 2259 "parser.yy"
    8299     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8300     break;
    8301 
    8302   case 596:
    8303 
    8304 /* Line 1806 of yacc.c  */
    8305 #line 2264 "parser.yy"
    8306     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8307     break;
    8308 
    8309   case 597:
    8310 
    8311 /* Line 1806 of yacc.c  */
    8312 #line 2266 "parser.yy"
    8313     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8314     break;
    8315 
    8316   case 598:
    8317 
    8318 /* Line 1806 of yacc.c  */
    8319 #line 2268 "parser.yy"
    8320     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8321     break;
    8322 
    8323   case 599:
    8324 
    8325 /* Line 1806 of yacc.c  */
    8326 #line 2273 "parser.yy"
    8327     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8328     break;
    8329 
    8330   case 600:
    8331 
    8332 /* Line 1806 of yacc.c  */
    8333 #line 2275 "parser.yy"
    8334     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8335     break;
    8336 
    8337   case 601:
    8338 
    8339 /* Line 1806 of yacc.c  */
    8340 #line 2277 "parser.yy"
    8341     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8342     break;
    8343 
    8344   case 602:
    8345 
    8346 /* Line 1806 of yacc.c  */
    8347 #line 2292 "parser.yy"
     8419  case 629:
     8420
     8421/* Line 1806 of yacc.c  */
     8422#line 2393 "parser.yy"
    83488423    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83498424    break;
    83508425
    8351   case 604:
    8352 
    8353 /* Line 1806 of yacc.c  */
    8354 #line 2295 "parser.yy"
     8426  case 631:
     8427
     8428/* Line 1806 of yacc.c  */
     8429#line 2396 "parser.yy"
    83558430    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83568431    break;
    83578432
    8358   case 605:
    8359 
    8360 /* Line 1806 of yacc.c  */
    8361 #line 2297 "parser.yy"
     8433  case 632:
     8434
     8435/* Line 1806 of yacc.c  */
     8436#line 2398 "parser.yy"
    83628437    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83638438    break;
    83648439
    8365   case 607:
    8366 
    8367 /* Line 1806 of yacc.c  */
    8368 #line 2303 "parser.yy"
    8369     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8370     break;
    8371 
    8372   case 608:
    8373 
    8374 /* Line 1806 of yacc.c  */
    8375 #line 2308 "parser.yy"
    8376     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8377     break;
    8378 
    8379   case 609:
    8380 
    8381 /* Line 1806 of yacc.c  */
    8382 #line 2310 "parser.yy"
    8383     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8384     break;
    8385 
    8386   case 610:
    8387 
    8388 /* Line 1806 of yacc.c  */
    8389 #line 2312 "parser.yy"
    8390     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8391     break;
    8392 
    8393   case 611:
    8394 
    8395 /* Line 1806 of yacc.c  */
    8396 #line 2317 "parser.yy"
    8397     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8398     break;
    8399 
    8400   case 612:
    8401 
    8402 /* Line 1806 of yacc.c  */
    8403 #line 2319 "parser.yy"
    8404     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8405     break;
    8406 
    8407   case 613:
    8408 
    8409 /* Line 1806 of yacc.c  */
    8410 #line 2321 "parser.yy"
    8411     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8412     break;
    8413 
    8414   case 614:
    8415 
    8416 /* Line 1806 of yacc.c  */
    8417 #line 2323 "parser.yy"
    8418     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8419     break;
    8420 
    8421   case 615:
    8422 
    8423 /* Line 1806 of yacc.c  */
    8424 #line 2328 "parser.yy"
    8425     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8426     break;
    8427 
    8428   case 616:
    8429 
    8430 /* Line 1806 of yacc.c  */
    8431 #line 2330 "parser.yy"
    8432     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8433     break;
    8434 
    8435   case 617:
    8436 
    8437 /* Line 1806 of yacc.c  */
    8438 #line 2332 "parser.yy"
    8439     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8440     break;
    8441 
    8442   case 618:
    8443 
    8444 /* Line 1806 of yacc.c  */
    8445 #line 2342 "parser.yy"
    8446     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8447     break;
    8448 
    8449   case 620:
    8450 
    8451 /* Line 1806 of yacc.c  */
    8452 #line 2345 "parser.yy"
    8453     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8454     break;
    8455 
    8456   case 621:
    8457 
    8458 /* Line 1806 of yacc.c  */
    8459 #line 2347 "parser.yy"
    8460     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8461     break;
    8462 
    8463   case 622:
    8464 
    8465 /* Line 1806 of yacc.c  */
    8466 #line 2352 "parser.yy"
    8467     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8468     break;
    8469 
    8470   case 623:
    8471 
    8472 /* Line 1806 of yacc.c  */
    8473 #line 2354 "parser.yy"
    8474     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8475     break;
    8476 
    8477   case 624:
    8478 
    8479 /* Line 1806 of yacc.c  */
    8480 #line 2356 "parser.yy"
    8481     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8482     break;
    8483 
    8484   case 625:
    8485 
    8486 /* Line 1806 of yacc.c  */
    8487 #line 2361 "parser.yy"
    8488     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8489     break;
    8490 
    8491   case 626:
    8492 
    8493 /* Line 1806 of yacc.c  */
    8494 #line 2363 "parser.yy"
    8495     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8496     break;
    8497 
    8498   case 627:
    8499 
    8500 /* Line 1806 of yacc.c  */
    8501 #line 2365 "parser.yy"
    8502     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8503     break;
    8504 
    8505   case 628:
    8506 
    8507 /* Line 1806 of yacc.c  */
    8508 #line 2367 "parser.yy"
    8509     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8510     break;
    8511 
    8512   case 629:
    8513 
    8514 /* Line 1806 of yacc.c  */
    8515 #line 2372 "parser.yy"
    8516     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8517     break;
    8518 
    8519   case 630:
    8520 
    8521 /* Line 1806 of yacc.c  */
    8522 #line 2374 "parser.yy"
    8523     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8524     break;
    8525 
    8526   case 631:
    8527 
    8528 /* Line 1806 of yacc.c  */
    8529 #line 2376 "parser.yy"
    8530     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8531     break;
    8532 
    8533   case 632:
    8534 
    8535 /* Line 1806 of yacc.c  */
    8536 #line 2407 "parser.yy"
    8537     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8538     break;
    8539 
    8540   case 634:
    8541 
    8542 /* Line 1806 of yacc.c  */
    8543 #line 2410 "parser.yy"
    8544     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8545     break;
    8546 
    8547   case 635:
    8548 
    8549 /* Line 1806 of yacc.c  */
    8550 #line 2412 "parser.yy"
    8551     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8552     break;
    8553 
    8554   case 636:
    8555 
    8556 /* Line 1806 of yacc.c  */
    8557 #line 2417 "parser.yy"
     8440  case 633:
     8441
     8442/* Line 1806 of yacc.c  */
     8443#line 2403 "parser.yy"
    85588444    {
    85598445                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85628448    break;
    85638449
    8564   case 637:
    8565 
    8566 /* Line 1806 of yacc.c  */
    8567 #line 2422 "parser.yy"
     8450  case 634:
     8451
     8452/* Line 1806 of yacc.c  */
     8453#line 2408 "parser.yy"
    85688454    {
    85698455                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85728458    break;
    85738459
     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
     8467  case 636:
     8468
     8469/* Line 1806 of yacc.c  */
     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
    85748481  case 638:
    85758482
    85768483/* Line 1806 of yacc.c  */
    8577 #line 2430 "parser.yy"
     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"
    85788541    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85798542    break;
    85808543
    8581   case 639:
    8582 
    8583 /* Line 1806 of yacc.c  */
    8584 #line 2432 "parser.yy"
     8544  case 648:
     8545
     8546/* Line 1806 of yacc.c  */
     8547#line 2462 "parser.yy"
    85858548    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85868549    break;
    85878550
    8588   case 640:
    8589 
    8590 /* Line 1806 of yacc.c  */
    8591 #line 2434 "parser.yy"
     8551  case 649:
     8552
     8553/* Line 1806 of yacc.c  */
     8554#line 2464 "parser.yy"
    85928555    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85938556    break;
    85948557
    8595   case 641:
    8596 
    8597 /* Line 1806 of yacc.c  */
    8598 #line 2439 "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"
    85998737    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86008738    break;
    86018739
    8602   case 642:
    8603 
    8604 /* Line 1806 of yacc.c  */
    8605 #line 2441 "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"
    86068835    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86078836    break;
    86088837
    8609   case 643:
    8610 
    8611 /* Line 1806 of yacc.c  */
    8612 #line 2446 "parser.yy"
    8613     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    8614     break;
    8615 
    8616   case 644:
    8617 
    8618 /* Line 1806 of yacc.c  */
    8619 #line 2448 "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"
    86208856    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86218857    break;
    86228858
    8623   case 646:
    8624 
    8625 /* Line 1806 of yacc.c  */
    8626 #line 2463 "parser.yy"
    8627     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8628     break;
    8629 
    8630   case 647:
    8631 
    8632 /* Line 1806 of yacc.c  */
    8633 #line 2465 "parser.yy"
    8634     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8635     break;
    8636 
    8637   case 648:
    8638 
    8639 /* Line 1806 of yacc.c  */
    8640 #line 2470 "parser.yy"
    8641     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8642     break;
    8643 
    8644   case 649:
    8645 
    8646 /* Line 1806 of yacc.c  */
    8647 #line 2472 "parser.yy"
    8648     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8649     break;
    8650 
    8651   case 650:
    8652 
    8653 /* Line 1806 of yacc.c  */
    8654 #line 2474 "parser.yy"
    8655     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8656     break;
    8657 
    8658   case 651:
    8659 
    8660 /* Line 1806 of yacc.c  */
    8661 #line 2476 "parser.yy"
    8662     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8663     break;
    8664 
    8665   case 652:
    8666 
    8667 /* Line 1806 of yacc.c  */
    8668 #line 2478 "parser.yy"
     8859  case 701:
     8860
     8861/* Line 1806 of yacc.c  */
     8862#line 2628 "parser.yy"
    86698863    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86708864    break;
    86718865
    8672   case 654:
    8673 
    8674 /* Line 1806 of yacc.c  */
    8675 #line 2484 "parser.yy"
    8676     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8677     break;
    8678 
    8679   case 655:
    8680 
    8681 /* Line 1806 of yacc.c  */
    8682 #line 2486 "parser.yy"
    8683     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8684     break;
    8685 
    8686   case 656:
    8687 
    8688 /* Line 1806 of yacc.c  */
    8689 #line 2488 "parser.yy"
    8690     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8691     break;
    8692 
    8693   case 657:
    8694 
    8695 /* Line 1806 of yacc.c  */
    8696 #line 2493 "parser.yy"
    8697     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8698     break;
    8699 
    8700   case 658:
    8701 
    8702 /* Line 1806 of yacc.c  */
    8703 #line 2495 "parser.yy"
    8704     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8705     break;
    8706 
    8707   case 659:
    8708 
    8709 /* Line 1806 of yacc.c  */
    8710 #line 2497 "parser.yy"
    8711     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8712     break;
    8713 
    8714   case 660:
    8715 
    8716 /* Line 1806 of yacc.c  */
    8717 #line 2503 "parser.yy"
    8718     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8719     break;
    8720 
    8721   case 661:
    8722 
    8723 /* Line 1806 of yacc.c  */
    8724 #line 2505 "parser.yy"
    8725     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    8726     break;
    8727 
    8728   case 663:
    8729 
    8730 /* Line 1806 of yacc.c  */
    8731 #line 2511 "parser.yy"
    8732     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    8733     break;
    8734 
    8735   case 664:
    8736 
    8737 /* Line 1806 of yacc.c  */
    8738 #line 2513 "parser.yy"
    8739     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    8740     break;
    8741 
    8742   case 665:
    8743 
    8744 /* Line 1806 of yacc.c  */
    8745 #line 2515 "parser.yy"
    8746     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    8747     break;
    8748 
    8749   case 666:
    8750 
    8751 /* Line 1806 of yacc.c  */
    8752 #line 2517 "parser.yy"
    8753     { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    8754     break;
    8755 
    8756   case 668:
    8757 
    8758 /* Line 1806 of yacc.c  */
    8759 #line 2532 "parser.yy"
    8760     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8761     break;
    8762 
    8763   case 669:
    8764 
    8765 /* Line 1806 of yacc.c  */
    8766 #line 2534 "parser.yy"
    8767     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8768     break;
    8769 
    8770   case 670:
    8771 
    8772 /* Line 1806 of yacc.c  */
    8773 #line 2539 "parser.yy"
    8774     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8775     break;
    8776 
    8777   case 671:
    8778 
    8779 /* Line 1806 of yacc.c  */
    8780 #line 2541 "parser.yy"
    8781     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8782     break;
    8783 
    8784   case 672:
    8785 
    8786 /* Line 1806 of yacc.c  */
    8787 #line 2543 "parser.yy"
    8788     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8789     break;
    8790 
    8791   case 673:
    8792 
    8793 /* Line 1806 of yacc.c  */
    8794 #line 2545 "parser.yy"
    8795     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8796     break;
    8797 
    8798   case 674:
    8799 
    8800 /* Line 1806 of yacc.c  */
    8801 #line 2547 "parser.yy"
    8802     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8803     break;
    8804 
    8805   case 676:
    8806 
    8807 /* Line 1806 of yacc.c  */
    8808 #line 2553 "parser.yy"
    8809     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8810     break;
    8811 
    8812   case 677:
    8813 
    8814 /* Line 1806 of yacc.c  */
    8815 #line 2555 "parser.yy"
    8816     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8817     break;
    8818 
    8819   case 678:
    8820 
    8821 /* Line 1806 of yacc.c  */
    8822 #line 2557 "parser.yy"
    8823     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8824     break;
    8825 
    8826   case 679:
    8827 
    8828 /* Line 1806 of yacc.c  */
    8829 #line 2562 "parser.yy"
    8830     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    8831     break;
    8832 
    8833   case 680:
    8834 
    8835 /* Line 1806 of yacc.c  */
    8836 #line 2564 "parser.yy"
    8837     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8838     break;
    8839 
    8840   case 681:
    8841 
    8842 /* Line 1806 of yacc.c  */
    8843 #line 2566 "parser.yy"
    8844     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8845     break;
    8846 
    8847   case 683:
    8848 
    8849 /* Line 1806 of yacc.c  */
    8850 #line 2573 "parser.yy"
    8851     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    8852     break;
    8853 
    8854   case 685:
    8855 
    8856 /* Line 1806 of yacc.c  */
    8857 #line 2584 "parser.yy"
    8858     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    8859     break;
    8860 
    8861   case 686:
    8862 
    8863 /* Line 1806 of yacc.c  */
    8864 #line 2587 "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"
    88658989    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    88668990    break;
    88678991
    8868   case 687:
    8869 
    8870 /* Line 1806 of yacc.c  */
    8871 #line 2589 "parser.yy"
    8872     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    8873     break;
    8874 
    8875   case 688:
    8876 
    8877 /* Line 1806 of yacc.c  */
    8878 #line 2592 "parser.yy"
     8992  case 724:
     8993
     8994/* Line 1806 of yacc.c  */
     8995#line 2690 "parser.yy"
    88798996    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88808997    break;
    88818998
    8882   case 689:
    8883 
    8884 /* Line 1806 of yacc.c  */
    8885 #line 2594 "parser.yy"
    8886     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    8887     break;
    8888 
    8889   case 690:
    8890 
    8891 /* Line 1806 of yacc.c  */
    8892 #line 2596 "parser.yy"
    8893     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    8894     break;
    8895 
    8896   case 692:
    8897 
    8898 /* Line 1806 of yacc.c  */
    8899 #line 2610 "parser.yy"
    8900     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8901     break;
    8902 
    8903   case 693:
    8904 
    8905 /* Line 1806 of yacc.c  */
    8906 #line 2612 "parser.yy"
    8907     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8908     break;
    8909 
    8910   case 694:
    8911 
    8912 /* Line 1806 of yacc.c  */
    8913 #line 2617 "parser.yy"
    8914     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    8915     break;
    8916 
    8917   case 695:
    8918 
    8919 /* Line 1806 of yacc.c  */
    8920 #line 2619 "parser.yy"
    8921     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    8922     break;
    8923 
    8924   case 696:
    8925 
    8926 /* Line 1806 of yacc.c  */
    8927 #line 2621 "parser.yy"
    8928     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    8929     break;
    8930 
    8931   case 697:
    8932 
    8933 /* Line 1806 of yacc.c  */
    8934 #line 2623 "parser.yy"
    8935     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    8936     break;
    8937 
    8938   case 698:
    8939 
    8940 /* Line 1806 of yacc.c  */
    8941 #line 2625 "parser.yy"
    8942     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8943     break;
    8944 
    8945   case 700:
    8946 
    8947 /* Line 1806 of yacc.c  */
    8948 #line 2631 "parser.yy"
    8949     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8950     break;
    8951 
    8952   case 701:
    8953 
    8954 /* Line 1806 of yacc.c  */
    8955 #line 2633 "parser.yy"
    8956     { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    8957     break;
    8958 
    8959   case 702:
    8960 
    8961 /* Line 1806 of yacc.c  */
    8962 #line 2635 "parser.yy"
    8963     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8964     break;
    8965 
    8966   case 703:
    8967 
    8968 /* Line 1806 of yacc.c  */
    8969 #line 2640 "parser.yy"
    8970     { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    8971     break;
    8972 
    8973   case 704:
    8974 
    8975 /* Line 1806 of yacc.c  */
    8976 #line 2642 "parser.yy"
    8977     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    8978     break;
    8979 
    8980   case 707:
    8981 
    8982 /* Line 1806 of yacc.c  */
    8983 #line 2652 "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"
    89849017    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89859018    break;
    89869019
    8987   case 710:
    8988 
    8989 /* Line 1806 of yacc.c  */
    8990 #line 2662 "parser.yy"
     9020  case 732:
     9021
     9022/* Line 1806 of yacc.c  */
     9023#line 2735 "parser.yy"
    89919024    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89929025    break;
    89939026
    8994   case 711:
    8995 
    8996 /* Line 1806 of yacc.c  */
    8997 #line 2664 "parser.yy"
     9027  case 733:
     9028
     9029/* Line 1806 of yacc.c  */
     9030#line 2737 "parser.yy"
    89989031    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89999032    break;
    90009033
    9001   case 712:
    9002 
    9003 /* Line 1806 of yacc.c  */
    9004 #line 2666 "parser.yy"
     9034  case 734:
     9035
     9036/* Line 1806 of yacc.c  */
     9037#line 2739 "parser.yy"
    90059038    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90069039    break;
    90079040
    9008   case 713:
    9009 
    9010 /* Line 1806 of yacc.c  */
    9011 #line 2668 "parser.yy"
     9041  case 735:
     9042
     9043/* Line 1806 of yacc.c  */
     9044#line 2741 "parser.yy"
    90129045    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90139046    break;
    90149047
    9015   case 714:
    9016 
    9017 /* Line 1806 of yacc.c  */
    9018 #line 2670 "parser.yy"
     9048  case 736:
     9049
     9050/* Line 1806 of yacc.c  */
     9051#line 2743 "parser.yy"
    90199052    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90209053    break;
    90219054
    9022   case 715:
    9023 
    9024 /* Line 1806 of yacc.c  */
    9025 #line 2672 "parser.yy"
     9055  case 737:
     9056
     9057/* Line 1806 of yacc.c  */
     9058#line 2745 "parser.yy"
    90269059    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90279060    break;
    90289061
    9029   case 716:
    9030 
    9031 /* Line 1806 of yacc.c  */
    9032 #line 2679 "parser.yy"
     9062  case 738:
     9063
     9064/* Line 1806 of yacc.c  */
     9065#line 2752 "parser.yy"
    90339066    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90349067    break;
    90359068
    9036   case 717:
    9037 
    9038 /* Line 1806 of yacc.c  */
    9039 #line 2681 "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"
    90409080    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90419081    break;
    90429082
    9043   case 718:
    9044 
    9045 /* Line 1806 of yacc.c  */
    9046 #line 2683 "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"
    90479094    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90489095    break;
    90499096
    9050   case 719:
    9051 
    9052 /* Line 1806 of yacc.c  */
    9053 #line 2685 "parser.yy"
    9054     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9055     break;
    9056 
    9057   case 720:
    9058 
    9059 /* Line 1806 of yacc.c  */
    9060 #line 2687 "parser.yy"
     9097  case 743:
     9098
     9099/* Line 1806 of yacc.c  */
     9100#line 2762 "parser.yy"
    90619101    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90629102    break;
    90639103
    9064   case 721:
    9065 
    9066 /* Line 1806 of yacc.c  */
    9067 #line 2689 "parser.yy"
    9068     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9069     break;
    9070 
    9071   case 722:
    9072 
    9073 /* Line 1806 of yacc.c  */
    9074 #line 2691 "parser.yy"
    9075     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9076     break;
    9077 
    9078   case 723:
    9079 
    9080 /* Line 1806 of yacc.c  */
    9081 #line 2693 "parser.yy"
    9082     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9083     break;
    9084 
    9085   case 724:
    9086 
    9087 /* Line 1806 of yacc.c  */
    9088 #line 2695 "parser.yy"
    9089     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9090     break;
    9091 
    9092   case 725:
    9093 
    9094 /* Line 1806 of yacc.c  */
    9095 #line 2697 "parser.yy"
    9096     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9097     break;
    9098 
    9099   case 726:
    9100 
    9101 /* Line 1806 of yacc.c  */
    9102 #line 2702 "parser.yy"
    9103     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    9104     break;
    9105 
    9106   case 727:
    9107 
    9108 /* Line 1806 of yacc.c  */
    9109 #line 2704 "parser.yy"
    9110     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    9111     break;
    9112 
    9113   case 728:
    9114 
    9115 /* Line 1806 of yacc.c  */
    9116 #line 2709 "parser.yy"
    9117     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    9118     break;
    9119 
    9120   case 729:
    9121 
    9122 /* Line 1806 of yacc.c  */
    9123 #line 2711 "parser.yy"
    9124     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    9125     break;
    9126 
    9127   case 731:
    9128 
    9129 /* Line 1806 of yacc.c  */
    9130 #line 2738 "parser.yy"
    9131     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9132     break;
    9133 
    9134   case 735:
    9135 
    9136 /* Line 1806 of yacc.c  */
    9137 #line 2749 "parser.yy"
    9138     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9139     break;
    9140 
    9141   case 736:
    9142 
    9143 /* Line 1806 of yacc.c  */
    9144 #line 2751 "parser.yy"
    9145     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9146     break;
    9147 
    9148   case 737:
    9149 
    9150 /* Line 1806 of yacc.c  */
    9151 #line 2753 "parser.yy"
    9152     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9153     break;
    9154 
    9155   case 738:
    9156 
    9157 /* Line 1806 of yacc.c  */
    9158 #line 2755 "parser.yy"
    9159     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9160     break;
    9161 
    9162   case 739:
    9163 
    9164 /* Line 1806 of yacc.c  */
    9165 #line 2757 "parser.yy"
    9166     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9167     break;
    9168 
    9169   case 740:
    9170 
    9171 /* Line 1806 of yacc.c  */
    9172 #line 2759 "parser.yy"
    9173     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9174     break;
    9175 
    9176   case 741:
    9177 
    9178 /* Line 1806 of yacc.c  */
    9179 #line 2766 "parser.yy"
    9180     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9181     break;
    9182 
    9183   case 742:
    9184 
    9185 /* Line 1806 of yacc.c  */
    9186 #line 2768 "parser.yy"
    9187     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9188     break;
    9189 
    9190   case 743:
    9191 
    9192 /* Line 1806 of yacc.c  */
    9193 #line 2770 "parser.yy"
    9194     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9195     break;
    9196 
    91979104  case 744:
    91989105
    91999106/* Line 1806 of yacc.c  */
     9107#line 2767 "parser.yy"
     9108    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
     9109    break;
     9110
     9111  case 745:
     9112
     9113/* Line 1806 of yacc.c  */
    92009114#line 2772 "parser.yy"
    9201     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9202     break;
    9203 
    9204   case 745:
     9115    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
     9116    break;
     9117
     9118  case 746:
    92059119
    92069120/* Line 1806 of yacc.c  */
    92079121#line 2774 "parser.yy"
    9208     { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    9209     break;
    9210 
    9211   case 746:
     9122    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
     9123    break;
     9124
     9125  case 747:
    92129126
    92139127/* Line 1806 of yacc.c  */
    92149128#line 2776 "parser.yy"
    9215     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9216     break;
    9217 
    9218   case 747:
    9219 
    9220 /* Line 1806 of yacc.c  */
    9221 #line 2781 "parser.yy"
    9222     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    9223     break;
    9224 
    9225   case 748:
    9226 
    9227 /* Line 1806 of yacc.c  */
    9228 #line 2786 "parser.yy"
    9229     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    9230     break;
    9231 
    9232   case 749:
    9233 
    9234 /* Line 1806 of yacc.c  */
    9235 #line 2788 "parser.yy"
    92369129    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    92379130    break;
     
    92409133
    92419134/* Line 1806 of yacc.c  */
    9242 #line 2790 "parser.yy"
    9243     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    9244     break;
    9245 
    9246   case 753:
    9247 
    9248 /* Line 1806 of yacc.c  */
    9249 #line 2814 "parser.yy"
     9135#line 2800 "parser.yy"
    92509136    { (yyval.en) = 0; }
    92519137    break;
    92529138
    9253   case 754:
    9254 
    9255 /* Line 1806 of yacc.c  */
    9256 #line 2816 "parser.yy"
     9139  case 751:
     9140
     9141/* Line 1806 of yacc.c  */
     9142#line 2802 "parser.yy"
    92579143    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    92589144    break;
     
    92619147
    92629148/* Line 1806 of yacc.c  */
    9263 #line 9264 "Parser/parser.cc"
     9149#line 9150 "Parser/parser.cc"
    92649150      default: break;
    92659151    }
     
    94929378
    94939379/* Line 2067 of yacc.c  */
    9494 #line 2819 "parser.yy"
     9380#line 2805 "parser.yy"
    94959381
    94969382// ----end of grammar----
     
    94999385        std::cout << "Error ";
    95009386        if ( yyfilename ) {
    9501                 std::cout << "in file " << yyfilename << " ";
     9387            std::cout << "in file " << yyfilename << " ";
    95029388        } // if
    95039389        std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl;
Note: See TracChangeset for help on using the changeset viewer.