Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    rbd85400 r3cfe27f  
    7777#include <cstdio>
    7878#include <stack>
     79#include "lex.h"
     80#include "parser.h"
     81#include "ParseNode.h"
    7982#include "TypedefTable.h"
    80 #include "lex.h"
    81 #include "ParseNode.h"
    8283#include "TypeData.h"
    8384#include "LinkageSpec.h"
     
    9091
    9192/* Line 268 of yacc.c  */
    92 #line 93 "Parser/parser.cc"
     93#line 94 "Parser/parser.cc"
    9394
    9495/* Enabling traces.  */
     
    138139     SIGNED = 277,
    139140     UNSIGNED = 278,
    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
     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
    224226   };
    225227#endif
     
    246248#define SIGNED 277
    247249#define UNSIGNED 278
    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
     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
    332335
    333336
     
    339342
    340343/* Line 293 of yacc.c  */
    341 #line 110 "parser.yy"
     344#line 112 "parser.yy"
    342345
    343346        Token tok;
     
    356359
    357360/* Line 293 of yacc.c  */
    358 #line 359 "Parser/parser.cc"
     361#line 362 "Parser/parser.cc"
    359362} YYSTYPE;
    360363# define YYSTYPE_IS_TRIVIAL 1
     
    368371
    369372/* Line 343 of yacc.c  */
    370 #line 371 "Parser/parser.cc"
     373#line 374 "Parser/parser.cc"
    371374
    372375#ifdef short
     
    585588
    586589/* YYFINAL -- State number of the termination state.  */
    587 #define YYFINAL  248
     590#define YYFINAL  249
    588591/* YYLAST -- Last index in YYTABLE.  */
    589 #define YYLAST   11042
     592#define YYLAST   11290
    590593
    591594/* YYNTOKENS -- Number of terminals.  */
    592 #define YYNTOKENS  132
     595#define YYNTOKENS  133
    593596/* YYNNTS -- Number of nonterminals.  */
    594597#define YYNNTS  238
    595598/* YYNRULES -- Number of rules.  */
    596 #define YYNRULES  751
     599#define YYNRULES  752
    597600/* YYNRULES -- Number of states.  */
    598 #define YYNSTATES  1578
     601#define YYNSTATES  1579
    599602
    600603/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    601604#define YYUNDEFTOK  2
    602 #define YYMAXUTOK   362
     605#define YYMAXUTOK   363
    603606
    604607#define YYTRANSLATE(YYX)                                                \
     
    611614       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    612615       2,     2,     2,     2,     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,
     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,
    617620       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    618621       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    619        2,   110,     2,   111,   127,     2,     2,     2,     2,     2,
     622       2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
    620623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621624       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622        2,     2,     2,   113,   128,   114,   122,     2,     2,     2,
     625       2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
    623626       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624627       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    644647      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    645648      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    646      105,   106,   107
     649     105,   106,   107,   108
    647650};
    648651
     
    685688    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    686689    1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
    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
     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,  1316,  1324,
     694    1327,  1330,  1333,  1335,  1338,  1341,  1345,  1348,  1352,  1354,
     695    1357,  1361,  1364,  1367,  1372,  1373,  1375,  1378,  1381,  1383,
     696    1384,  1386,  1389,  1392,  1398,  1405,  1408,  1411,  1416,  1417,
     697    1420,  1421,  1423,  1425,  1427,  1433,  1439,  1445,  1447,  1453,
     698    1459,  1469,  1471,  1477,  1478,  1480,  1482,  1488,  1490,  1492,
     699    1498,  1504,  1506,  1510,  1514,  1519,  1521,  1523,  1525,  1527,
     700    1530,  1532,  1536,  1540,  1542,  1545,  1547,  1551,  1553,  1555,
     701    1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1576,
     702    1578,  1580,  1582,  1585,  1586,  1589,  1592,  1594,  1599,  1600,
     703    1602,  1605,  1609,  1614,  1617,  1620,  1622,  1625,  1627,  1630,
     704    1636,  1642,  1650,  1657,  1659,  1662,  1665,  1669,  1671,  1674,
     705    1677,  1682,  1685,  1690,  1691,  1696,  1699,  1701,  1703,  1705,
     706    1706,  1709,  1715,  1721,  1735,  1737,  1739,  1743,  1747,  1750,
     707    1754,  1758,  1761,  1766,  1768,  1775,  1785,  1786,  1798,  1800,
     708    1804,  1808,  1812,  1814,  1816,  1822,  1825,  1831,  1832,  1834,
     709    1836,  1840,  1841,  1843,  1845,  1847,  1849,  1850,  1857,  1860,
     710    1862,  1865,  1870,  1873,  1877,  1881,  1885,  1890,  1896,  1902,
     711    1908,  1915,  1917,  1919,  1921,  1925,  1926,  1932,  1933,  1935,
     712    1937,  1940,  1947,  1949,  1953,  1954,  1956,  1961,  1963,  1965,
     713    1967,  1969,  1972,  1974,  1977,  1980,  1982,  1986,  1989,  1993,
     714    1997,  2000,  2005,  2010,  2014,  2023,  2027,  2030,  2032,  2035,
     715    2042,  2051,  2055,  2058,  2062,  2066,  2071,  2076,  2080,  2082,
     716    2084,  2086,  2091,  2098,  2102,  2105,  2109,  2113,  2118,  2123,
     717    2127,  2130,  2132,  2135,  2138,  2140,  2144,  2147,  2151,  2155,
     718    2158,  2163,  2168,  2172,  2179,  2188,  2192,  2195,  2197,  2200,
     719    2203,  2206,  2210,  2214,  2217,  2222,  2227,  2231,  2238,  2247,
     720    2251,  2254,  2256,  2259,  2262,  2264,  2266,  2269,  2273,  2277,
     721    2280,  2285,  2292,  2301,  2303,  2306,  2309,  2311,  2314,  2317,
     722    2321,  2325,  2327,  2332,  2337,  2341,  2347,  2356,  2360,  2363,
     723    2367,  2369,  2375,  2381,  2388,  2395,  2397,  2400,  2403,  2405,
     724    2408,  2411,  2415,  2419,  2421,  2426,  2431,  2435,  2441,  2450,
     725    2454,  2456,  2459,  2461,  2464,  2471,  2477,  2484,  2492,  2500,
     726    2502,  2505,  2508,  2510,  2513,  2516,  2520,  2524,  2526,  2531,
     727    2536,  2540,  2549,  2553,  2555,  2557,  2560,  2562,  2564,  2567,
     728    2571,  2574,  2578,  2581,  2585,  2589,  2592,  2597,  2601,  2604,
     729    2608,  2611,  2616,  2620,  2623,  2630,  2637,  2644,  2652,  2654,
     730    2657,  2659,  2661,  2663,  2666,  2670,  2673,  2677,  2680,  2684,
     731    2688,  2693,  2696,  2700,  2705,  2708,  2714,  2720,  2727,  2734,
     732    2735,  2737,  2738
    730733};
    731734
     
    733736static const yytype_int16 yyrhs[] =
    734737{
    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,
     738     299,     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,   272,   110,   114,   276,   369,   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,   272,   110,    -1,    38,   109,
     758     272,   116,   139,   110,    -1,    76,    -1,    76,   109,   273,
     759     110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
     760      66,   109,   272,   110,    -1,    94,   139,    -1,   120,    -1,
     761     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   272,
     762     110,   150,    -1,   109,   272,   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,   370,    -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,   309,   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,   305,    -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,   307,    -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,   306,    -1,   224,   354,    -1,   363,
     816     139,    -1,   363,    -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,   271,
     829      -1,   210,   116,   271,    -1,   212,    -1,   221,    -1,   213,
     830     135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
     831      -1,   290,   135,   132,    -1,   293,   135,   132,    -1,   214,
     832     274,    -1,   230,   214,   274,    -1,   213,   135,   116,   134,
     833     269,   274,    -1,   364,   269,   308,    -1,   367,   269,   308,
     834      -1,   226,   367,   269,   308,    -1,   216,    -1,   226,   216,
     835      -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
     836     116,   134,   269,    -1,   111,   112,   269,   109,   134,   257,
     837     135,   110,    -1,   367,   269,   109,   134,   257,   135,   110,
     838      -1,   217,   269,   109,   134,   257,   135,   110,    -1,   111,
     839     134,   259,   135,   112,    -1,   111,   134,   259,   135,   116,
     840     134,   260,   135,   112,    -1,     3,   214,    -1,     3,   216,
     841      -1,   218,   135,   116,   134,   139,    -1,     3,   224,   306,
     842      -1,   219,   135,   116,   134,   306,    -1,   226,     3,   224,
     843     306,    -1,   224,     3,   306,    -1,   224,     3,   226,   306,
     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,   306,   308,   274,    -1,   222,   116,   309,   306,   308,
     848     274,    -1,   235,    -1,   239,    -1,   241,    -1,   280,    -1,
     849     236,    -1,   240,    -1,   242,    -1,   281,    -1,    -1,   226,
     850      -1,   227,    -1,   226,   227,    -1,   228,    -1,   311,    -1,
     851      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
     852      -1,    13,   109,   229,   283,   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,
    853856      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    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
     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     273,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
     863     273,   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     254,    -1,   245,   114,   246,   115,    -1,   245,   271,    -1,
     869     245,   271,   114,   246,   115,    -1,   245,   109,   289,   110,
     870     114,   246,   115,    -1,   245,   282,    -1,    31,   309,    -1,
     871      32,   309,    -1,   247,    -1,   246,   247,    -1,   248,   132,
     872      -1,    40,   248,   132,    -1,   249,   132,    -1,    40,   249,
     873     132,    -1,   363,    -1,   363,   271,    -1,   248,   116,   271,
     874      -1,   248,   116,    -1,   224,   250,    -1,   249,   116,   309,
     875     250,    -1,    -1,   252,    -1,   315,   251,    -1,   328,   251,
     876      -1,   354,    -1,    -1,   252,    -1,   117,   162,    -1,    30,
     877     309,    -1,   253,   114,   255,   369,   115,    -1,   253,   271,
     878     114,   255,   369,   115,    -1,   253,   271,    -1,   271,   256,
     879      -1,   255,   116,   271,   256,    -1,    -1,   131,   162,    -1,
     880      -1,   258,    -1,   260,    -1,   259,    -1,   259,   135,   116,
     881     134,   260,    -1,   260,   135,   116,   134,    96,    -1,   259,
     882     135,   116,   134,    96,    -1,   264,    -1,   260,   135,   116,
     883     134,   264,    -1,   259,   135,   116,   134,   264,    -1,   259,
     884     135,   116,   134,   260,   135,   116,   134,   264,    -1,   265,
     885      -1,   260,   135,   116,   134,   265,    -1,    -1,   262,    -1,
     886     263,    -1,   263,   135,   116,   134,    96,    -1,   267,    -1,
     887     266,    -1,   263,   135,   116,   134,   267,    -1,   263,   135,
     888     116,   134,   266,    -1,   266,    -1,   359,   269,   370,    -1,
     889     367,   269,   370,    -1,   226,   367,   269,   370,    -1,   216,
     890      -1,   267,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
     891     368,    -1,   223,   333,   370,    -1,   223,   337,   370,    -1,
     892     223,    -1,   223,   348,    -1,   139,    -1,   268,   116,   139,
     893      -1,   137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,
     894      -1,    75,    -1,   139,    -1,    74,    -1,    75,    -1,   363,
     895      -1,   224,    -1,   224,   354,    -1,   363,    -1,   368,    -1,
     896     224,    -1,   224,   342,    -1,    -1,   131,   275,    -1,   107,
     897     275,    -1,   163,    -1,   114,   276,   369,   115,    -1,    -1,
     898     275,    -1,   277,   275,    -1,   276,   116,   275,    -1,   276,
     899     116,   277,   275,    -1,   278,   117,    -1,   271,   117,    -1,
     900     279,    -1,   278,   279,    -1,    80,    -1,   113,   271,    -1,
     901     111,   134,   163,   135,   112,    -1,   111,   134,   307,   135,
     902     112,    -1,   111,   134,   162,    96,   162,   135,   112,    -1,
     903     113,   111,   134,   146,   135,   112,    -1,   281,    -1,   230,
     904     281,    -1,   280,   232,    -1,   280,   232,   226,    -1,   282,
     905      -1,   226,   282,    -1,   281,   227,    -1,    75,   109,   289,
     906     110,    -1,   284,   370,    -1,   283,   116,   284,   370,    -1,
     907      -1,   286,   271,   285,   287,    -1,   224,   333,    -1,    33,
     908      -1,    35,    -1,    34,    -1,    -1,   287,   288,    -1,   129,
     909     271,   109,   289,   110,    -1,   129,   114,   134,   295,   115,
     910      -1,   129,   109,   134,   283,   135,   110,   114,   134,   295,
     911     115,   109,   289,   110,    -1,   273,    -1,   163,    -1,   289,
     912     116,   273,    -1,   289,   116,   163,    -1,    33,   291,    -1,
     913     231,    33,   291,    -1,   290,   116,   291,    -1,   292,   287,
     914      -1,   292,   287,   131,   273,    -1,   271,    -1,   270,   109,
     915     134,   283,   135,   110,    -1,    36,   271,   109,   134,   283,
     916     135,   110,   114,   115,    -1,    -1,    36,   271,   109,   134,
     917     283,   135,   110,   114,   294,   295,   115,    -1,   296,    -1,
     918     295,   134,   296,    -1,   297,   135,   132,    -1,   298,   135,
     919     132,    -1,   214,    -1,   216,    -1,   297,   135,   116,   134,
     920     269,    -1,   224,   306,    -1,   298,   135,   116,   134,   306,
     921      -1,    -1,   300,    -1,   302,    -1,   300,   134,   302,    -1,
     922      -1,   300,    -1,   211,    -1,   304,    -1,   197,    -1,    -1,
     923       5,    82,   303,   114,   301,   115,    -1,    40,   302,    -1,
     924     305,    -1,   320,   172,    -1,   324,   134,   206,   172,    -1,
     925     215,   172,    -1,   223,   320,   172,    -1,   226,   320,   172,
     926      -1,   230,   320,   172,    -1,   230,   226,   320,   172,    -1,
     927     223,   324,   134,   206,   172,    -1,   226,   324,   134,   206,
     928     172,    -1,   230,   324,   134,   206,   172,    -1,   230,   226,
     929     324,   134,   206,   172,    -1,   315,    -1,   320,    -1,   328,
     930      -1,   162,   123,   162,    -1,    -1,    64,   109,   141,   110,
     931     309,    -1,    -1,   310,    -1,   311,    -1,   310,   311,    -1,
     932      39,   109,   109,   312,   110,   110,    -1,   313,    -1,   312,
     933     116,   313,    -1,    -1,   314,    -1,   314,   109,   169,   110,
     934      -1,   269,    -1,   233,    -1,   234,    -1,   227,    -1,   316,
     935     309,    -1,   317,    -1,   318,   309,    -1,   319,   309,    -1,
     936     137,    -1,   109,   316,   110,    -1,   119,   315,    -1,   119,
     937     226,   315,    -1,   109,   317,   110,    -1,   316,   346,    -1,
     938     109,   317,   110,   346,    -1,   109,   318,   110,   347,    -1,
     939     109,   318,   110,    -1,   109,   317,   110,   109,   134,   261,
     940     135,   110,    -1,   109,   319,   110,    -1,   321,   309,    -1,
     941     322,    -1,   323,   309,    -1,   316,   109,   134,   261,   135,
     942     110,    -1,   109,   322,   110,   109,   134,   261,   135,   110,
     943      -1,   109,   321,   110,    -1,   119,   320,    -1,   119,   226,
     944     320,    -1,   109,   322,   110,    -1,   109,   322,   110,   346,
     945      -1,   109,   323,   110,   347,    -1,   109,   323,   110,    -1,
     946     325,    -1,   326,    -1,   327,    -1,   316,   109,   268,   110,
     947      -1,   109,   326,   110,   109,   268,   110,    -1,   109,   325,
     948     110,    -1,   119,   324,    -1,   119,   226,   324,    -1,   109,
     949     326,   110,    -1,   109,   326,   110,   346,    -1,   109,   327,
     950     110,   347,    -1,   109,   327,   110,    -1,   329,   309,    -1,
     951     330,    -1,   331,   309,    -1,   332,   309,    -1,   338,    -1,
     952     109,   329,   110,    -1,   119,   328,    -1,   119,   226,   328,
     953      -1,   109,   330,   110,    -1,   329,   346,    -1,   109,   330,
     954     110,   346,    -1,   109,   331,   110,   347,    -1,   109,   331,
     955     110,    -1,   329,   109,   134,   261,   135,   110,    -1,   109,
     956     330,   110,   109,   134,   261,   135,   110,    -1,   109,   332,
     957     110,    -1,   316,   309,    -1,   334,    -1,   335,   309,    -1,
     958     336,   309,    -1,   119,   333,    -1,   119,   226,   333,    -1,
     959     109,   334,   110,    -1,   316,   352,    -1,   109,   334,   110,
     960     346,    -1,   109,   335,   110,   347,    -1,   109,   335,   110,
     961      -1,   316,   109,   134,   261,   135,   110,    -1,   109,   334,
     962     110,   109,   134,   261,   135,   110,    -1,   109,   336,   110,
     963      -1,   338,   309,    -1,   339,    -1,   340,   309,    -1,   341,
     964     309,    -1,    74,    -1,    75,    -1,   119,   337,    -1,   119,
     965     226,   337,    -1,   109,   339,   110,    -1,   338,   352,    -1,
     966     109,   339,   110,   352,    -1,   338,   109,   134,   261,   135,
     967     110,    -1,   109,   339,   110,   109,   134,   261,   135,   110,
     968      -1,   343,    -1,   344,   309,    -1,   345,   309,    -1,   119,
     969      -1,   119,   226,    -1,   119,   342,    -1,   119,   226,   342,
     970      -1,   109,   343,   110,    -1,   346,    -1,   109,   343,   110,
     971     346,    -1,   109,   344,   110,   347,    -1,   109,   344,   110,
     972      -1,   109,   134,   261,   135,   110,    -1,   109,   343,   110,
     973     109,   134,   261,   135,   110,    -1,   109,   345,   110,    -1,
     974     111,   112,    -1,   111,   112,   347,    -1,   347,    -1,   111,
     975     134,   163,   135,   112,    -1,   111,   134,   119,   135,   112,
     976      -1,   347,   111,   134,   163,   135,   112,    -1,   347,   111,
     977     134,   119,   135,   112,    -1,   349,    -1,   350,   309,    -1,
     978     351,   309,    -1,   119,    -1,   119,   226,    -1,   119,   348,
     979      -1,   119,   226,   348,    -1,   109,   349,   110,    -1,   352,
     980      -1,   109,   349,   110,   352,    -1,   109,   350,   110,   347,
     981      -1,   109,   350,   110,    -1,   109,   134,   261,   135,   110,
     982      -1,   109,   349,   110,   109,   134,   261,   135,   110,    -1,
     983     109,   351,   110,    -1,   353,    -1,   353,   347,    -1,   347,
     984      -1,   111,   112,    -1,   111,   134,   226,   119,   135,   112,
     985      -1,   111,   134,   226,   135,   112,    -1,   111,   134,   226,
     986     163,   135,   112,    -1,   111,   134,     7,   225,   163,   135,
     987     112,    -1,   111,   134,   226,     7,   163,   135,   112,    -1,
     988     355,    -1,   356,   309,    -1,   357,   309,    -1,   119,    -1,
     989     119,   226,    -1,   119,   354,    -1,   119,   226,   354,    -1,
     990     109,   355,   110,    -1,   346,    -1,   109,   355,   110,   346,
     991      -1,   109,   356,   110,   347,    -1,   109,   356,   110,    -1,
     992     109,   355,   110,   109,   134,   261,   135,   110,    -1,   109,
     993     357,   110,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
     994     360,    -1,   361,    -1,   119,   224,    -1,   226,   119,   224,
     995      -1,   119,   368,    -1,   226,   119,   368,    -1,   119,   358,
     996      -1,   226,   119,   358,    -1,   111,   112,   224,    -1,   362,
     997     224,    -1,   111,   112,   347,   224,    -1,   362,   347,   224,
     998      -1,   347,   224,    -1,   111,   112,   360,    -1,   362,   360,
     999      -1,   111,   112,   347,   360,    -1,   362,   347,   360,    -1,
     1000     347,   360,    -1,   111,   134,   226,   119,   135,   112,    -1,
     1001     111,   134,   226,   163,   135,   112,    -1,   111,   134,   230,
     1002     163,   135,   112,    -1,   111,   134,   230,   226,   163,   135,
     1003     112,    -1,   367,    -1,   226,   367,    -1,   364,    -1,   365,
     1004      -1,   366,    -1,   119,   224,    -1,   226,   119,   224,    -1,
     1005     119,   368,    -1,   226,   119,   368,    -1,   119,   363,    -1,
     1006     226,   119,   363,    -1,   111,   112,   224,    -1,   111,   112,
     1007     347,   224,    -1,   347,   224,    -1,   111,   112,   365,    -1,
     1008     111,   112,   347,   365,    -1,   347,   365,    -1,   111,   134,
     1009     260,   135,   112,    -1,   111,   112,   109,   257,   110,    -1,
     1010     367,   109,   134,   257,   135,   110,    -1,   217,   109,   134,
     1011     257,   135,   110,    -1,    -1,   116,    -1,    -1,   131,   163,
     1012      -1
    10091013};
    10101014
     
    10121016static const yytype_uint16 yyrline[] =
    10131017{
    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
     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,  1441,  1443,  1445,
     1055    1450,  1452,  1457,  1459,  1464,  1465,  1467,  1468,  1473,  1474,
     1056    1476,  1478,  1483,  1485,  1491,  1492,  1494,  1497,  1500,  1505,
     1057    1506,  1511,  1516,  1520,  1522,  1524,  1529,  1531,  1537,  1538,
     1058    1546,  1547,  1551,  1552,  1553,  1555,  1557,  1564,  1565,  1567,
     1059    1569,  1574,  1575,  1581,  1582,  1586,  1587,  1592,  1593,  1594,
     1060    1596,  1604,  1605,  1607,  1610,  1612,  1616,  1617,  1618,  1620,
     1061    1622,  1626,  1631,  1639,  1640,  1649,  1651,  1656,  1657,  1658,
     1062    1662,  1663,  1664,  1668,  1669,  1670,  1674,  1675,  1676,  1681,
     1063    1682,  1683,  1684,  1690,  1691,  1693,  1698,  1699,  1704,  1705,
     1064    1706,  1707,  1708,  1723,  1724,  1729,  1730,  1738,  1740,  1742,
     1065    1745,  1747,  1749,  1772,  1773,  1775,  1777,  1782,  1783,  1785,
     1066    1790,  1795,  1796,  1802,  1801,  1805,  1809,  1811,  1813,  1819,
     1067    1820,  1825,  1830,  1832,  1837,  1839,  1840,  1842,  1847,  1849,
     1068    1851,  1856,  1858,  1863,  1868,  1876,  1882,  1881,  1895,  1896,
     1069    1901,  1902,  1906,  1911,  1916,  1924,  1929,  1940,  1941,  1952,
     1070    1953,  1959,  1960,  1964,  1965,  1966,  1969,  1968,  1979,  1984,
     1071    1989,  1995,  2004,  2010,  2016,  2022,  2028,  2036,  2042,  2050,
     1072    2056,  2065,  2066,  2067,  2071,  2075,  2077,  2082,  2083,  2087,
     1073    2088,  2093,  2099,  2100,  2103,  2105,  2106,  2110,  2111,  2112,
     1074    2113,  2147,  2149,  2150,  2152,  2157,  2162,  2167,  2169,  2171,
     1075    2176,  2178,  2180,  2182,  2187,  2189,  2199,  2201,  2202,  2207,
     1076    2209,  2211,  2216,  2218,  2220,  2225,  2227,  2229,  2238,  2239,
     1077    2240,  2244,  2246,  2248,  2253,  2255,  2257,  2262,  2264,  2266,
     1078    2281,  2283,  2284,  2286,  2291,  2292,  2297,  2299,  2301,  2306,
     1079    2308,  2310,  2312,  2317,  2319,  2321,  2331,  2333,  2334,  2336,
     1080    2341,  2343,  2345,  2350,  2352,  2354,  2356,  2361,  2363,  2365,
     1081    2396,  2398,  2399,  2401,  2406,  2411,  2419,  2421,  2423,  2428,
     1082    2430,  2435,  2437,  2451,  2452,  2454,  2459,  2461,  2463,  2465,
     1083    2467,  2472,  2473,  2475,  2477,  2482,  2484,  2486,  2492,  2494,
     1084    2496,  2500,  2502,  2504,  2506,  2520,  2521,  2523,  2528,  2530,
     1085    2532,  2534,  2536,  2541,  2542,  2544,  2546,  2551,  2553,  2555,
     1086    2561,  2562,  2564,  2573,  2576,  2578,  2581,  2583,  2585,  2598,
     1087    2599,  2601,  2606,  2608,  2610,  2612,  2614,  2619,  2620,  2622,
     1088    2624,  2629,  2631,  2639,  2640,  2641,  2646,  2647,  2651,  2653,
     1089    2655,  2657,  2659,  2661,  2668,  2670,  2672,  2674,  2676,  2678,
     1090    2680,  2682,  2684,  2686,  2691,  2693,  2695,  2700,  2726,  2727,
     1091    2729,  2733,  2734,  2738,  2740,  2742,  2744,  2746,  2748,  2755,
     1092    2757,  2759,  2761,  2763,  2765,  2770,  2775,  2777,  2779,  2797,
     1093    2799,  2804,  2805
    10901094};
    10911095#endif
     
    10991103  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11001104  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
    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",
     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",
    11101114  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    11111115  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
     
    11691173  "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion",
    11701174  "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",
     1175  "type_declarator_name", "trait_specifier", "$@3",
     1176  "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", "$@4", "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",
    11851189  "identifier_parameter_ptr", "identifier_parameter_array",
    11861190  "identifier_parameter_function", "type_parameter_redeclarator",
     
    12191223     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12201224     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    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
     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
    12251229};
    12261230# endif
     
    12291233static const yytype_uint16 yyr1[] =
    12301234{
    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
     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,   244,   244,   244,
     1272     245,   245,   246,   246,   247,   247,   247,   247,   248,   248,
     1273     248,   248,   249,   249,   250,   250,   250,   250,   250,   251,
     1274     251,   252,   253,   254,   254,   254,   255,   255,   256,   256,
     1275     257,   257,   258,   258,   258,   258,   258,   259,   259,   259,
     1276     259,   260,   260,   261,   261,   262,   262,   263,   263,   263,
     1277     263,   264,   264,   264,   264,   264,   265,   265,   265,   265,
     1278     265,   266,   266,   267,   267,   268,   268,   269,   269,   269,
     1279     270,   270,   270,   271,   271,   271,   272,   272,   272,   273,
     1280     273,   273,   273,   274,   274,   274,   275,   275,   276,   276,
     1281     276,   276,   276,   277,   277,   278,   278,   279,   279,   279,
     1282     279,   279,   279,   280,   280,   280,   280,   281,   281,   281,
     1283     282,   283,   283,   285,   284,   284,   286,   286,   286,   287,
     1284     287,   288,   288,   288,   289,   289,   289,   289,   290,   290,
     1285     290,   291,   291,   292,   292,   293,   294,   293,   295,   295,
     1286     296,   296,   297,   297,   297,   298,   298,   299,   299,   300,
     1287     300,   301,   301,   302,   302,   302,   303,   302,   302,   304,
     1288     304,   304,   305,   305,   305,   305,   305,   305,   305,   305,
     1289     305,   306,   306,   306,   307,   308,   308,   309,   309,   310,
     1290     310,   311,   312,   312,   313,   313,   313,   314,   314,   314,
     1291     314,   315,   315,   315,   315,   316,   316,   317,   317,   317,
     1292     318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
     1293     321,   321,   322,   322,   322,   323,   323,   323,   324,   324,
     1294     324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
     1295     328,   328,   328,   328,   329,   329,   330,   330,   330,   331,
     1296     331,   331,   331,   332,   332,   332,   333,   333,   333,   333,
     1297     334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
     1298     337,   337,   337,   337,   338,   338,   339,   339,   339,   340,
     1299     340,   341,   341,   342,   342,   342,   343,   343,   343,   343,
     1300     343,   344,   344,   344,   344,   345,   345,   345,   346,   346,
     1301     346,   347,   347,   347,   347,   348,   348,   348,   349,   349,
     1302     349,   349,   349,   350,   350,   350,   350,   351,   351,   351,
     1303     352,   352,   352,   353,   353,   353,   353,   353,   353,   354,
     1304     354,   354,   355,   355,   355,   355,   355,   356,   356,   356,
     1305     356,   357,   357,   358,   358,   358,   359,   359,   360,   360,
     1306     360,   360,   360,   360,   361,   361,   361,   361,   361,   361,
     1307     361,   361,   361,   361,   362,   362,   362,   362,   363,   363,
     1308     363,   364,   364,   365,   365,   365,   365,   365,   365,   366,
     1309     366,   366,   366,   366,   366,   367,   368,   368,   368,   369,
     1310     369,   370,   370
    13071311};
    13081312
     
    13431347       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13441348       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    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,
     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,     5,     7,     2,
     1353       2,     2,     1,     2,     2,     3,     2,     3,     1,     2,
     1354       3,     2,     2,     4,     0,     1,     2,     2,     1,     0,
     1355       1,     2,     2,     5,     6,     2,     2,     4,     0,     2,
     1356       0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
     1357       9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
     1358       5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
     1359       1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
     1360       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
     1361       1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
     1362       2,     3,     4,     2,     2,     1,     2,     1,     2,     5,
     1363       5,     7,     6,     1,     2,     2,     3,     1,     2,     2,
     1364       4,     2,     4,     0,     4,     2,     1,     1,     1,     0,
     1365       2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
     1366       3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
     1367       3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
     1368       3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
     1369       2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
     1370       6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
     1371       2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
     1372       1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
     1373       2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
     1374       8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
     1375       1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
    13681376       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
     1377       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
     1378       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
     1379       2,     1,     2,     2,     1,     1,     2,     3,     3,     2,
     1380       4,     6,     8,     1,     2,     2,     1,     2,     2,     3,
     1381       3,     1,     4,     4,     3,     5,     8,     3,     2,     3,
     1382       1,     5,     5,     6,     6,     1,     2,     2,     1,     2,
     1383       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1384       1,     2,     1,     2,     6,     5,     6,     7,     7,     1,
     1385       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
     1386       3,     8,     3,     1,     1,     2,     1,     1,     2,     3,
     1387       2,     3,     2,     3,     3,     2,     4,     3,     2,     3,
     1388       2,     4,     3,     2,     6,     6,     6,     7,     1,     2,
     1389       1,     1,     1,     2,     3,     2,     3,     2,     3,     3,
     1390       4,     2,     3,     4,     2,     5,     5,     6,     6,     0,
     1391       1,     0,     2
    13881392};
    13891393
     
    13951399     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    13961400     301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
    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,
     1401     327,   328,   333,   330,   331,   332,   547,   547,   547,     0,
     1402       0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
     1403       8,    14,    15,     0,     2,   294,   565,     9,   525,   523,
     1404     247,     3,   453,     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,   473,   477,     3,     3,     0,
     1408       2,   519,   524,   529,   299,     0,     0,   547,   577,   547,
     1409       2,   588,   589,   590,   294,     0,   731,   732,     0,    12,
     1410     294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
     1411     293,   526,   305,   392,   548,   549,   370,   371,    12,   444,
     1412     445,    11,   440,   443,     0,   503,   498,   489,   444,   445,
     1413       0,     0,   528,   221,     0,   294,     0,     0,     0,     0,
     1414       0,     0,     0,     0,   294,   294,     2,     0,   733,   295,
     1415     582,   594,   737,   730,   728,   735,     0,     0,     0,   254,
     1416       2,     0,   532,   438,   439,   437,     0,     0,     0,     0,
     1417     547,     0,   634,   635,     0,     0,   545,   541,   547,   562,
     1418     547,   547,   542,     2,   543,   547,   601,   547,   547,   604,
     1419       0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
     1420     297,   308,   342,   354,   478,     0,     2,     0,   453,   262,
     1421     295,   335,   350,   357,   474,     0,     2,     0,   311,   336,
     1422     343,   344,     0,   351,   355,   358,   362,   445,   294,   294,
     1423     366,   369,     0,   395,   475,   479,     0,     0,     0,     1,
     1424     294,     2,   530,   576,   578,   294,     2,   741,   295,   744,
     1425     545,   545,   295,     0,     0,     0,   273,   547,   542,     2,
     1426     294,     0,     0,   294,   550,     2,   501,     2,   554,     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,   495,   751,   451,   494,     0,   449,   450,     0,   566,
     1432     581,   584,   587,   593,   596,   599,   360,     0,     2,   739,
     1433       0,   294,   742,     2,   294,     3,   425,     0,   433,   295,
     1434     294,   307,   334,   287,   349,   356,     3,     3,   407,   411,
     1435     421,   426,   473,   294,   427,   706,   707,   294,   428,   430,
     1436     294,     2,   583,   595,   729,     2,     2,   249,     2,   458,
     1437       0,   456,   455,   454,   141,     2,     2,   251,     2,     2,
     1438     250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
     1439       0,     0,     0,     0,     0,     0,   567,   606,     0,   453,
     1440       2,   561,   570,   660,   563,   564,   533,   294,     2,   600,
     1441     609,   602,   603,     0,   276,   294,   294,   340,   295,     0,
     1442     295,     0,   294,   734,   738,   736,   534,   294,   545,   255,
     1443     263,   309,     0,     2,   535,   294,   499,   337,   338,   283,
     1444     352,   359,     0,   294,     2,   384,   294,   372,     0,     0,
     1445     378,   728,   294,   749,   398,     0,   476,   500,   252,   253,
     1446     520,   294,   435,     0,   294,   237,     0,     2,   239,     0,
     1447     295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
     1448     545,   294,   486,   488,   487,     0,     0,   751,     0,   294,
     1449       0,   294,   490,   294,   560,   558,   559,   557,     0,   552,
     1450     555,     0,     0,   294,    56,   294,    69,    52,   294,    62,
     1451     294,   294,    50,    51,    64,     2,   127,     0,     0,   447,
     1452       0,   446,   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,
    14511455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    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
     1456       0,     0,     0,     0,     0,     0,     0,   108,     2,   646,
     1457     452,   643,   547,   547,   651,   480,   294,     2,   585,   586,
     1458       0,   597,   598,     0,     2,   740,   743,   111,   294,     2,
     1459     294,     0,   708,   295,   712,   703,   704,   710,     0,     2,
     1460       2,   668,   547,   751,   617,   547,   547,   751,   547,   631,
     1461     547,   547,   682,   434,   665,   547,   547,   673,   680,   294,
     1462     429,   295,     0,     0,   294,   718,   295,   723,   751,   715,
     1463     294,   720,   751,   294,   294,   294,     0,   111,     0,    18,
     1464       5,     2,     0,    19,     0,   459,   749,     0,     0,   465,
     1465     241,     0,   294,     0,     0,     0,   545,   569,   573,   575,
     1466     605,   608,   612,   615,   568,   607,     0,   284,   658,     0,
     1467     294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
     1468     536,   294,     0,     0,     0,     0,   294,   294,     0,     0,
     1469     692,   382,   385,   389,   547,   389,   697,   388,   689,   547,
     1470     547,   365,   373,   381,   374,   547,   376,   379,   294,   750,
     1471       0,     0,   396,   749,   295,     3,   414,     3,   418,   417,
     1472     591,     0,   531,   294,     3,     3,   294,   433,   295,     3,
     1473     427,   428,     2,     0,     0,     0,   485,   306,   294,   481,
     1474     483,     3,     2,     2,     0,   502,     3,     0,   554,   129,
     1475       0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
     1476       0,     0,   111,   294,    20,     0,    21,     0,   692,   448,
     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,   752,   294,     0,     0,     0,   647,
     1481     648,   644,   645,   497,   496,   294,     0,     3,   294,   714,
     1482     294,   719,   295,   294,   294,   294,   662,   705,   661,     2,
     1483     294,     0,     0,     0,     0,     0,     0,     0,     0,   683,
     1484       0,   669,   620,   636,   670,     2,   616,   623,   431,   618,
     1485     619,   432,     2,   630,   639,   632,   633,   666,   667,   681,
     1486     709,   713,   711,   751,   268,     2,   745,     2,   422,   717,
     1487     722,   423,     0,   401,     3,     3,     3,     3,   453,     3,
     1488       0,     2,   468,   464,   750,     0,   460,   467,     2,   463,
     1489     466,     0,   294,   242,   264,     3,   272,   274,     0,   453,
     1490       2,   571,   572,     2,   610,   611,     0,   659,   537,     3,
     1491     346,   345,   348,   347,   294,   538,     0,   539,   294,   375,
     1492     377,     2,     0,     0,     0,     0,   104,   391,   693,   694,
     1493     386,   390,   387,   690,   691,   380,   384,   367,   398,   393,
     1494     399,     0,     0,     0,   436,   240,     0,     0,     3,     2,
     1495     668,   429,     0,   527,     0,   751,   489,     0,   294,   294,
     1496     294,     0,   551,   553,   130,     0,     0,   215,     0,     0,
     1497       0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
     1498       0,   128,   693,   458,    70,    71,   110,   115,     3,   109,
     1499       0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
     1500       3,   650,   654,   657,   649,     3,   592,     3,   716,   721,
     1501       2,   294,     3,     3,   295,     0,     3,   622,   626,   629,
     1502     638,   672,   676,   679,   294,     3,   621,   637,   671,   294,
     1503     294,   424,   294,   294,   746,     0,     0,     0,     0,   256,
     1504       0,   104,     0,     3,     3,     0,   461,     0,   457,     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,   547,
     1509       0,   540,   294,   111,   696,   700,   702,   695,   383,   397,
     1510     394,   579,     2,   664,   663,     0,   669,     2,   482,   484,
     1511     504,     3,   512,   513,     0,     2,   508,     3,     3,     0,
     1512       0,   556,   222,     0,     0,     0,   222,     0,     0,     3,
     1513      37,   749,   109,     0,     3,   661,    42,     3,    40,     3,
     1514      34,     0,     3,   101,   103,     0,     2,   652,   653,     0,
     1515       0,   294,     0,     0,     0,     3,   638,     0,     2,   624,
     1516     625,     2,   640,     2,   674,   675,     0,     0,     3,     0,
     1517       3,     3,     3,     3,   409,   408,   412,     2,     2,   748,
     1518     747,   112,     0,     0,     0,     0,     3,   462,     3,     0,
     1519     243,   146,     3,   295,   294,     0,     0,     0,     0,     2,
     1520     191,     0,   189,     0,     0,     0,     0,     0,     0,     0,
     1521       0,   111,     0,   547,   151,   148,   294,     0,     0,   267,
     1522     279,     3,     3,   546,   613,   368,     2,   698,   699,   294,
     1523     266,   294,     0,   515,   492,   294,     0,     0,   491,   506,
     1524       0,     0,     0,   216,     0,   225,    58,   109,     0,     0,
     1525     116,   113,     0,     0,     0,     0,     0,     0,    23,     0,
     1526     655,   294,   580,   265,   724,   725,   726,     0,   677,   294,
     1527     294,   294,     3,     3,     0,   685,     0,     0,     0,     0,
     1528     294,   294,     3,   544,   469,   470,     0,     0,   246,   295,
     1529       0,     0,     0,     0,   294,   192,   190,     0,   187,   193,
     1530       0,     0,     0,     0,   197,   200,   198,   194,     0,   195,
     1531      35,   129,   144,   142,   244,     0,     0,   294,   416,   420,
     1532     419,     0,   509,     2,   510,     2,   511,   505,   294,   228,
     1533       0,   226,     0,   228,     3,   661,    31,   114,     2,    45,
     1534       2,    43,    41,    28,   112,    26,     3,   727,     3,     3,
     1535       3,     0,     0,   684,   686,   627,   641,   269,     2,   406,
     1536       3,   405,     0,   472,   469,   129,     0,     0,   129,     3,
     1537       0,   129,   188,     0,     2,     2,   209,   199,     0,     0,
     1538       0,     0,   140,   574,   614,     3,     2,     0,     0,     2,
     1539     229,     0,     0,   217,     0,     0,     0,     0,     0,     0,
     1540       0,     0,     0,   687,   688,   294,     0,   471,   152,     0,
     1541       0,     2,   165,   129,   154,     0,   182,     0,   129,     0,
     1542       2,   156,     0,     2,     0,     2,     2,     2,   196,    32,
     1543       0,   294,   514,   516,   507,     0,     0,     0,     0,   114,
     1544      38,     3,     3,   656,   628,   642,   678,   410,   129,   158,
     1545     161,     0,   160,   164,     3,   167,   166,     0,   129,   184,
     1546     129,     3,     0,   294,     0,   294,     0,     2,     0,     2,
     1547     139,   701,     2,   230,   231,     0,   227,   218,     0,     0,
     1548       0,   153,     0,     0,   163,   233,   168,     2,   235,   183,
     1549       0,   186,   172,   201,     3,   210,   214,   203,     3,     0,
     1550     294,     0,   294,     0,     0,     0,    39,    46,    44,   159,
     1551     162,   129,     0,   169,   294,   129,   129,     0,   173,     0,
     1552       0,   692,   211,   212,   213,     0,   202,     3,   204,     3,
     1553     294,   219,   232,   149,   170,   155,   129,   236,   185,   180,
     1554     178,   174,   157,   129,     0,   693,     0,     0,     0,     0,
     1555     150,   171,   181,   175,   179,   178,   176,     3,     3,     0,
     1556       0,   493,   177,   205,   207,     3,     3,   206,   208
    15531557};
    15541558
     
    15561560static const yytype_int16 yydefgoto[] =
    15571561{
    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
     1562      -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
     1563     306,   786,   787,  1147,  1148,   307,   308,   309,   310,   311,
     1564     312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
     1565     526,   997,   322,   998,   555,   974,  1079,  1543,  1081,  1082,
     1566    1083,  1084,  1544,  1085,  1086,  1460,  1461,  1422,  1423,  1424,
     1567    1522,  1523,  1527,  1528,  1563,  1564,  1087,  1380,  1088,  1089,
     1568    1314,  1315,  1316,  1504,  1090,   144,   980,   981,   982,  1401,
     1569    1485,  1496,  1497,   476,   477,   902,   903,  1060,    49,    50,
     1570      51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
     1571     348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
     1572      70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
     1573      79,    80,    81,   456,   457,   458,   459,   701,   940,   702,
     1574      82,    83,   463,   722,   882,   883,   356,   357,   725,   726,
     1575     727,   358,   359,   360,   361,   473,   340,   134,   135,   530,
     1576     324,   169,   655,   656,   657,   658,   659,    84,   120,    86,
     1577     496,   497,   966,   498,   276,   502,   325,    87,   136,   137,
     1578      88,  1338,  1125,  1126,  1127,  1128,    89,    90,   743,    91,
     1579     272,    92,    93,   186,  1054,   689,   411,   124,    94,   508,
     1580     509,   510,   187,   267,   189,   190,   191,   268,    97,    98,
     1581      99,   100,   101,   102,   103,   194,   195,   196,   197,   198,
     1582     852,   614,   615,   616,   617,   199,   619,   620,   621,   580,
     1583     581,   582,   583,   706,   104,   623,   624,   625,   626,   627,
     1584     628,   939,   708,   709,   710,   604,   364,   365,   366,   367,
     1585     326,   163,   106,   107,   108,   369,   720,   577
    15821586};
    15831587
    15841588/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15851589   STATE-NUM.  */
    1586 #define YYPACT_NINF -1281
     1590#define YYPACT_NINF -1356
    15871591static const yytype_int16 yypact[] =
    15881592{
    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
     1593    5863,  4890, -1356,    65, -1356, -1356, -1356, -1356, -1356, -1356,
     1594   -1356,     9, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1595   -1356, -1356, -1356, -1356, -1356, -1356,   139,   139,   139,  1216,
     1596     781,    63,  4761,   238, -1356, -1356, -1356, -1356, -1356,   165,
     1597   -1356, -1356, -1356,   572,   207,  2350, -1356, -1356, -1356, -1356,
     1598   -1356, -1356,    59,   217, -1356,  1506, -1356, -1356, -1356, -1356,
     1599     220,  1734,   341,    66,  7480, -1356, -1356,  9240,  1240, -1356,
     1600   -1356, -1356,  1320,   351,  3183,  1125,   757,  1320,  1149, -1356,
     1601   -1356,  1042,   895, -1356,  1320,  1227, -1356,   243, -1356,   378,
     1602     403, -1356, -1356, -1356, -1356,   303,   217,   139, -1356,   139,
     1603   -1356, -1356, -1356, -1356,  9019,  1506, -1356, -1356,  1506, -1356,
     1604    9774,   314, -1356, -1356, -1356,  1811,  9812, -1356,   726,   726,
     1605     726, -1356, -1356, -1356,   139, -1356, -1356, -1356,   353,   381,
     1606     400, -1356, -1356, -1356,   417, -1356, -1356, -1356, -1356, -1356,
     1607     424,   436, -1356, -1356,    28,  8867,  2398,   371,   447,   459,
     1608     467,   482,   495,   557,  8670,  6999,   468,   584, -1356,  9350,
     1609   -1356, -1356, -1356, -1356,   594, -1356,   335,  4628,  4628, -1356,
     1610     575,   352, -1356, -1356, -1356, -1356,   602,   432,   434,   470,
     1611     139,   624, -1356, -1356,  1734,  1711,   656, -1356,    68, -1356,
     1612     139,   139,   217, -1356, -1356,    93, -1356,   139,   139, -1356,
     1613    2093,   670,   699,   726,  6910, -1356, -1356,   654,  2350, -1356,
     1614   -1356,  1320, -1356, -1356, -1356,   217, -1356,  1506,    59, -1356,
     1615    7819, -1356,   726,   726,   726,   217, -1356,  1216, -1356,  6673,
     1616   -1356, -1356,   659,   726, -1356,   726, -1356,   165,  8867,  8784,
     1617     714, -1356,   781,   740,   726, -1356,  1216,   737,   749, -1356,
     1618    4761,   791, -1356, -1356, -1356,  4061, -1356, -1356,  7390, -1356,
     1619     656,    62,  9812, 10718,  1811,  2093, -1356,   152, -1356, -1356,
     1620    9774,  1506,   770,  7511, -1356, -1356,   269, -1356,  3425,   779,
     1621     827,  3643,   814, 10872, 10930, -1356,   817, -1356, -1356, -1356,
     1622   -1356, 10949, 10949,   791,  8525,   818, 10872,  8981, -1356, -1356,
     1623   -1356, -1356, -1356, -1356,   855, -1356,   889,  2173, 10872, -1356,
     1624     498,   751,   809,   524,   880,   822,   831,   819,   869,     5,
     1625   -1356, -1356,   883,    64, -1356,   116, -1356, -1356,  2398, -1356,
     1626   -1356,   516,   900, -1356,   644,   900,   913,   165, -1356, -1356,
     1627     915,  9019, -1356,   916,  8639, -1356, -1356,  1004,  1539,  8240,
     1628    6910,  1320, -1356,  1320,   726,   726, -1356, -1356, -1356, -1356,
     1629   -1356, -1356,   726,  9885,  1506, -1356, -1356,  9923,  1500, -1356,
     1630    7969, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   929,  5043,
     1631   10872, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1632   -1356, -1356, -1356, -1356, -1356,  1811, -1356,   876,   936,   938,
     1633     944,   885,   947,   954,   957,  1711, -1356, -1356,   930,    59,
     1634     960, -1356, -1356,   970, -1356, -1356, -1356,  4061, -1356, -1356,
     1635   -1356, -1356, -1356,  2093, -1356,  8867,  8867, -1356,   726,  1811,
     1636    7030,  1506,  8313, -1356, -1356, -1356, -1356,  4061,    62, -1356,
     1637   -1356,  1320,   217, -1356, -1356,  4061, -1356,  6793, -1356, -1356,
     1638     726,   726,   472,  9953,   974,  1092,  5671, -1356,   521,   543,
     1639     781, -1356,  8784,   976,   959,   781,   726, -1356, -1356, -1356,
     1640   -1356, 10252, -1356,   560,  6550, -1356,   217,   981, -1356,  1811,
     1641   11070, 10776, -1356, -1356, -1356, -1356,   921,  2093, -1356,  8386,
     1642     656,  6061, -1356, -1356, -1356,   820,   612,   883,   781,  7511,
     1643    1338,  9774, -1356,  7511, -1356, -1356, -1356, -1356,   638, -1356,
     1644     994,   827,   255,  8525, -1356,  9953, -1356, -1356,  8525, -1356,
     1645    8753,  8525, -1356, -1356, -1356,   993, -1356,   665,   998,   161,
     1646    1002, -1356,  9490,  6639, -1356, -1356, -1356,   290, -1356, -1356,
     1647   10795, -1356,   366, 10795, -1356, -1356, -1356, -1356, -1356, -1356,
     1648   -1356, -1356, -1356, -1356, 10718, 10718, -1356, 10872, 10872, 10872,
     1649   10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872,
     1650   10872, 10872, 10872, 10872, 10872,  5362, 10718, -1356,    64,  1168,
     1651   -1356, -1356,   139,   139, -1356, -1356,  8867, -1356, -1356,   970,
     1652     791, -1356,   970, 10853, -1356, -1356, -1356,  3524,  6639,  1016,
     1653    9095,  1028, -1356, 10035, -1356, -1356,   594, -1356,  1029,   776,
     1654    1036,  1922,   164,   883, -1356,   139,   139,   883,   174, -1356,
     1655     139,   139,   970, -1356, -1356,   139,   139, -1356,   900, 10065,
     1656    1506, 11215,   233,   347, 10065, -1356, 10214, -1356,   883, -1356,
     1657    9885, -1356,   125,  7935,  7935,  7935,  1506, -1356,  6115,  1033,
     1658     414,   929,  1150,  1037,  1038, -1356,  1054,  4628,   555, -1356,
     1659    1124,  1506,  7935,   791,  1811,   791,   656,   704,   900, -1356,
     1660   -1356,   729,   900, -1356, -1356, -1356,   827, -1356,   900,   217,
     1661   10252, -1356,   666,  1061,   679,  1062, -1356,  1065,   217, -1356,
     1662   -1356,  4061,   217,  1059,   553,   573, 10103,  7119,  1590, 10872,
     1663    1954, -1356, -1356,  1066,    39,  1066, -1356, -1356, -1356,   139,
     1664     139, -1356, -1356,   781, -1356,   139, -1356, -1356,  9630,   781,
     1665    1069, 10872, -1356,   976, 11215, -1356, -1356,  1075, -1356, -1356,
     1666   -1356,   791, -1356, 11143, 10872, -1356,  7935,   588,  8240, -1356,
     1667   -1356,   594,  1072,  1077,   820,  2542, -1356, -1356,  7511, -1356,
     1668   -1356,  1074, -1356, -1356,  1088, -1356,  1074,  1090,  3425, 10718,
     1669     205,  1073,    47,  1094,  1082,  1100,   818,  1102,  1110, -1356,
     1670    1113,  1117,  9661,  6759, -1356, 10718, -1356,   161,  1861, -1356,
     1671    6396, 10718,  1120, -1356, -1356,   929,   689, -1356, 10718, -1356,
     1672   -1356,   865, -1356, -1356, -1356, -1356, -1356,   498,   498,   751,
     1673     751,   809,   809,   809,   809,   524,   524,   880,   822,   831,
     1674     819,   869, 10872,   875, -1356, 10252,  1119,  1140,  1142,  1168,
     1675   -1356, -1356, -1356, -1356, -1356, 10252,   691, 10872,  7935, -1356,
     1676    9885, -1356,  7239,  9209,  8905,  6999, -1356, -1356, -1356,   776,
     1677   10252,   927,  1145,  1152,  1158,  1159,  1162,  1166,  1172, -1356,
     1678    4275,  1922, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1679   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970,
     1680   -1356, -1356, -1356,   883, -1356, -1356, -1356, -1356, -1356, -1356,
     1681   -1356, -1356,  1176, -1356,  1183,  1185, -1356, -1356,    59,  1120,
     1682    6115, -1356, -1356, -1356,  5043,  1144, -1356, -1356, -1356, -1356,
     1683   -1356,   781,  6242,  1231, -1356, -1356, -1356, -1356,  1165,    59,
     1684   -1356, -1356,   970, -1356, -1356,   970,    29,   970, -1356, -1356,
     1685   -1356, -1356, -1356, -1356,  9380, -1356,   217, -1356,  8784, -1356,
     1686   -1356,  1190,   906,  1187,  1193,  1198, -1356, -1356,  1954, -1356,
     1687   -1356, -1356, -1356, -1356, -1356, -1356,  1092, -1356,   959, -1356,
     1688   -1356,  1195,  1202,  1201, -1356, -1356,  1206,  1210, -1356,   588,
     1689    2182, -1356,   533, -1356,  2542,   883, -1356,  1213,  7511, 10176,
     1690    8867,  1220, -1356, -1356,  1218,  1222,  1224, -1356, 10872,   230,
     1691      -1,  1219, -1356,  1225,   791,  1225,  6639, 10718, -1356, -1356,
     1692    1225, -1356,  1861,  5043, -1356, -1356, -1356, -1356,  1236, 10718,
     1693    1233,   791,  6115, -1356, 10795, -1356,   791, -1356, -1356, 10718,
     1694   -1356,   782,   900, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1695     929,  8639, -1356, -1356,  7359,  1237, -1356,   807,   900, -1356,
     1696     825,   836,   900, -1356,   726,  4460, -1356, -1356, -1356, 10252,
     1697   10252, -1356,  8313,  8313, -1356,  1241,  1248,  1246,  1259, -1356,
     1698    1262,   672,   244,  1120, -1356,   791, -1356,  4628, -1356, 10718,
     1699     578, -1356,  6519,  1267,  1271, 10660,  1272,  1277,   122,   304,
     1700     298, 10718,  1279,   217, 10718, 10718,  1280,   678,  1254,  1261,
     1701   -1356, -1356, -1356,  1284, -1356, -1356, -1356, -1356, -1356, -1356,
     1702   -1356, -1356, -1356,   781,  1290, 10718, -1356, 10252, 10252,   139,
     1703    1292, -1356,  9743,  9520,   847,   900, -1356, -1356, -1356, -1356,
     1704   -1356, -1356, -1356, -1356, -1356,  1293,  2182, -1356, -1356,  1275,
     1705   -1356,  1074, -1356, -1356,  1811,  1296, -1356, -1356, -1356,   706,
     1706    1291, -1356,    47,  1305, 10872,  1288,    47,    47,  1314,  1310,
     1707   -1356,  1054, 10718,  1315,  1236,   711,   214,  1317, -1356,  1310,
     1708   -1356,  1323,  1317, -1356, -1356,  1328, -1356, -1356,   970,  1329,
     1709    1330,  6879,  1331,  1339,  1341, -1356, -1356,  1340, -1356, -1356,
     1710     970, -1356, -1356, -1356, -1356,   970, 10718, 10718, 10872,  1344,
     1711   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1712   -1356, -1356, 10872, 10872,  1347,  1349,  1317, -1356, -1356,   781,
     1713   -1356, -1356, -1356,  7746, 10176, 10718, 10718,  1394, 10718, -1356,
     1714   -1356,  1333, -1356,  1334, 10718,  1335,  1343, 10718,   992,  1345,
     1715      36,  8158,  1229,   139, -1356, -1356,  6242,  1348,   585, -1356,
     1716   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970, 10478,
     1717   -1356,  8386,  1360, -1356, -1356, 10176,   592,   598, -1356,  1356,
     1718    1355,   827,  1366, -1356,   179, -1356, -1356, 10718,  1368,  1363,
     1719   -1356, -1356,  1369,   484,   663,   791,  1376,  1378, -1356,  1380,
     1720   -1356, 10252, -1356, -1356, -1356, -1356, -1356,  1382, -1356, 10252,
     1721   10252, 10252, -1356, -1356,  1386, -1356,  1389,  1392,  1393,   682,
     1722    8008,  8124, -1356, -1356,   370, -1356,  1396,  1397, -1356,  8459,
     1723     715,   725,  1395,   760,  6377, -1356, -1356,   641, -1356, -1356,
     1724     796,  1402,  1403,   217,  1453,   961, -1356, -1356, 10718, -1356,
     1725   10795, 10660, -1356, -1356, -1356,  1406,  1407, 10252, -1356, -1356,
     1726   -1356,  1405, -1356, -1356, -1356, -1356, -1356, -1356, 10176,   827,
     1727     287, -1356,  1388,   827,  1236,   361, -1356, -1356, -1356, -1356,
     1728   -1356, -1356, -1356, -1356,  1408, -1356, -1356, -1356, -1356, -1356,
     1729   -1356,  1411,  1412, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1730    1418, -1356,  1417, -1356, -1356, 10660,   272, 10718, 10660, -1356,
     1731    1422, 10718, -1356,   306,  1438,  1441, -1356, -1356,  1430,  1431,
     1732    1413,   918, -1356, -1356, -1356, -1356, -1356,  1506,  1811,  1433,
     1733     855,   946, 10872, -1356,   801,  1439, 10718,   791,   791,  1442,
     1734    1448,  1449,  1450, -1356, -1356,  8313,  1452, -1356,  1535, 10872,
     1735    1462, -1356, -1356, 10571, -1356,   803, -1356,  1460, 10660,  1463,
     1736   -1356, -1356,  1489, -1356,  1493, -1356,  1511,  1512, -1356,  1480,
     1737    1508, 10176, -1356, -1356, -1356,   827,   791,  1514,  1484,  1509,
     1738   -1356,  1317,  1317, -1356, -1356, -1356, -1356, -1356, 10660,   301,
     1739   -1356,   958, -1356, -1356,  7597, -1356, -1356,  1502, 10718, -1356,
     1740   10718,  7597,   217,  9953,   217,  9953,  1515, -1356,  1522, -1356,
     1741   -1356, -1356,  1520,   855, -1356,   811, -1356, -1356, 10718,  1526,
     1742    1527, -1356, 10872, 10872, -1356, -1356,  1055,   154, -1356, -1356,
     1743    1510, -1356,  1055, -1356, -1356,  1716,   791, -1356, -1356,   217,
     1744    9953,   217,  9953,  1532,  1517,   791, -1356, -1356, -1356, -1356,
     1745   -1356, 10571,  1528,  1055,  7673, 10718, 10482,  1531,  1055,  1537,
     1746    1716,  2045, -1356, -1356, -1356,  1545, -1356, -1356, -1356, -1356,
     1747    8867, -1356, -1356, -1356, 10349, -1356, 10571, -1356, -1356,  1529,
     1748   10256, -1356, -1356, 10482,   217,  2045,   217,  1558,  1559,   815,
     1749   -1356, 10349, -1356, -1356, -1356, 10256, -1356, -1356, -1356,   217,
     1750     217, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356
    17471751};
    17481752
     
    17501754static const yytype_int16 yypgoto[] =
    17511755{
    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
     1756   -1356,  4068,  1513, -1356,  1381, -1356,    41,     0,  -254, -1356,
     1757     593,  -523,  -482,  -960,  -143,  5028, -1356,  -101,   576,   581,
     1758     386,   577,  1101,  1105,  1106,  1099,  1107, -1356,  -593,  -585,
     1759    4966,  -933,  -708,  -942, -1356,  -273,  -719,   379, -1356,  1404,
     1760   -1356,   457, -1092, -1356, -1356,   195, -1356,  -844, -1059,   308,
     1761   -1356, -1356, -1356, -1356,   124, -1118, -1356, -1356, -1356, -1356,
     1762   -1356, -1356,   382, -1355,    53, -1356,  -496, -1356,   558,   349,
     1763   -1356,   226, -1356,  -307, -1356, -1356, -1356,   610,  -832, -1356,
     1764   -1356,    13,  -961,   169,  2725, -1356, -1356, -1356,   -79, -1356,
     1765     189,   845,  -184,  1482,  3902, -1356, -1356,   192,   133,   657,
     1766    -251,  1620, -1356,  1796, -1356, -1356,   156,  2416, -1356,  2575,
     1767     798, -1356, -1356,  -404,  -428,  1252,  1253,   761,  1003,   302,
     1768   -1356, -1356,  1245,   764,  -253, -1356,   -24,  -132,  -469, -1356,
     1769   -1356,  -983,  -881,     4,   862,  1128,   -43, -1356,   561,  -100,
     1770    -262,  -193,  -152,   721,   826, -1356,  1071, -1356,  2692,   907,
     1771    -449,   971, -1356, -1356,   765, -1356,  -227, -1356,   -60, -1356,
     1772   -1356, -1356, -1248,   485, -1356, -1356, -1356,  1242, -1356,    45,
     1773   -1356, -1356,  -846,  -109, -1333,  -138,  3289, -1356,  1880, -1356,
     1774     969, -1356,  -161,   268,  -181,  -177,  -175,     2,   -39,   -35,
     1775     -33,   769,    30,    31,    69,  -146,  -162,  -151,  -147,  -140,
     1776    -277,  -521,  -506,  -484,  -575,  -313,  -516, -1356, -1356,  -528,
     1777    1156,  1157,  1163,  2484,  4688,  -570,  -557,  -534,  -533,  -478,
     1778   -1356,  -432,  -693,  -685,  -681,  -580,  -201,  -236, -1356, -1356,
     1779     265,   180,   -86, -1356,  3600,   232,  -625,  -376
    17761780};
    17771781
     
    17791783   positive, shift that token.  If negative, reduce the rule which
    17801784   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1781 #define YYTABLE_NINF -522
     1785#define YYTABLE_NINF -523
    17821786static const yytype_int16 yytable[] =
    17831787{
    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,
     1788      47,   112,    96,   398,   148,   933,   266,   399,   149,   400,
     1789     150,   452,   176,   934,   113,   382,   383,   935,   259,   427,
     1790     791,   527,   401,   707,   406,   439,   512,   505,   712,   112,
     1791     112,   895,    47,   402,    96,   618,   853,   403,   768,   407,
     1792     975,   854,   111,    47,   404,    47,  1152,   160,   409,   871,
     1793     751,   820,   846,    48,   756,    47,  1092,  1144,   718,  1184,
     1794    1185,    47,   260,   192,    47,   261,   215,    47,   342,   225,
     1795    1091,   613,   995,   151,   152,   847,   848,   142,    31,   279,
     1796     218,   112,   112,   398,   933,    48,  1462,   399,   842,   400,
     1797    1399,   424,   934,   845,   201,  1196,   935,   779,   951,  1318,
     1798     574,  1202,   401,   843,   406,    47,   936,    31,    47,  1135,
     1799     679,   536,   153,   402,   937,    47,  1136,   403,   122,   407,
     1800    1508,   749,   482,   484,   404,   844,   408,   637,   936,   290,
     1801     688,   641,    31,    68,   857,   575,   950,   280,   692,  1099,
     1802     864,  1219,  1220,   605,   202,   148,    47,   121,   160,   149,
     1803     410,   150,   682,   684,    47,  1537,    75,  1539,   978,    47,
     1804    1462,   372,  1186,   683,   685,    68,   167,   446,  1319,    54,
     1805     114,   483,   141,   578,   438,   410,   478,   251,    31,   410,
     1806     105,   105,   517,   579,    47,    47,   467,   160,    75,    61,
     1807     168,    31,    67,  1482,   109,   534,   535,   211,  -234,  -234,
     1808      47,    54,   418,    31,   410,    41,    42,   556,    47,  1260,
     1809     160,   919,   105,    31,   151,   152,   677,    47,   746,  1008,
     1810      47,    61,   442,   842,    67,   148,   585,   112,   490,   149,
     1811    1201,   150,   586,   209,   483,   507,   219,   858,   843,   755,
     1812     527,   861,   112,   535,   674,   527,   112,   105,   527,   143,
     1813      47,   112,    96,   153,  1210,   596,   576,   760,   770,   675,
     1814     844,   488,   878,   410,    47,    47,   881,   160,    95,  -234,
     1815     777,    47,   410,   855,   145,   610,  1037,   165,    47,   535,
     1816     778,  1038,   846,   862,   342,   610,   666,   536,   740,  1342,
     1817     712,  1014,   472,   112,   703,   470,  1343,  1051,   618,  1263,
     1818      95,  1154,   813,    48,   176,   847,   848,  1184,  1185,   705,
     1819     162,   147,   536,    95,   681,  1344,  1419,  1420,   842,   154,
     1820     686,   638,   976,  1025,   824,   642,   674,  1264,    47,   188,
     1821     372,   170,    95,   843,   524,    95,   180,   536,   478,  1134,
     1822    1192,   675,   165,  1202,   200,   874,  1010,    47,    47,   875,
     1823    1419,  1420,  1216,   441,  -290,   844,  1015,   739,   478,   246,
     1824    1186,   831,   109,   857,    47,   761,   478,  1193,    47,   536,
     1825     109,  1026,   762,    41,    42,   162,   109,   327,   249,   653,
     1826    1092,    41,    42,    68,   926,   936,  1421,    41,    42,   440,
     1827     854,   886,   887,  1133,  1091,    47,  1402,  1492,   500,   605,
     1828     501,   783,   846,  -518,   880,    47,    75,   372,  1551,   905,
     1829    1186,    75,   251,   763,    95,   764,  1153,  1214,   765,    54,
     1830    1430,   771,   916,    47,  1193,   847,   848,    95,   605,    47,
     1831     105,    47,  1457,   605,  1550,  1566,  1212,  1521,   109,    61,
     1832     435,   871,    67,  1526,   479,   263,   342,  1451,  1452,    41,
     1833      42,   376,   397,   188,  1561,    47,   794,   795,   796,   876,
     1834     112,  1565,   -10,   877,  1546,   112,  1051,   377,   386,  1553,
     1835     327,  -112,  1381,   434,   112,   728,    95,   789,  1406,    47,
     1836     251,   329,   211,   958,   387,  -112,  -112,    47,    95,   372,
     1837    -441,    47,  -112,    96,  -467,    47,   740,  1041,   112,   535,
     1838     112,  -112,   435,  1202,   460,   896,  1107,   505,   979,  -442,
     1839    1202,   885,   885,   885,   707,   111,  1259,   398,    95,  1121,
     1840     653,   399,  1150,   400,  1102,  -467,   275,  -467,   909,   165,
     1841     885,  -467,   486,   277,  1186,   434,   401,   112,   618,   406,
     1842     653,   936,   112,   653,    48,   278,  1038,   402,   389,  1252,
     1843     391,   403,  1172,  1174,   407,   907,   109,   330,   404,   531,
     1844    1107,   767,   162,  1202,   390,   739,   392,    41,    42,   331,
     1845    1181,  1182,   740,    75,  1036,  1017,   607,   332,   784,  1466,
     1846     370,   767,   693,   790,   767,  1379,   393,   873,   586,  1118,
     1847     112,   140,   333,    75,  1019,  1348,    95,    47,   831,   936,
     1848     936,    75,   394,   888,   885,   334,   479,  1292,  1293,    47,
     1849     342,    47,   478,   211,   564,   565,   612,   557,   904,   884,
     1850     884,   884,   558,   559,    68,   587,   479,   410,  1231,  1232,
     1851      47,   472,  1498,   535,   479,   897,  1250,   713,   884,  1498,
     1852    1254,   739,   240,   243,    37,   876,    47,    75,    40,  1117,
     1853     566,   567,   112,   714,   955,    41,    42,   327,   327,   715,
     1854      54,    47,  1429,   112,    47,   112,   898,   335,   652,   713,
     1855     730,   105,   899,   188,   712,   716,   731,  1466,   737,   994,
     1856      61,    43,  1466,    67,   728,   929,   342,  1036,   831,   715,
     1857     384,   146,  1547,   371,  1199,  1049,   885,   959,    47,   610,
     1858      47,  1199,  1466,   375,   906,   930,   908,   960,  1333,  1466,
     1859    1200,   388,   884,   112,  1335,   507,  1096,  1324,   460,   112,
     1860     408,   460,   747,   704,  1334,   228,   535,   460,   748,   229,
     1861    1336,   112,   233,   327,   235,   109,     8,     9,    10,    11,
     1862      12,   244,  1056,  1129,    47,    47,    41,    42,   757,  1500,
     1863     285,  1501,   327,   590,   758,   410,   396,   775,    47,    95,
     1864    -291,    41,    42,   612,   441,    31,   431,     8,     9,    10,
     1865      11,    12,   954,  1382,  1350,   774,   920,   674,   531,   425,
     1866     531,   775,   775,   531,  -105,   703,   531,   521,  -105,   922,
     1867     833,   449,   675,    34,  1367,   775,    31,  1391,  1368,  1003,
     1868     705,  1016,  1356,   464,   884,  1004,  1548,   731,   426,   936,
     1869    1358,  1359,  1360,   910,   161,   410,  1248,  1447,   327,   728,
     1870     605,  -112,   586,  -112,    34,  1375,   936,  -112,   462,   728,
     1871     193,   775,   607,   216,  1459,  1376,   226,   933,   913,    47,
     1872     410,   775,  -112,  -112,   728,   934,   115,    75,    37,   935,
     1873    1176,    47,    40,   109,   465,   138,   139,   211,  1395,    41,
     1874      42,   872,   213,   109,    41,    42,   607,   831,   228,   468,
     1875    1378,   211,   560,   561,    41,    42,   775,   841,   979,   612,
     1876     479,   469,   979,   979,   491,   839,   737,   610,   511,    75,
     1877     158,  1156,    37,   410,   653,   611,    40,   562,   563,   936,
     1878     936,   112,   653,    41,    42,  1197,  1383,  1519,  1459,   290,
     1879    1183,  1448,   775,  1467,   213,   161,  1168,  1445,   410,   775,
     1880     535,  1514,   479,   515,    47,  1571,   520,  1515,   373,   744,
     1881     532,   586,  1300,  1301,  1171,  1303,   610,   536,    47,   745,
     1882     654,  1307,   570,  1078,  1310,  1173,    47,   610,   572,   257,
     1883     801,   802,   803,   804,   161,   158,  1236,   213,   410,   571,
     1884     740,   517,   737,   573,    47,   211,   932,   109,   704,   138,
     1885     139,   214,   568,   569,   537,   538,   539,   161,    41,    42,
     1886    1007,  1004,  1122,   460,   112,   251,   329,   410,   241,   443,
     1887     323,   775,  1009,   653,   418,   670,   410,  1340,   540,   339,
     1888     541,   112,   542,   543,   653,   941,   112,   941,   228,   242,
     1889     233,   338,   841,   612,   576,  1243,   329,   410,   213,  1388,
     1890    1389,   717,  -438,   214,   594,  1138,   464,   833,   597,   739,
     1891     488,   329,   410,  1439,  1004,    68,   855,   329,   610,   676,
     1892     740,   647,  1146,   728,   728,   767,   667,  1146,   668,   429,
     1893    1311,  1312,  1313,   433,   669,   112,   213,   671,    75,   750,
     1894     213,   754,  1445,  1446,   672,   653,   214,   673,   112,   112,
     1895     112,    54,   678,  1533,  1493,  1494,    37,   535,   173,   174,
     1896      40,   256,   105,   323,   455,  1400,   696,    41,    42,  1400,
     1897     721,    61,   719,   112,    67,  -238,  1146,   373,   228,  1419,
     1898    1420,   728,   728,   759,  1425,   772,  1078,   841,   776,  1211,
     1899    1213,  1215,   780,   371,   109,   433,   138,   237,   495,   612,
     1900    1349,  1351,  1352,  1107,    47,    41,    42,   214,   834,     2,
     1901     205,     4,     5,     6,     7,   342,   797,   798,  1123,   529,
     1902     836,   838,   158,   799,   800,   805,   806,   213,   849,   105,
     1903     -12,   238,  -292,   901,   -13,   893,   239,   441,  1370,     8,
     1904       9,    10,    11,    12,    37,   214,   182,   183,    40,   214,
     1905     894,   921,   923,   928,   373,    41,    42,   924,     8,     9,
     1906      10,    11,    12,   699,   949,  -415,   595,  -522,    31,   602,
     1907     748,  1483,   963,   460,    35,    68,    36,   970,   984,   112,
     1908     972,   698,   327,   410,   983,   977,   704,    31,   635,   699,
     1909     985,   700,   639,   892,   704,   339,    34,   218,    75,   987,
     1910     988,    47,   109,   989,   138,   139,   653,   990,   213,  1011,
     1911    -293,    54,   612,    41,    42,    34,   999,     8,     9,    10,
     1912      11,    12,   105,  1329,     2,   205,     4,     5,     6,     7,
     1913    1012,   479,  1013,   872,  1204,  1027,   214,    -3,  1122,  1058,
     1914    1093,   891,  1028,   112,   112,   112,    31,  1078,  1029,  1030,
     1915     323,   323,  1031,   227,   945,   728,  1032,   578,   213,   410,
     1916     948,  1080,  1033,   728,   728,   728,  1044,   579,   128,  1443,
     1917     129,   130,   131,  -403,    34,  -402,  1095,  1104,   455,    41,
     1918      42,   455,  1103,  1105,  1146,  1146,  1146,   455,  1106,    35,
     1919    1110,    36,  1111,  1559,   537,   538,   539,  1112,  1113,   115,
     1920     653,   653,  1114,  1120,     2,   205,     4,     5,     6,     7,
     1921    1130,   728,  1131,   729,   775,  1137,   211,   214,   540,   993,
     1922     541,  1132,   542,  1320,   495,  1145,   323,  1166,   495,   398,
     1923     737,  1122,  1142,   399,  1442,   400,  1189,  1187,   529,    68,
     1924     529,   767,  1078,   529,  1188,   323,   529,   460,   401,  1190,
     1925     406,  1223,   209,   219,  1191,   653,  1205,   339,   653,   402,
     1926    1206,  1208,    75,   403,   105,   407,  1209,   214,  1217,    35,
     1927     404,    36,  1221,  1224,   674,    54,  1532,    47,    47,    -3,
     1928    1229,   213,  1234,  1240,   500,  1249,   105,   112,   112,   675,
     1929     109,  1244,   138,   139,  1123,    61,  1078,  1251,    67,  1078,
     1930    1253,    41,    42,   653,  1256,   105,  1257,  1261,   653,   213,
     1931     737,   323,   441,  1265,   213,  1268,   175,    68,  1270,  1272,
     1932    1273,  1302,   829,  1274,  1207,   602,   112,   752,  1146,  1146,
     1933    1278,  1275,   753,  1276,  1122,   654,  1285,   172,   653,  1294,
     1934      75,  1295,  1061,  1323,  1078,  1305,  1306,  1308,   440,  1078,
     1935    1331,  1337,  1339,    54,   870,  1309,  1341,  1317,  1346,   602,
     1936    1345,  1347,    64,   116,   105,   879,   175,  1484,  1353,   175,
     1937    1354,   148,  1355,   479,  1357,   149,  1204,   150,  1363,  1078,
     1938     252,  1364,  1365,  1366,  1377,    47,   112,  1123,  1373,  1374,
     1939     214,  1384,  1385,  1313,    64,   112,  1393,  1394,   105,  1396,
     1940    1403,   653,   213,  1413,  1414,  1406,   653,   159,  -404,  1417,
     1941      47,    47,  1428,   160,  1432,   175,   213,  1434,   214,  1436,
     1942    1437,   339,   729,   214,   653,  1438,   653,  1534,  1444,   220,
     1943     653,  1449,  1453,   653,   654,    47,  1542,   372,  1454,  1455,
     1944    1456,   653,  1078,   455,   166,   653,   171,  1078,  1368,   177,
     1945     178,   179,    37,   181,   173,   174,    40,  1458,    37,  1463,
     1946     173,   174,    40,    41,    42,  1078,   258,  1078,   232,    41,
     1947      42,  1078,  1468,   495,  1078,  1470,   416,    68,   175,  1472,
     1948     247,   248,  1078,  1474,    68,  1080,  1078,  1476,  1478,   375,
     1949    1123,    37,  1480,   182,   183,    40,  1487,   339,  1481,   436,
     1950      75,   105,    41,    42,  1486,  1509,  1488,    75,   328,   444,
     1951     213,   214,  1511,    54,  1499,  1513,   258,   349,  1517,  1518,
     1952      54,  1540,  1525,  1545,   105,   214,  1552,  1554,   609,  1541,
     1953     610,   105,   175,   479,  1061,  1556,  1204,    68,   611,   175,
     1954     479,  1562,    37,  1204,   182,   183,    40,   405,  1569,  1570,
     1955    1222,   807,   810,    41,    42,  1018,   808,   729,   809,   829,
     1956      75,   811,   423,  1322,   212,   428,   430,   729,  1520,  1572,
     1957     159,  1431,  1404,    54,   231,  1255,  1387,  1502,   528,   698,
     1958    1392,   410,   729,  1228,   105,   694,   695,  1108,   942,   700,
     1959     723,   447,  1109,   479,  1141,   450,  1204,   451,   826,   965,
     1960    1057,     8,     9,    10,    11,    12,   466,   973,   175,   900,
     1961    1332,  1119,    64,   742,   816,   817,   212,   480,  1506,   214,
     1962    1506,   818,     0,     0,     0,   175,     0,   487,     0,   175,
     1963      31,     0,     0,     0,  1418,   430,     0,  1426,     0,     0,
     1964    1298,     0,     0,     0,     0,     0,     0,     0,     0,   829,
     1965       0,     0,   327,   455,     0,  1506,     0,  1506,    34,   212,
     1966       0,     0,     0,    37,     0,   182,   183,    40,    37,     0,
     1967     182,   183,    40,     0,    41,    42,    73,     0,   486,    41,
     1968      42,     0,  1465,     0,     0,     0,    37,  1469,   182,   183,
     1969      40,     0,   175,   495,  1124,   323,     0,    41,    42,     0,
     1970     184,     0,   213,   258,     0,  1530,   603,   410,    73,     0,
     1971     185,     0,   631,     0,     0,  1531,     0,  1491,     0,     0,
     1972     212,     0,     0,   184,     0,   636,   690,     0,     0,   636,
     1973       0,     0,   258,   185,     0,     0,     0,   601,   608,     0,
     1974       0,     0,     0,   221,     0,     0,   870,     0,     0,   632,
     1975     633,     8,     9,    10,    11,    12,     0,     0,   212,     0,
     1976     732,     0,   212,    37,     0,   182,   183,    40,     0,     0,
     1977       0,     0,     0,     0,    41,    42,     0,     0,   506,   480,
     1978      31,   729,   729,     0,     0,     0,   125,   125,   125,     0,
     1979       0,     0,     0,     0,   349,     0,     0,   528,     0,   480,
     1980     264,     0,   528,  1560,     0,   528,     0,   480,    34,  1560,
     1981     265,   214,     8,     9,    10,    11,    12,     0,     0,     0,
     1982    1560,     0,     0,     0,  1560,     0,     0,   455,   829,     0,
     1983       0,   352,     0,   724,     0,     0,   430,     0,     0,   729,
     1984     729,    31,     0,     0,     8,     9,    10,    11,    12,   212,
     1985     777,   738,   410,    64,     0,     0,     0,   125,   175,   125,
     1986     778,   430,     0,     0,     0,   430,     0,     0,     0,    34,
     1987       0,     0,     0,    31,    37,     0,   182,   183,    40,     0,
     1988       0,   213,     0,     0,   274,    41,    42,     0,     0,     0,
     1989       0,   175,     0,     0,   258,   349,     0,     0,     0,     0,
     1990       0,    34,     0,     0,     0,   448,    37,   175,   182,   183,
     1991      40,   609,     0,   610,     0,     0,     0,    41,    42,     0,
     1992       0,   611,   175,     0,     0,     0,    73,     0,     0,     0,
     1993     212,    73,     0,     0,     0,     8,     9,    10,    11,    12,
     1994     125,   819,     0,   698,     0,   410,   339,   212,   125,     0,
     1995     125,   125,     0,   700,     0,   125,     0,   125,   125,   636,
     1996     832,     0,   603,   918,    31,     0,     0,     0,     0,     0,
     1997    1124,     0,   925,   851,     0,     0,   927,   213,     0,     0,
     1998     212,  1330,     0,     8,     9,    10,    11,    12,     0,     0,
     1999     214,   603,    34,     0,     0,     0,   603,    37,     0,   182,
     2000     183,    40,   636,     0,     0,   349,   349,   349,    41,    42,
     2001       0,     0,    31,   729,     0,     0,     0,     0,     0,   175,
     2002       0,   729,   729,   729,   349,     0,   221,   125,     0,     0,
     2003       0,     0,     0,     0,  1530,     0,   410,     0,     0,     0,
     2004      34,     0,   724,     0,  1531,    37,     0,   182,   183,    40,
     2005       0,     0,     0,   480,     0,     0,    41,    42,   258,   738,
     2006       0,     0,   938,  1124,     0,     0,     0,     0,     0,   729,
     2007       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2008       0,     0,   264,     0,     0,     0,   214,     0,     0,     0,
     2009       0,     0,   265,    73,     0,   480,     0,     0,   349,     0,
     2010       0,    31,     0,   212,     0,     0,     0,   964,   352,     0,
     2011     430,     0,     0,    73,     0,     0,     0,     0,   952,     0,
     2012     953,    73,     0,     0,     0,     0,     0,   956,   957,    34,
     2013       0,   212,   962,     0,   258,   738,   212,     0,     0,     0,
     2014     992,     0,     0,     0,   967,     0,     0,   352,     0,   971,
     2015     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
     2016       0,     0,     0,     0,     0,   352,  1124,    73,     0,     0,
     2017       0,   959,     0,   610,     0,  1000,     0,   724,     0,     0,
     2018       0,   960,     0,     0,   554,   175,     0,   724,     0,     0,
     2019     349,     0,   636,     0,     0,  1024,   636,   832,  1505,     0,
     2020    1505,     0,   724,     0,     0,     0,     0,     0,     0,   352,
     2021    1101,     0,  1035,     0,     0,     0,     0,     0,     0,     0,
     2022     601,     0,     0,     0,   212,     0,     0,     0,     0,     0,
     2023       0,     0,     0,     0,     0,  1505,     0,  1505,   212,     0,
     2024       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2025      18,    19,    20,    21,    22,    23,    24,    25,   506,     0,
     2026      26,    27,    28,     0,    64,   323,     0,     0,     0,    31,
     2027       0,     0,     0,     0,   352,     0,     0,  1045,  1046,  1047,
     2028    1048,     0,  1050,     0,     0,     0,   636,     0,     8,     9,
     2029      10,    11,    12,     0,     0,     0,    76,    34,  1094,     0,
     2030       0,     0,    37,     0,    38,    39,    40,     0,     0,     0,
     2031       0,     0,  1100,    41,    42,     0,     0,    31,     0,   352,
     2032     352,   352,  1116,     0,     0,     0,     0,     0,    76,     0,
     2033     430,   116,   212,     0,     0,     0,     0,     0,   352,    43,
     2034       0,   156,   125,   125,     0,    34,     0,     0,   349,    45,
     2035      37,  1115,     0,     0,    40,     0,   352,  1218,     0,     0,
     2036       0,    41,    42,   222,     0,     0,     0,    73,     0,     0,
     2037       0,     0,   125,   352,     0,   125,   125,     0,   125,     0,
     2038     125,   125,     0,   603,     0,   125,   125,    43,     0,     0,
     2039       0,  1143,     0,     0,     0,     0,   428,   146,  1151,     0,
     2040       0,   724,   724,  1155,   349,   349,     0,     0,  1159,    73,
     2041    1160,     0,   352,     0,  1162,  1163,  1164,     0,     0,  1167,
     2042       0,     0,     0,     0,  1203,     0,     0,     0,  1179,     0,
     2043       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2044       0,     0,     0,     0,     0,     0,  1194,  1195,     0,   352,
     2045       0,   354,     0,     0,     0,    78,     0,     0,     0,   724,
     2046     724,    31,     0,     0,   125,   636,     0,     0,     0,   125,
     2047     125,     0,     0,  1225,     0,   125,  1227,     0,     0,     0,
     2048       0,     0,   175,     0,     0,     0,     0,    78,     0,    34,
     2049       0,   352,     0,     0,    37,     0,     0,     0,    40,     0,
     2050       0,   352,     0,     0,   352,    41,    42,     0,     0,   221,
     2051       0,   352,     0,     0,  1242,     0,   352,     0,     0,     0,
     2052    1246,  1247,   223,   738,   212,     0,     0,     0,     0,     0,
     2053       0,   744,  1258,     0,     0,     0,     0,  1262,     0,     0,
     2054    1266,   745,  1267,     0,     0,  1269,    76,     0,     0,     0,
     2055       0,    76,   412,     0,     0,     0,     0,     0,  1277,   420,
     2056       0,     0,     0,     0,     0,     0,  1299,     0,     0,     0,
     2057       0,  1284,    85,  1286,  1287,  1288,  1289,     0,    73,     0,
     2058       0,     0,     0,   258,     0,     0,     0,     0,    64,  1296,
     2059       0,  1297,     0,     0,     0,   171,     0,  1386,     0,     0,
     2060       0,   724,     0,   738,    85,    55,    55,   116,     0,     0,
     2061     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2062       0,     0,     0,     0,  1325,  1326,     0,     0,     0,     0,
     2063       0,   412,     0,   724,     0,     0,     0,    55,     0,   224,
     2064       0,   724,   724,   724,     0,     0,   222,     0,     0,     0,
     2065       0,     0,   349,   349,     0,     0,     0,     0,   175,     0,
     2066       0,     0,   352,     0,     0,     0,  1203,     0,     0,    55,
     2067       0,     0,    55,     0,     0,  1361,  1362,     0,     0,     0,
     2068       0,     0,     0,     0,     0,  1372,     0,   584,     0,   724,
     2069       0,     0,     0,     0,     0,   588,     0,     0,   591,     0,
     2070     116,     0,     0,   212,     0,    78,     0,     0,     0,     0,
     2071      78,     0,     0,    76,     0,   352,   352,     0,   352,   352,
     2072       0,     0,     0,     0,     0,     0,     0,   362,   354,     0,
     2073       0,     0,     0,    76,     0,     0,     0,  1405,    73,     0,
     2074       0,    76,     0,     0,     0,     0,     0,     0,     0,  1409,
     2075       0,  1410,  1411,  1412,     0,     0,  1503,     0,  1507,     0,
     2076     347,   412,     0,  1416,     0,   420,     0,   354,     0,     0,
     2077       0,     0,  1427,   352,   352,     0,     0,   349,     0,     0,
     2078       0,     0,     0,     0,     0,   354,     0,    76,  1440,     0,
     2079       0,     0,     0,  1536,     0,  1538,     0,     0,     0,   212,
     2080       0,     0,     0,   116,     0,   223,     0,     0,     0,     0,
     2081       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2082       0,     0,    85,     0,     0,    55,  1203,    85,     0,   354,
     2083       0,     0,     0,  1203,     0,     0,     0,   352,  1567,     0,
     2084    1568,     0,     0,     0,  1489,  1490,     0,     0,     0,     0,
     2085     412,     0,     0,  1575,  1576,    55,     0,  1495,     0,   125,
     2086       0,     0,     0,     0,  1495,     0,     0,     0,     0,     0,
     2087       0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
     2088     221,     0,     0,     0,     0,     0,  1203,   355,     0,     0,
     2089       0,     0,    78,  1555,   354,     0,     0,  1529,     0,     0,
     2090      78,  1535,    73,     0,     0,     0,     0,     0,     0,     0,
     2091       0,     0,     0,     0,     0,   352,     0,   352,     0,     0,
     2092       0,     0,   224,     0,     0,     0,   355,     0,     0,     0,
     2093    1557,     0,  1558,     0,     0,     0,     0,     0,     0,   354,
     2094     354,   354,   584,   584,   355,     0,    78,   352,     0,     0,
     2095       0,     0,     0,     0,     0,   352,   352,   352,   354,     0,
     2096    1573,  1574,     0,     0,     0,     0,   352,   352,  1577,  1578,
     2097       0,     0,     0,     0,     0,     0,   354,     0,     0,     0,
     2098      73,     0,     0,   125,     0,     0,     0,    76,   355,    85,
     2099       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2100       0,     0,     0,   352,   362,     0,     0,     0,     0,    85,
     2101       0,     0,     0,     0,     0,     0,     0,    85,     0,     0,
     2102       0,     0,     0,     0,     0,     0,     0,     0,     0,    76,
     2103       0,   911,   354,     0,     0,   914,     0,   347,     0,     0,
     2104       0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
     2105       0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
     2106       0,   362,     0,    85,     0,     0,     0,     0,   412,   354,
     2107       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2108      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2109      25,   352,     0,     0,     0,     0,    55,     0,   355,   355,
     2110     355,     0,    31,     0,     0,   362,     0,     0,     0,     0,
     2111       0,   354,     0,     0,     0,     0,     0,   355,     0,     0,
     2112       0,   354,     0,     0,   354,     0,     0,     0,     0,   222,
     2113      34,   354,     0,     0,     0,   355,   354,     0,   347,     0,
     2114      73,     0,     0,     0,     0,     0,    78,    73,     0,     0,
     2115       0,     0,   355,     0,     0,     0,     0,     0,     0,     0,
     2116       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2117     362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2118       0,     0,     0,   584,     0,     0,     0,     0,    78,     0,
     2119       0,   355,     0,     0,     0,   123,   126,   127,    76,     0,
     2120      73,     0,     0,   347,     0,     0,     0,     0,     0,     0,
     2121       0,     0,     0,     0,     0,   362,   362,   362,     0,     0,
     2122       0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2123       0,     0,     0,     0,   362,     0,     0,     0,     0,     0,
     2124       0,     0,     0,     0,     0,     0,     0,     0,   347,   347,
     2125     347,     0,   362,     0,     0,     0,     0,     0,     0,     0,
     2126       0,     0,     0,    85,     0,     0,   253,   347,   254,   362,
     2127     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2128     355,     0,   354,   355,     0,     0,     0,     0,   223,     0,
     2129     355,     0,     0,     0,     0,   355,   412,     0,     0,     0,
     2130       0,     0,     0,     0,     0,    85,     0,     0,   362,     2,
     2131     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2132      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2133      23,    24,    25,     0,     0,   354,   354,     0,   354,   354,
     2134       0,   347,     0,     0,    31,   362,     0,     0,     0,   395,
     2135       0,     0,     0,     0,     0,     0,     0,    78,    76,   414,
     2136     415,     0,     0,     0,   419,     0,   421,   422,     0,     0,
     2137       0,     0,    34,     0,    35,  1157,    36,    37,     0,   173,
     2138     174,    40,     0,     0,     0,     0,     0,   362,    41,    42,
     2139       0,  1169,     0,   354,   354,     0,     0,   362,     0,     0,
     2140     362,     0,     0,     0,     0,   224,     0,   362,     0,     0,
     2141       0,     0,   362,     0,     8,     9,    10,    11,    12,    13,
     2142      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2143      24,    25,  -294,   347,    26,    27,    28,     0,     0,     0,
     2144     347,   355,     0,    31,     0,     0,     0,     0,     0,     0,
     2145       0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
     2146       0,     0,     0,     0,     0,     0,     0,     0,  1237,     0,
     2147       0,    34,     0,     0,    85,     0,    37,     0,   336,   337,
     2148      40,     0,  -294,     0,     0,     0,     0,    41,    42,     0,
     2149       0,     0,     0,     0,   355,   355,     0,   355,   355,     0,
     2150     222,     0,     0,     0,     0,     0,     0,    55,     0,     0,
     2151       0,     0,     0,   643,     0,   338,     0,    78,     0,     0,
     2152       0,     0,    76,   634,     0,   164,     0,     0,     0,     0,
     2153       0,     0,     0,     0,     0,   354,     0,   354,     0,     0,
     2154       0,     0,     0,     0,   217,     0,     0,     0,     0,     0,
     2155       0,     0,   355,   355,     0,     0,     0,     0,   362,     0,
     2156     281,   282,     0,   283,     0,     0,     0,   354,     0,     0,
     2157       0,     0,     0,     0,    55,   354,   354,   354,     0,     0,
     2158       0,     0,     0,     0,     0,     0,   354,   354,     0,   284,
     2159     164,   347,     0,     0,     0,   285,   271,     0,     0,   286,
     2160      76,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2161     292,   362,   362,     0,   362,   362,   355,   293,     0,     0,
     2162       0,     0,     0,   354,     0,   164,     0,     0,     0,     0,
     2163       0,     0,   513,     0,    85,   368,     0,     0,     0,   374,
     2164       0,   296,   380,   298,   299,   300,   301,   347,   347,     0,
     2165       0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
     2166       0,     0,     0,     0,     0,     0,     0,    55,     0,   362,
     2167     362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2168       0,    78,     0,     0,     0,     0,     0,     0,   164,     0,
     2169       0,     0,     0,     0,   355,     0,   355,     0,     0,     0,
     2170     217,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2171       0,   354,     0,     0,     0,     0,     0,     0,   164,   461,
     2172       0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
     2173       0,     0,     0,   362,   355,   355,   355,     0,     0,     0,
     2174       0,     0,   374,     0,     0,   355,   355,     0,     0,     0,
     2175     164,   821,   822,     0,     0,     0,     0,     0,     0,    78,
     2176      76,     0,     0,     0,     0,     0,     0,    76,     0,     0,
     2177       0,     0,     0,     0,   461,     0,   224,   164,     0,     0,
     2178       0,   856,   355,     0,   859,   860,     0,   863,     0,   865,
     2179     866,     0,     0,     0,   867,   868,     0,     0,    85,     0,
     2180       0,     0,     0,     0,     0,     0,     0,     0,    55,    55,
     2181       0,   362,     0,   362,     0,     0,     0,     0,     0,     0,
     2182      76,     0,     0,     0,   606,     0,     0,     0,     0,   630,
     2183       0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
     2184       0,     0,     0,   362,     0,     0,   210,     0,     0,     0,
     2185      55,   362,   362,   362,     0,     0,   230,     0,   234,     0,
     2186     236,     0,   362,   362,     0,     0,     0,   245,     0,     0,
     2187     355,     0,     0,     0,     0,     0,    85,     0,   943,   944,
     2188       0,     0,     0,     0,   946,     0,     0,     0,     0,     0,
     2189       0,     0,     0,     0,     0,   347,   347,     0,   210,   362,
     2190     234,   236,   245,     0,    55,   164,   164,     0,     0,    55,
     2191       0,     0,   368,     0,     0,     0,     0,     0,     0,    78,
     2192       0,     0,     0,     0,     0,     0,    78,     0,     0,     0,
     2193       0,     0,     0,   461,     0,     0,   461,     0,     0,     0,
     2194       0,   210,   461,    55,   474,     2,   205,     4,     5,     6,
     2195       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2196      17,    18,    19,    20,    21,    22,    23,    24,    25,   741,
     2197       0,    26,    27,    28,     0,     0,     0,     0,     0,    78,
     2198      31,   164,     0,     0,     0,     0,     0,   362,     0,     0,
     2199       0,     0,   155,   461,     0,   461,     0,     0,   461,     0,
     2200     164,   461,   210,     0,   234,   236,   245,     0,    34,     0,
     2201      35,     0,    36,   368,     0,    38,    39,     0,     0,     0,
     2202     347,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2203       0,     0,     0,     0,     0,     0,    85,     0,   250,     0,
     2204     210,     0,     0,    85,   210,     0,    55,     0,   255,     0,
     2205       0,     0,     0,     0,     0,    -3,     0,     0,     0,     0,
     2206     504,     0,     0,     0,     0,     0,   164,     0,     0,    55,
     2207       0,     0,     0,     0,     0,     0,    55,     0,   368,     0,
     2208     606,     0,     0,   837,     0,     0,     0,     0,     0,     0,
     2209       0,     0,     0,     0,     0,     0,    85,     0,     0,     0,
     2210       0,     0,     0,     0,   155,     0,     0,     0,     0,   606,
     2211     210,     0,     0,     0,   606,     0,     0,     0,   385,     0,
     2212       0,     0,     0,   368,   368,   368,     0,     0,     0,    55,
     2213       0,   210,     0,     0,     0,     0,   234,   236,     0,     0,
     2214       0,   417,   368,     0,   245,     0,     0,     0,     0,     0,
     2215       0,     0,     0,     0,     0,   432,     0,     0,     0,     0,
     2216       0,     0,  1034,     0,   437,     8,     9,    10,    11,    12,
     2217       0,     0,     0,     0,   445,     0,     0,   741,     0,     0,
     2218       0,     0,     0,     0,     0,     0,     0,   210,     0,     0,
     2219       0,     0,   281,   282,    31,   283,     0,     0,   461,   471,
     2220       0,     0,     0,     0,   481,   210,     0,     0,     0,     0,
     2221     210,     0,   210,     0,     0,     0,   368,   489,   961,     0,
     2222       0,   284,    34,   499,     0,   503,     0,   285,     0,   210,
     2223       0,   286,   210,   210,   287,   288,   289,   290,    41,    42,
     2224       0,   291,   292,   533,     0,     0,     0,     0,   210,   293,
     2225       0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
     2226       0,     0,   210,     0,   294,     0,   378,     0,  1233,   210,
     2227       0,     0,     0,   296,   827,   298,   299,   300,   301,     0,
     2228       0,     0,     0,     0,     0,     0,   593,     0,     0,     0,
     2229       0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
     2230       0,     0,     0,     0,     0,     0,     0,     0,   368,     0,
     2231       0,     0,   630,     0,     0,   368,     0,     0,     0,   644,
     2232       0,     0,     0,   645,   646,     0,   648,     0,     0,     0,
     2233       0,     0,     0,   660,   661,     0,   662,   663,     0,   664,
     2234       0,   665,     0,     0,     0,     0,     0,  1177,     0,     0,
     2235       8,     9,    10,    11,    12,     0,     0,     0,   593,     0,
     2236       0,     0,     0,     0,     0,     0,   680,     0,     0,     0,
     2237       0,     0,     0,     0,     0,     0,     0,   281,   282,    31,
     2238     283,     0,     0,     0,     0,   210,     0,     0,     0,     0,
     2239       0,   691,  1321,     0,     0,     0,     0,     0,     0,     0,
     2240       0,     0,   697,     0,     0,     0,   284,    34,   461,     0,
     2241       0,     0,   285,   210,     0,     0,   286,     0,   210,   287,
     2242     288,   289,   290,    41,    42,   733,   291,   292,     0,     0,
     2243       0,   736,     0,     0,   293,     0,   471,     0,     0,     0,
     2244       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2245     164,   378,     0,     0,     0,     0,     0,     0,   296,  1178,
     2246     298,   299,   300,   301,     0,     0,   368,     0,     0,     0,
     2247       0,     0,     0,   773,     0,     0,     0,     0,     0,     0,
     2248       0,     0,     0,     0,     0,     0,     0,     0,     0,   788,
     2249       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2250       0,   606,     0,     0,     0,     0,   210,     0,     0,     0,
     2251       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2252     210,     0,   368,   368,     0,     0,   815,     0,     0,     0,
     2253       0,     0,     0,     0,     0,   825,     0,     0,     0,     0,
     2254     504,     0,   828,     0,     0,   281,   282,   835,   283,     0,
     2255       0,     0,     0,     0,     0,     0,     0,     0,   850,     0,
     2256       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2257       0,     0,     0,     0,   284,     0,     0,     0,     0,     0,
     2258     285,     0,   461,     0,   286,     0,     0,   287,   288,   289,
     2259     290,    41,    42,     0,   291,   292,     0,     0,     0,   890,
     2260       0,   210,   293,     0,     0,     0,     0,     0,     0,     0,
     2261       0,     0,     0,     0,   210,     0,     0,   294,     0,   378,
     2262       0,     0,   379,     0,     0,     0,   296,   380,   298,   299,
     2263     300,   301,     0,   210,     0,   835,     0,     0,     0,     0,
     2264       0,   741,     0,     0,     1,     2,     3,     4,     5,     6,
     2265       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2266      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2267       0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2268      31,    32,     0,   217,     0,     0,     0,     0,     0,     0,
     2269     250,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2270     968,   969,     0,     0,     0,    33,     0,     0,    34,     0,
     2271      35,     0,    36,    37,   986,    38,    39,    40,     0,     0,
     2272     210,   741,   341,   363,    41,    42,     0,     0,     0,     0,
     2273       0,  1001,     0,  1002,     0,     0,     0,  1006,     0,     0,
     2274       0,     0,     0,     0,     0,     0,   210,     0,     0,     0,
     2275      43,     0,    44,     0,     0,     0,   413,     0,     0,     0,
     2276      45,     0,     0,   413,     0,     0,     0,     0,     0,     0,
     2277     368,   368,     0,     0,   210,     0,     0,     0,     0,   217,
     2278       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2279      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2280      26,    27,    28,  1039,     0,     0,   210,     0,     0,    31,
     2281    1040,     0,     0,     0,     0,     0,     0,   210,     0,     0,
     2282       0,     0,     0,  1042,     0,  1043,     0,     0,     0,     0,
     2283       0,     0,     0,     0,     0,   413,     0,    34,     0,  1055,
     2284       0,     0,   109,     0,    38,    39,  1059,     0,     0,     0,
     2285       0,     0,     0,    41,    42,     0,     0,     0,  1097,     0,
     2286       0,  1098,     0,     0,     0,     0,     0,     0,     0,     0,
     2287       0,     0,     0,     0,     0,     0,     0,     0,     0,   598,
     2288       0,    44,     0,     0,     0,     0,     0,     0,     0,   110,
     2289       0,   413,     0,     0,     0,   368,     0,     0,   210,   413,
     2290     589,     0,   413,   592,     0,     0,     0,     0,     0,     0,
     2291       0,     0,   363,     0,     0,     0,   622,     0,     0,     0,
     2292       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2293       0,     0,     0,     0,     0,   640,     0,     0,   341,     0,
     2294       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2295       0,     0,     0,   461,     0,   461,     0,     0,     0,     0,
     2296     281,   282,     0,   283,     0,   413,     0,     0,  1161,   413,
     2297       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2298       0,     0,     0,     0,     0,   210,     0,     0,     0,   284,
     2299     461,   321,   461,     0,     0,   649,     0,   138,   139,   286,
     2300     363,   345,   287,   650,   289,   290,    41,    42,     0,   291,
     2301     292,     0,     0,   381,   381,     0,     0,   293,     0,     0,
     2302     164,     0,     0,   413,   533,     0,     0,     0,     0,     0,
     2303       0,  1226,   294,     0,   651,     0,   652,   379,     0,     0,
     2304       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2305       0,     0,     0,     0,   413,     0,     0,   363,     0,     0,
     2306    1239,     0,     0,     0,     0,  1241,     0,     0,     0,     0,
     2307       0,     0,     0,  1245,     0,     0,     0,     0,     0,     0,
     2308       0,   210,     0,     0,   321,     0,     0,     0,     0,     0,
     2309       0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
     2310     341,   363,     0,     0,  1271,     0,     0,     0,     0,   485,
     2311       0,     0,     0,     0,     0,     0,  1279,     0,     0,  1280,
     2312       0,  1281,     0,     0,     0,     0,     0,     0,     0,     0,
     2313       0,     0,     0,     0,     0,  1290,  1291,     0,     0,     0,
     2314       0,     0,     0,     0,     0,     0,   413,   413,     0,     0,
     2315       0,     0,     0,     0,     0,     0,     0,  1304,     0,     0,
     2316       0,     0,     0,     0,     0,   830,   363,     0,   363,     0,
     2317       0,     0,     0,     0,     0,     0,     0,   622,     0,   622,
     2318     622,     0,     0,     0,  1327,     0,   622,     0,     0,   514,
     2319       0,   516,   519,     0,     0,     0,   869,   363,     0,   522,
     2320     523,     0,   363,     0,   516,   516,     0,     0,     0,     0,
     2321       0,   363,   363,   363,     0,     0,   516,     0,     0,     0,
     2322       0,     0,     0,     0,     0,   381,     0,     0,     0,     0,
     2323     363,     0,     0,     0,     0,   413,   912,     0,     0,   413,
     2324     915,     0,     0,     0,     0,     0,   917,     0,     0,     0,
     2325       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2326       0,     0,     0,     0,   341,   363,   413,     0,   413,     0,
     2327       0,     0,   413,     0,     0,     0,     0,     0,     0,   281,
     2328     282,  1397,   283,  1398,     0,     0,     0,     0,   516,     0,
     2329       0,     0,     0,     0,     0,     0,  1407,     0,  1408,     0,
     2330       0,     0,     0,     0,   363,   622,     0,     0,   284,     0,
     2331       0,     0,     0,     0,   285,     0,  1415,     0,   286,     0,
     2332       0,   287,   288,   289,   290,    41,    42,   735,   291,   292,
     2333       0,     0,  1433,  1435,     0,     0,   293,   210,     0,     0,
     2334     341,   363,     0,     0,  1441,   413,   413,  1245,     0,     0,
     2335       0,   294,     0,   378,     0,     0,     0,     0,     0,   812,
     2336     296,   380,   298,   299,   300,   301,   769,     0,     0,  1464,
     2337       0,     0,     0,     0,     0,     0,     0,     0,  1471,   782,
     2338       0,  1473,     0,  1475,  1477,  1479,   769,   413,     0,   769,
     2339       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2340     792,   793,   830,   363,     0,     0,     0,   622,     0,   622,
     2341       0,     0,     0,     0,     0,     0,     0,     0,     0,   622,
     2342       0,     0,   814,     0,     0,  1510,     0,  1512,     0,     0,
     2343    1245,     0,   823,     0,     0,     0,     0,     0,     0,   345,
     2344       0,     0,     0,     0,   782,  1524,     0,     0,     0,     0,
     2345       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2346       0,     0,     0,     0,     0,   516,   516,   516,   516,   516,
     2347     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
     2348     516,   516,   516,     0,     0,     0,     0,     0,     0,     0,
     2349       0,     0,   830,     0,   889,     0,     0,     0,     0,     0,
     2350     413,     0,     0,   381,     0,     0,   413,     0,   516,     0,
     2351       0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
     2352       0,     0,     0,     0,     0,     0,     0,   622,   622,     0,
     2353       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2354       0,     0,     0,   345,     0,     0,     0,     0,     0,     0,
     2355       0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
     2356     413,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2357      17,    18,    19,    20,    21,    22,    23,    24,    25,   413,
     2358    1158,    26,    27,    28,     0,     0,     0,     0,     0,   363,
     2359      31,   453,     0,     0,     0,   413,  1170,     0,   622,   622,
     2360    1175,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2361     363,   363,     0,     0,     0,     0,     0,     0,    34,   782,
     2362       0,   991,     0,     0,     0,    38,    39,   996,     0,   516,
     2363       0,     0,     0,     0,  1005,     0,     0,     0,     0,     0,
     2364       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2365       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2366       0,     0,   454,     0,     0,     0,   711,     0,     0,     0,
     2367     110,   830,   413,  1238,     0,     0,     0,     0,  1022,  1023,
     2368       0,   345,     0,     0,   622,     0,     0,     0,   516,     0,
     2369       0,     0,     0,     0,     0,     0,   345,     0,     0,     0,
     2370       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2371       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2372     516,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2373       0,     0,     0,     0,     0,   516,  1053,     0,     0,     0,
     2374     381,     0,     0,  -517,     0,     0,     1,     2,     3,     4,
     2375       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2376      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2377      25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
     2378       0,     0,    31,    32,     0,     0,     0,     0,     0,   341,
     2379       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,     0,     0,     0,     0,    33,     0,   363,
     2381      34,     0,    35,     0,    36,    37,   321,    38,    39,    40,
     2382       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2383       0,     0,  1139,  1140,     0,     0,     0,     0,     0,   381,
     2384       0,     0,     0,     0,     0,   996,     0,     0,  1149,     0,
     2385     769,     0,    43,     0,    44,     0,     0,     0,   363,   363,
     2386       0,     0,    45,     0,     0,     0,     0,     0,     0,     0,
     2387    1165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2388       0,  1180,     0,     0,     0,     0,   516,     0,     0,     0,
     2389       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2390       0,     0,     0,   381,     0,  1198,     0,     0,     0,     0,
     2391       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2392     996,   996,     0,     0,     0,     0,     0,     0,     0,   516,
     2393       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2394       0,  1230,     0,     0,     1,     2,     3,     4,     5,     6,
     2395       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2396      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2397     516,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2398      31,    32,     0,   363,     0,     0,     0,     0,   996,     0,
     2399       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2400       0,     0,     0,     0,     0,    33,     0,   889,    34,     0,
     2401      35,     0,    36,    37,     0,    38,    39,    40,     0,     0,
     2402       0,     0,  1282,  1283,    41,    42,     0,     0,     0,     0,
     2403       0,     0,   281,   282,     0,   283,     0,     0,     0,     0,
     2404       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2405      43,     0,    44,     0,     0,     0,  -521,     0,     0,     0,
     2406      45,   284,     0,     0,     0,     0,     0,   285,     0,     0,
     2407       0,   286,     0,   413,   287,   288,   289,   290,    41,    42,
     2408       0,   291,   292,     0,     0,     0,   516,     0,     0,   293,
     2409       0,     0,     0,     0,     0,     0,     0,     0,   413,   413,
     2410     516,   516,     0,   996,   294,     0,   378,     0,     0,     0,
     2411       0,   781,     0,   296,   380,   298,   299,   300,   301,     0,
     2412       0,     0,     0,   413,     0,     1,     2,   205,     4,     5,
     2413       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2414      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2415       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2416     282,    31,  1062,  1063,  1390,  1064,   769,     0,  1065,  1066,
     2417    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
     2418       0,     0,     0,  1074,  1075,     0,    33,     0,   284,    34,
     2419       0,    35,     0,    36,   649,     0,    38,    39,   286,     0,
     2420       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2421       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2422       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2423       0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
     2424     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2425    1077,     0,  1450,     0,  -129,     0,     0,     0,     0,     0,
     2426       1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2427      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2428      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2429      29,     0,     0,    30,   281,   282,    31,   283,     0,     0,
     2430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2431     516,     0,     0,   281,   282,     0,   283,     0,     0,     0,
     2432       0,     0,     0,   284,    34,     0,    35,   516,    36,   285,
     2433       0,    38,    39,   286,  1516,     0,   287,   288,   289,   290,
     2434      41,    42,   284,   291,   292,     0,     0,     0,   285,     0,
     2435       0,   293,   286,     0,     0,   287,   288,   289,   290,    41,
     2436      42,     0,   291,   292,     0,     0,   294,     0,  1076,     0,
     2437     293,     0,     0,     0,     0,   296,   297,   298,   299,   300,
     2438     301,     0,     0,     0,     0,   294,   321,   378,     0,  -129,
     2439     993,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2440     516,   516,     1,     2,   205,     4,     5,     6,     7,     8,
     2441       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2442      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2443      27,    28,    29,     0,     0,    30,   281,   282,    31,   283,
     2444       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2445      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2446      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2447      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2448     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2449       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2450       0,     0,   109,     0,    38,    39,     0,     0,   294,     0,
     2451      44,     0,     0,    41,    42,     0,     0,   296,   297,   298,
     2452     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2453       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2454      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2455      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2456       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2457      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2458      25,  -294,     0,     0,     0,   284,    34,     0,    35,     0,
     2459      36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
     2460     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2461       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2462      34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2463     343,  -294,     0,     0,     0,   781,     0,   296,   344,   298,
     2464     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2465       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2466      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2467      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2468       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2469      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2470      25,  -295,     0,     0,     0,   284,    34,     0,    35,     0,
     2471      36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
     2472     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2473       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2474      34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2475     931,  -295,     0,     0,     0,   781,     0,   296,   344,   298,
     2476     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2477       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2478      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2479      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2480       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2481      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2482      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2483      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2484     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2485       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2486       0,     0,     0,     0,    38,    39,     0,     0,   294,     0,
     2487     931,     0,     0,     0,     0,   781,     0,   296,   600,   298,
     2488     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2489       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2490      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2491      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2492       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2493      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2494      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2495      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2496     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2497       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2498       0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
     2499     343,     0,     0,     0,     0,     0,     0,   296,   344,   298,
     2500     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2501       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2502      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2503      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2504       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2505       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2506       0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
     2507      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2508     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2509       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2510       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2511     931,     0,     0,     0,     0,     0,     0,   296,   344,   298,
     2512     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2513       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2514      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2515      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2516       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2517       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2518       0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
     2519      36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
     2520     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2521       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2522       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2523    1020,     0,     0,     0,     0,     0,     0,   296,  1021,   298,
     2524     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2525       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2526      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2527      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2528       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2529      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2530      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2531      36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
     2532     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2533       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2534       0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
     2535     378,     0,     0,     0,     0,     0,     0,   296,   380,   298,
     2536     299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
     2537       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2538      18,    19,    20,    21,    22,    23,    24,    25,     0,   270,
     2539      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2540       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2541      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2542       0,    26,    27,    28,   492,   493,   494,    34,     0,    35,
     2543      31,    36,    37,     0,   206,    39,    40,     0,     0,     0,
     2544       0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2546       0,     0,     0,     0,     0,    38,    39,     0,     0,    43,
     2547       0,   207,     0,     0,     0,     0,     0,     0,     0,   208,
     2548       1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2549      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2550      21,    22,    23,    24,    25,  -294,     0,    26,    27,    28,
     2551      29,     0,     0,    30,     0,     0,    31,     0,     0,     0,
     2552       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2553       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2554       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2555       0,    38,    39,     0,     0,  -294,     1,     2,   205,     4,
     2556       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2557      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2558      25,     0,     0,    26,    27,    28,    29,     0,    44,    30,
     2559       0,     0,    31,     0,     0,     0,   110,     0,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2561       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2562      34,     0,    35,     0,    36,     0,     0,    38,    39,   204,
     2563       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    19552564      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,
     2565      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2566       0,     0,     0,     0,    44,    31,     0,     0,     0,     0,
     2567       0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
    20912568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2092      411,    77,     0,     0,    54,     0,    77,     0,     0,     0,
    2093        0,     0,     0,  1528,     0,     0,     0,  1534,     0,     0,
    2094        0,     0,     0,     0,   124,     0,     0,     0,    84,   124,
    2095      124,     0,     0,    84,    54,   124,     0,     0,     0,     0,
    2096        0,     0,     0,   351,     0,     0,  1556,     0,  1557,     0,
     2569       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2570     206,    39,     0,     2,   205,     4,     5,     6,     7,     8,
     2571       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2572      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2573      27,    28,     0,     0,     0,     0,     0,   207,    31,     0,
     2574       0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
     2575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2576       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2577      36,    37,     0,   206,    39,    40,     0,     0,     0,     0,
     2578       0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
     2579       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2581     207,     0,     0,     0,     0,     0,     0,     0,   208,     2,
     2582     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2583      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2584      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2585       0,     0,     0,     0,    31,     0,     0,     0,     0,     8,
     2586       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2587      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2588      27,    28,    34,     0,    35,     0,    36,     0,    31,    38,
     2589      39,     0,     2,   205,     4,     5,     6,     7,     8,     9,
     2590      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2591      20,    21,    22,    23,    24,    25,    34,     0,    26,    27,
     2592      28,     0,     0,    38,    39,  -400,   687,    31,     0,     0,
     2593       0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
     2594       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2595       0,     0,     0,     0,     0,    34,     0,    35,   643,    36,
     2596     338,     0,    38,    39,     0,     0,     0,     0,   110,     0,
     2597       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2598       0,     0,     0,     0,  1369,     0,     0,     0,     0,     0,
     2599       0,     0,     0,     0,     0,     0,     0,     0,     0,   687,
     2600       0,     0,     0,     0,     0,     0,     0,   634,     2,   205,
     2601       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2602      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2603      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2604       0,     0,     0,    31,     0,     0,     0,     0,     8,     9,
     2605      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2606      20,    21,    22,    23,    24,    25,  -294,     0,    26,    27,
     2607      28,    34,     0,    35,     0,    36,     0,    31,    38,    39,
     2608       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2609       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2610    1371,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2611      37,     0,   336,   337,    40,   687,  -294,     0,     0,     0,
     2612       0,    41,    42,   634,     2,   205,     4,     5,     6,     7,
     2613       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2614      18,    19,    20,    21,    22,    23,    24,    25,     0,   338,
     2615      26,    27,    28,     0,     0,     0,     0,   110,     0,    31,
     2616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2617       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2618       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2619       0,    36,     0,     0,   206,    39,     0,     2,   205,     4,
     2620       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2621      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2622      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2623       0,   269,    31,     0,     0,     0,     0,     0,     0,   629,
     2624       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2625       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2626      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
     2627       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2628      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2629      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2630       0,     0,     0,     0,   687,    31,     0,     0,     0,     0,
     2631       0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2633       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2634      38,    39,     0,     2,   205,     4,     5,     6,     7,     8,
     2635       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2636      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2637      27,    28,     0,     0,     0,     0,     0,   599,    31,     0,
     2638       0,     0,     0,     0,     0,   634,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2640       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2641      36,     0,     0,   206,    39,     8,     9,    10,    11,    12,
     2642      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2643      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2644       0,     0,   281,   282,    31,   283,     0,     0,     0,     0,
     2645     207,     0,     0,     0,     0,     0,     0,     0,   270,     0,
     2646       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2647       0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
     2648      39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2649       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2650       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2651       0,     0,     0,     0,   294,     0,   525,     0,     0,   170,
     2652       0,     0,     0,   296,   297,   298,   299,   300,   301,     8,
     2653       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2654      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2655      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2656       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2657      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2658      26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
     2659       0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2660     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2661       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2662       0,     0,    37,     0,   336,   337,    40,     0,   294,     0,
     2663     599,    -3,     0,    41,    42,     0,     0,   296,   600,   298,
     2664     299,   300,   301,     8,     9,    10,    11,    12,    13,    14,
     2665      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2666      25,   338,     0,    26,    27,    28,     0,     0,     0,   110,
     2667     281,   282,    31,   283,     8,     9,    10,    11,    12,    13,
     2668      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2669      24,    25,     0,     0,    26,    27,    28,     0,     0,   284,
     2670      34,     0,     0,    31,   453,   649,     0,    38,    39,   286,
     2671       0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2672     292,     0,     0,     0,     0,     0,     0,   293,     0,     0,
     2673       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2674       0,     0,   294,   -35,   766,     0,     0,     0,     0,     0,
     2675       0,   296,   297,   298,   299,   300,   301,     8,     9,    10,
     2676      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2677      21,    22,    23,    24,    25,   454,     0,    26,    27,    28,
     2678       0,     0,     0,   110,   281,   282,    31,   283,     0,     0,
     2679       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2680      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2681      23,    24,    25,   284,    34,    26,    27,    28,     0,   285,
     2682       0,    38,    39,   286,    31,     0,   287,   288,   289,   290,
     2683      41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
     2684       0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2685       0,     0,    34,     0,     0,     0,   294,     0,   295,    38,
     2686      39,     0,     0,     0,     0,   296,   297,   298,   299,   300,
     2687     301,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2688      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2689       0,    26,    27,    28,   643,     0,   338,     0,   281,   282,
     2690      31,   283,     0,     0,   634,     0,     0,     0,     0,     8,
     2691       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2692      19,    20,    21,    22,    23,    24,    25,   284,    34,    26,
     2693      27,    28,     0,   285,     0,    38,    39,   286,    31,     0,
     2694     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2695       0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
     2696       0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
     2697     294,     0,   156,    38,    39,     0,     0,     0,     0,   296,
     2698     297,   298,   299,   300,   301,     8,     9,    10,    11,    12,
     2699      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2700      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2701     256,     0,   281,   282,    31,   283,     0,     0,   110,     0,
     2702       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2703       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2704       0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
     2705      39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2706       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2707       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2708       0,     0,     0,     0,   294,     0,   599,     0,     0,     0,
     2709       0,     0,     0,   296,   600,   298,   299,   300,   301,     8,
     2710       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2711      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2712      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2713       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2714      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2715      26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
     2716       0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2717     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2718       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2719       0,     0,    37,     0,    38,    39,    40,     0,   294,     0,
     2720     378,     0,     0,    41,    42,     0,     0,   296,   380,   298,
     2721     299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
     2722       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
     2723       0,    44,     0,     0,     0,     0,     0,     0,     0,    45,
     2724       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2725      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2726      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2727       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2728      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2729      26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
     2730       0,     0,    37,     0,   206,    39,    40,     0,     0,     0,
     2731       0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
     2732       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2733       0,     0,    37,     0,   336,   337,    40,     0,     0,    43,
     2734       0,   269,     0,    41,    42,     0,     0,     0,     0,   208,
     2735       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2736       0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
     2737       0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
     2738       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2739      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2740      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2741       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2742      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2743      26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
     2744       0,     0,     0,     0,    38,    39,     0,     0,  -294,     0,
     2745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2746       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2747       0,     0,     0,     0,    38,    39,     0,     0,  -294,   643,
     2748       0,   338,     0,     0,     0,     0,     0,     0,     0,   110,
     2749       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2750       0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
     2751       0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
     2752       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2753      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2754      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2755     453,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2756      17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
     2757       0,    26,    27,    28,     0,     0,     0,    34,     0,     0,
     2758      31,     0,     0,     0,    38,    39,     0,     0,     0,     0,
     2759       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2760       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2761       0,     0,     0,     0,     0,    38,    39,     0,     0,  -294,
     2762       0,   454,     0,     0,     0,   947,     0,     0,     0,   110,
     2763       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2764      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2765      25,     0,   338,    26,    27,    28,     0,     0,     0,     0,
     2766     110,     0,    31,   453,     8,     9,    10,    11,    12,    13,
     2767      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2768      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2769      34,     0,     0,    31,     0,     0,     0,    38,    39,     0,
    20972770       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,
     2771      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2772       0,    34,    26,    27,    28,     0,     0,     0,    38,    39,
     2773       0,    31,     0,     0,   454,     0,     0,     0,  1235,     0,
     2774       0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
     2775       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2776       0,     0,     0,     0,     0,   156,   206,    39,     0,     0,
     2777       0,     0,     0,   110,     0,     8,     9,    10,    11,    12,
     2778      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2779      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2780       0,     0,     0,   269,    31,     0,     0,     0,     0,     0,
     2781       0,   270,     0,     8,     9,    10,    11,    12,    13,    14,
     2782      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2783      25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
     2784      39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2785      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2786      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2787      34,     0,    31,     0,     0,     0,   256,    38,    39,     0,
     2788       0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
     2789       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2790      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2791       0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
     2792       0,     0,   634,     0,     0,     8,     9,    10,    11,    12,
     2793      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2794      23,    24,    25,     0,   454,    26,    27,    28,     0,     0,
     2795       0,     0,   110,     0,    31,     8,     9,    10,    11,    12,
     2796      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2797      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2798       0,     0,    34,     0,    31,     0,     0,     0,     0,   206,
     2799      39,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2800      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2801      25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
     2802      39,     0,    31,     0,     0,     0,   269,     0,     0,     0,
     2803       0,     0,     0,     0,   629,     0,     0,     0,     0,     0,
     2804       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2805      34,     0,     0,     0,     0,     0,   599,    38,    39,     0,
     2806       0,     0,     0,     0,   634,     0,     8,     9,    10,    11,
     2807      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2808      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2809       0,     0,     0,     0,   338,    31,     0,     0,     0,     0,
     2810       0,     0,   110,     0,     8,     9,    10,    11,    12,    13,
     2811      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2812      24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
     2813      38,    39,     0,    31,     0,     0,     2,   205,     4,     5,
     2814       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2815      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2816       0,    34,    26,    27,    28,     0,     0,    44,   206,    39,
     2817       0,    31,     0,   281,   282,   110,   283,  1063,     0,  1064,
     2818       0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
     2819       0,     0,  1549,  1073,     0,     0,     0,  1074,  1075,    34,
     2820      33,    35,   284,    36,     0,     0,    38,    39,   649,     0,
     2821       0,     0,   286,   629,     0,   287,   288,   289,   290,    41,
     2822      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2823     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2824       0,     0,  -413,     0,     0,   294,     0,   378,     0,     0,
     2825     170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2826       0,     0,     0,     0,  1077,     0,   281,   282,  -129,   283,
     2827    1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,  1069,
     2828    1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,     0,
     2829    1074,  1075,     0,    33,     0,   284,     0,     0,     0,     0,
     2830       0,   649,     0,     0,     0,   286,     0,     0,   287,   288,
     2831     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2832       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2833       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2834     378,     0,     0,   170,     0,     0,     0,   296,   380,   298,
     2835     299,   300,   301,     0,     0,     0,     0,  1077,     0,     0,
     2836       0,  -129,     2,   205,     4,     5,     6,     7,     8,     9,
     2837      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2838      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2839      28,     0,     0,     0,     0,     0,     0,    31,     0,   281,
     2840     282,     0,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,
     2841    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1549,  1073,
     2842       0,     0,     0,  1074,  1075,    34,    33,    35,   284,    36,
     2843       0,     0,    38,    39,   649,     0,     0,     0,   286,     0,
     2844       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2845       0,     0,     0,     0,  1328,     0,   293,     0,     0,     0,
     2846       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2847       0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
     2848     296,   380,   298,   299,   300,   301,     0,     0,   281,   282,
     2849    1077,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,  1067,
     2850    1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,
     2851       0,     0,  1074,  1075,     0,    33,     0,   284,     0,     0,
     2852       0,     0,     0,   649,     0,     0,     0,   286,     0,     0,
     2853     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2854       0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
     2855       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2856     294,     0,   378,     0,     0,   170,     0,     0,     0,   296,
     2857     380,   298,   299,   300,   301,     0,     0,   281,   282,  1077,
     2858     283,  1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,
     2859    1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,
     2860       0,  1074,  1075,     0,    33,     0,   284,     0,     0,     0,
     2861       0,     0,   649,     0,     0,     0,   286,     0,     0,   287,
     2862     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2863       0,     0,     0,     0,   293,   281,   282,     0,   283,     0,
     2864       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2865       0,   378,     0,     0,   170,     0,     0,     0,   296,   380,
     2866     298,   299,   300,   301,   284,     0,     0,     0,  1077,     0,
     2867     285,     0,     0,     0,   286,     0,     0,   287,   288,   289,
     2868     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2869       0,     0,   293,   281,   282,     0,   283,     0,     0,     0,
     2870       0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
     2871       0,     0,   281,   282,     0,   283,   296,   380,   298,   299,
     2872     300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
     2873       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2874      42,   284,   291,   292,     0,     0,     0,   649,     0,     0,
     2875     293,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2876       0,   291,   292,     0,     0,   294,     0,   378,     0,   293,
     2877     281,   282,     0,   283,   296,   734,   298,   299,   300,   301,
     2878       0,     0,     0,     0,   294,     0,   785,     0,     0,   281,
     2879     282,     0,   283,   296,   380,   298,   299,   300,   301,   284,
     2880       0,     0,     0,     0,     0,   285,     0,     0,     0,   286,
     2881       0,     0,   287,   288,   289,   290,    41,    42,   284,   291,
     2882     292,     0,     0,     0,   285,     0,     0,   293,   286,     0,
     2883       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2884       0,     0,   294,     0,   378,     0,   293,   281,   282,     0,
     2885     283,   296,   827,   298,   299,   300,   301,     0,     0,     0,
     2886       0,   294,     0,     0,     0,     0,   281,   282,     0,   283,
     2887     296,   380,   298,   299,   300,   301,   284,     0,     0,     0,
     2888       0,     0,   285,     0,     0,     0,   286,     0,     0,   287,
     2889     288,   289,   290,    41,    42,   284,   291,   292,     0,     0,
     2890       0,   285,     0,     0,   293,   286,     0,     0,   287,   288,
     2891     289,   290,    41,    42,     0,   291,   292,     0,     0,   518,
     2892       0,     0,     0,   293,     0,     0,     0,     0,   296,   380,
     2893     298,   299,   300,   301,     0,     0,     0,     0,   521,     0,
     2894       0,     0,     0,     0,     0,     0,     0,   296,   380,   298,
     2895     299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
     2896       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2897      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2898      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2899       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2900       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2901       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2902       0,    36,     0,     0,   206,    39,   474,     2,   205,     4,
     2903       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2904      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2905      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2906       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2907       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2908       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2909      34,     0,    35,     0,    36,     0,     0,    38,    39,     2,
     2910     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2911      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2912      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2913       0,     0,     0,     0,    31,     0,     0,     0,     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,    34,     0,    35,     0,    36,     0,     0,   206,
     2917      39
     2918};
     2919
     2920#define yypact_value_is_default(yystate) \
     2921  ((yystate) == (-1356))
     2922
     2923#define yytable_value_is_error(yytable_value) \
     2924  YYID (0)
     2925
     2926static const yytype_int16 yycheck[] =
     2927{
     2928       0,     1,     0,   184,    43,   698,   115,   184,    43,   184,
     2929      43,   238,    55,   698,     1,   167,   168,   698,   104,   203,
     2930     543,   294,   184,   455,   185,   218,   280,   278,   456,    29,
     2931      30,   656,    32,   184,    32,   348,   611,   184,   520,   185,
     2932     759,   611,     1,    43,   184,    45,  1006,    45,   186,   629,
     2933     499,   579,   609,     0,   503,    55,   902,   999,   462,  1042,
     2934    1043,    61,   105,    61,    64,   108,    64,    67,   154,    67,
     2935     902,   348,   780,    43,    43,   609,   609,    32,    39,    51,
     2936      67,    81,    82,   264,   777,    32,  1419,   264,   609,   264,
     2937    1338,   200,   777,   609,    28,  1055,   777,   529,   723,    63,
     2938      95,  1062,   264,   609,   265,   105,   699,    39,   108,   110,
     2939     417,    82,    43,   264,   699,   115,   117,   264,   109,   265,
     2940    1475,   497,   260,   261,   264,   609,    64,   363,   721,    82,
     2941     437,   367,    39,     0,   612,   130,   721,   109,   445,   110,
     2942     618,  1074,  1075,   344,    78,   184,   146,    82,   146,   184,
     2943     111,   184,   425,   426,   154,  1510,     0,  1512,   111,   159,
     2944    1493,   159,  1043,   425,   426,    32,   107,   227,   132,     0,
     2945       1,   109,   109,   109,   217,   111,   255,   109,    39,   111,
     2946       0,     1,   283,   119,   184,   185,   246,   185,    32,     0,
     2947     131,    39,     0,  1441,    72,   296,   297,    64,    44,    45,
     2948     200,    32,   109,    39,   111,    83,    84,   308,   208,  1142,
     2949     208,   680,    32,    39,   184,   184,   409,   217,   495,   812,
     2950     220,    32,   220,   744,    32,   264,   110,   227,   271,   264,
     2951    1062,   264,   116,    64,   109,   278,    67,   613,   744,   501,
     2952     513,   617,   242,   344,   405,   518,   246,    67,   521,    11,
     2953     250,   251,   250,   184,   132,   341,   131,   511,   520,   405,
     2954     744,   109,   638,   111,   264,   265,   642,   265,     0,   115,
     2955     109,   271,   111,   109,   109,   111,   851,    45,   278,   380,
     2956     119,   851,   839,   109,   370,   111,   395,    82,   489,   110,
     2957     718,   819,   251,   293,   455,   250,   117,   890,   611,    85,
     2958      32,  1009,   575,   250,   347,   839,   839,  1290,  1291,   455,
     2959      45,    43,    82,    45,   423,  1257,    44,    45,   839,   112,
     2960     429,   364,   117,   839,   586,   368,   487,   113,   328,    61,
     2961     328,   114,    64,   839,   293,    67,   116,    82,   417,   109,
     2962      96,   487,   110,  1304,     3,   112,   815,   347,   348,   116,
     2963      44,    45,  1071,   220,     3,   839,   825,   489,   437,   116,
     2964    1241,   597,    72,   841,   364,   110,   445,   123,   368,    82,
     2965      72,   840,   117,    83,    84,   110,    72,   145,     0,   379,
     2966    1226,    83,    84,   250,   691,   978,   114,    83,    84,   220,
     2967     960,   644,   645,   978,  1226,   395,   109,    96,   129,   600,
     2968     131,   111,   959,     0,   640,   405,   250,   405,  1526,   662,
     2969    1291,   255,   109,   513,   146,   515,  1009,   119,   518,   250,
     2970     114,   521,   676,   423,   123,   959,   959,   159,   629,   429,
     2971     250,   431,  1415,   634,  1526,  1553,   132,  1496,    72,   250,
     2972     208,  1021,   250,  1502,   255,   131,   532,  1407,  1408,    83,
     2973      84,   116,   184,   185,  1546,   455,   557,   558,   559,   112,
     2974     460,  1553,   109,   116,  1523,   465,  1059,   132,   116,  1528,
     2975     238,   110,  1304,   208,   474,   471,   208,   111,   117,   479,
     2976     109,   110,   349,   736,   132,   115,   116,   487,   220,   487,
     2977     109,   491,   131,   491,    80,   495,   697,   873,   498,   600,
     2978     500,   131,   270,  1464,   239,   657,   938,   758,   762,   109,
     2979    1471,   643,   644,   645,   946,   474,  1141,   698,   250,   968,
     2980     520,   698,  1004,   698,   928,   111,   109,   113,   666,   297,
     2981     662,   117,   264,   109,  1415,   270,   698,   537,   851,   700,
     2982     540,  1134,   542,   543,   491,   109,  1116,   698,   116,  1134,
     2983     116,   698,  1030,  1031,   700,   664,    72,   110,   698,   294,
     2984     992,   520,   297,  1524,   132,   697,   132,    83,    84,   110,
     2985    1039,  1040,   773,   417,   851,   828,   344,   110,   537,  1423,
     2986     112,   540,   110,   542,   543,  1304,   116,   630,   116,   965,
     2987     590,    30,   110,   437,   830,   111,   328,   597,   834,  1192,
     2988    1193,   445,   132,   646,   736,   110,   417,  1192,  1193,   609,
     2989     696,   611,   691,   480,    90,    91,   348,   119,   661,   643,
     2990     644,   645,   124,   125,   491,   109,   437,   111,  1097,  1098,
     2991     630,   590,  1464,   734,   445,    80,  1132,   116,   662,  1471,
     2992    1136,   773,    81,    82,    72,   112,   646,   491,    76,   116,
     2993     126,   127,   652,   132,   733,    83,    84,   425,   426,   116,
     2994     491,   661,  1381,   663,   664,   665,   111,   110,   113,   116,
     2995     110,   491,   117,   405,  1102,   132,   116,  1521,   489,   780,
     2996     491,   109,  1526,   491,   680,   132,   772,   964,   924,   116,
     2997     115,   119,  1524,   109,   116,   888,   828,   109,   698,   111,
     2998     700,   116,  1546,   109,   663,   132,   665,   119,   116,  1553,
     2999     132,   109,   736,   713,   116,   758,   909,   132,   453,   719,
     3000      64,   456,   110,   455,   132,    68,   827,   462,   116,    72,
     3001     132,   731,    75,   501,    77,    72,    10,    11,    12,    13,
     3002      14,    84,   894,   970,   744,   745,    83,    84,   110,  1468,
     3003      72,  1470,   520,   109,   116,   111,   132,   116,   758,   491,
     3004       3,    83,    84,   495,   631,    39,   112,    10,    11,    12,
     3005      13,    14,   731,   132,   111,   110,   110,   938,   513,   109,
     3006     515,   116,   116,   518,   112,   946,   521,   109,   116,   110,
     3007     598,   132,   938,    67,   112,   116,    39,  1320,   116,   110,
     3008     946,   110,  1271,   242,   828,   116,  1525,   116,   109,  1402,
     3009    1279,  1280,  1281,   109,    45,   111,   110,  1402,   586,   815,
     3010    1021,   110,   116,   112,    67,   110,  1419,   116,   114,   825,
     3011      61,   116,   600,    64,  1419,   110,    67,  1530,   109,   839,
     3012     111,   116,   131,   132,   840,  1530,     1,   691,    72,  1530,
     3013    1034,   851,    76,    72,   114,    74,    75,   724,  1327,    83,
     3014      84,   629,    64,    72,    83,    84,   634,  1103,   211,   132,
     3015     110,   738,   121,   122,    83,    84,   116,   609,  1132,   611,
     3016     691,   132,  1136,  1137,   114,   109,   697,   111,   109,   733,
     3017      45,   109,    72,   111,   894,   119,    76,    88,    89,  1492,
     3018    1493,   901,   902,    83,    84,  1057,   110,  1492,  1493,    82,
     3019    1042,   110,   116,   110,   116,   146,   109,   116,   111,   116,
     3020    1021,   110,   733,   109,   924,   110,   109,   116,   159,   109,
     3021     112,   116,  1205,  1206,   109,  1208,   111,    82,   938,   119,
     3022     379,  1214,   120,   902,  1217,   109,   946,   111,   129,   104,
     3023     564,   565,   566,   567,   185,   110,   109,   159,   111,   128,
     3024    1161,  1062,   773,    94,   964,   832,   698,    72,   700,    74,
     3025      75,    64,    92,    93,    85,    86,    87,   208,    83,    84,
     3026     115,   116,   969,   718,   984,   109,   110,   111,    81,   220,
     3027     145,   116,   117,   993,   109,   110,   111,  1251,   109,   154,
     3028     111,  1001,   113,   114,  1004,   703,  1006,   705,   351,   114,
     3029     353,   111,   744,   745,   131,  1124,   110,   111,   220,    58,
     3030      59,   460,   109,   116,   109,   984,   465,   835,   112,  1161,
     3031     109,   110,   111,   115,   116,   902,   109,   110,   111,   109,
     3032    1241,   112,  1001,  1039,  1040,  1004,   110,  1006,   110,   204,
     3033      58,    59,    60,   208,   110,  1055,   258,   110,   902,   498,
     3034     262,   500,   116,   117,   110,  1065,   159,   110,  1068,  1069,
     3035    1070,   902,   112,  1505,   116,   117,    72,  1178,    74,    75,
     3036      76,   111,   902,   238,   239,  1339,   112,    83,    84,  1343,
     3037     131,   902,   116,  1093,   902,   114,  1055,   328,   441,    44,
     3038      45,  1097,  1098,   109,  1377,   112,  1065,   839,   110,  1068,
     3039    1069,  1070,   110,   109,    72,   270,    74,    75,   273,   851,
     3040    1263,  1264,  1265,  1555,  1124,    83,    84,   220,   112,     4,
     3041       5,     6,     7,     8,     9,  1221,   560,   561,   969,   294,
     3042     112,   112,   297,   562,   563,   568,   569,   349,   112,   969,
     3043     117,   109,     3,    29,   117,   117,   114,  1024,  1290,    10,
     3044      11,    12,    13,    14,    72,   258,    74,    75,    76,   262,
     3045     116,   110,   110,   114,   405,    83,    84,   112,    10,    11,
     3046      12,    13,    14,   117,   115,   110,   341,   115,    39,   344,
     3047     116,  1445,   115,   928,    69,  1062,    71,   109,   116,  1199,
     3048     110,   109,   970,   111,   110,   132,   938,    39,   363,   117,
     3049     110,   119,   367,   652,   946,   370,    67,  1204,  1062,   117,
     3050     110,  1221,    72,   110,    74,    75,  1226,   110,   430,   110,
     3051       3,  1062,   964,    83,    84,    67,   116,    10,    11,    12,
     3052      13,    14,  1062,  1239,     4,     5,     6,     7,     8,     9,
     3053     110,  1062,   110,  1021,  1062,   110,   349,   132,  1245,   115,
     3054      29,   111,   110,  1263,  1264,  1265,    39,  1226,   110,   110,
     3055     425,   426,   110,    33,   713,  1271,   110,   109,   480,   111,
     3056     719,   902,   110,  1279,  1280,  1281,   110,   119,    72,  1398,
     3057      74,    75,    76,   110,    67,   110,   131,   110,   453,    83,
     3058      84,   456,   112,   110,  1263,  1264,  1265,   462,   110,    69,
     3059     115,    71,   110,  1540,    85,    86,    87,   116,   112,   474,
     3060    1320,  1321,   112,   110,     4,     5,     6,     7,     8,     9,
     3061     110,  1327,   110,   471,   116,   116,  1203,   430,   109,   114,
     3062     111,   117,   113,   114,   499,   112,   501,   110,   503,  1530,
     3063    1161,  1338,   116,  1530,  1397,  1530,   110,   116,   513,  1226,
     3064     515,  1320,  1321,   518,   116,   520,   521,  1102,  1530,   110,
     3065    1531,   117,  1203,  1204,   112,  1375,   109,   532,  1378,  1530,
     3066     109,   109,  1226,  1530,  1204,  1531,   109,   480,   109,    69,
     3067    1530,    71,   112,   132,  1555,  1226,  1505,  1397,  1398,   115,
     3068     110,   603,   110,   110,   129,   114,  1226,  1407,  1408,  1555,
     3069      72,   115,    74,    75,  1245,  1226,  1375,   112,  1226,  1378,
     3070     132,    83,    84,  1423,   110,  1245,   116,   112,  1428,   631,
     3071    1241,   586,  1299,   116,   636,   112,    55,  1304,   110,   110,
     3072     110,    47,   597,   112,  1065,   600,  1446,   109,  1407,  1408,
     3073     110,   112,   114,   112,  1441,   894,   112,    53,  1458,   112,
     3074    1304,   112,   901,   115,  1423,   132,   132,   132,  1299,  1428,
     3075     110,   115,   117,  1304,   629,   132,   110,   132,   115,   634,
     3076     112,   112,     0,     1,  1304,   640,   105,  1446,   112,   108,
     3077     112,  1530,   112,  1304,   112,  1530,  1304,  1530,   112,  1458,
     3078      96,   112,   110,   110,   109,  1505,  1506,  1338,   112,   112,
     3079     603,   109,   109,    60,    32,  1515,   110,   110,  1338,   114,
     3080     132,  1521,   724,   112,   112,   117,  1526,    45,   110,   112,
     3081    1530,  1531,   110,  1531,    96,   154,   738,    96,   631,   109,
     3082     109,   696,   680,   636,  1544,   132,  1546,  1506,   115,    67,
     3083    1550,   112,   110,  1553,   993,  1555,  1515,  1555,   110,   110,
     3084     110,  1561,  1521,   718,    51,  1565,    53,  1526,   116,    56,
     3085      57,    58,    72,    60,    74,    75,    76,    42,    72,   117,
     3086      74,    75,    76,    83,    84,  1544,   104,  1546,    75,    83,
     3087      84,  1550,   132,   748,  1553,   132,   192,  1464,   217,   110,
     3088      87,    88,  1561,   110,  1471,  1226,  1565,    96,    96,   109,
     3089    1441,    72,   132,    74,    75,    76,   132,   772,   110,   215,
     3090    1464,  1441,    83,    84,   110,   110,   117,  1471,   146,   225,
     3091     832,   724,   110,  1464,   132,   115,   154,   155,   112,   112,
     3092    1471,   109,   132,   115,  1464,   738,   115,   110,   109,   132,
     3093     111,  1471,   271,  1464,  1093,   110,  1464,  1524,   119,   278,
     3094    1471,   132,    72,  1471,    74,    75,    76,   185,   110,   110,
     3095    1077,   570,   573,    83,    84,   830,   571,   815,   572,   834,
     3096    1524,   574,   200,  1226,    64,   203,   204,   825,  1493,  1565,
     3097     208,  1383,  1343,  1524,    74,  1137,  1314,  1471,   294,   109,
     3098    1321,   111,   840,  1093,  1524,   453,   453,   946,   705,   119,
     3099     465,   229,   948,  1524,   993,   233,  1524,   235,   590,   748,
     3100     894,    10,    11,    12,    13,    14,   244,   758,   347,   658,
     3101    1245,   966,   250,   491,   578,   578,   116,   255,  1473,   832,
     3102    1475,   578,    -1,    -1,    -1,   364,    -1,   265,    -1,   368,
     3103      39,    -1,    -1,    -1,  1375,   273,    -1,  1378,    -1,    -1,
     3104    1199,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   924,
     3105      -1,    -1,  1540,   928,    -1,  1510,    -1,  1512,    67,   159,
     3106      -1,    -1,    -1,    72,    -1,    74,    75,    76,    72,    -1,
     3107      74,    75,    76,    -1,    83,    84,     0,    -1,  1530,    83,
     3108      84,    -1,  1423,    -1,    -1,    -1,    72,  1428,    74,    75,
     3109      76,    -1,   431,   968,   969,   970,    -1,    83,    84,    -1,
     3110     109,    -1,  1024,   341,    -1,   109,   344,   111,    32,    -1,
     3111     119,    -1,   350,    -1,    -1,   119,    -1,  1458,    -1,    -1,
     3112     220,    -1,    -1,   109,    -1,   363,   442,    -1,    -1,   367,
     3113      -1,    -1,   370,   119,    -1,    -1,    -1,   344,   345,    -1,
     3114      -1,    -1,    -1,    67,    -1,    -1,  1021,    -1,    -1,   356,
     3115     357,    10,    11,    12,    13,    14,    -1,    -1,   258,    -1,
     3116     476,    -1,   262,    72,    -1,    74,    75,    76,    -1,    -1,
     3117      -1,    -1,    -1,    -1,    83,    84,    -1,    -1,   278,   417,
     3118      39,  1039,  1040,    -1,    -1,    -1,    26,    27,    28,    -1,
     3119      -1,    -1,    -1,    -1,   432,    -1,    -1,   513,    -1,   437,
     3120     109,    -1,   518,  1544,    -1,   521,    -1,   445,    67,  1550,
     3121     119,  1024,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3122    1561,    -1,    -1,    -1,  1565,    -1,    -1,  1102,  1103,    -1,
     3123      -1,   155,    -1,   471,    -1,    -1,   474,    -1,    -1,  1097,
     3124    1098,    39,    -1,    -1,    10,    11,    12,    13,    14,   349,
     3125     109,   489,   111,   491,    -1,    -1,    -1,    97,   597,    99,
     3126     119,   499,    -1,    -1,    -1,   503,    -1,    -1,    -1,    67,
     3127      -1,    -1,    -1,    39,    72,    -1,    74,    75,    76,    -1,
     3128      -1,  1203,    -1,    -1,   124,    83,    84,    -1,    -1,    -1,
     3129      -1,   630,    -1,    -1,   532,   533,    -1,    -1,    -1,    -1,
     3130      -1,    67,    -1,    -1,    -1,   229,    72,   646,    74,    75,
     3131      76,   109,    -1,   111,    -1,    -1,    -1,    83,    84,    -1,
     3132      -1,   119,   661,    -1,    -1,    -1,   250,    -1,    -1,    -1,
     3133     430,   255,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3134     180,   579,    -1,   109,    -1,   111,  1221,   447,   188,    -1,
     3135     190,   191,    -1,   119,    -1,   195,    -1,   197,   198,   597,
     3136     598,    -1,   600,   679,    39,    -1,    -1,    -1,    -1,    -1,
     3137    1245,    -1,   688,   611,    -1,    -1,   692,  1299,    -1,    -1,
     3138     480,  1239,    -1,    10,    11,    12,    13,    14,    -1,    -1,
     3139    1203,   629,    67,    -1,    -1,    -1,   634,    72,    -1,    74,
     3140      75,    76,   640,    -1,    -1,   643,   644,   645,    83,    84,
     3141      -1,    -1,    39,  1271,    -1,    -1,    -1,    -1,    -1,   758,
     3142      -1,  1279,  1280,  1281,   662,    -1,   350,   267,    -1,    -1,
     3143      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3144      67,    -1,   680,    -1,   119,    72,    -1,    74,    75,    76,
     3145      -1,    -1,    -1,   691,    -1,    -1,    83,    84,   696,   697,
     3146      -1,    -1,   700,  1338,    -1,    -1,    -1,    -1,    -1,  1327,
     3147      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3148      -1,    -1,   109,    -1,    -1,    -1,  1299,    -1,    -1,    -1,
     3149      -1,    -1,   119,   417,    -1,   733,    -1,    -1,   736,    -1,
     3150      -1,    39,    -1,   603,    -1,    -1,    -1,   745,   432,    -1,
     3151     748,    -1,    -1,   437,    -1,    -1,    -1,    -1,   725,    -1,
     3152     727,   445,    -1,    -1,    -1,    -1,    -1,   734,   735,    67,
     3153      -1,   631,   739,    -1,   772,   773,   636,    -1,    -1,    -1,
     3154     778,    -1,    -1,    -1,   751,    -1,    -1,   471,    -1,   756,
     3155      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
     3156      -1,    -1,    -1,    -1,    -1,   489,  1441,   491,    -1,    -1,
     3157      -1,   109,    -1,   111,    -1,   782,    -1,   815,    -1,    -1,
     3158      -1,   119,    -1,    -1,   131,   924,    -1,   825,    -1,    -1,
     3159     828,    -1,   830,    -1,    -1,   833,   834,   835,  1473,    -1,
     3160    1475,    -1,   840,    -1,    -1,    -1,    -1,    -1,    -1,   533,
     3161     926,    -1,   850,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3162     827,    -1,    -1,    -1,   724,    -1,    -1,    -1,    -1,    -1,
     3163      -1,    -1,    -1,    -1,    -1,  1510,    -1,  1512,   738,    -1,
     3164      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3165      20,    21,    22,    23,    24,    25,    26,    27,   758,    -1,
     3166      30,    31,    32,    -1,   902,  1540,    -1,    -1,    -1,    39,
     3167      -1,    -1,    -1,    -1,   598,    -1,    -1,   884,   885,   886,
     3168     887,    -1,   889,    -1,    -1,    -1,   924,    -1,    10,    11,
     3169      12,    13,    14,    -1,    -1,    -1,     0,    67,   905,    -1,
     3170      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3171      -1,    -1,   919,    83,    84,    -1,    -1,    39,    -1,   643,
     3172     644,   645,   960,    -1,    -1,    -1,    -1,    -1,    32,    -1,
     3173     968,   969,   832,    -1,    -1,    -1,    -1,    -1,   662,   109,
     3174      -1,   111,   582,   583,    -1,    67,    -1,    -1,   986,   119,
     3175      72,   958,    -1,    -1,    76,    -1,   680,  1073,    -1,    -1,
     3176      -1,    83,    84,    67,    -1,    -1,    -1,   691,    -1,    -1,
     3177      -1,    -1,   612,   697,    -1,   615,   616,    -1,   618,    -1,
     3178     620,   621,    -1,  1021,    -1,   625,   626,   109,    -1,    -1,
     3179      -1,   998,    -1,    -1,    -1,    -1,  1034,   119,  1005,    -1,
     3180      -1,  1039,  1040,  1010,  1042,  1043,    -1,    -1,  1015,   733,
     3181    1017,    -1,   736,    -1,  1021,  1022,  1023,    -1,    -1,  1026,
     3182      -1,    -1,    -1,    -1,  1062,    -1,    -1,    -1,  1035,    -1,
     3183      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3184      -1,    -1,    -1,    -1,    -1,    -1,  1053,  1054,    -1,   773,
     3185      -1,   155,    -1,    -1,    -1,     0,    -1,    -1,    -1,  1097,
     3186    1098,    39,    -1,    -1,   704,  1103,    -1,    -1,    -1,   709,
     3187     710,    -1,    -1,  1080,    -1,   715,  1083,    -1,    -1,    -1,
     3188      -1,    -1,  1221,    -1,    -1,    -1,    -1,    32,    -1,    67,
     3189      -1,   815,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3190      -1,   825,    -1,    -1,   828,    83,    84,    -1,    -1,   833,
     3191      -1,   835,    -1,    -1,  1121,    -1,   840,    -1,    -1,    -1,
     3192    1127,  1128,    67,  1161,  1024,    -1,    -1,    -1,    -1,    -1,
     3193      -1,   109,  1139,    -1,    -1,    -1,    -1,  1144,    -1,    -1,
     3194    1147,   119,  1149,    -1,    -1,  1152,   250,    -1,    -1,    -1,
     3195      -1,   255,   188,    -1,    -1,    -1,    -1,    -1,  1165,   195,
     3196      -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,
     3197      -1,  1178,     0,  1180,  1181,  1182,  1183,    -1,   902,    -1,
     3198      -1,    -1,    -1,  1221,    -1,    -1,    -1,    -1,  1226,  1196,
     3199      -1,  1198,    -1,    -1,    -1,  1202,    -1,  1313,    -1,    -1,
     3200      -1,  1239,    -1,  1241,    32,     0,     1,  1245,    -1,    -1,
     3201     155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3202      -1,    -1,    -1,    -1,  1231,  1232,    -1,    -1,    -1,    -1,
     3203      -1,   267,    -1,  1271,    -1,    -1,    -1,    32,    -1,    67,
     3204      -1,  1279,  1280,  1281,    -1,    -1,   350,    -1,    -1,    -1,
     3205      -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,  1397,    -1,
     3206      -1,    -1,   986,    -1,    -1,    -1,  1304,    -1,    -1,    64,
     3207      -1,    -1,    67,    -1,    -1,  1282,  1283,    -1,    -1,    -1,
     3208      -1,    -1,    -1,    -1,    -1,  1292,    -1,   323,    -1,  1327,
     3209      -1,    -1,    -1,    -1,    -1,   331,    -1,    -1,   334,    -1,
     3210    1338,    -1,    -1,  1203,    -1,   250,    -1,    -1,    -1,    -1,
     3211     255,    -1,    -1,   417,    -1,  1039,  1040,    -1,  1042,  1043,
     3212      -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   432,    -1,
     3213      -1,    -1,    -1,   437,    -1,    -1,    -1,  1344,  1062,    -1,
     3214      -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1356,
     3215      -1,  1358,  1359,  1360,    -1,    -1,  1472,    -1,  1474,    -1,
     3216     155,   397,    -1,  1370,    -1,   401,    -1,   471,    -1,    -1,
     3217      -1,    -1,  1379,  1097,  1098,    -1,    -1,  1415,    -1,    -1,
     3218      -1,    -1,    -1,    -1,    -1,   489,    -1,   491,  1395,    -1,
     3219      -1,    -1,    -1,  1509,    -1,  1511,    -1,    -1,    -1,  1299,
     3220      -1,    -1,    -1,  1441,    -1,   350,    -1,    -1,    -1,    -1,
     3221      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3222      -1,    -1,   250,    -1,    -1,   220,  1464,   255,    -1,   533,
     3223      -1,    -1,    -1,  1471,    -1,    -1,    -1,  1161,  1554,    -1,
     3224    1556,    -1,    -1,    -1,  1451,  1452,    -1,    -1,    -1,    -1,
     3225     486,    -1,    -1,  1569,  1570,   250,    -1,  1464,    -1,  1099,
     3226      -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,    -1,    -1,
     3227      -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3228    1204,    -1,    -1,    -1,    -1,    -1,  1524,   432,    -1,    -1,
     3229      -1,    -1,   437,  1531,   598,    -1,    -1,  1504,    -1,    -1,
     3230     445,  1508,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3231      -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
     3232      -1,    -1,   350,    -1,    -1,    -1,   471,    -1,    -1,    -1,
     3233    1537,    -1,  1539,    -1,    -1,    -1,    -1,    -1,    -1,   643,
     3234     644,   645,   578,   579,   489,    -1,   491,  1271,    -1,    -1,
     3235      -1,    -1,    -1,    -1,    -1,  1279,  1280,  1281,   662,    -1,
     3236    1567,  1568,    -1,    -1,    -1,    -1,  1290,  1291,  1575,  1576,
     3237      -1,    -1,    -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,
     3238    1304,    -1,    -1,  1223,    -1,    -1,    -1,   691,   533,   417,
     3239      -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
     3240      -1,    -1,    -1,  1327,   432,    -1,    -1,    -1,    -1,   437,
     3241      -1,    -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,
     3242      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,
     3243      -1,   667,   736,    -1,    -1,   671,    -1,   432,    -1,    -1,
     3244      -1,    -1,    -1,   471,    -1,    -1,    -1,    -1,    -1,    -1,
     3245      -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
     3246      -1,   489,    -1,   491,    -1,    -1,    -1,    -1,   704,   773,
     3247      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3248      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3249      27,  1415,    -1,    -1,    -1,    -1,   491,    -1,   643,   644,
     3250     645,    -1,    39,    -1,    -1,   533,    -1,    -1,    -1,    -1,
     3251      -1,   815,    -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,
     3252      -1,   825,    -1,    -1,   828,    -1,    -1,    -1,    -1,   833,
     3253      67,   835,    -1,    -1,    -1,   680,   840,    -1,   533,    -1,
     3254    1464,    -1,    -1,    -1,    -1,    -1,   691,  1471,    -1,    -1,
     3255      -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3257     598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3258      -1,    -1,    -1,   819,    -1,    -1,    -1,    -1,   733,    -1,
     3259      -1,   736,    -1,    -1,    -1,    26,    27,    28,   902,    -1,
     3260    1524,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,   643,   644,   645,    -1,    -1,
     3262      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   773,    -1,
     3263      -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,
     3264      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,   644,
     3265     645,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3266      -1,    -1,    -1,   691,    -1,    -1,    97,   662,    99,   697,
     3267     815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3268     825,    -1,   986,   828,    -1,    -1,    -1,    -1,   833,    -1,
     3269     835,    -1,    -1,    -1,    -1,   840,   932,    -1,    -1,    -1,
     3270      -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,   736,     4,
     3271       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3272      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3273      25,    26,    27,    -1,    -1,  1039,  1040,    -1,  1042,  1043,
     3274      -1,   736,    -1,    -1,    39,   773,    -1,    -1,    -1,   180,
     3275      -1,    -1,    -1,    -1,    -1,    -1,    -1,   902,  1062,   190,
     3276     191,    -1,    -1,    -1,   195,    -1,   197,   198,    -1,    -1,
     3277      -1,    -1,    67,    -1,    69,  1011,    71,    72,    -1,    74,
     3278      75,    76,    -1,    -1,    -1,    -1,    -1,   815,    83,    84,
     3279      -1,  1027,    -1,  1097,  1098,    -1,    -1,   825,    -1,    -1,
     3280     828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,    -1,
     3281      -1,    -1,   840,    -1,    10,    11,    12,    13,    14,    15,
     3282      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3283      26,    27,    28,   828,    30,    31,    32,    -1,    -1,    -1,
     3284     835,   986,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3285      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,
     3286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,
     3287      -1,    67,    -1,    -1,   902,    -1,    72,    -1,    74,    75,
     3288      76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3289      -1,    -1,    -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,
     3290    1204,    -1,    -1,    -1,    -1,    -1,    -1,   902,    -1,    -1,
     3291      -1,    -1,    -1,   109,    -1,   111,    -1,  1062,    -1,    -1,
     3292      -1,    -1,  1226,   119,    -1,    45,    -1,    -1,    -1,    -1,
     3293      -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
     3294      -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
     3295      -1,    -1,  1097,  1098,    -1,    -1,    -1,    -1,   986,    -1,
     3296      37,    38,    -1,    40,    -1,    -1,    -1,  1271,    -1,    -1,
     3297      -1,    -1,    -1,    -1,   969,  1279,  1280,  1281,    -1,    -1,
     3298      -1,    -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,    66,
     3299     110,   986,    -1,    -1,    -1,    72,   116,    -1,    -1,    76,
     3300    1304,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3301      87,  1039,  1040,    -1,  1042,  1043,  1161,    94,    -1,    -1,
     3302      -1,    -1,    -1,  1327,    -1,   145,    -1,    -1,    -1,    -1,
     3303      -1,    -1,   109,    -1,  1062,   155,    -1,    -1,    -1,   159,
     3304      -1,   118,   119,   120,   121,   122,   123,  1042,  1043,    -1,
     3305      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,
     3306      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,    -1,  1097,
     3307    1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3308      -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,   208,    -1,
     3309      -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,    -1,
     3310     220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3311      -1,  1415,    -1,    -1,    -1,    -1,    -1,    -1,   238,   239,
     3312      -1,    -1,    -1,    -1,    -1,    -1,  1271,    -1,    -1,    -1,
     3313      -1,    -1,    -1,  1161,  1279,  1280,  1281,    -1,    -1,    -1,
     3314      -1,    -1,   262,    -1,    -1,  1290,  1291,    -1,    -1,    -1,
     3315     270,   582,   583,    -1,    -1,    -1,    -1,    -1,    -1,  1304,
     3316    1464,    -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,
     3317      -1,    -1,    -1,    -1,   294,    -1,  1204,   297,    -1,    -1,
     3318      -1,   612,  1327,    -1,   615,   616,    -1,   618,    -1,   620,
     3319     621,    -1,    -1,    -1,   625,   626,    -1,    -1,  1226,    -1,
     3320      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1203,  1204,
     3321      -1,  1239,    -1,  1241,    -1,    -1,    -1,    -1,    -1,    -1,
     3322    1524,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,
     3323      -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3324      -1,    -1,    -1,  1271,    -1,    -1,    64,    -1,    -1,    -1,
     3325    1245,  1279,  1280,  1281,    -1,    -1,    74,    -1,    76,    -1,
     3326      78,    -1,  1290,  1291,    -1,    -1,    -1,    85,    -1,    -1,
     3327    1415,    -1,    -1,    -1,    -1,    -1,  1304,    -1,   709,   710,
     3328      -1,    -1,    -1,    -1,   715,    -1,    -1,    -1,    -1,    -1,
     3329      -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,   116,  1327,
     3330     118,   119,   120,    -1,  1299,   425,   426,    -1,    -1,  1304,
     3331      -1,    -1,   432,    -1,    -1,    -1,    -1,    -1,    -1,  1464,
     3332      -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,
     3333      -1,    -1,    -1,   453,    -1,    -1,   456,    -1,    -1,    -1,
     3334      -1,   159,   462,  1338,     3,     4,     5,     6,     7,     8,
    21053335       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2106       19,    20,    21,    22,    23,    24,    75,     0,    25,    26,
    2107       27,     0,   453,     0,   351,   351,   946,    30,     0,     0,
    2108      109,     0,     0,     0,     0,     0,     0,     0,    77,     0,
    2109        0,     0,  1236,     0,     0,     0,     0,     0,     0,     0,
    2110        0,   353,   353,   354,     0,    33,     0,     0,    77,     0,
    2111       36,     0,    37,    38,    39,    84,    77,     0,     0,     0,
    2112        0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
    2113      361,     0,     0,     0,     0,    84,   346,     0,   351,     0,
    2114        0,     0,   354,    84,     0,     0,     0,    42,     0,   155,
    2115        0,     0,     0,     0,     0,     0,     0,    44,     0,     0,
    2116      354,     0,    77,     0,     0,   353,     0,     0,     0,   361,
    2117        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2118        0,   220,     0,     0,     0,     0,     0,   361,     0,    84,
    2119        0,     0,     0,     0,     0,    54,     0,     0,     0,     0,
    2120        0,     0,     0,    72,   354,     0,     0,     0,   221,     0,
    2121        0,     0,     0,     0,     0,     0,   351,     0,   351,     0,
    2122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2123       75,   361,     0,     0,     0,     0,     0,   346,     0,     0,
    2124        0,     0,     0,   353,     0,   353,     0,     0,   351,     0,
    2125        0,     0,     0,     0,     0,     0,   351,   351,   351,     0,
    2126        0,     0,     0,     0,     0,     0,     0,   351,   351,   354,
    2127        0,     0,     0,     0,     0,   353,     0,     0,     0,     0,
    2128        0,    72,     0,   353,   353,   353,     0,     0,     0,     0,
    2129        0,     0,     0,     0,   353,   353,   361,     0,     0,     0,
    2130        0,     0,   346,     0,   351,     0,     0,     0,    75,     0,
    2131        0,     0,     0,     0,   354,   354,   354,     0,     0,     0,
    2132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2133        0,   353,     0,   354,     0,     0,     0,     0,     0,   124,
    2134        0,   361,   361,   361,     0,     0,     0,   346,   346,   346,
    2135        0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
    2136      361,     0,    77,     0,     0,     0,   346,     0,   354,     0,
    2137        0,     0,     0,     0,     0,     0,     0,     0,   361,  1033,
    2138        0,     0,     8,     9,    10,    11,    12,     0,     0,    84,
    2139        0,     0,   351,     0,     0,   361,     0,     0,     0,     0,
    2140        0,     0,     0,     0,    77,     0,     0,   354,   280,   281,
    2141       30,   282,     0,     0,     0,     0,     0,     0,     0,   353,
    2142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2143        0,    84,     0,     0,   361,     0,     0,   283,    33,     0,
    2144      346,    72,     0,   284,   354,     0,     0,   285,    72,     0,
    2145      286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
    2146        0,     0,     0,   124,     0,   292,     0,     0,    75,     0,
    2147        0,   361,     0,     0,     0,    75,     0,     0,     0,     0,
    2148      293,     0,   377,     0,     0,     0,   354,     0,     0,   295,
    2149      826,   297,   298,   299,   300,     0,   354,     0,     0,   354,
    2150        0,    72,     0,     0,   222,     0,   354,     0,     0,     0,
    2151        0,   354,     0,   361,     0,     0,     0,     0,     0,     0,
    2152        0,     0,     0,   361,     0,     0,   361,     0,    75,     0,
    2153        0,   223,   346,   361,     0,     0,     0,     0,   361,   346,
    2154        0,     0,     0,     0,     0,  -516,     0,     0,     1,     2,
     3336      19,    20,    21,    22,    23,    24,    25,    26,    27,   489,
     3337      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1524,
     3338      39,   501,    -1,    -1,    -1,    -1,    -1,  1415,    -1,    -1,
     3339      -1,    -1,    44,   513,    -1,   515,    -1,    -1,   518,    -1,
     3340     520,   521,   220,    -1,   222,   223,   224,    -1,    67,    -1,
     3341      69,    -1,    71,   533,    -1,    74,    75,    -1,    -1,    -1,
     3342    1415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3343      -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,    90,    -1,
     3344     258,    -1,    -1,  1471,   262,    -1,  1441,    -1,   100,    -1,
     3345      -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
     3346     278,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,  1464,
     3347      -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,   598,    -1,
     3348     600,    -1,    -1,   603,    -1,    -1,    -1,    -1,    -1,    -1,
     3349      -1,    -1,    -1,    -1,    -1,    -1,  1524,    -1,    -1,    -1,
     3350      -1,    -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,   629,
     3351     328,    -1,    -1,    -1,   634,    -1,    -1,    -1,   170,    -1,
     3352      -1,    -1,    -1,   643,   644,   645,    -1,    -1,    -1,  1524,
     3353      -1,   349,    -1,    -1,    -1,    -1,   354,   355,    -1,    -1,
     3354      -1,   193,   662,    -1,   362,    -1,    -1,    -1,    -1,    -1,
     3355      -1,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,    -1,
     3356      -1,    -1,     7,    -1,   216,    10,    11,    12,    13,    14,
     3357      -1,    -1,    -1,    -1,   226,    -1,    -1,   697,    -1,    -1,
     3358      -1,    -1,    -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,
     3359      -1,    -1,    37,    38,    39,    40,    -1,    -1,   718,   251,
     3360      -1,    -1,    -1,    -1,   256,   423,    -1,    -1,    -1,    -1,
     3361     428,    -1,   430,    -1,    -1,    -1,   736,   269,   738,    -1,
     3362      -1,    66,    67,   275,    -1,   277,    -1,    72,    -1,   447,
     3363      -1,    76,   450,   451,    79,    80,    81,    82,    83,    84,
     3364      -1,    86,    87,   295,    -1,    -1,    -1,    -1,   466,    94,
     3365      -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,    -1,
     3366      -1,    -1,   480,    -1,   109,    -1,   111,    -1,  1099,   487,
     3367      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3368      -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,    -1,
     3369      -1,   343,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3370      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,
     3371      -1,    -1,   832,    -1,    -1,   835,    -1,    -1,    -1,   371,
     3372      -1,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,    -1,
     3373      -1,    -1,    -1,   385,   386,    -1,   388,   389,    -1,   391,
     3374      -1,   393,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,
     3375      10,    11,    12,    13,    14,    -1,    -1,    -1,   410,    -1,
     3376      -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,
     3377      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,
     3378      40,    -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,    -1,
     3379      -1,   443,  1223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3380      -1,    -1,   454,    -1,    -1,    -1,    66,    67,   928,    -1,
     3381      -1,    -1,    72,   631,    -1,    -1,    76,    -1,   636,    79,
     3382      80,    81,    82,    83,    84,   477,    86,    87,    -1,    -1,
     3383      -1,   483,    -1,    -1,    94,    -1,   488,    -1,    -1,    -1,
     3384      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3385     970,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3386     120,   121,   122,   123,    -1,    -1,   986,    -1,    -1,    -1,
     3387      -1,    -1,    -1,   525,    -1,    -1,    -1,    -1,    -1,    -1,
     3388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   541,
     3389      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3390      -1,  1021,    -1,    -1,    -1,    -1,   724,    -1,    -1,    -1,
     3391      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3392     738,    -1,  1042,  1043,    -1,    -1,   578,    -1,    -1,    -1,
     3393      -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,    -1,    -1,
     3394     758,    -1,   594,    -1,    -1,    37,    38,   599,    40,    -1,
     3395      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   610,    -1,
     3396      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3397      -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
     3398      72,    -1,  1102,    -1,    76,    -1,    -1,    79,    80,    81,
     3399      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,   651,
     3400      -1,   819,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3401      -1,    -1,    -1,    -1,   832,    -1,    -1,   109,    -1,   111,
     3402      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     3403     122,   123,    -1,   851,    -1,   687,    -1,    -1,    -1,    -1,
     3404      -1,  1161,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3405       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3406      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3407      -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3408      39,    40,    -1,  1203,    -1,    -1,    -1,    -1,    -1,    -1,
     3409     742,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3410     752,   753,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
     3411      69,    -1,    71,    72,   766,    74,    75,    76,    -1,    -1,
     3412     938,  1241,   154,   155,    83,    84,    -1,    -1,    -1,    -1,
     3413      -1,   783,    -1,   785,    -1,    -1,    -1,   789,    -1,    -1,
     3414      -1,    -1,    -1,    -1,    -1,    -1,   964,    -1,    -1,    -1,
     3415     109,    -1,   111,    -1,    -1,    -1,   188,    -1,    -1,    -1,
     3416     119,    -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,
     3417    1290,  1291,    -1,    -1,   992,    -1,    -1,    -1,    -1,  1299,
     3418      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3419      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3420      30,    31,    32,   855,    -1,    -1,  1024,    -1,    -1,    39,
     3421     862,    -1,    -1,    -1,    -1,    -1,    -1,  1035,    -1,    -1,
     3422      -1,    -1,    -1,   875,    -1,   877,    -1,    -1,    -1,    -1,
     3423      -1,    -1,    -1,    -1,    -1,   267,    -1,    67,    -1,   891,
     3424      -1,    -1,    72,    -1,    74,    75,   898,    -1,    -1,    -1,
     3425      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,   910,    -1,
     3426      -1,   913,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3427      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   931,
     3428      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3429      -1,   323,    -1,    -1,    -1,  1415,    -1,    -1,  1116,   331,
     3430     332,    -1,   334,   335,    -1,    -1,    -1,    -1,    -1,    -1,
     3431      -1,    -1,   344,    -1,    -1,    -1,   348,    -1,    -1,    -1,
     3432      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,   370,    -1,
     3434      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3435      -1,    -1,    -1,  1473,    -1,  1475,    -1,    -1,    -1,    -1,
     3436      37,    38,    -1,    40,    -1,   397,    -1,    -1,  1020,   401,
     3437      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3438      -1,    -1,    -1,    -1,    -1,  1203,    -1,    -1,    -1,    66,
     3439    1510,   145,  1512,    -1,    -1,    72,    -1,    74,    75,    76,
     3440     432,   155,    79,    80,    81,    82,    83,    84,    -1,    86,
     3441      87,    -1,    -1,   167,   168,    -1,    -1,    94,    -1,    -1,
     3442    1540,    -1,    -1,   455,  1076,    -1,    -1,    -1,    -1,    -1,
     3443      -1,  1083,   109,    -1,   111,    -1,   113,   114,    -1,    -1,
     3444      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3445      -1,    -1,    -1,    -1,   486,    -1,    -1,   489,    -1,    -1,
     3446    1112,    -1,    -1,    -1,    -1,  1117,    -1,    -1,    -1,    -1,
     3447      -1,    -1,    -1,  1125,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,  1299,    -1,    -1,   238,    -1,    -1,    -1,    -1,    -1,
     3449      -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
     3450     532,   533,    -1,    -1,  1156,    -1,    -1,    -1,    -1,   263,
     3451      -1,    -1,    -1,    -1,    -1,    -1,  1168,    -1,    -1,  1171,
     3452      -1,  1173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3453      -1,    -1,    -1,    -1,    -1,  1187,  1188,    -1,    -1,    -1,
     3454      -1,    -1,    -1,    -1,    -1,    -1,   578,   579,    -1,    -1,
     3455      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1209,    -1,    -1,
     3456      -1,    -1,    -1,    -1,    -1,   597,   598,    -1,   600,    -1,
     3457      -1,    -1,    -1,    -1,    -1,    -1,    -1,   609,    -1,   611,
     3458     612,    -1,    -1,    -1,  1236,    -1,   618,    -1,    -1,   281,
     3459      -1,   283,   284,    -1,    -1,    -1,   628,   629,    -1,   291,
     3460     292,    -1,   634,    -1,   296,   297,    -1,    -1,    -1,    -1,
     3461      -1,   643,   644,   645,    -1,    -1,   308,    -1,    -1,    -1,
     3462      -1,    -1,    -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,
     3463     662,    -1,    -1,    -1,    -1,   667,   668,    -1,    -1,   671,
     3464     672,    -1,    -1,    -1,    -1,    -1,   678,    -1,    -1,    -1,
     3465      -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3466      -1,    -1,    -1,    -1,   696,   697,   698,    -1,   700,    -1,
     3467      -1,    -1,   704,    -1,    -1,    -1,    -1,    -1,    -1,    37,
     3468      38,  1333,    40,  1335,    -1,    -1,    -1,    -1,   380,    -1,
     3469      -1,    -1,    -1,    -1,    -1,    -1,  1348,    -1,  1350,    -1,
     3470      -1,    -1,    -1,    -1,   736,   737,    -1,    -1,    66,    -1,
     3471      -1,    -1,    -1,    -1,    72,    -1,  1368,    -1,    76,    -1,
     3472      -1,    79,    80,    81,    82,    83,    84,   481,    86,    87,
     3473      -1,    -1,  1384,  1385,    -1,    -1,    94,  1555,    -1,    -1,
     3474     772,   773,    -1,    -1,  1396,   777,   778,  1399,    -1,    -1,
     3475      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3476     118,   119,   120,   121,   122,   123,   520,    -1,    -1,  1421,
     3477      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1430,   533,
     3478      -1,  1433,    -1,  1435,  1436,  1437,   540,   819,    -1,   543,
     3479      -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,    -1,    -1,
     3480     554,   555,   834,   835,    -1,    -1,    -1,   839,    -1,   841,
     3481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   851,
     3482      -1,    -1,   576,    -1,    -1,  1477,    -1,  1479,    -1,    -1,
     3483    1482,    -1,   586,    -1,    -1,    -1,    -1,    -1,    -1,   593,
     3484      -1,    -1,    -1,    -1,   598,  1497,    -1,    -1,    -1,    -1,
     3485      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3486      -1,    -1,    -1,    -1,    -1,   557,   558,   559,   560,   561,
     3487     562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
     3488     572,   573,   574,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3489      -1,    -1,   924,    -1,   648,    -1,    -1,    -1,    -1,    -1,
     3490     932,    -1,    -1,   657,    -1,    -1,   938,    -1,   600,    -1,
     3491      -1,    -1,    -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,
     3492      -1,    -1,    -1,    -1,    -1,    -1,    -1,   959,   960,    -1,
     3493      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
     3495      -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,    -1,
     3496     992,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3497      19,    20,    21,    22,    23,    24,    25,    26,    27,  1011,
     3498    1012,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1021,
     3499      39,    40,    -1,    -1,    -1,  1027,  1028,    -1,  1030,  1031,
     3500    1032,    -1,    -1,    -1,    -1,    -1,    -1,   699,    -1,    -1,
     3501    1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    67,   773,
     3502      -1,   775,    -1,    -1,    -1,    74,    75,   781,    -1,   721,
     3503      -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,    -1,
     3504      -1,    -1,   734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3506      -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
     3507     119,  1103,  1104,  1105,    -1,    -1,    -1,    -1,   832,   833,
     3508      -1,   835,    -1,    -1,  1116,    -1,    -1,    -1,   780,    -1,
     3509      -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,
     3510      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3511      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3512     812,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
     3513      -1,    -1,    -1,    -1,    -1,   827,   890,    -1,    -1,    -1,
     3514     894,    -1,    -1,     0,    -1,    -1,     3,     4,     5,     6,
     3515       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3516      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3517      27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3518      -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,  1221,
     3519      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3520      -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,  1241,
     3521      67,    -1,    69,    -1,    71,    72,   970,    74,    75,    76,
     3522      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3523      -1,    -1,   986,   987,    -1,    -1,    -1,    -1,    -1,   993,
     3524      -1,    -1,    -1,    -1,    -1,   999,    -1,    -1,  1002,    -1,
     3525    1004,    -1,   109,    -1,   111,    -1,    -1,    -1,  1290,  1291,
     3526      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3527    1024,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3528      -1,  1035,    -1,    -1,    -1,    -1,   978,    -1,    -1,    -1,
     3529      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3530      -1,    -1,    -1,  1057,    -1,  1059,    -1,    -1,    -1,    -1,
     3531      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1009,    -1,    -1,
     3532    1074,  1075,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,
     3533      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3534      -1,  1095,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3535       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3536      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3537    1062,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3538      39,    40,    -1,  1415,    -1,    -1,    -1,    -1,  1142,    -1,
     3539      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3540      -1,    -1,    -1,    -1,    -1,    64,    -1,  1161,    67,    -1,
     3541      69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3542      -1,    -1,  1176,  1177,    83,    84,    -1,    -1,    -1,    -1,
     3543      -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3544      -1,    -1,  1134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3545     109,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
     3546     119,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3547      -1,    76,    -1,  1505,    79,    80,    81,    82,    83,    84,
     3548      -1,    86,    87,    -1,    -1,    -1,  1178,    -1,    -1,    94,
     3549      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1530,  1531,
     3550    1192,  1193,    -1,  1257,   109,    -1,   111,    -1,    -1,    -1,
     3551      -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3552      -1,    -1,    -1,  1555,    -1,     3,     4,     5,     6,     7,
     3553       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3554      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3555      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3556      38,    39,    40,    41,  1318,    43,  1320,    -1,    46,    47,
     3557      48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
     3558      -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    67,
     3559      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3560      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3561      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3562      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3563      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3564     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3565     128,    -1,  1406,    -1,   132,    -1,    -1,    -1,    -1,    -1,
    21553566       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    21563567      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,
     3568      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3569      33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
     3570      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3571    1402,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
     3572      -1,    -1,    -1,    66,    67,    -1,    69,  1419,    71,    72,
     3573      -1,    74,    75,    76,  1488,    -1,    79,    80,    81,    82,
     3574      83,    84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,
     3575      -1,    94,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3576      84,    -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,
     3577      94,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3578     123,    -1,    -1,    -1,    -1,   109,  1540,   111,    -1,   132,
     3579     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3580    1492,  1493,     3,     4,     5,     6,     7,     8,     9,    10,
    21813581      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,
     3582      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3583      31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
     3584      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3585      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3586      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3587      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3588      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3589      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3590      -1,    -1,    72,    -1,    74,    75,    -1,    -1,   109,    -1,
     3591     111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3592     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3593      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3594      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3595      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3596      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3597      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3598      27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3599      71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
     3600      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3601      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3602      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3603     111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3604     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3605      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3606      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3607      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3608      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3609      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3610      27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3611      71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
     3612      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3614      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3615     111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3616     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3617      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3618      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3619      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3620      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3621      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3622      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3623      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3624      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3625      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3626      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3627     111,    -1,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3628     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3629      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3630      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3631      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3632      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3633      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3634      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3635      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3636      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3637      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3638      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3639     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3640     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3641      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3642      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3643      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3644      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3645      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3646      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3647      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3648      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3649      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3650      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3651     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3652     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3653      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3654      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3655      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3656      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3658      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3659      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3660      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3662      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3663     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3664     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3665      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3666      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3667      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3668      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3669      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3670      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3671      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3672      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3673      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3674      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3675     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3676     121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
     3677      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3678      20,    21,    22,    23,    24,    25,    26,    27,    -1,   119,
     3679      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3680      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3681      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3682      -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
     3683      39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3684      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
     3685      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3686      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3687      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3688       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    22793689      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2280       23,    24,  -294,     0,    25,    26,    27,     0,   740,     0,
    2281        0,     0,     0,    30,     0,   209,     0,     0,     0,     0,
    2282        0,     0,     0,     0,     0,     0,     0,     0,   209,     0,
    2283        0,     0,     0,     0,     0,   249,     0,     0,     0,     0,
    2284        0,    33,     0,     0,     0,   967,   968,   209,    37,    38,
    2285        0,     0,  -294,     0,     0,     0,     0,   367,   367,   985,
    2286        0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
    2287        0,     0,     0,     0,     0,     0,  1000,     0,  1001,     0,
    2288        0,     0,  1005,   642,     0,   337,     0,     0,     0,     0,
    2289        0,     0,     0,   633,     0,     0,     0,     0,     0,     0,
    2290        0,     0,     0,     0,   515,   515,   515,   515,   515,   515,
    2291      515,   515,   515,   515,   515,   515,   515,   515,   515,   515,
    2292      515,   515,     0,     0,     0,     0,     0,     0,     0,     0,
    2293      280,   281,     0,   282,   209,     0,     0,     0,     0,     0,
    2294        0,     0,     0,     0,     0,     0,     0,   515,  1038,     0,
    2295        0,     0,     0,     0,     0,  1039,     0,     0,     0,   283,
    2296      209,     0,     0,     0,     0,   284,     0,     0,  1041,   285,
    2297     1042,     0,   286,   287,   288,   289,    40,    41,     0,   290,
    2298      291,     0,   367,     0,  1054,     0,     0,   292,   209,     0,
    2299        0,  1058,     0,     0,     0,     0,     0,     0,     0,     0,
    2300        0,     0,   293,  1096,   377,     0,  1097,     0,     0,   780,
    2301        0,   295,   379,   297,   298,   299,   300,     0,     0,     0,
    2302      209,     0,     0,     0,   597,     0,     0,     0,     0,     0,
    2303        0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
    2304      460,     0,   460,     0,     0,     0,   515,     0,     8,     9,
    2305       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2306       20,    21,    22,    23,    24,  -294,     0,     0,   515,     0,
    2307        0,     0,     0,     0,     0,     0,    30,   460,     0,   460,
    2308        0,   515,     8,     9,    10,    11,    12,    13,    14,    15,
    2309       16,    17,    18,    19,    20,    21,    22,    23,    24,  -294,
    2310        0,    25,    26,    27,    33,     0,     0,   163,     0,     0,
    2311       30,     0,   209,  1160,     0,  -294,     0,     0,     0,   340,
    2312      362,     0,     0,     0,     0,     0,     0,   515,     0,     0,
    2313        0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2314        0,     0,     0,    36,     0,   335,   336,    39,     0,  -294,
    2315        0,     0,     0,   412,    40,    41,     0,     0,     0,   515,
    2316      412,     0,     0,     0,     0,     0,     0,     0,     0,   532,
    2317        0,     0,     0,     0,   515,     0,  1225,     0,     0,     0,
    2318      642,     0,   337,     0,     0,     0,     0,     0,     0,     0,
    2319      633,   280,   281,     0,   282,     0,     0,     0,     0,   209,
    2320        0,     0,     0,     0,     0,  1238,     0,     0,     0,     0,
    2321     1240,     0,     0,     0,     0,     0,     0,     0,  1244,     0,
    2322      283,     0,     0,     0,     0,     0,   648,     0,   137,   138,
    2323      285,     0,   412,   286,   649,   288,   289,    40,    41,     0,
    2324      290,   291,     0,     0,     0,     0,     0,     0,   292,  1270,
    2325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2326        0,  1278,     0,   293,  1279,   650,  1280,   651,   378,     0,
    2327        0,     0,   295,   379,   297,   298,   299,   300,     0,     0,
    2328     1289,  1290,     0,     0,     0,     0,     0,     0,   412,     0,
    2329        0,     0,     0,     0,     0,   209,   412,   588,     0,   412,
    2330      591,     0,  1303,     0,     0,     0,     0,     0,     0,   362,
    2331        0,     0,     0,   621,     0,     0,     0,     0,     0,     0,
    2332        0,     0,     0,     0,     0,   515,     0,     0,     0,  1326,
    2333      320,     0,   639,     0,     0,   340,     0,     0,     0,     0,
    2334      344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2335        0,     0,   380,   380,     0,     0,   515,     0,     0,     0,
    2336        0,     0,   412,     0,     0,     0,   412,     0,   515,     2,
    2337      204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2338       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2339       23,    24,     0,     0,    25,    26,    27,   362,     0,     0,
    2340        0,     0,     0,    30,     0,     0,     0,     0,     0,   515,
    2341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2342      412,     0,     0,   320,     0,     0,  1396,     0,  1397,     0,
    2343        0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
    2344        0,  1406,     0,  1407,     0,     0,     0,     0,   484,     0,
    2345        0,   412,     0,     0,   362,     0,     0,     0,     0,     0,
    2346        0,  1414,     0,     0,     0,     0,     0,     0,     0,     0,
    2347        0,     0,     0,     0,  -399,   686,     0,  1432,  1434,     0,
    2348        0,   515,     0,   633,     0,     0,     0,     0,     0,  1440,
    2349        0,     0,  1244,     0,   412,     0,     0,   340,   362,     0,
    2350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2351        0,     0,     0,     0,  1463,     0,     0,     0,     0,     0,
    2352        0,     0,     0,  1470,     0,   515,  1472,     0,  1474,  1476,
    2353     1478,     0,     0,     0,     0,     0,     0,     0,     0,   515,
    2354      515,     0,     0,   412,   412,     0,     0,     0,     0,     0,
    2355        0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
    2356        0,     0,   829,   362,   380,   362,     0,     0,     0,     0,
    2357     1509,     0,  1511,     0,   621,  1244,   621,   621,     0,     0,
    2358        0,     0,     0,   621,     0,     0,     0,     0,     0,     0,
    2359     1523,     0,     0,   868,   362,     0,     0,     0,     0,   362,
    2360        0,     0,     0,     0,     0,     0,     0,     0,   362,   362,
    2361      362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2362        0,     0,     0,     0,     0,     0,     0,   362,     0,     0,
    2363        0,     0,   412,   911,     0,     0,   412,   914,     0,     0,
    2364        0,     0,     0,   916,     0,     0,     0,     0,     0,     0,
    2365        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2366        0,   340,   362,   412,     0,   412,   734,     0,     0,   412,
    2367        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2368       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2369       25,    26,    27,     0,     0,     0,     0,     0,     0,    30,
    2370        0,   362,   621,     0,     0,   768,     0,     0,     0,     0,
    2371        0,     0,     0,     0,     0,     0,     0,     0,   781,     0,
    2372        0,     0,     0,     0,     0,   768,     0,    33,   768,     0,
    2373        0,     0,     0,     0,   205,    38,     0,   340,   362,   791,
    2374      792,     0,   412,   412,     0,     0,     0,     0,     0,   515,
    2375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2376        0,   813,     0,     0,     0,     0,   515,     0,     0,     0,
    2377        0,   822,     0,     0,     0,     0,     0,     0,   344,   628,
    2378        0,     0,     0,   781,   412,     0,     0,     0,     0,     0,
    2379        0,     0,     0,   362,     0,     0,     0,     0,     0,   829,
    2380      362,     0,     0,     0,   621,     0,   621,     0,     0,     0,
    2381        0,     0,     0,     0,     0,     0,   621,     0,     0,     0,
    2382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383        0,     0,     0,   888,     0,     0,     0,     0,     0,   515,
    2384      515,     0,   380,     0,     0,     0,     0,     0,     0,     1,
    2385        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    2386       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2387       22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
    2388        0,    29,   344,     0,    30,    31,     0,     0,     0,   829,
    2389        0,     0,     0,     0,     0,     0,     0,   412,   280,   281,
    2390        0,   282,     0,   412,     0,     0,     0,     0,     0,    32,
    2391        0,   412,    33,     0,    34,     0,    35,    36,     0,    37,
    2392       38,    39,     0,     0,   621,   621,     0,   283,    40,    41,
    2393        0,     0,     0,   284,     0,     0,     0,   285,     0,     0,
    2394      286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
    2395        0,   362,     0,     0,    42,   292,    43,   412,   781,     0,
    2396      990,     0,     0,     0,    44,     0,   995,     0,     0,     0,
    2397      293,     0,   377,  1004,     0,   992,   412,  1157,     0,   295,
    2398      379,   297,   298,   299,   300,     0,   362,     0,     0,     0,
    2399        0,     0,   412,  1169,     0,   621,   621,  1174,     0,     0,
    2400        0,     0,     0,     0,     0,     0,     0,   362,   362,     0,
    2401        0,     0,     0,     0,     0,     0,     0,  1021,  1022,     0,
    2402      344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2403        0,     0,     0,     0,     0,   344,     0,     0,     0,     0,
    2404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2406        0,     0,     0,     0,     0,     0,     0,     0,   829,   412,
    2407     1237,     0,     0,     0,     0,  1052,     0,     0,     0,   380,
    2408        0,   621,     0,     0,     0,     0,     1,     2,   204,     4,
     3690      23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
     3691      33,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,
     3692      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3694      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3695      -1,    74,    75,    -1,    -1,    78,     3,     4,     5,     6,
     3696       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3697      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3698      27,    -1,    -1,    30,    31,    32,    33,    -1,   111,    36,
     3699      -1,    -1,    39,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3701      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3702      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     3,
     3703       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3704      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3705      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3706      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3707      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3708      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3709      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3710      74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
     3711      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3712      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3713      31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
     3714      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3717      71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
     3718      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
     3719      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3720      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3721     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,
    24093722       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    24103723      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,
     3724      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3725      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,
     3726      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3727      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3728      31,    32,    67,    -1,    69,    -1,    71,    -1,    39,    74,
     3729      75,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3730      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3731      22,    23,    24,    25,    26,    27,    67,    -1,    30,    31,
     3732      32,    -1,    -1,    74,    75,   110,   111,    39,    -1,    -1,
     3733      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3735      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,   109,    71,
     3736     111,    -1,    74,    75,    -1,    -1,    -1,    -1,   119,    -1,
     3737      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3738      -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
     3739      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3740      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,
     3741       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3742      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3743      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3744      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,    11,
     3745      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3746      22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
     3747      32,    67,    -1,    69,    -1,    71,    -1,    39,    74,    75,
     3748      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3749      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3750      96,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3751      72,    -1,    74,    75,    76,   111,    78,    -1,    -1,    -1,
     3752      -1,    83,    84,   119,     4,     5,     6,     7,     8,     9,
     3753      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3754      20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
     3755      30,    31,    32,    -1,    -1,    -1,    -1,   119,    -1,    39,
     3756      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3757      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3758      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3759      -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
     3760       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3761      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3762      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3763      -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3764      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3765      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3766      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3767       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3768      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3769      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3770      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3771      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3773      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3774      74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
     3775      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3776      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3777      31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
     3778      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3779      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3780      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3781      71,    -1,    -1,    74,    75,    10,    11,    12,    13,    14,
     3782      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3783      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3784      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3785     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
     3786      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3787      -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3788      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3789      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3790      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3791      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
     3792      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
     3793      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3794      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3795      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3796      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3797      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3798      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3799      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3800      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3801      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3802      -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
     3803     111,   112,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3804     121,   122,   123,    10,    11,    12,    13,    14,    15,    16,
     3805      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3806      27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,   119,
     3807      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3808      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3809      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3810      67,    -1,    -1,    39,    40,    72,    -1,    74,    75,    76,
     3811      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3812      87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3813      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3814      -1,    -1,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
     3815      -1,   118,   119,   120,   121,   122,   123,    10,    11,    12,
    24303816      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,
     3817      23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
     3818      -1,    -1,    -1,   119,    37,    38,    39,    40,    -1,    -1,
     3819      -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3820      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3821      25,    26,    27,    66,    67,    30,    31,    32,    -1,    72,
     3822      -1,    74,    75,    76,    39,    -1,    79,    80,    81,    82,
     3823      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3824      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3825      -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,
     3826      75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3827     123,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3828      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3829      -1,    30,    31,    32,   109,    -1,   111,    -1,    37,    38,
     3830      39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,    10,
     3831      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3832      21,    22,    23,    24,    25,    26,    27,    66,    67,    30,
     3833      31,    32,    -1,    72,    -1,    74,    75,    76,    39,    -1,
     3834      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3835      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3836      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
     3837     109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,   118,
     3838     119,   120,   121,   122,   123,    10,    11,    12,    13,    14,
     3839      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3840      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3841     111,    -1,    37,    38,    39,    40,    -1,    -1,   119,    -1,
     3842      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3843      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3844      -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3845      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3846      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3847      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3848      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3849      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
     3850      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3851      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3852      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3853      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3854      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3855      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3856      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3857      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3858      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3859      -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
     3860     111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3861     121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3862      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3863      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3864      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3865      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3866      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3867      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3868      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3869      30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
     3870      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3871      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
     3872      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3873      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,   109,
     3874      -1,   111,    -1,    83,    84,    -1,    -1,    -1,    -1,   119,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3876      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3877      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3878      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3879      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3880      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3881      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3882      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3883      30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
     3884      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    -1,
     3885      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3887      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,   109,
     3888      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3889      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3890      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3891      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3892      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3893      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3894      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3895      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3896      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3897      -1,    30,    31,    32,    -1,    -1,    -1,    67,    -1,    -1,
     3898      39,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
     3899      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3900      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3901      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
     3902      -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,   119,
     3903      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3904      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3905      27,    -1,   111,    30,    31,    32,    -1,    -1,    -1,    -1,
     3906     119,    -1,    39,    40,    10,    11,    12,    13,    14,    15,
     3907      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3908      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3909      67,    -1,    -1,    39,    -1,    -1,    -1,    74,    75,    -1,
     3910      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3911      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3912      -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,    75,
     3913      -1,    39,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
     3914      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3915      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3916      -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,    -1,
     3917      -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3918      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3919      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3920      -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,    -1,
     3921      -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
     3922      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3923      27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3924      75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3925      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3926      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3927      67,    -1,    39,    -1,    -1,    -1,   111,    74,    75,    -1,
     3928      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3929      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3930      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3931      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3932      -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
     3933      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3934      25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
     3935      -1,    -1,   119,    -1,    39,    10,    11,    12,    13,    14,
     3936      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3937      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3938      -1,    -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,
     3939      75,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3940      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3941      27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3942      75,    -1,    39,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3943      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3944      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3945      67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,
     3946      -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,
     3947      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3948      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3949      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3950      -1,    -1,   119,    -1,    10,    11,    12,    13,    14,    15,
     3951      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3952      26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
     3953      74,    75,    -1,    39,    -1,    -1,     4,     5,     6,     7,
     3954       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3955      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3956      -1,    67,    30,    31,    32,    -1,    -1,   111,    74,    75,
     3957      -1,    39,    -1,    37,    38,   119,    40,    41,    -1,    43,
     3958      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
     3959      -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    67,
     3960      64,    69,    66,    71,    -1,    -1,    74,    75,    72,    -1,
     3961      -1,    -1,    76,   119,    -1,    79,    80,    81,    82,    83,
     3962      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3963      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3964      -1,    -1,   110,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3965     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3966      -1,    -1,    -1,    -1,   128,    -1,    37,    38,   132,    40,
     3967      41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
     3968      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     3969      61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
     3970      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     3971      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3972      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3973      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3974     111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
     3975     121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
     3976      -1,   132,     4,     5,     6,     7,     8,     9,    10,    11,
     3977      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3978      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3979      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    37,
     3980      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
     3981      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
     3982      -1,    -1,    -1,    61,    62,    67,    64,    69,    66,    71,
     3983      -1,    -1,    74,    75,    72,    -1,    -1,    -1,    76,    -1,
     3984      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3985      -1,    -1,    -1,    -1,    96,    -1,    94,    -1,    -1,    -1,
     3986      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3987      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3988     118,   119,   120,   121,   122,   123,    -1,    -1,    37,    38,
     3989     128,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
     3990      49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
     3991      -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
     3992      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3993      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3994      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3995      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3996     109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
     3997     119,   120,   121,   122,   123,    -1,    -1,    37,    38,   128,
     3998      40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
     3999      50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
     4000      -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
     4001      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4002      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     4003      -1,    -1,    -1,    -1,    94,    37,    38,    -1,    40,    -1,
     4004      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     4005      -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
     4006     120,   121,   122,   123,    66,    -1,    -1,    -1,   128,    -1,
     4007      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     4008      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     4009      -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
     4010      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     4011      -1,    -1,    37,    38,    -1,    40,   118,   119,   120,   121,
     4012     122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4013      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4014      84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,    -1,
     4015      94,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     4016      -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,    94,
     4017      37,    38,    -1,    40,   118,   119,   120,   121,   122,   123,
     4018      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,
     4019      38,    -1,    40,   118,   119,   120,   121,   122,   123,    66,
     4020      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     4021      -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
     4022      87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
     4023      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     4024      -1,    -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,
     4025      40,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     4026      -1,   109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
     4027     118,   119,   120,   121,   122,   123,    66,    -1,    -1,    -1,
     4028      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4029      80,    81,    82,    83,    84,    66,    86,    87,    -1,    -1,
     4030      -1,    72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,
     4031      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,   109,
     4032      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,   118,   119,
     4033     120,   121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,
     4034      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     4035     121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
     4036      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4037      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     4038      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     4039      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4040      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4041      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     4042      -1,    71,    -1,    -1,    74,    75,     3,     4,     5,     6,
     4043       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     4044      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4045      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4046      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4047      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4048      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4049      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,
    24454050       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    24464051      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2447      412,     0,    25,    26,    27,    28,     0,     0,    29,   280,
    2448      281,    30,   282,     0,     0,     0,     0,     0,     0,     0,
    2449        0,     0,     0,     0,     0,   412,   412,     0,     0,     0,
    2450        0,     0,     0,  1389,     0,   768,     0,     0,   283,    33,
    2451        0,    34,     0,    35,   284,     0,    37,    38,   285,     0,
    2452      412,   286,   287,   288,   289,    40,    41,     0,   290,   291,
    2453        0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
    2454        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2455        0,   293,     0,    43,     0,     0,     0,     0,     0,     0,
    2456      295,   296,   297,   298,   299,   300,     0,     0,     2,   204,
    2457        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2458       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2459       24,  1449,     0,    25,    26,    27,     0,     0,     0,     0,
    2460      280,   281,    30,   282,     0,     8,     9,    10,    11,    12,
    2461       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2462       23,    24,     0,     0,    25,    26,    27,     0,     0,   283,
    2463       33,     0,    34,    30,    35,   284,     0,    37,    38,   285,
    2464        0,     0,   286,   287,   288,   289,    40,    41,     0,   290,
    2465      291,     0,     0,     0,     0,     0,     0,   292,     0,     0,
    2466        0,    33,     0,     0,     0,     0,   108,     0,    37,    38,
    2467        0,     0,   293,  1515,   342,     0,     0,    40,    41,   780,
    2468        0,   295,   343,   297,   298,   299,   300,     2,   204,     4,
    2469        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2470       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2471        0,     0,    25,    26,    27,     0,     0,     0,     0,   280,
    2472      281,    30,   282,     0,     0,   320,     0,     8,     9,    10,
    2473       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2474       21,    22,    23,    24,  -295,     0,     0,     0,   283,    33,
    2475        0,    34,     0,    35,   284,    30,    37,    38,   285,     0,
    2476        0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
    2477        0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
    2478        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
    2479        0,   293,     0,   930,  -295,     0,     0,     0,   780,     0,
    2480      295,   343,   297,   298,   299,   300,     2,   204,     4,     5,
    2481        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2482       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2483        0,    25,    26,    27,     0,     0,     0,     0,   280,   281,
    2484       30,   282,     0,     8,     9,    10,    11,    12,    13,    14,
    2485       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2486        0,     0,    25,    26,    27,     0,     0,   283,    33,     0,
    2487       34,    30,    35,   284,     0,    37,    38,   285,     0,     0,
    2488      286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
    2489        0,     0,     0,     0,     0,   292,     0,     0,     0,    33,
    2490        0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
    2491      293,     0,   930,     0,     0,     0,     0,   780,     0,   295,
    2492      599,   297,   298,   299,   300,     2,   204,     4,     5,     6,
    2493        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2494       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2495       25,    26,    27,     0,     0,     0,     0,   280,   281,    30,
    2496      282,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2497       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
    2498        0,    25,    26,    27,     0,     0,   283,    33,     0,    34,
    2499       30,    35,   284,     0,    37,    38,   285,     0,     0,   286,
    2500      287,   288,   289,    40,    41,     0,   290,   291,     0,     0,
    2501        0,     0,     0,     0,   292,     0,     0,     0,    33,     0,
    2502        0,     0,     0,     0,     0,   205,    38,     0,     0,   293,
    2503        0,   342,     0,     0,     0,     0,     0,     0,   295,   343,
    2504      297,   298,   299,   300,     2,   204,     4,     5,     6,     7,
    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,
    2520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2522        0,     0,     0,     0,   283,    33,     0,    34,     0,    35,
    2523      284,     0,   205,    38,   285,     0,     0,   286,   287,   288,
    2524      289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
    2525        0,     0,   292,     0,     0,     0,     0,     0,     0,     0,
    2526        0,     0,     0,     0,     0,     0,     0,   293,     0,  1019,
    2527        0,     0,     0,     0,     0,     0,   295,  1020,   297,   298,
    2528      299,   300,     2,   204,     4,     5,     6,     7,     8,     9,
    2529       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2530       20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    2531        0,     0,     0,     0,   280,   281,    30,   282,     0,     0,
    2532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2534        0,     0,     0,   283,    33,     0,    34,     0,    35,   284,
    2535        0,   205,    38,   285,     0,     0,   286,   287,   288,   289,
    2536       40,    41,     0,   290,   291,     0,     0,     0,     0,     0,
    2537        0,   292,     0,     0,     0,     0,     0,     0,     0,     0,
    2538        0,     0,     0,     0,     0,     0,   293,     0,   377,     0,
    2539        0,     0,     0,     0,     0,   295,   379,   297,   298,   299,
    2540      300,     1,     2,     3,     4,     5,     6,     7,     8,     9,
    2541       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2542       20,    21,    22,    23,    24,     0,     0,    25,    26,    27,
    2543       28,     0,     0,    29,     0,     0,    30,    31,     0,     0,
    2544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2546        0,    32,     0,     0,    33,     0,    34,     0,    35,    36,
    2547        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
    2548       40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2550        0,     0,     0,     0,     0,     0,    42,     0,    43,     0,
    2551        0,     0,  -520,     0,     0,     0,    44,   203,     2,   204,
    2552        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2553       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2554       24,     0,     0,    25,    26,    27,     0,     0,     0,     0,
    2555        0,     0,    30,     8,     9,    10,    11,    12,    13,    14,
    2556       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2557        0,     0,    25,    26,    27,   491,   492,   493,     0,     0,
    2558       33,    30,    34,     0,    35,    36,     0,   205,    38,    39,
    2559        0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
    2560        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2561        0,     0,     0,     0,     0,     0,    37,    38,     0,     0,
    2562        0,     0,    42,     0,   206,     0,     0,     0,     0,     0,
    2563        0,     0,   207,     1,     2,   204,     4,     5,     6,     7,
    2564        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2565       18,    19,    20,    21,    22,    23,    24,  -294,     0,    25,
    2566       26,    27,    28,     0,     0,    29,     0,     0,    30,     0,
    2567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2569        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2570       35,     0,     0,    37,    38,     0,     0,  -294,     0,     1,
    2571        2,   204,     4,     5,     6,     7,     8,     9,    10,    11,
    2572       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2573       22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
    2574       43,    29,     0,     0,    30,     0,     0,     0,   109,     0,
    2575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2577        0,     0,    33,     0,    34,     0,    35,     0,     0,    37,
    2578       38,     0,   203,     2,   204,     4,     5,     6,     7,     8,
    2579        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2580       19,    20,    21,    22,    23,    24,     0,     0,    25,    26,
    2581       27,     0,     0,     0,     0,     0,    43,    30,     0,     0,
    2582        0,     0,     0,     0,   109,     0,     0,     0,     0,     0,
    2583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2584        0,     0,     0,     0,     0,    33,     0,    34,     0,    35,
    2585        0,     0,   205,    38,     2,   204,     4,     5,     6,     7,
    2586        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2587       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    2588       26,    27,     0,     0,     0,     0,     0,     0,    30,   206,
    2589        0,     0,     0,     0,     0,     0,     0,   269,     0,     0,
    2590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2591        0,     0,     0,     0,     0,     0,    33,     0,    34,     0,
    2592       35,    36,     0,   205,    38,    39,     0,     0,     0,     0,
    2593        0,     0,    40,    41,     0,     0,     8,     9,    10,    11,
    2594       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2595       22,    23,    24,     0,     0,    25,    26,    27,    42,     0,
    2596      206,     0,     0,     0,    30,     0,     0,     0,   207,     2,
    2597      204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2598       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2599       23,    24,    33,     0,    25,    26,    27,    36,     0,    37,
    2600       38,    39,     0,    30,     0,     0,     0,     0,    40,    41,
    2601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2603        0,    33,     0,    34,    42,    35,    43,     0,    37,    38,
    2604        0,     0,     0,     0,    44,     0,     0,     0,     0,     0,
    2605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2606     1368,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2607        0,     0,     0,     0,     0,   686,     0,     0,     0,     0,
    2608        0,     0,     0,   633,     2,   204,     4,     5,     6,     7,
    2609        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2610       18,    19,    20,    21,    22,    23,    24,     0,     0,    25,
    2611       26,    27,     0,     0,     0,     0,     0,     0,    30,     0,
    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 
    2897 static 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,
     4052      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     4053      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    35194054      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35204055      -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,
    3572        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3573       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    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,
    3667        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3668       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3669       26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
    3670       -1,    -1,    38,    10,    11,    12,    13,    14,    15,    16,
    3671       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3672       -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
    3673       66,    38,    68,    -1,    70,    71,    -1,    73,    74,    75,
    3674       -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3676       -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    -1,    -1,
    3677       -1,    -1,   108,    -1,   110,    -1,    -1,    -1,    -1,    -1,
    3678       -1,    -1,   118,     3,     4,     5,     6,     7,     8,     9,
    3679       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3680       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
    3681       30,    31,    32,    -1,    -1,    35,    -1,    -1,    38,    -1,
    3682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
    3685       70,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,     3,
    3686        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3687       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3688       24,    25,    26,    -1,    -1,    29,    30,    31,    32,    -1,
    3689      110,    35,    -1,    -1,    38,    -1,    -1,    -1,   118,    -1,
    3690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3692       -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,    73,
    3693       74,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    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,
    3974        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3975       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3976       26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3977       -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3980       66,    -1,    68,    -1,    70,    71,    -1,    73,    74,    75,
    3981       -1,    -1,    -1,    -1,    -1,    -1,    82,    83,     3,     4,
    3982        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3983       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3984       25,    26,    -1,    -1,    29,    30,    31,    -1,    -1,    -1,
    3985       -1,    -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,    -1,
    3986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,
    3993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3995       -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,
    3996       73,    74,     4,     5,     6,     7,     8,     9,    10,    11,
    3997       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3998       22,    23,    24,    25,    26,    -1,    -1,    29,    30,    31,
    3999       -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    -1,    -1,
    4000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4002       -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
    4003       -1,    73,    74
     4056      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     4057      75
    40044058};
    40054059
     
    40104064       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    40114065      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    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,
     4066      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
     4067      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
     4068      76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
    40154069     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    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,
     4070     222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
     4071     233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
     4072     244,   245,   253,   254,   280,   281,   282,   290,   293,   299,
     4073     300,   302,   304,   305,   311,   316,   320,   321,   322,   323,
     4074     324,   325,   326,   327,   347,   364,   365,   366,   367,    72,
     4075     119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
     4076     281,    82,   109,   309,   310,   311,   309,   309,    72,    74,
     4077      75,    76,   138,   139,   270,   271,   291,   292,    74,    75,
     4078     271,   109,   302,    11,   198,   109,   119,   316,   321,   322,
     4079     323,   325,   326,   327,   112,   134,   111,   217,   224,   226,
     4080     320,   324,   363,   364,   367,   368,   135,   107,   131,   274,
     4081     114,   135,   172,    74,    75,   137,   269,   135,   135,   135,
     4082     116,   135,    74,    75,   109,   119,   306,   315,   316,   317,
     4083     318,   319,   320,   324,   328,   329,   330,   331,   332,   338,
     4084       3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
     4085     227,   231,   234,   243,   282,   320,   324,   367,   214,   216,
     4086     226,   236,   240,   242,   281,   320,   324,    33,   232,   232,
     4087     227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
     4088     271,   282,   114,   271,   232,   227,   116,   135,   135,     0,
     4089     134,   109,   172,   309,   309,   134,   111,   224,   226,   365,
     4090     269,   269,   226,   131,   109,   119,   306,   316,   320,   111,
     4091     119,   367,   303,   229,   311,   109,   287,   109,   109,    51,
     4092     109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
     4093      82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
     4094     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    40414095     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    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
     4096     161,   163,   165,   224,   273,   289,   363,   368,   226,   110,
     4097     110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
     4098     269,   347,   365,   111,   119,   163,   216,   217,   223,   226,
     4099     230,   231,   236,   239,   240,   242,   259,   260,   264,   265,
     4100     266,   267,   281,   347,   359,   360,   361,   362,   367,   368,
     4101     112,   109,   320,   324,   367,   109,   116,   132,   111,   114,
     4102     119,   163,   275,   275,   115,   134,   116,   132,   109,   116,
     4103     132,   116,   132,   116,   132,   309,   132,   316,   317,   318,
     4104     319,   329,   330,   331,   332,   226,   315,   328,    64,   308,
     4105     111,   309,   346,   347,   309,   309,   172,   134,   109,   309,
     4106     346,   309,   309,   226,   306,   109,   109,   225,   226,   224,
     4107     226,   112,   134,   224,   363,   368,   172,   134,   269,   274,
     4108     216,   231,   320,   324,   172,   134,   291,   226,   236,   132,
     4109     226,   226,   289,    40,   111,   224,   246,   247,   248,   249,
     4110     363,   367,   114,   255,   271,   114,   226,   291,   132,   132,
     4111     302,   134,   139,   268,     3,   135,   206,   207,   221,   223,
     4112     226,   134,   308,   109,   308,   163,   316,   226,   109,   134,
     4113     269,   114,    33,    34,    35,   224,   283,   284,   286,   134,
     4114     129,   131,   288,   134,   227,   233,   234,   269,   312,   313,
     4115     314,   109,   141,   109,   148,   109,   148,   150,   109,   148,
     4116     109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
     4117     272,   363,   112,   134,   150,   150,    82,    85,    86,    87,
     4118     109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
     4119     103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
     4120     121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
     4121     120,   128,   129,    94,    95,   130,   131,   370,   109,   119,
     4122     342,   343,   344,   345,   346,   110,   116,   109,   346,   347,
     4123     109,   346,   347,   134,   109,   224,   365,   112,   134,   111,
     4124     119,   135,   224,   226,   358,   359,   367,   368,   135,   109,
     4125     111,   119,   316,   333,   334,   335,   336,   337,   338,   339,
     4126     340,   341,   347,   348,   349,   350,   351,   352,   353,   119,
     4127     367,   226,   135,   135,   119,   224,   226,   360,   269,   224,
     4128     347,   360,   269,   109,   134,   134,   134,   112,   134,    72,
     4129      80,   111,   113,   140,   271,   275,   276,   277,   278,   279,
     4130     134,   134,   134,   134,   134,   134,   306,   110,   110,   110,
     4131     110,   110,   110,   110,   315,   328,   109,   274,   112,   206,
     4132     134,   306,   168,   273,   168,   273,   306,   111,   206,   308,
     4133     172,   134,   206,   110,   248,   249,   112,   134,   109,   117,
     4134     119,   250,   252,   315,   316,   328,   346,   354,   355,   356,
     4135     357,   115,   247,   116,   132,   116,   132,   271,   246,   116,
     4136     369,   131,   256,   255,   226,   261,   262,   263,   266,   267,
     4137     110,   116,   172,   134,   119,   163,   134,   223,   226,   260,
     4138     359,   367,   300,   301,   109,   119,   333,   110,   116,   370,
     4139     271,   283,   109,   114,   271,   273,   283,   110,   116,   109,
     4140     141,   110,   117,   272,   272,   272,   111,   139,   145,   163,
     4141     273,   272,   112,   134,   110,   116,   110,   109,   119,   354,
     4142     110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
     4143     139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
     4144     152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
     4145     158,   159,   117,   168,   163,   134,   343,   344,   345,   226,
     4146     342,   309,   309,   163,   273,   134,   268,   119,   134,   224,
     4147     347,   360,   226,   230,   112,   134,   112,   367,   112,   109,
     4148     134,   316,   334,   335,   336,   339,   349,   350,   351,   112,
     4149     134,   226,   333,   337,   348,   109,   309,   352,   370,   309,
     4150     309,   370,   109,   309,   352,   309,   309,   309,   309,   347,
     4151     224,   358,   368,   269,   112,   116,   112,   116,   370,   224,
     4152     360,   370,   257,   258,   259,   260,   257,   257,   269,   163,
     4153     134,   111,   271,   117,   116,   369,   275,    80,   111,   117,
     4154     279,    29,   208,   209,   269,   257,   139,   306,   139,   308,
     4155     109,   346,   347,   109,   346,   347,   141,   347,   172,   261,
     4156     110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
     4157     132,   111,   316,   355,   356,   357,   161,   162,   226,   354,
     4158     251,   252,   251,   309,   309,   271,   309,   115,   271,   115,
     4159     162,   369,   135,   135,   139,   221,   135,   135,   257,   109,
     4160     119,   367,   135,   115,   226,   284,   285,   135,   134,   134,
     4161     109,   135,   110,   313,   168,   169,   117,   132,   111,   141,
     4162     199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
     4163     110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
     4164     135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
     4165     261,   110,   110,   110,   342,   261,   110,   257,   224,   360,
     4166     111,   119,   163,   163,   226,   339,   261,   110,   110,   110,
     4167     110,   110,   110,   110,     7,   226,   333,   337,   348,   134,
     4168     134,   370,   134,   134,   110,   135,   135,   135,   135,   274,
     4169     135,   161,   162,   163,   307,   134,   275,   277,   115,   134,
     4170     210,   271,    40,    41,    43,    46,    47,    48,    49,    50,
     4171      51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
     4172     170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
     4173     197,   211,   305,    29,   135,   131,   274,   134,   134,   110,
     4174     135,   172,   246,   112,   110,   110,   110,   354,   250,   256,
     4175     115,   110,   116,   112,   112,   135,   226,   116,   370,   287,
     4176     110,   283,   214,   216,   224,   295,   296,   297,   298,   289,
     4177     110,   110,   117,   162,   109,   110,   117,   116,   139,   163,
     4178     163,   276,   116,   135,   166,   112,   139,   146,   147,   163,
     4179     145,   135,   146,   161,   165,   135,   109,   346,   347,   135,
     4180     135,   134,   135,   135,   135,   163,   110,   135,   109,   346,
     4181     347,   109,   352,   109,   352,   347,   225,     7,   119,   135,
     4182     163,   261,   261,   260,   264,   264,   265,   116,   116,   110,
     4183     110,   112,    96,   123,   135,   135,   146,   275,   163,   116,
     4184     132,   211,   215,   226,   230,   109,   109,   170,   109,   109,
     4185     132,   139,   132,   139,   119,   139,   169,   109,   172,   164,
     4186     164,   112,   143,   117,   132,   135,   134,   135,   210,   110,
     4187     163,   261,   261,   309,   110,   115,   109,   346,   347,   134,
     4188     110,   134,   135,   306,   115,   134,   135,   135,   110,   114,
     4189     199,   112,   162,   132,   199,   201,   110,   116,   135,   369,
     4190     164,   112,   135,    85,   113,   116,   135,   135,   112,   135,
     4191     110,   134,   110,   110,   112,   112,   112,   135,   110,   134,
     4192     134,   134,   163,   163,   135,   112,   135,   135,   135,   135,
     4193     134,   134,   162,   162,   112,   112,   135,   135,   271,   226,
     4194     168,   168,    47,   168,   134,   132,   132,   168,   132,   132,
     4195     168,    58,    59,    60,   193,   194,   195,   132,    63,   132,
     4196     114,   309,   174,   115,   132,   135,   135,   134,    96,   266,
     4197     267,   110,   296,   116,   132,   116,   132,   115,   294,   117,
     4198     141,   110,   110,   117,   166,   112,   115,   112,   111,   147,
     4199     111,   147,   147,   112,   112,   112,   261,   112,   261,   261,
     4200     261,   135,   135,   112,   112,   110,   110,   112,   116,    96,
     4201     260,    96,   135,   112,   112,   110,   110,   109,   110,   169,
     4202     190,   211,   132,   110,   109,   109,   172,   195,    58,    59,
     4203     163,   144,   170,   110,   110,   261,   114,   134,   134,   295,
     4204     141,   202,   109,   132,   202,   135,   117,   134,   134,   135,
     4205     135,   135,   135,   112,   112,   134,   135,   112,   170,    44,
     4206      45,   114,   180,   181,   182,   168,   170,   135,   110,   169,
     4207     114,   182,    96,   134,    96,   134,   109,   109,   132,   115,
     4208     135,   134,   269,   306,   115,   116,   117,   162,   110,   112,
     4209     163,   146,   146,   110,   110,   110,   110,   264,    42,   162,
     4210     178,   179,   307,   117,   134,   170,   180,   110,   132,   170,
     4211     132,   134,   110,   134,   110,   134,    96,   134,    96,   134,
     4212     132,   110,   295,   141,   139,   203,   110,   132,   117,   135,
     4213     135,   170,    96,   116,   117,   135,   204,   205,   211,   132,
     4214     169,   169,   204,   172,   196,   224,   363,   172,   196,   110,
     4215     134,   110,   134,   115,   110,   116,   163,   112,   112,   162,
     4216     178,   181,   183,   184,   134,   132,   181,   185,   186,   135,
     4217     109,   119,   306,   354,   139,   135,   172,   196,   172,   196,
     4218     109,   132,   139,   170,   175,   115,   181,   211,   169,    56,
     4219     175,   188,   115,   181,   110,   226,   110,   135,   135,   289,
     4220     170,   175,   132,   187,   188,   175,   188,   172,   172,   110,
     4221     110,   110,   187,   135,   135,   172,   172,   135,   135
    41684222};
    41694223
     
    50025056
    50035057/* Line 1806 of yacc.c  */
    5004 #line 290 "parser.yy"
     5058#line 292 "parser.yy"
    50055059    {
    50065060                        typedefTable.enterScope();
     
    50115065
    50125066/* Line 1806 of yacc.c  */
    5013 #line 296 "parser.yy"
     5067#line 298 "parser.yy"
    50145068    {
    50155069                        typedefTable.leaveScope();
     
    50205074
    50215075/* Line 1806 of yacc.c  */
    5022 #line 305 "parser.yy"
     5076#line 307 "parser.yy"
    50235077    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    50245078    break;
     
    50275081
    50285082/* Line 1806 of yacc.c  */
    5029 #line 306 "parser.yy"
     5083#line 308 "parser.yy"
    50305084    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    50315085    break;
     
    50345088
    50355089/* Line 1806 of yacc.c  */
    5036 #line 307 "parser.yy"
     5090#line 309 "parser.yy"
    50375091    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50385092    break;
     
    50415095
    50425096/* Line 1806 of yacc.c  */
    5043 #line 332 "parser.yy"
     5097#line 334 "parser.yy"
    50445098    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    50455099    break;
     
    50485102
    50495103/* Line 1806 of yacc.c  */
    5050 #line 333 "parser.yy"
     5104#line 335 "parser.yy"
    50515105    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    50525106    break;
    50535107
    50545108  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:
    50625109
    50635110/* Line 1806 of yacc.c  */
     
    50665113    break;
    50675114
     5115  case 19:
     5116
     5117/* Line 1806 of yacc.c  */
     5118#line 344 "parser.yy"
     5119    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5120    break;
     5121
    50685122  case 20:
    50695123
    50705124/* Line 1806 of yacc.c  */
    5071 #line 344 "parser.yy"
     5125#line 346 "parser.yy"
    50725126    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    50735127    break;
     
    50765130
    50775131/* Line 1806 of yacc.c  */
    5078 #line 346 "parser.yy"
     5132#line 348 "parser.yy"
    50795133    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    50805134    break;
     
    50835137
    50845138/* Line 1806 of yacc.c  */
    5085 #line 356 "parser.yy"
     5139#line 358 "parser.yy"
    50865140    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    50875141    break;
     
    50905144
    50915145/* Line 1806 of yacc.c  */
    5092 #line 358 "parser.yy"
     5146#line 360 "parser.yy"
    50935147    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    50945148    break;
     
    50975151
    50985152/* Line 1806 of yacc.c  */
    5099 #line 362 "parser.yy"
     5153#line 364 "parser.yy"
    51005154    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51015155    break;
     
    51045158
    51055159/* Line 1806 of yacc.c  */
    5106 #line 365 "parser.yy"
     5160#line 367 "parser.yy"
    51075161    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51085162    break;
     
    51115165
    51125166/* Line 1806 of yacc.c  */
    5113 #line 368 "parser.yy"
     5167#line 370 "parser.yy"
    51145168    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    51155169    break;
     
    51185172
    51195173/* Line 1806 of yacc.c  */
    5120 #line 370 "parser.yy"
     5174#line 372 "parser.yy"
    51215175    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    51225176    break;
     
    51255179
    51265180/* Line 1806 of yacc.c  */
    5127 #line 372 "parser.yy"
     5181#line 374 "parser.yy"
    51285182    { (yyval.en) = 0; }
    51295183    break;
     
    51325186
    51335187/* Line 1806 of yacc.c  */
    5134 #line 374 "parser.yy"
     5188#line 376 "parser.yy"
    51355189    {
    51365190                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    51425196
    51435197/* Line 1806 of yacc.c  */
    5144 #line 383 "parser.yy"
     5198#line 385 "parser.yy"
    51455199    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    51465200    break;
     
    51495203
    51505204/* Line 1806 of yacc.c  */
    5151 #line 388 "parser.yy"
     5205#line 390 "parser.yy"
    51525206    { (yyval.en) = 0; }
    51535207    break;
     
    51565210
    51575211/* Line 1806 of yacc.c  */
    5158 #line 391 "parser.yy"
     5212#line 393 "parser.yy"
    51595213    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    51605214    break;
     
    51635217
    51645218/* Line 1806 of yacc.c  */
    5165 #line 396 "parser.yy"
     5219#line 398 "parser.yy"
    51665220    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    51675221    break;
     
    51705224
    51715225/* Line 1806 of yacc.c  */
    5172 #line 398 "parser.yy"
     5226#line 400 "parser.yy"
    51735227    { (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) )))); }
    51745228    break;
     
    51775231
    51785232/* Line 1806 of yacc.c  */
    5179 #line 403 "parser.yy"
     5233#line 405 "parser.yy"
    51805234    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    51815235    break;
     
    51845238
    51855239/* Line 1806 of yacc.c  */
    5186 #line 408 "parser.yy"
     5240#line 410 "parser.yy"
    51875241    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51885242    break;
     
    51915245
    51925246/* Line 1806 of yacc.c  */
    5193 #line 412 "parser.yy"
     5247#line 414 "parser.yy"
    51945248    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    51955249    break;
     
    51985252
    51995253/* Line 1806 of yacc.c  */
    5200 #line 414 "parser.yy"
     5254#line 416 "parser.yy"
    52015255    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52025256    break;
     
    52055259
    52065260/* Line 1806 of yacc.c  */
    5207 #line 416 "parser.yy"
     5261#line 418 "parser.yy"
    52085262    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52095263    break;
     
    52125266
    52135267/* Line 1806 of yacc.c  */
    5214 #line 418 "parser.yy"
     5268#line 420 "parser.yy"
    52155269    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52165270    break;
    52175271
    52185272  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:
    52265273
    52275274/* Line 1806 of yacc.c  */
     
    52305277    break;
    52315278
     5279  case 49:
     5280
     5281/* Line 1806 of yacc.c  */
     5282#line 430 "parser.yy"
     5283    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5284    break;
     5285
    52325286  case 50:
    52335287
    52345288/* Line 1806 of yacc.c  */
    5235 #line 430 "parser.yy"
     5289#line 432 "parser.yy"
    52365290    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    52375291    break;
     
    52405294
    52415295/* Line 1806 of yacc.c  */
    5242 #line 432 "parser.yy"
     5296#line 434 "parser.yy"
    52435297    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    52445298    break;
     
    52475301
    52485302/* Line 1806 of yacc.c  */
    5249 #line 434 "parser.yy"
     5303#line 436 "parser.yy"
    52505304    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    52515305    break;
     
    52545308
    52555309/* Line 1806 of yacc.c  */
    5256 #line 436 "parser.yy"
     5310#line 438 "parser.yy"
    52575311    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    52585312    break;
     
    52615315
    52625316/* Line 1806 of yacc.c  */
    5263 #line 438 "parser.yy"
     5317#line 440 "parser.yy"
    52645318    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    52655319    break;
     
    52685322
    52695323/* Line 1806 of yacc.c  */
    5270 #line 440 "parser.yy"
     5324#line 442 "parser.yy"
    52715325    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    52725326    break;
     
    52755329
    52765330/* Line 1806 of yacc.c  */
    5277 #line 446 "parser.yy"
     5331#line 448 "parser.yy"
    52785332    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    52795333    break;
     
    52825336
    52835337/* Line 1806 of yacc.c  */
    5284 #line 448 "parser.yy"
     5338#line 450 "parser.yy"
    52855339    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    52865340    break;
     
    52895343
    52905344/* Line 1806 of yacc.c  */
    5291 #line 450 "parser.yy"
     5345#line 452 "parser.yy"
    52925346    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    52935347    break;
     
    52965350
    52975351/* Line 1806 of yacc.c  */
    5298 #line 452 "parser.yy"
     5352#line 454 "parser.yy"
    52995353    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    53005354    break;
     
    53035357
    53045358/* Line 1806 of yacc.c  */
    5305 #line 454 "parser.yy"
     5359#line 456 "parser.yy"
    53065360    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53075361    break;
     
    53105364
    53115365/* Line 1806 of yacc.c  */
    5312 #line 456 "parser.yy"
     5366#line 458 "parser.yy"
    53135367    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    53145368    break;
     
    53175371
    53185372/* Line 1806 of yacc.c  */
    5319 #line 458 "parser.yy"
     5373#line 460 "parser.yy"
    53205374    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    53215375    break;
     
    53245378
    53255379/* Line 1806 of yacc.c  */
    5326 #line 460 "parser.yy"
     5380#line 462 "parser.yy"
    53275381    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    53285382    break;
     
    53315385
    53325386/* Line 1806 of yacc.c  */
    5333 #line 462 "parser.yy"
     5387#line 464 "parser.yy"
    53345388    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    53355389    break;
     
    53385392
    53395393/* Line 1806 of yacc.c  */
    5340 #line 466 "parser.yy"
     5394#line 468 "parser.yy"
    53415395    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    53425396    break;
     
    53455399
    53465400/* Line 1806 of yacc.c  */
    5347 #line 467 "parser.yy"
     5401#line 469 "parser.yy"
    53485402    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    53495403    break;
     
    53525406
    53535407/* Line 1806 of yacc.c  */
    5354 #line 468 "parser.yy"
     5408#line 470 "parser.yy"
    53555409    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    53565410    break;
     
    53595413
    53605414/* Line 1806 of yacc.c  */
    5361 #line 469 "parser.yy"
     5415#line 471 "parser.yy"
    53625416    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    53635417    break;
    53645418
    53655419  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:
    53735420
    53745421/* Line 1806 of yacc.c  */
     
    53775424    break;
    53785425
     5426  case 71:
     5427
     5428/* Line 1806 of yacc.c  */
     5429#line 479 "parser.yy"
     5430    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5431    break;
     5432
    53795433  case 73:
    53805434
    53815435/* Line 1806 of yacc.c  */
    5382 #line 483 "parser.yy"
     5436#line 485 "parser.yy"
    53835437    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53845438    break;
     
    53875441
    53885442/* Line 1806 of yacc.c  */
    5389 #line 485 "parser.yy"
     5443#line 487 "parser.yy"
    53905444    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53915445    break;
     
    53945448
    53955449/* Line 1806 of yacc.c  */
    5396 #line 487 "parser.yy"
     5450#line 489 "parser.yy"
    53975451    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53985452    break;
     
    54015455
    54025456/* Line 1806 of yacc.c  */
    5403 #line 493 "parser.yy"
     5457#line 495 "parser.yy"
    54045458    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54055459    break;
     
    54085462
    54095463/* Line 1806 of yacc.c  */
    5410 #line 495 "parser.yy"
     5464#line 497 "parser.yy"
    54115465    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54125466    break;
     
    54155469
    54165470/* Line 1806 of yacc.c  */
    5417 #line 501 "parser.yy"
     5471#line 503 "parser.yy"
    54185472    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54195473    break;
     
    54225476
    54235477/* Line 1806 of yacc.c  */
    5424 #line 503 "parser.yy"
     5478#line 505 "parser.yy"
    54255479    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54265480    break;
     
    54295483
    54305484/* Line 1806 of yacc.c  */
    5431 #line 509 "parser.yy"
     5485#line 511 "parser.yy"
    54325486    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54335487    break;
     
    54365490
    54375491/* Line 1806 of yacc.c  */
    5438 #line 511 "parser.yy"
     5492#line 513 "parser.yy"
    54395493    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54405494    break;
     
    54435497
    54445498/* Line 1806 of yacc.c  */
    5445 #line 513 "parser.yy"
     5499#line 515 "parser.yy"
    54465500    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54475501    break;
     
    54505504
    54515505/* Line 1806 of yacc.c  */
    5452 #line 515 "parser.yy"
     5506#line 517 "parser.yy"
    54535507    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54545508    break;
     
    54575511
    54585512/* Line 1806 of yacc.c  */
    5459 #line 521 "parser.yy"
     5513#line 523 "parser.yy"
    54605514    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54615515    break;
     
    54645518
    54655519/* Line 1806 of yacc.c  */
    5466 #line 523 "parser.yy"
     5520#line 525 "parser.yy"
    54675521    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54685522    break;
     
    54715525
    54725526/* Line 1806 of yacc.c  */
    5473 #line 529 "parser.yy"
     5527#line 531 "parser.yy"
    54745528    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54755529    break;
     
    54785532
    54795533/* Line 1806 of yacc.c  */
    5480 #line 535 "parser.yy"
     5534#line 537 "parser.yy"
    54815535    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54825536    break;
     
    54855539
    54865540/* Line 1806 of yacc.c  */
    5487 #line 541 "parser.yy"
     5541#line 543 "parser.yy"
    54885542    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54895543    break;
     
    54925546
    54935547/* Line 1806 of yacc.c  */
    5494 #line 547 "parser.yy"
     5548#line 549 "parser.yy"
    54955549    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54965550    break;
     
    54995553
    55005554/* Line 1806 of yacc.c  */
    5501 #line 553 "parser.yy"
     5555#line 555 "parser.yy"
    55025556    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55035557    break;
     
    55065560
    55075561/* Line 1806 of yacc.c  */
    5508 #line 559 "parser.yy"
     5562#line 561 "parser.yy"
    55095563    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55105564    break;
     
    55135567
    55145568/* Line 1806 of yacc.c  */
    5515 #line 561 "parser.yy"
     5569#line 563 "parser.yy"
    55165570    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    55175571    break;
     
    55205574
    55215575/* Line 1806 of yacc.c  */
    5522 #line 563 "parser.yy"
     5576#line 565 "parser.yy"
    55235577    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55245578    break;
     
    55275581
    55285582/* Line 1806 of yacc.c  */
    5529 #line 574 "parser.yy"
     5583#line 576 "parser.yy"
    55305584    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55315585    break;
     
    55345588
    55355589/* Line 1806 of yacc.c  */
    5536 #line 576 "parser.yy"
     5590#line 578 "parser.yy"
    55375591    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55385592    break;
     
    55415595
    55425596/* Line 1806 of yacc.c  */
    5543 #line 578 "parser.yy"
     5597#line 580 "parser.yy"
    55445598    { (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) ); }
    55455599    break;
     
    55485602
    55495603/* Line 1806 of yacc.c  */
    5550 #line 583 "parser.yy"
     5604#line 585 "parser.yy"
    55515605    { (yyval.en) = new NullExprNode; }
    55525606    break;
     
    55555609
    55565610/* Line 1806 of yacc.c  */
    5557 #line 591 "parser.yy"
     5611#line 593 "parser.yy"
    55585612    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    55595613    break;
     
    55625616
    55635617/* Line 1806 of yacc.c  */
    5564 #line 593 "parser.yy"
     5618#line 595 "parser.yy"
    55655619    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    55665620    break;
     
    55695623
    55705624/* Line 1806 of yacc.c  */
    5571 #line 595 "parser.yy"
     5625#line 597 "parser.yy"
    55725626    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    55735627    break;
     
    55765630
    55775631/* Line 1806 of yacc.c  */
    5578 #line 597 "parser.yy"
     5632#line 599 "parser.yy"
    55795633    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    55805634    break;
     
    55835637
    55845638/* Line 1806 of yacc.c  */
    5585 #line 603 "parser.yy"
     5639#line 605 "parser.yy"
    55865640    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    55875641    break;
     
    55905644
    55915645/* Line 1806 of yacc.c  */
    5592 #line 607 "parser.yy"
     5646#line 609 "parser.yy"
    55935647    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    55945648    break;
     
    55975651
    55985652/* Line 1806 of yacc.c  */
    5599 #line 608 "parser.yy"
     5653#line 610 "parser.yy"
    56005654    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    56015655    break;
     
    56045658
    56055659/* Line 1806 of yacc.c  */
    5606 #line 609 "parser.yy"
     5660#line 611 "parser.yy"
    56075661    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    56085662    break;
     
    56115665
    56125666/* Line 1806 of yacc.c  */
    5613 #line 610 "parser.yy"
     5667#line 612 "parser.yy"
    56145668    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    56155669    break;
     
    56185672
    56195673/* Line 1806 of yacc.c  */
    5620 #line 611 "parser.yy"
     5674#line 613 "parser.yy"
    56215675    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    56225676    break;
     
    56255679
    56265680/* Line 1806 of yacc.c  */
    5627 #line 612 "parser.yy"
     5681#line 614 "parser.yy"
    56285682    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    56295683    break;
     
    56325686
    56335687/* Line 1806 of yacc.c  */
    5634 #line 613 "parser.yy"
     5688#line 615 "parser.yy"
    56355689    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    56365690    break;
     
    56395693
    56405694/* Line 1806 of yacc.c  */
    5641 #line 614 "parser.yy"
     5695#line 616 "parser.yy"
    56425696    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    56435697    break;
     
    56465700
    56475701/* Line 1806 of yacc.c  */
    5648 #line 615 "parser.yy"
     5702#line 617 "parser.yy"
    56495703    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    56505704    break;
     
    56535707
    56545708/* Line 1806 of yacc.c  */
    5655 #line 616 "parser.yy"
     5709#line 618 "parser.yy"
    56565710    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    56575711    break;
     
    56605714
    56615715/* Line 1806 of yacc.c  */
    5662 #line 622 "parser.yy"
     5716#line 624 "parser.yy"
    56635717    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56645718    break;
     
    56675721
    56685722/* Line 1806 of yacc.c  */
    5669 #line 627 "parser.yy"
     5723#line 629 "parser.yy"
    56705724    { (yyval.en) = 0; }
    56715725    break;
     
    56745728
    56755729/* Line 1806 of yacc.c  */
    5676 #line 636 "parser.yy"
     5730#line 638 "parser.yy"
    56775731    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56785732    break;
     
    56815735
    56825736/* Line 1806 of yacc.c  */
    5683 #line 643 "parser.yy"
     5737#line 645 "parser.yy"
    56845738    {
    56855739                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    56925746
    56935747/* Line 1806 of yacc.c  */
    5694 #line 652 "parser.yy"
     5748#line 654 "parser.yy"
    56955749    {
    56965750                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57015755
    57025756/* Line 1806 of yacc.c  */
    5703 #line 659 "parser.yy"
     5757#line 661 "parser.yy"
    57045758    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57055759    break;
     
    57085762
    57095763/* Line 1806 of yacc.c  */
    5710 #line 666 "parser.yy"
     5764#line 668 "parser.yy"
    57115765    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57125766    break;
     
    57155769
    57165770/* Line 1806 of yacc.c  */
    5717 #line 672 "parser.yy"
     5771#line 674 "parser.yy"
    57185772    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57195773    break;
     
    57225776
    57235777/* Line 1806 of yacc.c  */
    5724 #line 677 "parser.yy"
     5778#line 679 "parser.yy"
    57255779    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57265780    break;
     
    57295783
    57305784/* Line 1806 of yacc.c  */
    5731 #line 679 "parser.yy"
     5785#line 681 "parser.yy"
    57325786    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    57335787    break;
     
    57365790
    57375791/* Line 1806 of yacc.c  */
    5738 #line 681 "parser.yy"
     5792#line 683 "parser.yy"
    57395793    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57405794    break;
     
    57435797
    57445798/* Line 1806 of yacc.c  */
    5745 #line 688 "parser.yy"
     5799#line 690 "parser.yy"
    57465800    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57475801    break;
     
    57505804
    57515805/* Line 1806 of yacc.c  */
    5752 #line 693 "parser.yy"
     5806#line 695 "parser.yy"
    57535807    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    57545808    break;
     
    57575811
    57585812/* Line 1806 of yacc.c  */
    5759 #line 699 "parser.yy"
     5813#line 701 "parser.yy"
    57605814    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57615815    break;
     
    57645818
    57655819/* Line 1806 of yacc.c  */
    5766 #line 701 "parser.yy"
     5820#line 703 "parser.yy"
    57675821    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    57685822    break;
     
    57715825
    57725826/* Line 1806 of yacc.c  */
    5773 #line 703 "parser.yy"
     5827#line 705 "parser.yy"
    57745828    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57755829    break;
     
    57785832
    57795833/* Line 1806 of yacc.c  */
    5780 #line 705 "parser.yy"
     5834#line 707 "parser.yy"
    57815835    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    57825836    break;
     
    57855839
    57865840/* Line 1806 of yacc.c  */
    5787 #line 710 "parser.yy"
     5841#line 712 "parser.yy"
    57885842    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57895843    break;
     
    57925846
    57935847/* Line 1806 of yacc.c  */
    5794 #line 712 "parser.yy"
     5848#line 714 "parser.yy"
    57955849    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57965850    break;
     
    57995853
    58005854/* Line 1806 of yacc.c  */
    5801 #line 719 "parser.yy"
     5855#line 721 "parser.yy"
    58025856    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58035857    break;
     
    58065860
    58075861/* Line 1806 of yacc.c  */
    5808 #line 721 "parser.yy"
     5862#line 723 "parser.yy"
    58095863    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58105864    break;
     
    58135867
    58145868/* Line 1806 of yacc.c  */
    5815 #line 728 "parser.yy"
     5869#line 730 "parser.yy"
    58165870    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58175871    break;
     
    58205874
    58215875/* Line 1806 of yacc.c  */
    5822 #line 732 "parser.yy"
     5876#line 734 "parser.yy"
    58235877    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58245878    break;
     
    58275881
    58285882/* Line 1806 of yacc.c  */
    5829 #line 733 "parser.yy"
     5883#line 735 "parser.yy"
    58305884    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58315885    break;
     
    58345888
    58355889/* Line 1806 of yacc.c  */
    5836 #line 739 "parser.yy"
     5890#line 741 "parser.yy"
    58375891    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58385892    break;
     
    58415895
    58425896/* Line 1806 of yacc.c  */
    5843 #line 743 "parser.yy"
     5897#line 745 "parser.yy"
    58445898    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58455899    break;
     
    58485902
    58495903/* Line 1806 of yacc.c  */
    5850 #line 748 "parser.yy"
     5904#line 750 "parser.yy"
    58515905    { (yyval.sn) = 0; }
    58525906    break;
     
    58555909
    58565910/* Line 1806 of yacc.c  */
    5857 #line 754 "parser.yy"
     5911#line 756 "parser.yy"
    58585912    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58595913    break;
     
    58625916
    58635917/* Line 1806 of yacc.c  */
    5864 #line 756 "parser.yy"
     5918#line 758 "parser.yy"
    58655919    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58665920    break;
     
    58695923
    58705924/* Line 1806 of yacc.c  */
    5871 #line 761 "parser.yy"
     5925#line 763 "parser.yy"
    58725926    { (yyval.sn) = 0; }
    58735927    break;
     
    58765930
    58775931/* Line 1806 of yacc.c  */
    5878 #line 767 "parser.yy"
     5932#line 769 "parser.yy"
    58795933    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58805934    break;
     
    58835937
    58845938/* Line 1806 of yacc.c  */
    5885 #line 769 "parser.yy"
     5939#line 771 "parser.yy"
    58865940    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    58875941    break;
     
    58905944
    58915945/* Line 1806 of yacc.c  */
    5892 #line 771 "parser.yy"
     5946#line 773 "parser.yy"
    58935947    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58945948    break;
     
    58975951
    58985952/* Line 1806 of yacc.c  */
    5899 #line 773 "parser.yy"
     5953#line 775 "parser.yy"
    59005954    { (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) ))))); }
    59015955    break;
     
    59045958
    59055959/* Line 1806 of yacc.c  */
    5906 #line 778 "parser.yy"
     5960#line 780 "parser.yy"
    59075961    { (yyval.sn) = 0; }
    59085962    break;
     
    59115965
    59125966/* Line 1806 of yacc.c  */
    5913 #line 783 "parser.yy"
     5967#line 785 "parser.yy"
    59145968    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59155969    break;
     
    59185972
    59195973/* Line 1806 of yacc.c  */
    5920 #line 784 "parser.yy"
     5974#line 786 "parser.yy"
    59215975    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59225976    break;
     
    59255979
    59265980/* Line 1806 of yacc.c  */
    5927 #line 789 "parser.yy"
     5981#line 791 "parser.yy"
    59285982    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59295983    break;
     
    59325986
    59335987/* Line 1806 of yacc.c  */
    5934 #line 791 "parser.yy"
     5988#line 793 "parser.yy"
    59355989    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59365990    break;
     
    59395993
    59405994/* Line 1806 of yacc.c  */
    5941 #line 793 "parser.yy"
     5995#line 795 "parser.yy"
    59425996    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59435997    break;
     
    59466000
    59476001/* Line 1806 of yacc.c  */
    5948 #line 798 "parser.yy"
     6002#line 800 "parser.yy"
    59496003    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59506004    break;
     
    59536007
    59546008/* Line 1806 of yacc.c  */
    5955 #line 800 "parser.yy"
     6009#line 802 "parser.yy"
    59566010    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59576011    break;
     
    59606014
    59616015/* Line 1806 of yacc.c  */
    5962 #line 805 "parser.yy"
     6016#line 807 "parser.yy"
    59636017    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59646018    break;
     
    59676021
    59686022/* Line 1806 of yacc.c  */
    5969 #line 809 "parser.yy"
     6023#line 811 "parser.yy"
    59706024    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59716025    break;
     
    59746028
    59756029/* Line 1806 of yacc.c  */
    5976 #line 812 "parser.yy"
     6030#line 814 "parser.yy"
    59776031    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    59786032    break;
     
    59816035
    59826036/* Line 1806 of yacc.c  */
    5983 #line 816 "parser.yy"
     6037#line 818 "parser.yy"
    59846038    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59856039    break;
     
    59886042
    59896043/* Line 1806 of yacc.c  */
    5990 #line 819 "parser.yy"
     6044#line 821 "parser.yy"
    59916045    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    59926046    break;
     
    59956049
    59966050/* Line 1806 of yacc.c  */
    5997 #line 823 "parser.yy"
     6051#line 825 "parser.yy"
    59986052    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    59996053    break;
     
    60026056
    60036057/* Line 1806 of yacc.c  */
    6004 #line 825 "parser.yy"
     6058#line 827 "parser.yy"
    60056059    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60066060    break;
     
    60096063
    60106064/* Line 1806 of yacc.c  */
    6011 #line 827 "parser.yy"
     6065#line 829 "parser.yy"
    60126066    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60136067    break;
     
    60166070
    60176071/* Line 1806 of yacc.c  */
    6018 #line 831 "parser.yy"
     6072#line 833 "parser.yy"
    60196073    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60206074    break;
     
    60236077
    60246078/* Line 1806 of yacc.c  */
    6025 #line 833 "parser.yy"
     6079#line 835 "parser.yy"
    60266080    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    60276081    break;
    60286082
    60296083  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:
    60376084
    60386085/* Line 1806 of yacc.c  */
     
    60416088    break;
    60426089
     6090  case 198:
     6091
     6092/* Line 1806 of yacc.c  */
     6093#line 844 "parser.yy"
     6094    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6095    break;
     6096
    60436097  case 199:
    60446098
    60456099/* Line 1806 of yacc.c  */
    6046 #line 844 "parser.yy"
     6100#line 846 "parser.yy"
    60476101    {
    60486102                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60546108
    60556109/* Line 1806 of yacc.c  */
    6056 #line 855 "parser.yy"
     6110#line 857 "parser.yy"
    60576111    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60586112    break;
     
    60616115
    60626116/* Line 1806 of yacc.c  */
    6063 #line 857 "parser.yy"
     6117#line 859 "parser.yy"
    60646118    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60656119    break;
     
    60686122
    60696123/* Line 1806 of yacc.c  */
    6070 #line 859 "parser.yy"
     6124#line 861 "parser.yy"
    60716125    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60726126    break;
     
    60756129
    60766130/* Line 1806 of yacc.c  */
    6077 #line 861 "parser.yy"
     6131#line 863 "parser.yy"
    60786132    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60796133    break;
     
    60826136
    60836137/* Line 1806 of yacc.c  */
    6084 #line 866 "parser.yy"
     6138#line 868 "parser.yy"
    60856139    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    60866140    break;
     
    60896143
    60906144/* Line 1806 of yacc.c  */
    6091 #line 868 "parser.yy"
     6145#line 870 "parser.yy"
    60926146    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60936147    break;
     
    60966150
    60976151/* Line 1806 of yacc.c  */
    6098 #line 870 "parser.yy"
     6152#line 872 "parser.yy"
    60996153    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61006154    break;
     
    61036157
    61046158/* Line 1806 of yacc.c  */
    6105 #line 872 "parser.yy"
     6159#line 874 "parser.yy"
    61066160    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61076161    break;
     
    61106164
    61116165/* Line 1806 of yacc.c  */
    6112 #line 877 "parser.yy"
     6166#line 879 "parser.yy"
    61136167    {
    61146168                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    61206174
    61216175/* Line 1806 of yacc.c  */
    6122 #line 891 "parser.yy"
     6176#line 893 "parser.yy"
    61236177    {
    61246178                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61306184
    61316185/* Line 1806 of yacc.c  */
    6132 #line 896 "parser.yy"
     6186#line 898 "parser.yy"
    61336187    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61346188    break;
     
    61376191
    61386192/* Line 1806 of yacc.c  */
    6139 #line 898 "parser.yy"
     6193#line 900 "parser.yy"
    61406194    {
    61416195                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61476201
    61486202/* Line 1806 of yacc.c  */
    6149 #line 907 "parser.yy"
     6203#line 909 "parser.yy"
    61506204    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    61516205    break;
     
    61546208
    61556209/* Line 1806 of yacc.c  */
    6156 #line 909 "parser.yy"
     6210#line 911 "parser.yy"
    61576211    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    61586212    break;
     
    61616215
    61626216/* Line 1806 of yacc.c  */
    6163 #line 911 "parser.yy"
     6217#line 913 "parser.yy"
    61646218    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    61656219    break;
     
    61686222
    61696223/* Line 1806 of yacc.c  */
    6170 #line 913 "parser.yy"
     6224#line 915 "parser.yy"
    61716225    { (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) ); }
    61726226    break;
     
    61756229
    61766230/* Line 1806 of yacc.c  */
    6177 #line 915 "parser.yy"
     6231#line 917 "parser.yy"
    61786232    { (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) ); }
    61796233    break;
     
    61826236
    61836237/* Line 1806 of yacc.c  */
    6184 #line 920 "parser.yy"
     6238#line 922 "parser.yy"
    61856239    { (yyval.flag) = false; }
    61866240    break;
     
    61896243
    61906244/* Line 1806 of yacc.c  */
    6191 #line 922 "parser.yy"
     6245#line 924 "parser.yy"
    61926246    { (yyval.flag) = true; }
    61936247    break;
     
    61966250
    61976251/* Line 1806 of yacc.c  */
    6198 #line 927 "parser.yy"
     6252#line 929 "parser.yy"
    61996253    { (yyval.en) = 0; }
    62006254    break;
     
    62036257
    62046258/* Line 1806 of yacc.c  */
    6205 #line 934 "parser.yy"
     6259#line 936 "parser.yy"
    62066260    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62076261    break;
     
    62106264
    62116265/* Line 1806 of yacc.c  */
    6212 #line 939 "parser.yy"
     6266#line 941 "parser.yy"
    62136267    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    62146268    break;
     
    62176271
    62186272/* Line 1806 of yacc.c  */
    6219 #line 941 "parser.yy"
     6273#line 943 "parser.yy"
    62206274    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    62216275    break;
     
    62246278
    62256279/* Line 1806 of yacc.c  */
    6226 #line 946 "parser.yy"
     6280#line 948 "parser.yy"
    62276281    { (yyval.constant) = 0; }
    62286282    break;
     
    62316285
    62326286/* Line 1806 of yacc.c  */
    6233 #line 948 "parser.yy"
     6287#line 950 "parser.yy"
    62346288    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    62356289    break;
     
    62386292
    62396293/* Line 1806 of yacc.c  */
    6240 #line 950 "parser.yy"
     6294#line 952 "parser.yy"
    62416295    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    62426296    break;
     
    62456299
    62466300/* Line 1806 of yacc.c  */
    6247 #line 955 "parser.yy"
     6301#line 957 "parser.yy"
    62486302    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    62496303    break;
     
    62526306
    62536307/* Line 1806 of yacc.c  */
    6254 #line 957 "parser.yy"
     6308#line 959 "parser.yy"
    62556309    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    62566310    break;
     
    62596313
    62606314/* Line 1806 of yacc.c  */
    6261 #line 964 "parser.yy"
     6315#line 966 "parser.yy"
    62626316    { (yyval.decl) = 0; }
    62636317    break;
     
    62666320
    62676321/* Line 1806 of yacc.c  */
    6268 #line 971 "parser.yy"
     6322#line 973 "parser.yy"
    62696323    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62706324    break;
     
    62736327
    62746328/* Line 1806 of yacc.c  */
    6275 #line 976 "parser.yy"
     6329#line 978 "parser.yy"
    62766330    { (yyval.decl) = 0; }
    62776331    break;
     
    62806334
    62816335/* Line 1806 of yacc.c  */
    6282 #line 983 "parser.yy"
     6336#line 985 "parser.yy"
    62836337    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62846338    break;
     
    62876341
    62886342/* Line 1806 of yacc.c  */
    6289 #line 997 "parser.yy"
     6343#line 999 "parser.yy"
    62906344    {}
    62916345    break;
     
    62946348
    62956349/* Line 1806 of yacc.c  */
    6296 #line 998 "parser.yy"
     6350#line 1000 "parser.yy"
    62976351    {}
    62986352    break;
     
    63016355
    63026356/* Line 1806 of yacc.c  */
    6303 #line 1027 "parser.yy"
     6357#line 1029 "parser.yy"
    63046358    {
    63056359                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6306                         (yyval.decl) = (yyvsp[(1) - (2)].decl);
     6360                        (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) );
    63076361                }
    63086362    break;
     
    63116365
    63126366/* Line 1806 of yacc.c  */
    6313 #line 1034 "parser.yy"
     6367#line 1036 "parser.yy"
    63146368    {
    63156369                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6316                         (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) );
     6370                        (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );;
    63176371                }
    63186372    break;
     
    63216375
    63226376/* Line 1806 of yacc.c  */
    6323 #line 1039 "parser.yy"
     6377#line 1041 "parser.yy"
    63246378    {
    63256379                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
    6326                         (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) );
     6380                        (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) );
    63276381                }
    63286382    break;
     
    63316385
    63326386/* Line 1806 of yacc.c  */
    6333 #line 1049 "parser.yy"
     6387#line 1051 "parser.yy"
    63346388    {
    63356389                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63416395
    63426396/* Line 1806 of yacc.c  */
    6343 #line 1054 "parser.yy"
     6397#line 1056 "parser.yy"
    63446398    {
    63456399                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63516405
    63526406/* Line 1806 of yacc.c  */
    6353 #line 1059 "parser.yy"
     6407#line 1061 "parser.yy"
    63546408    {
    63556409                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63616415
    63626416/* Line 1806 of yacc.c  */
    6363 #line 1067 "parser.yy"
     6417#line 1069 "parser.yy"
    63646418    {
    63656419                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63716425
    63726426/* Line 1806 of yacc.c  */
    6373 #line 1072 "parser.yy"
     6427#line 1074 "parser.yy"
    63746428    {
    63756429                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63816435
    63826436/* Line 1806 of yacc.c  */
    6383 #line 1077 "parser.yy"
     6437#line 1079 "parser.yy"
    63846438    {
    63856439                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63916445
    63926446/* Line 1806 of yacc.c  */
    6393 #line 1082 "parser.yy"
     6447#line 1084 "parser.yy"
    63946448    {
    63956449                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64016455
    64026456/* Line 1806 of yacc.c  */
    6403 #line 1087 "parser.yy"
     6457#line 1089 "parser.yy"
    64046458    {
    64056459                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64116465
    64126466/* Line 1806 of yacc.c  */
    6413 #line 1095 "parser.yy"
     6467#line 1097 "parser.yy"
    64146468    {
    64156469                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    64206474
    64216475/* Line 1806 of yacc.c  */
    6422 #line 1118 "parser.yy"
     6476#line 1120 "parser.yy"
    64236477    {
    64246478                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64296483
    64306484/* Line 1806 of yacc.c  */
    6431 #line 1122 "parser.yy"
     6485#line 1124 "parser.yy"
    64326486    {
    64336487                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64386492
    64396493/* Line 1806 of yacc.c  */
    6440 #line 1129 "parser.yy"
     6494#line 1131 "parser.yy"
    64416495    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64426496    break;
     
    64456499
    64466500/* Line 1806 of yacc.c  */
    6447 #line 1133 "parser.yy"
     6501#line 1135 "parser.yy"
    64486502    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64496503    break;
     
    64526506
    64536507/* Line 1806 of yacc.c  */
    6454 #line 1138 "parser.yy"
     6508#line 1140 "parser.yy"
    64556509    {
    64566510                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64626516
    64636517/* Line 1806 of yacc.c  */
    6464 #line 1143 "parser.yy"
     6518#line 1145 "parser.yy"
    64656519    {
    64666520                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64726526
    64736527/* Line 1806 of yacc.c  */
    6474 #line 1148 "parser.yy"
     6528#line 1150 "parser.yy"
    64756529    {
    64766530                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64826536
    64836537/* Line 1806 of yacc.c  */
    6484 #line 1159 "parser.yy"
     6538#line 1161 "parser.yy"
    64856539    {
    64866540                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64926546
    64936547/* Line 1806 of yacc.c  */
    6494 #line 1164 "parser.yy"
     6548#line 1166 "parser.yy"
    64956549    {
    64966550                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65026556
    65036557/* Line 1806 of yacc.c  */
    6504 #line 1169 "parser.yy"
     6558#line 1171 "parser.yy"
    65056559    {
    65066560                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65126566
    65136567/* Line 1806 of yacc.c  */
    6514 #line 1174 "parser.yy"
     6568#line 1176 "parser.yy"
    65156569    {
    65166570                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65226576
    65236577/* Line 1806 of yacc.c  */
    6524 #line 1179 "parser.yy"
     6578#line 1181 "parser.yy"
    65256579    {
    65266580                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65326586
    65336587/* Line 1806 of yacc.c  */
    6534 #line 1188 "parser.yy"
     6588#line 1190 "parser.yy"
    65356589    {
    65366590                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65426596
    65436597/* Line 1806 of yacc.c  */
    6544 #line 1193 "parser.yy"
     6598#line 1195 "parser.yy"
    65456599    {
    65466600                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65526606
    65536607/* Line 1806 of yacc.c  */
    6554 #line 1210 "parser.yy"
     6608#line 1212 "parser.yy"
    65556609    {
    65566610                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65626616
    65636617/* Line 1806 of yacc.c  */
    6564 #line 1215 "parser.yy"
     6618#line 1217 "parser.yy"
    65656619    {
    65666620                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65726626
    65736627/* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
     6628#line 1239 "parser.yy"
    65756629    { (yyval.decl) = 0; }
    65766630    break;
     
    65796633
    65806634/* Line 1806 of yacc.c  */
    6581 #line 1249 "parser.yy"
     6635#line 1251 "parser.yy"
    65826636    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65836637    break;
     
    65866640
    65876641/* Line 1806 of yacc.c  */
    6588 #line 1260 "parser.yy"
     6642#line 1262 "parser.yy"
    65896643    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65906644    break;
     
    65936647
    65946648/* Line 1806 of yacc.c  */
    6595 #line 1262 "parser.yy"
     6649#line 1264 "parser.yy"
    65966650    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65976651    break;
     
    66006654
    66016655/* Line 1806 of yacc.c  */
    6602 #line 1264 "parser.yy"
     6656#line 1266 "parser.yy"
    66036657    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66046658    break;
     
    66076661
    66086662/* Line 1806 of yacc.c  */
    6609 #line 1266 "parser.yy"
     6663#line 1268 "parser.yy"
    66106664    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66116665    break;
     
    66146668
    66156669/* Line 1806 of yacc.c  */
    6616 #line 1268 "parser.yy"
     6670#line 1270 "parser.yy"
    66176671    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66186672    break;
     
    66216675
    66226676/* Line 1806 of yacc.c  */
    6623 #line 1270 "parser.yy"
     6677#line 1272 "parser.yy"
    66246678    {
    66256679                        typedefTable.enterScope();
     
    66306684
    66316685/* Line 1806 of yacc.c  */
    6632 #line 1274 "parser.yy"
     6686#line 1276 "parser.yy"
    66336687    {
    66346688                        typedefTable.leaveScope();
     
    66406694
    66416695/* Line 1806 of yacc.c  */
    6642 #line 1283 "parser.yy"
     6696#line 1285 "parser.yy"
    66436697    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66446698    break;
     
    66476701
    66486702/* Line 1806 of yacc.c  */
    6649 #line 1285 "parser.yy"
     6703#line 1287 "parser.yy"
    66506704    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66516705    break;
     
    66546708
    66556709/* Line 1806 of yacc.c  */
    6656 #line 1296 "parser.yy"
     6710#line 1298 "parser.yy"
    66576711    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66586712    break;
     
    66616715
    66626716/* Line 1806 of yacc.c  */
    6663 #line 1305 "parser.yy"
     6717#line 1307 "parser.yy"
    66646718    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66656719    break;
     
    66686722
    66696723/* Line 1806 of yacc.c  */
    6670 #line 1307 "parser.yy"
     6724#line 1309 "parser.yy"
    66716725    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66726726    break;
     
    66756729
    66766730/* Line 1806 of yacc.c  */
    6677 #line 1309 "parser.yy"
     6731#line 1311 "parser.yy"
    66786732    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66796733    break;
     
    66826736
    66836737/* Line 1806 of yacc.c  */
    6684 #line 1311 "parser.yy"
     6738#line 1313 "parser.yy"
    66856739    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66866740    break;
     
    66896743
    66906744/* Line 1806 of yacc.c  */
    6691 #line 1313 "parser.yy"
     6745#line 1315 "parser.yy"
    66926746    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    66936747    break;
     
    66966750
    66976751/* Line 1806 of yacc.c  */
    6698 #line 1315 "parser.yy"
     6752#line 1317 "parser.yy"
    66996753    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67006754    break;
     
    67036757
    67046758/* Line 1806 of yacc.c  */
    6705 #line 1317 "parser.yy"
     6759#line 1319 "parser.yy"
    67066760    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67076761    break;
     
    67106764
    67116765/* Line 1806 of yacc.c  */
    6712 #line 1319 "parser.yy"
     6766#line 1321 "parser.yy"
    67136767    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67146768    break;
     
    67176771
    67186772/* Line 1806 of yacc.c  */
    6719 #line 1324 "parser.yy"
     6773#line 1326 "parser.yy"
    67206774    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67216775    break;
     
    67246778
    67256779/* Line 1806 of yacc.c  */
    6726 #line 1326 "parser.yy"
     6780#line 1328 "parser.yy"
    67276781    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67286782    break;
     
    67316785
    67326786/* Line 1806 of yacc.c  */
    6733 #line 1328 "parser.yy"
     6787#line 1330 "parser.yy"
    67346788    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67356789    break;
     
    67386792
    67396793/* Line 1806 of yacc.c  */
    6740 #line 1330 "parser.yy"
     6794#line 1332 "parser.yy"
    67416795    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67426796    break;
     
    67456799
    67466800/* Line 1806 of yacc.c  */
    6747 #line 1332 "parser.yy"
     6801#line 1334 "parser.yy"
    67486802    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    67496803    break;
     
    67526806
    67536807/* Line 1806 of yacc.c  */
    6754 #line 1334 "parser.yy"
     6808#line 1336 "parser.yy"
    67556809    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    67566810    break;
     
    67596813
    67606814/* Line 1806 of yacc.c  */
    6761 #line 1336 "parser.yy"
     6815#line 1338 "parser.yy"
    67626816    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    67636817    break;
     
    67666820
    67676821/* Line 1806 of yacc.c  */
    6768 #line 1338 "parser.yy"
     6822#line 1340 "parser.yy"
    67696823    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    67706824    break;
     
    67736827
    67746828/* Line 1806 of yacc.c  */
    6775 #line 1340 "parser.yy"
     6829#line 1342 "parser.yy"
    67766830    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67776831    break;
     
    67806834
    67816835/* Line 1806 of yacc.c  */
    6782 #line 1342 "parser.yy"
     6836#line 1344 "parser.yy"
    67836837    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67846838    break;
     
    67876841
    67886842/* Line 1806 of yacc.c  */
    6789 #line 1344 "parser.yy"
     6843#line 1346 "parser.yy"
    67906844    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    67916845    break;
     
    67946848
    67956849/* Line 1806 of yacc.c  */
    6796 #line 1346 "parser.yy"
     6850#line 1348 "parser.yy"
    67976851    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    67986852    break;
    67996853
    6800   case 334:
    6801 
    6802 /* Line 1806 of yacc.c  */
    6803 #line 1353 "parser.yy"
     6854  case 333:
     6855
     6856/* Line 1806 of yacc.c  */
     6857#line 1350 "parser.yy"
     6858    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     6859    break;
     6860
     6861  case 335:
     6862
     6863/* Line 1806 of yacc.c  */
     6864#line 1357 "parser.yy"
    68046865    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68056866    break;
    68066867
    6807   case 335:
    6808 
    6809 /* Line 1806 of yacc.c  */
    6810 #line 1355 "parser.yy"
     6868  case 336:
     6869
     6870/* Line 1806 of yacc.c  */
     6871#line 1359 "parser.yy"
    68116872    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68126873    break;
    68136874
    6814   case 336:
    6815 
    6816 /* Line 1806 of yacc.c  */
    6817 #line 1357 "parser.yy"
     6875  case 337:
     6876
     6877/* Line 1806 of yacc.c  */
     6878#line 1361 "parser.yy"
    68186879    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68196880    break;
    68206881
    6821   case 337:
    6822 
    6823 /* Line 1806 of yacc.c  */
    6824 #line 1359 "parser.yy"
     6882  case 338:
     6883
     6884/* Line 1806 of yacc.c  */
     6885#line 1363 "parser.yy"
    68256886    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68266887    break;
    68276888
    6828   case 339:
    6829 
    6830 /* Line 1806 of yacc.c  */
    6831 #line 1365 "parser.yy"
     6889  case 340:
     6890
     6891/* Line 1806 of yacc.c  */
     6892#line 1369 "parser.yy"
    68326893    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68336894    break;
    68346895
    6835   case 341:
    6836 
    6837 /* Line 1806 of yacc.c  */
    6838 #line 1372 "parser.yy"
     6896  case 342:
     6897
     6898/* Line 1806 of yacc.c  */
     6899#line 1376 "parser.yy"
    68396900    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68406901    break;
    68416902
    6842   case 342:
    6843 
    6844 /* Line 1806 of yacc.c  */
    6845 #line 1374 "parser.yy"
     6903  case 343:
     6904
     6905/* Line 1806 of yacc.c  */
     6906#line 1378 "parser.yy"
    68466907    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68476908    break;
    68486909
    6849   case 343:
    6850 
    6851 /* Line 1806 of yacc.c  */
    6852 #line 1376 "parser.yy"
     6910  case 344:
     6911
     6912/* Line 1806 of yacc.c  */
     6913#line 1380 "parser.yy"
    68536914    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68546915    break;
    68556916
    6856   case 344:
    6857 
    6858 /* Line 1806 of yacc.c  */
    6859 #line 1381 "parser.yy"
     6917  case 345:
     6918
     6919/* Line 1806 of yacc.c  */
     6920#line 1385 "parser.yy"
    68606921    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68616922    break;
    68626923
    6863   case 345:
    6864 
    6865 /* Line 1806 of yacc.c  */
    6866 #line 1383 "parser.yy"
     6924  case 346:
     6925
     6926/* Line 1806 of yacc.c  */
     6927#line 1387 "parser.yy"
    68676928    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68686929    break;
    68696930
    6870   case 346:
    6871 
    6872 /* Line 1806 of yacc.c  */
    6873 #line 1385 "parser.yy"
     6931  case 347:
     6932
     6933/* Line 1806 of yacc.c  */
     6934#line 1389 "parser.yy"
    68746935    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68756936    break;
    68766937
    6877   case 347:
    6878 
    6879 /* Line 1806 of yacc.c  */
    6880 #line 1387 "parser.yy"
     6938  case 348:
     6939
     6940/* Line 1806 of yacc.c  */
     6941#line 1391 "parser.yy"
    68816942    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68826943    break;
    68836944
    6884   case 349:
    6885 
    6886 /* Line 1806 of yacc.c  */
    6887 #line 1393 "parser.yy"
     6945  case 350:
     6946
     6947/* Line 1806 of yacc.c  */
     6948#line 1397 "parser.yy"
    68886949    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68896950    break;
    68906951
    6891   case 350:
    6892 
    6893 /* Line 1806 of yacc.c  */
    6894 #line 1395 "parser.yy"
     6952  case 351:
     6953
     6954/* Line 1806 of yacc.c  */
     6955#line 1399 "parser.yy"
    68956956    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68966957    break;
    68976958
    6898   case 351:
    6899 
    6900 /* Line 1806 of yacc.c  */
    6901 #line 1397 "parser.yy"
     6959  case 352:
     6960
     6961/* Line 1806 of yacc.c  */
     6962#line 1401 "parser.yy"
    69026963    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69036964    break;
    69046965
    6905   case 353:
    6906 
    6907 /* Line 1806 of yacc.c  */
    6908 #line 1403 "parser.yy"
     6966  case 354:
     6967
     6968/* Line 1806 of yacc.c  */
     6969#line 1407 "parser.yy"
    69096970    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69106971    break;
    69116972
    6912   case 354:
    6913 
    6914 /* Line 1806 of yacc.c  */
    6915 #line 1405 "parser.yy"
     6973  case 355:
     6974
     6975/* Line 1806 of yacc.c  */
     6976#line 1409 "parser.yy"
    69166977    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69176978    break;
    69186979
    6919   case 356:
    6920 
    6921 /* Line 1806 of yacc.c  */
    6922 #line 1411 "parser.yy"
     6980  case 357:
     6981
     6982/* Line 1806 of yacc.c  */
     6983#line 1415 "parser.yy"
    69236984    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69246985    break;
    69256986
    6926   case 357:
    6927 
    6928 /* Line 1806 of yacc.c  */
    6929 #line 1413 "parser.yy"
     6987  case 358:
     6988
     6989/* Line 1806 of yacc.c  */
     6990#line 1417 "parser.yy"
    69306991    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69316992    break;
    69326993
    6933   case 358:
    6934 
    6935 /* Line 1806 of yacc.c  */
    6936 #line 1415 "parser.yy"
     6994  case 359:
     6995
     6996/* Line 1806 of yacc.c  */
     6997#line 1419 "parser.yy"
    69376998    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69386999    break;
    69397000
    6940   case 359:
    6941 
    6942 /* Line 1806 of yacc.c  */
    6943 #line 1420 "parser.yy"
     7001  case 360:
     7002
     7003/* Line 1806 of yacc.c  */
     7004#line 1424 "parser.yy"
    69447005    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69457006    break;
    69467007
    6947   case 360:
    6948 
    6949 /* Line 1806 of yacc.c  */
    6950 #line 1422 "parser.yy"
     7008  case 361:
     7009
     7010/* Line 1806 of yacc.c  */
     7011#line 1426 "parser.yy"
    69517012    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69527013    break;
    69537014
    6954   case 361:
    6955 
    6956 /* Line 1806 of yacc.c  */
    6957 #line 1424 "parser.yy"
     7015  case 362:
     7016
     7017/* Line 1806 of yacc.c  */
     7018#line 1428 "parser.yy"
    69587019    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69597020    break;
    69607021
    6961   case 364:
    6962 
    6963 /* Line 1806 of yacc.c  */
    6964 #line 1434 "parser.yy"
     7022  case 365:
     7023
     7024/* Line 1806 of yacc.c  */
     7025#line 1438 "parser.yy"
    69657026    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    69667027    break;
    69677028
    6968   case 365:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1436 "parser.yy"
     7029  case 366:
     7030
     7031/* Line 1806 of yacc.c  */
     7032#line 1440 "parser.yy"
    69727033    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    69737034    break;
    69747035
    6975   case 366:
    6976 
    6977 /* Line 1806 of yacc.c  */
    6978 #line 1438 "parser.yy"
     7036  case 367:
     7037
     7038/* Line 1806 of yacc.c  */
     7039#line 1442 "parser.yy"
    69797040    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
    69807041    break;
    69817042
    6982   case 367:
    6983 
    6984 /* Line 1806 of yacc.c  */
    6985 #line 1440 "parser.yy"
     7043  case 368:
     7044
     7045/* Line 1806 of yacc.c  */
     7046#line 1444 "parser.yy"
    69867047    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    69877048    break;
    69887049
    6989   case 368:
    6990 
    6991 /* Line 1806 of yacc.c  */
    6992 #line 1442 "parser.yy"
     7050  case 369:
     7051
     7052/* Line 1806 of yacc.c  */
     7053#line 1446 "parser.yy"
    69937054    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69947055    break;
    69957056
    6996   case 369:
    6997 
    6998 /* Line 1806 of yacc.c  */
    6999 #line 1447 "parser.yy"
     7057  case 370:
     7058
     7059/* Line 1806 of yacc.c  */
     7060#line 1451 "parser.yy"
    70007061    { (yyval.aggKey) = DeclarationNode::Struct; }
    70017062    break;
    70027063
    7003   case 370:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1449 "parser.yy"
     7064  case 371:
     7065
     7066/* Line 1806 of yacc.c  */
     7067#line 1453 "parser.yy"
    70077068    { (yyval.aggKey) = DeclarationNode::Union; }
    70087069    break;
    70097070
    7010   case 371:
    7011 
    7012 /* Line 1806 of yacc.c  */
    7013 #line 1454 "parser.yy"
     7071  case 372:
     7072
     7073/* Line 1806 of yacc.c  */
     7074#line 1458 "parser.yy"
    70147075    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    70157076    break;
    70167077
    7017   case 372:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1456 "parser.yy"
     7078  case 373:
     7079
     7080/* Line 1806 of yacc.c  */
     7081#line 1460 "parser.yy"
    70217082    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    70227083    break;
    70237084
    7024   case 374:
    7025 
    7026 /* Line 1806 of yacc.c  */
    7027 #line 1462 "parser.yy"
     7085  case 375:
     7086
     7087/* Line 1806 of yacc.c  */
     7088#line 1466 "parser.yy"
    70287089    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    70297090    break;
    70307091
    7031   case 376:
    7032 
    7033 /* Line 1806 of yacc.c  */
    7034 #line 1465 "parser.yy"
     7092  case 377:
     7093
     7094/* Line 1806 of yacc.c  */
     7095#line 1469 "parser.yy"
    70357096    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    70367097    break;
    70377098
    7038   case 378:
    7039 
    7040 /* Line 1806 of yacc.c  */
    7041 #line 1471 "parser.yy"
     7099  case 379:
     7100
     7101/* Line 1806 of yacc.c  */
     7102#line 1475 "parser.yy"
    70427103    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70437104    break;
    70447105
    7045   case 379:
    7046 
    7047 /* Line 1806 of yacc.c  */
    7048 #line 1473 "parser.yy"
     7106  case 380:
     7107
     7108/* Line 1806 of yacc.c  */
     7109#line 1477 "parser.yy"
    70497110    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70507111    break;
    70517112
    7052   case 380:
    7053 
    7054 /* Line 1806 of yacc.c  */
    7055 #line 1475 "parser.yy"
     7113  case 381:
     7114
     7115/* Line 1806 of yacc.c  */
     7116#line 1479 "parser.yy"
    70567117    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70577118    break;
    70587119
    7059   case 381:
    7060 
    7061 /* Line 1806 of yacc.c  */
    7062 #line 1480 "parser.yy"
     7120  case 382:
     7121
     7122/* Line 1806 of yacc.c  */
     7123#line 1484 "parser.yy"
    70637124    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70647125    break;
    70657126
    7066   case 382:
    7067 
    7068 /* Line 1806 of yacc.c  */
    7069 #line 1482 "parser.yy"
     7127  case 383:
     7128
     7129/* Line 1806 of yacc.c  */
     7130#line 1486 "parser.yy"
    70707131    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70717132    break;
    70727133
    7073   case 383:
    7074 
    7075 /* Line 1806 of yacc.c  */
    7076 #line 1487 "parser.yy"
     7134  case 384:
     7135
     7136/* Line 1806 of yacc.c  */
     7137#line 1491 "parser.yy"
    70777138    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70787139    break;
    70797140
    7080   case 384:
    7081 
    7082 /* Line 1806 of yacc.c  */
    7083 #line 1489 "parser.yy"
     7141  case 385:
     7142
     7143/* Line 1806 of yacc.c  */
     7144#line 1493 "parser.yy"
    70847145    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70857146    break;
    70867147
    7087   case 385:
    7088 
    7089 /* Line 1806 of yacc.c  */
    7090 #line 1492 "parser.yy"
     7148  case 386:
     7149
     7150/* Line 1806 of yacc.c  */
     7151#line 1496 "parser.yy"
    70917152    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70927153    break;
    70937154
    7094   case 386:
    7095 
    7096 /* Line 1806 of yacc.c  */
    7097 #line 1495 "parser.yy"
     7155  case 387:
     7156
     7157/* Line 1806 of yacc.c  */
     7158#line 1499 "parser.yy"
    70987159    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70997160    break;
    71007161
    7101   case 388:
    7102 
    7103 /* Line 1806 of yacc.c  */
    7104 #line 1501 "parser.yy"
     7162  case 389:
     7163
     7164/* Line 1806 of yacc.c  */
     7165#line 1505 "parser.yy"
    71057166    { (yyval.en) = 0; }
    71067167    break;
    71077168
    7108   case 389:
    7109 
    7110 /* Line 1806 of yacc.c  */
    7111 #line 1503 "parser.yy"
     7169  case 390:
     7170
     7171/* Line 1806 of yacc.c  */
     7172#line 1507 "parser.yy"
    71127173    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71137174    break;
    71147175
    7115   case 390:
    7116 
    7117 /* Line 1806 of yacc.c  */
    7118 #line 1508 "parser.yy"
     7176  case 391:
     7177
     7178/* Line 1806 of yacc.c  */
     7179#line 1512 "parser.yy"
    71197180    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71207181    break;
    71217182
    7122   case 392:
    7123 
    7124 /* Line 1806 of yacc.c  */
    7125 #line 1517 "parser.yy"
     7183  case 393:
     7184
     7185/* Line 1806 of yacc.c  */
     7186#line 1521 "parser.yy"
    71267187    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71277188    break;
    71287189
    7129   case 393:
    7130 
    7131 /* Line 1806 of yacc.c  */
    7132 #line 1519 "parser.yy"
     7190  case 394:
     7191
     7192/* Line 1806 of yacc.c  */
     7193#line 1523 "parser.yy"
    71337194    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    71347195    break;
    71357196
    7136   case 394:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1521 "parser.yy"
     7197  case 395:
     7198
     7199/* Line 1806 of yacc.c  */
     7200#line 1525 "parser.yy"
    71407201    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    71417202    break;
    71427203
    7143   case 395:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1526 "parser.yy"
     7204  case 396:
     7205
     7206/* Line 1806 of yacc.c  */
     7207#line 1530 "parser.yy"
    71477208    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71487209    break;
    71497210
    7150   case 396:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1528 "parser.yy"
     7211  case 397:
     7212
     7213/* Line 1806 of yacc.c  */
     7214#line 1532 "parser.yy"
    71547215    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71557216    break;
    71567217
    7157   case 397:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1533 "parser.yy"
     7218  case 398:
     7219
     7220/* Line 1806 of yacc.c  */
     7221#line 1537 "parser.yy"
    71617222    { (yyval.en) = 0; }
    71627223    break;
    71637224
    7164   case 398:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1535 "parser.yy"
     7225  case 399:
     7226
     7227/* Line 1806 of yacc.c  */
     7228#line 1539 "parser.yy"
    71687229    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71697230    break;
    71707231
    7171   case 399:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1542 "parser.yy"
     7232  case 400:
     7233
     7234/* Line 1806 of yacc.c  */
     7235#line 1546 "parser.yy"
    71757236    { (yyval.decl) = 0; }
    71767237    break;
    71777238
    7178   case 403:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1550 "parser.yy"
     7239  case 404:
     7240
     7241/* Line 1806 of yacc.c  */
     7242#line 1554 "parser.yy"
    71827243    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71837244    break;
    71847245
    7185   case 404:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1552 "parser.yy"
     7246  case 405:
     7247
     7248/* Line 1806 of yacc.c  */
     7249#line 1556 "parser.yy"
    71897250    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71907251    break;
    71917252
    7192   case 405:
    7193 
    7194 /* Line 1806 of yacc.c  */
    7195 #line 1554 "parser.yy"
     7253  case 406:
     7254
     7255/* Line 1806 of yacc.c  */
     7256#line 1558 "parser.yy"
    71967257    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71977258    break;
    71987259
    7199   case 407:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1562 "parser.yy"
     7260  case 408:
     7261
     7262/* Line 1806 of yacc.c  */
     7263#line 1566 "parser.yy"
    72037264    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72047265    break;
    72057266
    7206   case 408:
    7207 
    7208 /* Line 1806 of yacc.c  */
    7209 #line 1564 "parser.yy"
     7267  case 409:
     7268
     7269/* Line 1806 of yacc.c  */
     7270#line 1568 "parser.yy"
    72107271    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72117272    break;
    72127273
    7213   case 409:
    7214 
    7215 /* Line 1806 of yacc.c  */
    7216 #line 1566 "parser.yy"
     7274  case 410:
     7275
     7276/* Line 1806 of yacc.c  */
     7277#line 1570 "parser.yy"
    72177278    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72187279    break;
    72197280
    7220   case 411:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1572 "parser.yy"
     7281  case 412:
     7282
     7283/* Line 1806 of yacc.c  */
     7284#line 1576 "parser.yy"
    72247285    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72257286    break;
    72267287
    7227   case 412:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1577 "parser.yy"
     7288  case 413:
     7289
     7290/* Line 1806 of yacc.c  */
     7291#line 1581 "parser.yy"
    72317292    { (yyval.decl) = 0; }
    72327293    break;
    72337294
    7234   case 415:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1584 "parser.yy"
     7295  case 416:
     7296
     7297/* Line 1806 of yacc.c  */
     7298#line 1588 "parser.yy"
    72387299    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72397300    break;
    72407301
    7241   case 418:
    7242 
    7243 /* Line 1806 of yacc.c  */
    7244 #line 1591 "parser.yy"
     7302  case 419:
     7303
     7304/* Line 1806 of yacc.c  */
     7305#line 1595 "parser.yy"
    72457306    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72467307    break;
    72477308
    7248   case 419:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1593 "parser.yy"
     7309  case 420:
     7310
     7311/* Line 1806 of yacc.c  */
     7312#line 1597 "parser.yy"
    72527313    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72537314    break;
    72547315
    7255   case 421:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1602 "parser.yy"
     7316  case 422:
     7317
     7318/* Line 1806 of yacc.c  */
     7319#line 1606 "parser.yy"
    72597320    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72607321    break;
    72617322
    7262   case 422:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1605 "parser.yy"
     7323  case 423:
     7324
     7325/* Line 1806 of yacc.c  */
     7326#line 1609 "parser.yy"
    72667327    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72677328    break;
    72687329
    7269   case 423:
    7270 
    7271 /* Line 1806 of yacc.c  */
    7272 #line 1607 "parser.yy"
     7330  case 424:
     7331
     7332/* Line 1806 of yacc.c  */
     7333#line 1611 "parser.yy"
    72737334    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72747335    break;
    72757336
    7276   case 428:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1617 "parser.yy"
     7337  case 429:
     7338
     7339/* Line 1806 of yacc.c  */
     7340#line 1621 "parser.yy"
    72807341    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72817342    break;
    72827343
    7283   case 430:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1623 "parser.yy"
     7344  case 431:
     7345
     7346/* Line 1806 of yacc.c  */
     7347#line 1627 "parser.yy"
    72877348    {
    72887349                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72917352    break;
    72927353
    7293   case 431:
    7294 
    7295 /* Line 1806 of yacc.c  */
    7296 #line 1628 "parser.yy"
     7354  case 432:
     7355
     7356/* Line 1806 of yacc.c  */
     7357#line 1632 "parser.yy"
    72977358    {
    72987359                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73017362    break;
    73027363
    7303   case 433:
    7304 
    7305 /* Line 1806 of yacc.c  */
    7306 #line 1637 "parser.yy"
     7364  case 434:
     7365
     7366/* Line 1806 of yacc.c  */
     7367#line 1641 "parser.yy"
    73077368    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73087369    break;
    73097370
    7310   case 434:
    7311 
    7312 /* Line 1806 of yacc.c  */
    7313 #line 1646 "parser.yy"
     7371  case 435:
     7372
     7373/* Line 1806 of yacc.c  */
     7374#line 1650 "parser.yy"
    73147375    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73157376    break;
    73167377
    7317   case 435:
    7318 
    7319 /* Line 1806 of yacc.c  */
    7320 #line 1648 "parser.yy"
     7378  case 436:
     7379
     7380/* Line 1806 of yacc.c  */
     7381#line 1652 "parser.yy"
    73217382    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73227383    break;
    73237384
    7324   case 447:
    7325 
    7326 /* Line 1806 of yacc.c  */
    7327 #line 1673 "parser.yy"
     7385  case 448:
     7386
     7387/* Line 1806 of yacc.c  */
     7388#line 1677 "parser.yy"
    73287389    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73297390    break;
    73307391
    7331   case 451:
    7332 
    7333 /* Line 1806 of yacc.c  */
    7334 #line 1681 "parser.yy"
     7392  case 452:
     7393
     7394/* Line 1806 of yacc.c  */
     7395#line 1685 "parser.yy"
    73357396    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73367397    break;
    73377398
    7338   case 452:
    7339 
    7340 /* Line 1806 of yacc.c  */
    7341 #line 1686 "parser.yy"
     7399  case 453:
     7400
     7401/* Line 1806 of yacc.c  */
     7402#line 1690 "parser.yy"
    73427403    { (yyval.in) = 0; }
    73437404    break;
    73447405
    7345   case 453:
    7346 
    7347 /* Line 1806 of yacc.c  */
    7348 #line 1688 "parser.yy"
     7406  case 454:
     7407
     7408/* Line 1806 of yacc.c  */
     7409#line 1692 "parser.yy"
    73497410    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73507411    break;
    73517412
    7352   case 454:
    7353 
    7354 /* Line 1806 of yacc.c  */
    7355 #line 1690 "parser.yy"
     7413  case 455:
     7414
     7415/* Line 1806 of yacc.c  */
     7416#line 1694 "parser.yy"
    73567417    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73577418    break;
    73587419
    7359   case 455:
    7360 
    7361 /* Line 1806 of yacc.c  */
    7362 #line 1694 "parser.yy"
     7420  case 456:
     7421
     7422/* Line 1806 of yacc.c  */
     7423#line 1698 "parser.yy"
    73637424    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73647425    break;
    73657426
    7366   case 456:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1695 "parser.yy"
     7427  case 457:
     7428
     7429/* Line 1806 of yacc.c  */
     7430#line 1699 "parser.yy"
    73707431    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73717432    break;
    73727433
    7373   case 457:
    7374 
    7375 /* Line 1806 of yacc.c  */
    7376 #line 1700 "parser.yy"
     7434  case 458:
     7435
     7436/* Line 1806 of yacc.c  */
     7437#line 1704 "parser.yy"
    73777438    { (yyval.in) = 0; }
    73787439    break;
    73797440
    7380   case 459:
    7381 
    7382 /* Line 1806 of yacc.c  */
    7383 #line 1702 "parser.yy"
     7441  case 460:
     7442
     7443/* Line 1806 of yacc.c  */
     7444#line 1706 "parser.yy"
    73847445    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73857446    break;
    73867447
    7387   case 460:
    7388 
    7389 /* Line 1806 of yacc.c  */
    7390 #line 1703 "parser.yy"
     7448  case 461:
     7449
     7450/* Line 1806 of yacc.c  */
     7451#line 1707 "parser.yy"
    73917452    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    73927453    break;
    73937454
    7394   case 461:
    7395 
    7396 /* Line 1806 of yacc.c  */
    7397 #line 1705 "parser.yy"
     7455  case 462:
     7456
     7457/* Line 1806 of yacc.c  */
     7458#line 1709 "parser.yy"
    73987459    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73997460    break;
    74007461
    7401   case 463:
    7402 
    7403 /* Line 1806 of yacc.c  */
    7404 #line 1721 "parser.yy"
     7462  case 464:
     7463
     7464/* Line 1806 of yacc.c  */
     7465#line 1725 "parser.yy"
    74057466    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    74067467    break;
    74077468
    7408   case 465:
    7409 
    7410 /* Line 1806 of yacc.c  */
    7411 #line 1727 "parser.yy"
     7469  case 466:
     7470
     7471/* Line 1806 of yacc.c  */
     7472#line 1731 "parser.yy"
    74127473    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    74137474    break;
    74147475
    7415   case 466:
    7416 
    7417 /* Line 1806 of yacc.c  */
    7418 #line 1735 "parser.yy"
     7476  case 467:
     7477
     7478/* Line 1806 of yacc.c  */
     7479#line 1739 "parser.yy"
    74197480    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    74207481    break;
    74217482
    7422   case 467:
    7423 
    7424 /* Line 1806 of yacc.c  */
    7425 #line 1737 "parser.yy"
     7483  case 468:
     7484
     7485/* Line 1806 of yacc.c  */
     7486#line 1741 "parser.yy"
    74267487    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    74277488    break;
    74287489
    7429   case 468:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1740 "parser.yy"
     7490  case 469:
     7491
     7492/* Line 1806 of yacc.c  */
     7493#line 1744 "parser.yy"
    74337494    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74347495    break;
    74357496
    7436   case 469:
    7437 
    7438 /* Line 1806 of yacc.c  */
    7439 #line 1742 "parser.yy"
     7497  case 470:
     7498
     7499/* Line 1806 of yacc.c  */
     7500#line 1746 "parser.yy"
    74407501    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74417502    break;
    74427503
    7443   case 470:
    7444 
    7445 /* Line 1806 of yacc.c  */
    7446 #line 1744 "parser.yy"
     7504  case 471:
     7505
     7506/* Line 1806 of yacc.c  */
     7507#line 1748 "parser.yy"
    74477508    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    74487509    break;
    74497510
    7450   case 471:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1746 "parser.yy"
     7511  case 472:
     7512
     7513/* Line 1806 of yacc.c  */
     7514#line 1750 "parser.yy"
    74547515    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    74557516    break;
    74567517
    7457   case 473:
    7458 
    7459 /* Line 1806 of yacc.c  */
    7460 #line 1770 "parser.yy"
     7518  case 474:
     7519
     7520/* Line 1806 of yacc.c  */
     7521#line 1774 "parser.yy"
    74617522    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74627523    break;
    74637524
    7464   case 474:
    7465 
    7466 /* Line 1806 of yacc.c  */
    7467 #line 1772 "parser.yy"
     7525  case 475:
     7526
     7527/* Line 1806 of yacc.c  */
     7528#line 1776 "parser.yy"
    74687529    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74697530    break;
    74707531
    7471   case 475:
    7472 
    7473 /* Line 1806 of yacc.c  */
    7474 #line 1774 "parser.yy"
     7532  case 476:
     7533
     7534/* Line 1806 of yacc.c  */
     7535#line 1778 "parser.yy"
    74757536    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74767537    break;
    74777538
    7478   case 477:
    7479 
    7480 /* Line 1806 of yacc.c  */
    7481 #line 1780 "parser.yy"
     7539  case 478:
     7540
     7541/* Line 1806 of yacc.c  */
     7542#line 1784 "parser.yy"
    74827543    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74837544    break;
    74847545
    7485   case 478:
    7486 
    7487 /* Line 1806 of yacc.c  */
    7488 #line 1782 "parser.yy"
     7546  case 479:
     7547
     7548/* Line 1806 of yacc.c  */
     7549#line 1786 "parser.yy"
    74897550    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74907551    break;
    74917552
    7492   case 479:
    7493 
    7494 /* Line 1806 of yacc.c  */
    7495 #line 1787 "parser.yy"
     7553  case 480:
     7554
     7555/* Line 1806 of yacc.c  */
     7556#line 1791 "parser.yy"
    74967557    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74977558    break;
    74987559
    7499   case 481:
    7500 
    7501 /* Line 1806 of yacc.c  */
    7502 #line 1793 "parser.yy"
     7560  case 482:
     7561
     7562/* Line 1806 of yacc.c  */
     7563#line 1797 "parser.yy"
    75037564    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75047565    break;
    75057566
    7506   case 482:
    7507 
    7508 /* Line 1806 of yacc.c  */
    7509 #line 1798 "parser.yy"
     7567  case 483:
     7568
     7569/* Line 1806 of yacc.c  */
     7570#line 1802 "parser.yy"
    75107571    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75117572    break;
    75127573
    7513   case 483:
    7514 
    7515 /* Line 1806 of yacc.c  */
    7516 #line 1800 "parser.yy"
     7574  case 484:
     7575
     7576/* Line 1806 of yacc.c  */
     7577#line 1804 "parser.yy"
    75177578    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75187579    break;
    75197580
    7520   case 485:
    7521 
    7522 /* Line 1806 of yacc.c  */
    7523 #line 1806 "parser.yy"
     7581  case 486:
     7582
     7583/* Line 1806 of yacc.c  */
     7584#line 1810 "parser.yy"
    75247585    { (yyval.tclass) = DeclarationNode::Type; }
    75257586    break;
    75267587
    7527   case 486:
    7528 
    7529 /* Line 1806 of yacc.c  */
    7530 #line 1808 "parser.yy"
     7588  case 487:
     7589
     7590/* Line 1806 of yacc.c  */
     7591#line 1812 "parser.yy"
    75317592    { (yyval.tclass) = DeclarationNode::Ftype; }
    75327593    break;
    75337594
    7534   case 487:
    7535 
    7536 /* Line 1806 of yacc.c  */
    7537 #line 1810 "parser.yy"
     7595  case 488:
     7596
     7597/* Line 1806 of yacc.c  */
     7598#line 1814 "parser.yy"
    75387599    { (yyval.tclass) = DeclarationNode::Dtype; }
    75397600    break;
    75407601
    7541   case 488:
    7542 
    7543 /* Line 1806 of yacc.c  */
    7544 #line 1815 "parser.yy"
     7602  case 489:
     7603
     7604/* Line 1806 of yacc.c  */
     7605#line 1819 "parser.yy"
    75457606    { (yyval.decl) = 0; }
    75467607    break;
    75477608
    7548   case 489:
    7549 
    7550 /* Line 1806 of yacc.c  */
    7551 #line 1817 "parser.yy"
     7609  case 490:
     7610
     7611/* Line 1806 of yacc.c  */
     7612#line 1821 "parser.yy"
    75527613    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    75537614    break;
    75547615
    7555   case 490:
    7556 
    7557 /* Line 1806 of yacc.c  */
    7558 #line 1822 "parser.yy"
     7616  case 491:
     7617
     7618/* Line 1806 of yacc.c  */
     7619#line 1826 "parser.yy"
    75597620    {
    7560                         typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
    7561                         (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
     7621                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     7622                        (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
    75627623                }
    75637624    break;
    75647625
    7565   case 491:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1827 "parser.yy"
     7626  case 492:
     7627
     7628/* Line 1806 of yacc.c  */
     7629#line 1831 "parser.yy"
    75697630    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75707631    break;
    75717632
    7572   case 492:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1829 "parser.yy"
     7633  case 493:
     7634
     7635/* Line 1806 of yacc.c  */
     7636#line 1833 "parser.yy"
    75767637    { (yyval.decl) = 0; }
    75777638    break;
    75787639
    7579   case 493:
    7580 
    7581 /* Line 1806 of yacc.c  */
    7582 #line 1834 "parser.yy"
     7640  case 494:
     7641
     7642/* Line 1806 of yacc.c  */
     7643#line 1838 "parser.yy"
    75837644    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    75847645    break;
    75857646
    7586   case 495:
    7587 
    7588 /* Line 1806 of yacc.c  */
    7589 #line 1837 "parser.yy"
     7647  case 496:
     7648
     7649/* Line 1806 of yacc.c  */
     7650#line 1841 "parser.yy"
    75907651    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    75917652    break;
    75927653
    7593   case 496:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1839 "parser.yy"
     7654  case 497:
     7655
     7656/* Line 1806 of yacc.c  */
     7657#line 1843 "parser.yy"
    75977658    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    75987659    break;
    75997660
    7600   case 497:
    7601 
    7602 /* Line 1806 of yacc.c  */
    7603 #line 1844 "parser.yy"
     7661  case 498:
     7662
     7663/* Line 1806 of yacc.c  */
     7664#line 1848 "parser.yy"
    76047665    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76057666    break;
    76067667
    7607   case 498:
    7608 
    7609 /* Line 1806 of yacc.c  */
    7610 #line 1846 "parser.yy"
     7668  case 499:
     7669
     7670/* Line 1806 of yacc.c  */
     7671#line 1850 "parser.yy"
    76117672    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76127673    break;
    76137674
    7614   case 499:
    7615 
    7616 /* Line 1806 of yacc.c  */
    7617 #line 1848 "parser.yy"
     7675  case 500:
     7676
     7677/* Line 1806 of yacc.c  */
     7678#line 1852 "parser.yy"
    76187679    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76197680    break;
    76207681
    7621   case 500:
    7622 
    7623 /* Line 1806 of yacc.c  */
    7624 #line 1853 "parser.yy"
     7682  case 501:
     7683
     7684/* Line 1806 of yacc.c  */
     7685#line 1857 "parser.yy"
    76257686    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76267687    break;
    76277688
    7628   case 501:
    7629 
    7630 /* Line 1806 of yacc.c  */
    7631 #line 1855 "parser.yy"
     7689  case 502:
     7690
     7691/* Line 1806 of yacc.c  */
     7692#line 1859 "parser.yy"
    76327693    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76337694    break;
    76347695
    7635   case 502:
    7636 
    7637 /* Line 1806 of yacc.c  */
    7638 #line 1860 "parser.yy"
     7696  case 503:
     7697
     7698/* Line 1806 of yacc.c  */
     7699#line 1864 "parser.yy"
    76397700    {
    76407701                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76437704    break;
    76447705
    7645   case 503:
    7646 
    7647 /* Line 1806 of yacc.c  */
    7648 #line 1865 "parser.yy"
     7706  case 504:
     7707
     7708/* Line 1806 of yacc.c  */
     7709#line 1869 "parser.yy"
    76497710    {
    76507711                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76537714    break;
    76547715
    7655   case 504:
    7656 
    7657 /* Line 1806 of yacc.c  */
    7658 #line 1873 "parser.yy"
     7716  case 505:
     7717
     7718/* Line 1806 of yacc.c  */
     7719#line 1877 "parser.yy"
    76597720    {
    76607721                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
    7661                         (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
     7722                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
    76627723                }
    76637724    break;
    76647725
    7665   case 505:
    7666 
    7667 /* Line 1806 of yacc.c  */
    7668 #line 1878 "parser.yy"
     7726  case 506:
     7727
     7728/* Line 1806 of yacc.c  */
     7729#line 1882 "parser.yy"
    76697730    {
    7670                         typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     7731                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
    76717732                        typedefTable.enterScope();
    76727733                }
    76737734    break;
    76747735
    7675   case 506:
    7676 
    7677 /* Line 1806 of yacc.c  */
    7678 #line 1883 "parser.yy"
     7736  case 507:
     7737
     7738/* Line 1806 of yacc.c  */
     7739#line 1887 "parser.yy"
    76797740    {
    7680                         typedefTable.leaveContext();
     7741                        typedefTable.leaveTrait();
    76817742                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID );
    7682                         (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
     7743                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
    76837744                }
    76847745    break;
    76857746
    7686   case 508:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1893 "parser.yy"
     7747  case 509:
     7748
     7749/* Line 1806 of yacc.c  */
     7750#line 1897 "parser.yy"
    76907751    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76917752    break;
    76927753
    7693   case 511:
    7694 
    7695 /* Line 1806 of yacc.c  */
    7696 #line 1903 "parser.yy"
     7754  case 512:
     7755
     7756/* Line 1806 of yacc.c  */
     7757#line 1907 "parser.yy"
    76977758    {
    76987759                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77017762    break;
    77027763
    7703   case 512:
    7704 
    7705 /* Line 1806 of yacc.c  */
    7706 #line 1908 "parser.yy"
     7764  case 513:
     7765
     7766/* Line 1806 of yacc.c  */
     7767#line 1912 "parser.yy"
    77077768    {
    77087769                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77117772    break;
    77127773
    7713   case 513:
    7714 
    7715 /* Line 1806 of yacc.c  */
    7716 #line 1913 "parser.yy"
     7774  case 514:
     7775
     7776/* Line 1806 of yacc.c  */
     7777#line 1917 "parser.yy"
    77177778    {
    77187779                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77217782    break;
    77227783
    7723   case 514:
    7724 
    7725 /* Line 1806 of yacc.c  */
    7726 #line 1921 "parser.yy"
     7784  case 515:
     7785
     7786/* Line 1806 of yacc.c  */
     7787#line 1925 "parser.yy"
    77277788    {
    77287789                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77317792    break;
    77327793
    7733   case 515:
    7734 
    7735 /* Line 1806 of yacc.c  */
    7736 #line 1926 "parser.yy"
     7794  case 516:
     7795
     7796/* Line 1806 of yacc.c  */
     7797#line 1930 "parser.yy"
    77377798    {
    77387799                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77417802    break;
    77427803
    7743   case 516:
    7744 
    7745 /* Line 1806 of yacc.c  */
    7746 #line 1936 "parser.yy"
     7804  case 517:
     7805
     7806/* Line 1806 of yacc.c  */
     7807#line 1940 "parser.yy"
    77477808    {}
    77487809    break;
    77497810
    7750   case 517:
    7751 
    7752 /* Line 1806 of yacc.c  */
    7753 #line 1938 "parser.yy"
     7811  case 518:
     7812
     7813/* Line 1806 of yacc.c  */
     7814#line 1942 "parser.yy"
    77547815    {
    77557816                        if ( theTree ) {
     
    77617822    break;
    77627823
    7763   case 519:
    7764 
    7765 /* Line 1806 of yacc.c  */
    7766 #line 1950 "parser.yy"
     7824  case 520:
     7825
     7826/* Line 1806 of yacc.c  */
     7827#line 1954 "parser.yy"
    77677828    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77687829    break;
    77697830
    7770   case 520:
    7771 
    7772 /* Line 1806 of yacc.c  */
    7773 #line 1955 "parser.yy"
     7831  case 521:
     7832
     7833/* Line 1806 of yacc.c  */
     7834#line 1959 "parser.yy"
    77747835    { (yyval.decl) = 0; }
    77757836    break;
    77767837
    7777   case 524:
    7778 
    7779 /* Line 1806 of yacc.c  */
    7780 #line 1963 "parser.yy"
     7838  case 525:
     7839
     7840/* Line 1806 of yacc.c  */
     7841#line 1967 "parser.yy"
    77817842    {}
    77827843    break;
    77837844
    7784   case 525:
    7785 
    7786 /* Line 1806 of yacc.c  */
    7787 #line 1965 "parser.yy"
     7845  case 526:
     7846
     7847/* Line 1806 of yacc.c  */
     7848#line 1969 "parser.yy"
    77887849    {
    77897850                        linkageStack.push( linkage );
     
    77927853    break;
    77937854
    7794   case 526:
    7795 
    7796 /* Line 1806 of yacc.c  */
    7797 #line 1970 "parser.yy"
     7855  case 527:
     7856
     7857/* Line 1806 of yacc.c  */
     7858#line 1974 "parser.yy"
    77987859    {
    77997860                        linkage = linkageStack.top();
     
    78037864    break;
    78047865
    7805   case 527:
    7806 
    7807 /* Line 1806 of yacc.c  */
    7808 #line 1976 "parser.yy"
     7866  case 528:
     7867
     7868/* Line 1806 of yacc.c  */
     7869#line 1980 "parser.yy"
    78097870    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78107871    break;
    78117872
    7812   case 529:
    7813 
    7814 /* Line 1806 of yacc.c  */
    7815 #line 1986 "parser.yy"
     7873  case 530:
     7874
     7875/* Line 1806 of yacc.c  */
     7876#line 1990 "parser.yy"
    78167877    {
    78177878                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78217882    break;
    78227883
    7823   case 530:
    7824 
    7825 /* Line 1806 of yacc.c  */
    7826 #line 1992 "parser.yy"
     7884  case 531:
     7885
     7886/* Line 1806 of yacc.c  */
     7887#line 1996 "parser.yy"
    78277888    {
    78287889                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78327893    break;
    78337894
    7834   case 531:
    7835 
    7836 /* Line 1806 of yacc.c  */
    7837 #line 2001 "parser.yy"
     7895  case 532:
     7896
     7897/* Line 1806 of yacc.c  */
     7898#line 2005 "parser.yy"
    78387899    {
    78397900                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78437904    break;
    78447905
    7845   case 532:
    7846 
    7847 /* Line 1806 of yacc.c  */
    7848 #line 2007 "parser.yy"
     7906  case 533:
     7907
     7908/* Line 1806 of yacc.c  */
     7909#line 2011 "parser.yy"
    78497910    {
    78507911                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78547915    break;
    78557916
    7856   case 533:
    7857 
    7858 /* Line 1806 of yacc.c  */
    7859 #line 2013 "parser.yy"
     7917  case 534:
     7918
     7919/* Line 1806 of yacc.c  */
     7920#line 2017 "parser.yy"
    78607921    {
    78617922                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78657926    break;
    78667927
    7867   case 534:
    7868 
    7869 /* Line 1806 of yacc.c  */
    7870 #line 2019 "parser.yy"
     7928  case 535:
     7929
     7930/* Line 1806 of yacc.c  */
     7931#line 2023 "parser.yy"
    78717932    {
    78727933                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78767937    break;
    78777938
    7878   case 535:
    7879 
    7880 /* Line 1806 of yacc.c  */
    7881 #line 2025 "parser.yy"
     7939  case 536:
     7940
     7941/* Line 1806 of yacc.c  */
     7942#line 2029 "parser.yy"
    78827943    {
    78837944                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78877948    break;
    78887949
    7889   case 536:
    7890 
    7891 /* Line 1806 of yacc.c  */
    7892 #line 2033 "parser.yy"
     7950  case 537:
     7951
     7952/* Line 1806 of yacc.c  */
     7953#line 2037 "parser.yy"
    78937954    {
    78947955                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78987959    break;
    78997960
    7900   case 537:
    7901 
    7902 /* Line 1806 of yacc.c  */
    7903 #line 2039 "parser.yy"
     7961  case 538:
     7962
     7963/* Line 1806 of yacc.c  */
     7964#line 2043 "parser.yy"
    79047965    {
    79057966                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79097970    break;
    79107971
    7911   case 538:
    7912 
    7913 /* Line 1806 of yacc.c  */
    7914 #line 2047 "parser.yy"
     7972  case 539:
     7973
     7974/* Line 1806 of yacc.c  */
     7975#line 2051 "parser.yy"
    79157976    {
    79167977                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79207981    break;
    79217982
    7922   case 539:
    7923 
    7924 /* Line 1806 of yacc.c  */
    7925 #line 2053 "parser.yy"
     7983  case 540:
     7984
     7985/* Line 1806 of yacc.c  */
     7986#line 2057 "parser.yy"
    79267987    {
    79277988                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79317992    break;
    79327993
    7933   case 543:
    7934 
    7935 /* Line 1806 of yacc.c  */
    7936 #line 2068 "parser.yy"
     7994  case 544:
     7995
     7996/* Line 1806 of yacc.c  */
     7997#line 2072 "parser.yy"
    79377998    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    79387999    break;
    79398000
    7940   case 546:
    7941 
    7942 /* Line 1806 of yacc.c  */
    7943 #line 2078 "parser.yy"
     8001  case 547:
     8002
     8003/* Line 1806 of yacc.c  */
     8004#line 2082 "parser.yy"
    79448005    { (yyval.decl) = 0; }
    79458006    break;
    79468007
    7947   case 549:
    7948 
    7949 /* Line 1806 of yacc.c  */
    7950 #line 2085 "parser.yy"
     8008  case 550:
     8009
     8010/* Line 1806 of yacc.c  */
     8011#line 2089 "parser.yy"
    79518012    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79528013    break;
    79538014
    7954   case 550:
    7955 
    7956 /* Line 1806 of yacc.c  */
    7957 #line 2091 "parser.yy"
     8015  case 551:
     8016
     8017/* Line 1806 of yacc.c  */
     8018#line 2095 "parser.yy"
    79588019    { (yyval.decl) = 0; }
    79598020    break;
    79608021
    7961   case 556:
    7962 
    7963 /* Line 1806 of yacc.c  */
    7964 #line 2106 "parser.yy"
     8022  case 557:
     8023
     8024/* Line 1806 of yacc.c  */
     8025#line 2110 "parser.yy"
    79658026    {}
    79668027    break;
    79678028
    7968   case 557:
    7969 
    7970 /* Line 1806 of yacc.c  */
    7971 #line 2107 "parser.yy"
     8029  case 558:
     8030
     8031/* Line 1806 of yacc.c  */
     8032#line 2111 "parser.yy"
    79728033    {}
    79738034    break;
    79748035
    7975   case 558:
    7976 
    7977 /* Line 1806 of yacc.c  */
    7978 #line 2108 "parser.yy"
     8036  case 559:
     8037
     8038/* Line 1806 of yacc.c  */
     8039#line 2112 "parser.yy"
    79798040    {}
    79808041    break;
    79818042
    7982   case 559:
    7983 
    7984 /* Line 1806 of yacc.c  */
    7985 #line 2109 "parser.yy"
     8043  case 560:
     8044
     8045/* Line 1806 of yacc.c  */
     8046#line 2113 "parser.yy"
    79868047    {}
    79878048    break;
    79888049
    7989   case 560:
    7990 
    7991 /* Line 1806 of yacc.c  */
    7992 #line 2144 "parser.yy"
     8050  case 561:
     8051
     8052/* Line 1806 of yacc.c  */
     8053#line 2148 "parser.yy"
    79938054    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79948055    break;
    79958056
    7996   case 562:
    7997 
    7998 /* Line 1806 of yacc.c  */
    7999 #line 2147 "parser.yy"
     8057  case 563:
     8058
     8059/* Line 1806 of yacc.c  */
     8060#line 2151 "parser.yy"
    80008061    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80018062    break;
    80028063
    8003   case 563:
    8004 
    8005 /* Line 1806 of yacc.c  */
    8006 #line 2149 "parser.yy"
     8064  case 564:
     8065
     8066/* Line 1806 of yacc.c  */
     8067#line 2153 "parser.yy"
    80078068    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80088069    break;
    80098070
    8010   case 564:
    8011 
    8012 /* Line 1806 of yacc.c  */
    8013 #line 2154 "parser.yy"
     8071  case 565:
     8072
     8073/* Line 1806 of yacc.c  */
     8074#line 2158 "parser.yy"
    80148075    {
    80158076                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80188079    break;
    80198080
    8020   case 565:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2159 "parser.yy"
     8081  case 566:
     8082
     8083/* Line 1806 of yacc.c  */
     8084#line 2163 "parser.yy"
    80248085    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80258086    break;
    80268087
    8027   case 566:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2164 "parser.yy"
     8088  case 567:
     8089
     8090/* Line 1806 of yacc.c  */
     8091#line 2168 "parser.yy"
    80318092    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80328093    break;
    80338094
    8034   case 567:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2166 "parser.yy"
     8095  case 568:
     8096
     8097/* Line 1806 of yacc.c  */
     8098#line 2170 "parser.yy"
    80388099    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80398100    break;
    80408101
    8041   case 568:
    8042 
    8043 /* Line 1806 of yacc.c  */
    8044 #line 2168 "parser.yy"
     8102  case 569:
     8103
     8104/* Line 1806 of yacc.c  */
     8105#line 2172 "parser.yy"
    80458106    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80468107    break;
    80478108
    8048   case 569:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2173 "parser.yy"
     8109  case 570:
     8110
     8111/* Line 1806 of yacc.c  */
     8112#line 2177 "parser.yy"
    80528113    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80538114    break;
    80548115
    8055   case 570:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2175 "parser.yy"
     8116  case 571:
     8117
     8118/* Line 1806 of yacc.c  */
     8119#line 2179 "parser.yy"
    80598120    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80608121    break;
    80618122
    8062   case 571:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2177 "parser.yy"
     8123  case 572:
     8124
     8125/* Line 1806 of yacc.c  */
     8126#line 2181 "parser.yy"
    80668127    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80678128    break;
    80688129
    8069   case 572:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2179 "parser.yy"
     8130  case 573:
     8131
     8132/* Line 1806 of yacc.c  */
     8133#line 2183 "parser.yy"
    80738134    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80748135    break;
    80758136
    8076   case 573:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2184 "parser.yy"
     8137  case 574:
     8138
     8139/* Line 1806 of yacc.c  */
     8140#line 2188 "parser.yy"
    80808141    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80818142    break;
    80828143
    8083   case 574:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2186 "parser.yy"
     8144  case 575:
     8145
     8146/* Line 1806 of yacc.c  */
     8147#line 2190 "parser.yy"
    80878148    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80888149    break;
    80898150
    8090   case 575:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2196 "parser.yy"
     8151  case 576:
     8152
     8153/* Line 1806 of yacc.c  */
     8154#line 2200 "parser.yy"
    80948155    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80958156    break;
    80968157
    8097   case 577:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2199 "parser.yy"
     8158  case 578:
     8159
     8160/* Line 1806 of yacc.c  */
     8161#line 2203 "parser.yy"
    81018162    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81028163    break;
    81038164
    8104   case 578:
    8105 
    8106 /* Line 1806 of yacc.c  */
    8107 #line 2204 "parser.yy"
     8165  case 579:
     8166
     8167/* Line 1806 of yacc.c  */
     8168#line 2208 "parser.yy"
    81088169    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81098170    break;
    81108171
    8111   case 579:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2206 "parser.yy"
     8172  case 580:
     8173
     8174/* Line 1806 of yacc.c  */
     8175#line 2210 "parser.yy"
    81158176    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81168177    break;
    81178178
    8118   case 580:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2208 "parser.yy"
     8179  case 581:
     8180
     8181/* Line 1806 of yacc.c  */
     8182#line 2212 "parser.yy"
    81228183    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81238184    break;
    81248185
    8125   case 581:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2213 "parser.yy"
     8186  case 582:
     8187
     8188/* Line 1806 of yacc.c  */
     8189#line 2217 "parser.yy"
    81298190    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81308191    break;
    81318192
    8132   case 582:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2215 "parser.yy"
     8193  case 583:
     8194
     8195/* Line 1806 of yacc.c  */
     8196#line 2219 "parser.yy"
    81368197    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81378198    break;
    81388199
    8139   case 583:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2217 "parser.yy"
     8200  case 584:
     8201
     8202/* Line 1806 of yacc.c  */
     8203#line 2221 "parser.yy"
    81438204    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81448205    break;
    81458206
    8146   case 584:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2222 "parser.yy"
     8207  case 585:
     8208
     8209/* Line 1806 of yacc.c  */
     8210#line 2226 "parser.yy"
    81508211    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81518212    break;
    81528213
    8153   case 585:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2224 "parser.yy"
     8214  case 586:
     8215
     8216/* Line 1806 of yacc.c  */
     8217#line 2228 "parser.yy"
    81578218    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81588219    break;
    81598220
    8160   case 586:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2226 "parser.yy"
     8221  case 587:
     8222
     8223/* Line 1806 of yacc.c  */
     8224#line 2230 "parser.yy"
    81648225    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81658226    break;
    81668227
    8167   case 590:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2241 "parser.yy"
     8228  case 591:
     8229
     8230/* Line 1806 of yacc.c  */
     8231#line 2245 "parser.yy"
    81718232    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81728233    break;
    81738234
    8174   case 591:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
     8235  case 592:
     8236
     8237/* Line 1806 of yacc.c  */
     8238#line 2247 "parser.yy"
    81788239    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    81798240    break;
    81808241
    8181   case 592:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
     8242  case 593:
     8243
     8244/* Line 1806 of yacc.c  */
     8245#line 2249 "parser.yy"
    81858246    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81868247    break;
    81878248
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2250 "parser.yy"
     8249  case 594:
     8250
     8251/* Line 1806 of yacc.c  */
     8252#line 2254 "parser.yy"
    81928253    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81938254    break;
    81948255
    8195   case 594:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2252 "parser.yy"
     8256  case 595:
     8257
     8258/* Line 1806 of yacc.c  */
     8259#line 2256 "parser.yy"
    81998260    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82008261    break;
    82018262
    8202   case 595:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2254 "parser.yy"
     8263  case 596:
     8264
     8265/* Line 1806 of yacc.c  */
     8266#line 2258 "parser.yy"
    82068267    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82078268    break;
    82088269
    8209   case 596:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2259 "parser.yy"
     8270  case 597:
     8271
     8272/* Line 1806 of yacc.c  */
     8273#line 2263 "parser.yy"
    82138274    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82148275    break;
    82158276
    8216   case 597:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2261 "parser.yy"
     8277  case 598:
     8278
     8279/* Line 1806 of yacc.c  */
     8280#line 2265 "parser.yy"
    82208281    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82218282    break;
    82228283
    8223   case 598:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2263 "parser.yy"
     8284  case 599:
     8285
     8286/* Line 1806 of yacc.c  */
     8287#line 2267 "parser.yy"
    82278288    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82288289    break;
    82298290
    8230   case 599:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2278 "parser.yy"
     8291  case 600:
     8292
     8293/* Line 1806 of yacc.c  */
     8294#line 2282 "parser.yy"
    82348295    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82358296    break;
    82368297
    8237   case 601:
    8238 
    8239 /* Line 1806 of yacc.c  */
    8240 #line 2281 "parser.yy"
     8298  case 602:
     8299
     8300/* Line 1806 of yacc.c  */
     8301#line 2285 "parser.yy"
    82418302    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82428303    break;
    82438304
    8244   case 602:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2283 "parser.yy"
     8305  case 603:
     8306
     8307/* Line 1806 of yacc.c  */
     8308#line 2287 "parser.yy"
    82488309    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82498310    break;
    82508311
    8251   case 604:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2289 "parser.yy"
     8312  case 605:
     8313
     8314/* Line 1806 of yacc.c  */
     8315#line 2293 "parser.yy"
    82558316    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82568317    break;
    82578318
    8258   case 605:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2294 "parser.yy"
     8319  case 606:
     8320
     8321/* Line 1806 of yacc.c  */
     8322#line 2298 "parser.yy"
    82628323    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82638324    break;
    82648325
    8265   case 606:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2296 "parser.yy"
     8326  case 607:
     8327
     8328/* Line 1806 of yacc.c  */
     8329#line 2300 "parser.yy"
    82698330    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82708331    break;
    82718332
    8272   case 607:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2298 "parser.yy"
     8333  case 608:
     8334
     8335/* Line 1806 of yacc.c  */
     8336#line 2302 "parser.yy"
    82768337    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82778338    break;
    82788339
    8279   case 608:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2303 "parser.yy"
     8340  case 609:
     8341
     8342/* Line 1806 of yacc.c  */
     8343#line 2307 "parser.yy"
    82838344    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82848345    break;
    82858346
    8286   case 609:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2305 "parser.yy"
     8347  case 610:
     8348
     8349/* Line 1806 of yacc.c  */
     8350#line 2309 "parser.yy"
    82908351    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82918352    break;
    82928353
    8293   case 610:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2307 "parser.yy"
     8354  case 611:
     8355
     8356/* Line 1806 of yacc.c  */
     8357#line 2311 "parser.yy"
    82978358    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82988359    break;
    82998360
    8300   case 611:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2309 "parser.yy"
     8361  case 612:
     8362
     8363/* Line 1806 of yacc.c  */
     8364#line 2313 "parser.yy"
    83048365    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83058366    break;
    83068367
    8307   case 612:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2314 "parser.yy"
     8368  case 613:
     8369
     8370/* Line 1806 of yacc.c  */
     8371#line 2318 "parser.yy"
    83118372    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83128373    break;
    83138374
    8314   case 613:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2316 "parser.yy"
     8375  case 614:
     8376
     8377/* Line 1806 of yacc.c  */
     8378#line 2320 "parser.yy"
    83188379    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83198380    break;
    83208381
    8321   case 614:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2318 "parser.yy"
     8382  case 615:
     8383
     8384/* Line 1806 of yacc.c  */
     8385#line 2322 "parser.yy"
    83258386    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83268387    break;
    83278388
    8328   case 615:
    8329 
    8330 /* Line 1806 of yacc.c  */
    8331 #line 2328 "parser.yy"
     8389  case 616:
     8390
     8391/* Line 1806 of yacc.c  */
     8392#line 2332 "parser.yy"
    83328393    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83338394    break;
    83348395
    8335   case 617:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2331 "parser.yy"
     8396  case 618:
     8397
     8398/* Line 1806 of yacc.c  */
     8399#line 2335 "parser.yy"
    83398400    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83408401    break;
    83418402
    8342   case 618:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2333 "parser.yy"
     8403  case 619:
     8404
     8405/* Line 1806 of yacc.c  */
     8406#line 2337 "parser.yy"
    83468407    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83478408    break;
    83488409
    8349   case 619:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2338 "parser.yy"
     8410  case 620:
     8411
     8412/* Line 1806 of yacc.c  */
     8413#line 2342 "parser.yy"
    83538414    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83548415    break;
    83558416
    8356   case 620:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2340 "parser.yy"
     8417  case 621:
     8418
     8419/* Line 1806 of yacc.c  */
     8420#line 2344 "parser.yy"
    83608421    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83618422    break;
    83628423
    8363   case 621:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2342 "parser.yy"
     8424  case 622:
     8425
     8426/* Line 1806 of yacc.c  */
     8427#line 2346 "parser.yy"
    83678428    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83688429    break;
    83698430
    8370   case 622:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2347 "parser.yy"
     8431  case 623:
     8432
     8433/* Line 1806 of yacc.c  */
     8434#line 2351 "parser.yy"
    83748435    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83758436    break;
    83768437
    8377   case 623:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2349 "parser.yy"
     8438  case 624:
     8439
     8440/* Line 1806 of yacc.c  */
     8441#line 2353 "parser.yy"
    83818442    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83828443    break;
    83838444
    8384   case 624:
    8385 
    8386 /* Line 1806 of yacc.c  */
    8387 #line 2351 "parser.yy"
     8445  case 625:
     8446
     8447/* Line 1806 of yacc.c  */
     8448#line 2355 "parser.yy"
    83888449    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83898450    break;
    83908451
    8391   case 625:
    8392 
    8393 /* Line 1806 of yacc.c  */
    8394 #line 2353 "parser.yy"
     8452  case 626:
     8453
     8454/* Line 1806 of yacc.c  */
     8455#line 2357 "parser.yy"
    83958456    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83968457    break;
    83978458
    8398   case 626:
    8399 
    8400 /* Line 1806 of yacc.c  */
    8401 #line 2358 "parser.yy"
     8459  case 627:
     8460
     8461/* Line 1806 of yacc.c  */
     8462#line 2362 "parser.yy"
    84028463    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84038464    break;
    84048465
    8405   case 627:
    8406 
    8407 /* Line 1806 of yacc.c  */
    8408 #line 2360 "parser.yy"
     8466  case 628:
     8467
     8468/* Line 1806 of yacc.c  */
     8469#line 2364 "parser.yy"
    84098470    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84108471    break;
    84118472
    8412   case 628:
    8413 
    8414 /* Line 1806 of yacc.c  */
    8415 #line 2362 "parser.yy"
     8473  case 629:
     8474
     8475/* Line 1806 of yacc.c  */
     8476#line 2366 "parser.yy"
    84168477    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84178478    break;
    84188479
    8419   case 629:
    8420 
    8421 /* Line 1806 of yacc.c  */
    8422 #line 2393 "parser.yy"
     8480  case 630:
     8481
     8482/* Line 1806 of yacc.c  */
     8483#line 2397 "parser.yy"
    84238484    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84248485    break;
    84258486
    8426   case 631:
    8427 
    8428 /* Line 1806 of yacc.c  */
    8429 #line 2396 "parser.yy"
     8487  case 632:
     8488
     8489/* Line 1806 of yacc.c  */
     8490#line 2400 "parser.yy"
    84308491    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84318492    break;
    84328493
    8433   case 632:
    8434 
    8435 /* Line 1806 of yacc.c  */
    8436 #line 2398 "parser.yy"
     8494  case 633:
     8495
     8496/* Line 1806 of yacc.c  */
     8497#line 2402 "parser.yy"
    84378498    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84388499    break;
    84398500
    8440   case 633:
    8441 
    8442 /* Line 1806 of yacc.c  */
    8443 #line 2403 "parser.yy"
     8501  case 634:
     8502
     8503/* Line 1806 of yacc.c  */
     8504#line 2407 "parser.yy"
    84448505    {
    84458506                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84488509    break;
    84498510
    8450   case 634:
    8451 
    8452 /* Line 1806 of yacc.c  */
    8453 #line 2408 "parser.yy"
     8511  case 635:
     8512
     8513/* Line 1806 of yacc.c  */
     8514#line 2412 "parser.yy"
    84548515    {
    84558516                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84588519    break;
    84598520
    8460   case 635:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2416 "parser.yy"
     8521  case 636:
     8522
     8523/* Line 1806 of yacc.c  */
     8524#line 2420 "parser.yy"
    84648525    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84658526    break;
    84668527
    8467   case 636:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2418 "parser.yy"
     8528  case 637:
     8529
     8530/* Line 1806 of yacc.c  */
     8531#line 2422 "parser.yy"
    84718532    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84728533    break;
    84738534
    8474   case 637:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2420 "parser.yy"
     8535  case 638:
     8536
     8537/* Line 1806 of yacc.c  */
     8538#line 2424 "parser.yy"
    84788539    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84798540    break;
    84808541
    8481   case 638:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2425 "parser.yy"
     8542  case 639:
     8543
     8544/* Line 1806 of yacc.c  */
     8545#line 2429 "parser.yy"
    84858546    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84868547    break;
    84878548
    8488   case 639:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2427 "parser.yy"
     8549  case 640:
     8550
     8551/* Line 1806 of yacc.c  */
     8552#line 2431 "parser.yy"
    84928553    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84938554    break;
    84948555
    8495   case 640:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2432 "parser.yy"
     8556  case 641:
     8557
     8558/* Line 1806 of yacc.c  */
     8559#line 2436 "parser.yy"
    84998560    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85008561    break;
    85018562
    8502   case 641:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2434 "parser.yy"
     8563  case 642:
     8564
     8565/* Line 1806 of yacc.c  */
     8566#line 2438 "parser.yy"
    85068567    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85078568    break;
    85088569
    8509   case 643:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2449 "parser.yy"
     8570  case 644:
     8571
     8572/* Line 1806 of yacc.c  */
     8573#line 2453 "parser.yy"
    85138574    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85148575    break;
    85158576
    8516   case 644:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2451 "parser.yy"
     8577  case 645:
     8578
     8579/* Line 1806 of yacc.c  */
     8580#line 2455 "parser.yy"
    85208581    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85218582    break;
    85228583
    8523   case 645:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2456 "parser.yy"
     8584  case 646:
     8585
     8586/* Line 1806 of yacc.c  */
     8587#line 2460 "parser.yy"
    85278588    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85288589    break;
    85298590
    8530   case 646:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2458 "parser.yy"
     8591  case 647:
     8592
     8593/* Line 1806 of yacc.c  */
     8594#line 2462 "parser.yy"
    85348595    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85358596    break;
    85368597
    8537   case 647:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2460 "parser.yy"
     8598  case 648:
     8599
     8600/* Line 1806 of yacc.c  */
     8601#line 2464 "parser.yy"
    85418602    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85428603    break;
    85438604
    8544   case 648:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2462 "parser.yy"
     8605  case 649:
     8606
     8607/* Line 1806 of yacc.c  */
     8608#line 2466 "parser.yy"
    85488609    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85498610    break;
    85508611
    8551   case 649:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2464 "parser.yy"
     8612  case 650:
     8613
     8614/* Line 1806 of yacc.c  */
     8615#line 2468 "parser.yy"
    85558616    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85568617    break;
    85578618
    8558   case 651:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2470 "parser.yy"
     8619  case 652:
     8620
     8621/* Line 1806 of yacc.c  */
     8622#line 2474 "parser.yy"
    85628623    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85638624    break;
    85648625
    8565   case 652:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2472 "parser.yy"
     8626  case 653:
     8627
     8628/* Line 1806 of yacc.c  */
     8629#line 2476 "parser.yy"
    85698630    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85708631    break;
    85718632
    8572   case 653:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2474 "parser.yy"
     8633  case 654:
     8634
     8635/* Line 1806 of yacc.c  */
     8636#line 2478 "parser.yy"
    85768637    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85778638    break;
    85788639
    8579   case 654:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2479 "parser.yy"
     8640  case 655:
     8641
     8642/* Line 1806 of yacc.c  */
     8643#line 2483 "parser.yy"
    85838644    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    85848645    break;
    85858646
    8586   case 655:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2481 "parser.yy"
     8647  case 656:
     8648
     8649/* Line 1806 of yacc.c  */
     8650#line 2485 "parser.yy"
    85908651    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85918652    break;
    85928653
    8593   case 656:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2483 "parser.yy"
     8654  case 657:
     8655
     8656/* Line 1806 of yacc.c  */
     8657#line 2487 "parser.yy"
    85978658    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85988659    break;
    85998660
    8600   case 657:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2489 "parser.yy"
     8661  case 658:
     8662
     8663/* Line 1806 of yacc.c  */
     8664#line 2493 "parser.yy"
    86048665    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86058666    break;
    86068667
    8607   case 658:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2491 "parser.yy"
     8668  case 659:
     8669
     8670/* Line 1806 of yacc.c  */
     8671#line 2495 "parser.yy"
    86118672    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86128673    break;
    86138674
    8614   case 660:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2497 "parser.yy"
     8675  case 661:
     8676
     8677/* Line 1806 of yacc.c  */
     8678#line 2501 "parser.yy"
    86188679    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    86198680    break;
    86208681
    8621   case 661:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2499 "parser.yy"
     8682  case 662:
     8683
     8684/* Line 1806 of yacc.c  */
     8685#line 2503 "parser.yy"
    86258686    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    86268687    break;
    86278688
    8628   case 662:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2501 "parser.yy"
     8689  case 663:
     8690
     8691/* Line 1806 of yacc.c  */
     8692#line 2505 "parser.yy"
    86328693    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    86338694    break;
    86348695
    8635   case 663:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2503 "parser.yy"
     8696  case 664:
     8697
     8698/* Line 1806 of yacc.c  */
     8699#line 2507 "parser.yy"
    86398700    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86408701    break;
    86418702
    8642   case 665:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2518 "parser.yy"
     8703  case 666:
     8704
     8705/* Line 1806 of yacc.c  */
     8706#line 2522 "parser.yy"
    86468707    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86478708    break;
    86488709
    8649   case 666:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2520 "parser.yy"
     8710  case 667:
     8711
     8712/* Line 1806 of yacc.c  */
     8713#line 2524 "parser.yy"
    86538714    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86548715    break;
    86558716
    8656   case 667:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2525 "parser.yy"
     8717  case 668:
     8718
     8719/* Line 1806 of yacc.c  */
     8720#line 2529 "parser.yy"
    86608721    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86618722    break;
    86628723
    8663   case 668:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2527 "parser.yy"
     8724  case 669:
     8725
     8726/* Line 1806 of yacc.c  */
     8727#line 2531 "parser.yy"
    86678728    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86688729    break;
    86698730
    8670   case 669:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2529 "parser.yy"
     8731  case 670:
     8732
     8733/* Line 1806 of yacc.c  */
     8734#line 2533 "parser.yy"
    86748735    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86758736    break;
    86768737
    8677   case 670:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2531 "parser.yy"
     8738  case 671:
     8739
     8740/* Line 1806 of yacc.c  */
     8741#line 2535 "parser.yy"
    86818742    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86828743    break;
    86838744
    8684   case 671:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2533 "parser.yy"
     8745  case 672:
     8746
     8747/* Line 1806 of yacc.c  */
     8748#line 2537 "parser.yy"
    86888749    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86898750    break;
    86908751
    8691   case 673:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2539 "parser.yy"
     8752  case 674:
     8753
     8754/* Line 1806 of yacc.c  */
     8755#line 2543 "parser.yy"
    86958756    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86968757    break;
    86978758
    8698   case 674:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2541 "parser.yy"
     8759  case 675:
     8760
     8761/* Line 1806 of yacc.c  */
     8762#line 2545 "parser.yy"
    87028763    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87038764    break;
    87048765
    8705   case 675:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2543 "parser.yy"
     8766  case 676:
     8767
     8768/* Line 1806 of yacc.c  */
     8769#line 2547 "parser.yy"
    87098770    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87108771    break;
    87118772
    8712   case 676:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2548 "parser.yy"
     8773  case 677:
     8774
     8775/* Line 1806 of yacc.c  */
     8776#line 2552 "parser.yy"
    87168777    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    87178778    break;
    87188779
    8719   case 677:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2550 "parser.yy"
     8780  case 678:
     8781
     8782/* Line 1806 of yacc.c  */
     8783#line 2554 "parser.yy"
    87238784    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87248785    break;
    87258786
    8726   case 678:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2552 "parser.yy"
     8787  case 679:
     8788
     8789/* Line 1806 of yacc.c  */
     8790#line 2556 "parser.yy"
    87308791    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87318792    break;
    87328793
    8733   case 680:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2559 "parser.yy"
     8794  case 681:
     8795
     8796/* Line 1806 of yacc.c  */
     8797#line 2563 "parser.yy"
    87378798    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87388799    break;
    87398800
    8740   case 682:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2570 "parser.yy"
     8801  case 683:
     8802
     8803/* Line 1806 of yacc.c  */
     8804#line 2574 "parser.yy"
    87448805    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87458806    break;
    87468807
    8747   case 683:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2573 "parser.yy"
     8808  case 684:
     8809
     8810/* Line 1806 of yacc.c  */
     8811#line 2577 "parser.yy"
    87518812    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87528813    break;
    87538814
    8754   case 684:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2575 "parser.yy"
     8815  case 685:
     8816
     8817/* Line 1806 of yacc.c  */
     8818#line 2579 "parser.yy"
    87588819    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87598820    break;
    87608821
    8761   case 685:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2578 "parser.yy"
     8822  case 686:
     8823
     8824/* Line 1806 of yacc.c  */
     8825#line 2582 "parser.yy"
    87658826    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87668827    break;
    87678828
    8768   case 686:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2580 "parser.yy"
     8829  case 687:
     8830
     8831/* Line 1806 of yacc.c  */
     8832#line 2584 "parser.yy"
    87728833    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    87738834    break;
    87748835
    8775   case 687:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2582 "parser.yy"
     8836  case 688:
     8837
     8838/* Line 1806 of yacc.c  */
     8839#line 2586 "parser.yy"
    87798840    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    87808841    break;
    87818842
    8782   case 689:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2596 "parser.yy"
     8843  case 690:
     8844
     8845/* Line 1806 of yacc.c  */
     8846#line 2600 "parser.yy"
    87868847    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87878848    break;
    87888849
    8789   case 690:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2598 "parser.yy"
     8850  case 691:
     8851
     8852/* Line 1806 of yacc.c  */
     8853#line 2602 "parser.yy"
    87938854    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87948855    break;
    87958856
    8796   case 691:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2603 "parser.yy"
     8857  case 692:
     8858
     8859/* Line 1806 of yacc.c  */
     8860#line 2607 "parser.yy"
    88008861    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    88018862    break;
    88028863
    8803   case 692:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2605 "parser.yy"
     8864  case 693:
     8865
     8866/* Line 1806 of yacc.c  */
     8867#line 2609 "parser.yy"
    88078868    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88088869    break;
    88098870
    8810   case 693:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2607 "parser.yy"
     8871  case 694:
     8872
     8873/* Line 1806 of yacc.c  */
     8874#line 2611 "parser.yy"
    88148875    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    88158876    break;
    88168877
    8817   case 694:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2609 "parser.yy"
     8878  case 695:
     8879
     8880/* Line 1806 of yacc.c  */
     8881#line 2613 "parser.yy"
    88218882    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88228883    break;
    88238884
    8824   case 695:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2611 "parser.yy"
     8885  case 696:
     8886
     8887/* Line 1806 of yacc.c  */
     8888#line 2615 "parser.yy"
    88288889    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88298890    break;
    88308891
    8831   case 697:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2617 "parser.yy"
     8892  case 698:
     8893
     8894/* Line 1806 of yacc.c  */
     8895#line 2621 "parser.yy"
    88358896    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88368897    break;
    88378898
    8838   case 698:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2619 "parser.yy"
     8899  case 699:
     8900
     8901/* Line 1806 of yacc.c  */
     8902#line 2623 "parser.yy"
    88428903    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88438904    break;
    88448905
    8845   case 699:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2621 "parser.yy"
     8906  case 700:
     8907
     8908/* Line 1806 of yacc.c  */
     8909#line 2625 "parser.yy"
    88498910    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88508911    break;
    88518912
    8852   case 700:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2626 "parser.yy"
     8913  case 701:
     8914
     8915/* Line 1806 of yacc.c  */
     8916#line 2630 "parser.yy"
    88568917    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88578918    break;
    88588919
    8859   case 701:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2628 "parser.yy"
     8920  case 702:
     8921
     8922/* Line 1806 of yacc.c  */
     8923#line 2632 "parser.yy"
    88638924    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88648925    break;
    88658926
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2638 "parser.yy"
     8927  case 705:
     8928
     8929/* Line 1806 of yacc.c  */
     8930#line 2642 "parser.yy"
    88708931    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88718932    break;
    88728933
    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 
    88808934  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:
    88888935
    88898936/* Line 1806 of yacc.c  */
     
    88928939    break;
    88938940
    8894   case 710:
     8941  case 709:
    88958942
    88968943/* Line 1806 of yacc.c  */
     
    88998946    break;
    89008947
    8901   case 711:
     8948  case 710:
    89028949
    89038950/* Line 1806 of yacc.c  */
     
    89068953    break;
    89078954
    8908   case 712:
     8955  case 711:
    89098956
    89108957/* Line 1806 of yacc.c  */
     
    89138960    break;
    89148961
     8962  case 712:
     8963
     8964/* Line 1806 of yacc.c  */
     8965#line 2660 "parser.yy"
     8966    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     8967    break;
     8968
    89158969  case 713:
    89168970
    89178971/* Line 1806 of yacc.c  */
    8918 #line 2665 "parser.yy"
     8972#line 2662 "parser.yy"
     8973    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     8974    break;
     8975
     8976  case 714:
     8977
     8978/* Line 1806 of yacc.c  */
     8979#line 2669 "parser.yy"
    89198980    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89208981    break;
    89218982
    8922   case 714:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2667 "parser.yy"
     8983  case 715:
     8984
     8985/* Line 1806 of yacc.c  */
     8986#line 2671 "parser.yy"
    89268987    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89278988    break;
    89288989
    8929   case 715:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2669 "parser.yy"
     8990  case 716:
     8991
     8992/* Line 1806 of yacc.c  */
     8993#line 2673 "parser.yy"
    89338994    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89348995    break;
    89358996
    8936   case 716:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2671 "parser.yy"
     8997  case 717:
     8998
     8999/* Line 1806 of yacc.c  */
     9000#line 2675 "parser.yy"
    89409001    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89419002    break;
    89429003
    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 
    89509004  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:
    89589005
    89599006/* Line 1806 of yacc.c  */
     
    89629009    break;
    89639010
     9011  case 719:
     9012
     9013/* Line 1806 of yacc.c  */
     9014#line 2679 "parser.yy"
     9015    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9016    break;
     9017
    89649018  case 720:
    89659019
    89669020/* Line 1806 of yacc.c  */
    8967 #line 2679 "parser.yy"
     9021#line 2681 "parser.yy"
     9022    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9023    break;
     9024
     9025  case 721:
     9026
     9027/* Line 1806 of yacc.c  */
     9028#line 2683 "parser.yy"
    89689029    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89699030    break;
    89709031
    8971   case 721:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2681 "parser.yy"
     9032  case 722:
     9033
     9034/* Line 1806 of yacc.c  */
     9035#line 2685 "parser.yy"
    89759036    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89769037    break;
    89779038
    8978   case 722:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2683 "parser.yy"
     9039  case 723:
     9040
     9041/* Line 1806 of yacc.c  */
     9042#line 2687 "parser.yy"
    89829043    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89839044    break;
    89849045
    8985   case 723:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2688 "parser.yy"
     9046  case 724:
     9047
     9048/* Line 1806 of yacc.c  */
     9049#line 2692 "parser.yy"
    89899050    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89909051    break;
    89919052
    8992   case 724:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2690 "parser.yy"
     9053  case 725:
     9054
     9055/* Line 1806 of yacc.c  */
     9056#line 2694 "parser.yy"
    89969057    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89979058    break;
    89989059
    8999   case 725:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2695 "parser.yy"
     9060  case 726:
     9061
     9062/* Line 1806 of yacc.c  */
     9063#line 2699 "parser.yy"
    90039064    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    90049065    break;
    90059066
    9006   case 726:
    9007 
    9008 /* Line 1806 of yacc.c  */
    9009 #line 2697 "parser.yy"
     9067  case 727:
     9068
     9069/* Line 1806 of yacc.c  */
     9070#line 2701 "parser.yy"
    90109071    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90119072    break;
    90129073
    9013   case 728:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2724 "parser.yy"
     9074  case 729:
     9075
     9076/* Line 1806 of yacc.c  */
     9077#line 2728 "parser.yy"
    90179078    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90189079    break;
    90199080
    9020   case 732:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2735 "parser.yy"
    9024     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9025     break;
    9026 
    90279081  case 733:
    9028 
    9029 /* Line 1806 of yacc.c  */
    9030 #line 2737 "parser.yy"
    9031     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    9032     break;
    9033 
    9034   case 734:
    90359082
    90369083/* Line 1806 of yacc.c  */
     
    90399086    break;
    90409087
    9041   case 735:
     9088  case 734:
    90429089
    90439090/* Line 1806 of yacc.c  */
     
    90469093    break;
    90479094
    9048   case 736:
     9095  case 735:
    90499096
    90509097/* Line 1806 of yacc.c  */
     
    90539100    break;
    90549101
    9055   case 737:
     9102  case 736:
    90569103
    90579104/* Line 1806 of yacc.c  */
     
    90609107    break;
    90619108
     9109  case 737:
     9110
     9111/* Line 1806 of yacc.c  */
     9112#line 2747 "parser.yy"
     9113    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9114    break;
     9115
    90629116  case 738:
    90639117
    90649118/* Line 1806 of yacc.c  */
    9065 #line 2752 "parser.yy"
     9119#line 2749 "parser.yy"
     9120    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9121    break;
     9122
     9123  case 739:
     9124
     9125/* Line 1806 of yacc.c  */
     9126#line 2756 "parser.yy"
    90669127    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90679128    break;
    90689129
    9069   case 739:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2754 "parser.yy"
     9130  case 740:
     9131
     9132/* Line 1806 of yacc.c  */
     9133#line 2758 "parser.yy"
    90739134    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90749135    break;
    90759136
    9076   case 740:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2756 "parser.yy"
     9137  case 741:
     9138
     9139/* Line 1806 of yacc.c  */
     9140#line 2760 "parser.yy"
    90809141    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90819142    break;
    90829143
    9083   case 741:
    9084 
    9085 /* Line 1806 of yacc.c  */
    9086 #line 2758 "parser.yy"
     9144  case 742:
     9145
     9146/* Line 1806 of yacc.c  */
     9147#line 2762 "parser.yy"
    90879148    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90889149    break;
    90899150
    9090   case 742:
    9091 
    9092 /* Line 1806 of yacc.c  */
    9093 #line 2760 "parser.yy"
     9151  case 743:
     9152
     9153/* Line 1806 of yacc.c  */
     9154#line 2764 "parser.yy"
    90949155    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90959156    break;
    90969157
    9097   case 743:
    9098 
    9099 /* Line 1806 of yacc.c  */
    9100 #line 2762 "parser.yy"
     9158  case 744:
     9159
     9160/* Line 1806 of yacc.c  */
     9161#line 2766 "parser.yy"
    91019162    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91029163    break;
    91039164
    9104   case 744:
    9105 
    9106 /* Line 1806 of yacc.c  */
    9107 #line 2767 "parser.yy"
     9165  case 745:
     9166
     9167/* Line 1806 of yacc.c  */
     9168#line 2771 "parser.yy"
    91089169    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91099170    break;
    91109171
    9111   case 745:
    9112 
    9113 /* Line 1806 of yacc.c  */
    9114 #line 2772 "parser.yy"
     9172  case 746:
     9173
     9174/* Line 1806 of yacc.c  */
     9175#line 2776 "parser.yy"
    91159176    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91169177    break;
    91179178
    9118   case 746:
    9119 
    9120 /* Line 1806 of yacc.c  */
    9121 #line 2774 "parser.yy"
     9179  case 747:
     9180
     9181/* Line 1806 of yacc.c  */
     9182#line 2778 "parser.yy"
    91229183    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91239184    break;
    91249185
    9125   case 747:
    9126 
    9127 /* Line 1806 of yacc.c  */
    9128 #line 2776 "parser.yy"
     9186  case 748:
     9187
     9188/* Line 1806 of yacc.c  */
     9189#line 2780 "parser.yy"
    91299190    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91309191    break;
    91319192
    9132   case 750:
    9133 
    9134 /* Line 1806 of yacc.c  */
    9135 #line 2800 "parser.yy"
     9193  case 751:
     9194
     9195/* Line 1806 of yacc.c  */
     9196#line 2804 "parser.yy"
    91369197    { (yyval.en) = 0; }
    91379198    break;
    91389199
    9139   case 751:
    9140 
    9141 /* Line 1806 of yacc.c  */
    9142 #line 2802 "parser.yy"
     9200  case 752:
     9201
     9202/* Line 1806 of yacc.c  */
     9203#line 2806 "parser.yy"
    91439204    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91449205    break;
     
    91479208
    91489209/* Line 1806 of yacc.c  */
    9149 #line 9150 "Parser/parser.cc"
     9210#line 9211 "Parser/parser.cc"
    91509211      default: break;
    91519212    }
     
    93789439
    93799440/* Line 2067 of yacc.c  */
    9380 #line 2805 "parser.yy"
     9441#line 2809 "parser.yy"
    93819442
    93829443// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.