Ignore:
Timestamp:
Mar 3, 2016, 1:28:56 PM (10 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
3627356
Parents:
9d7b3ea (diff), 4040425 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r9d7b3ea r36ebd03  
    138138     SIGNED = 277,
    139139     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
     140     VALIST = 279,
     141     BOOL = 280,
     142     COMPLEX = 281,
     143     IMAGINARY = 282,
     144     TYPEOF = 283,
     145     LABEL = 284,
     146     ENUM = 285,
     147     STRUCT = 286,
     148     UNION = 287,
     149     OTYPE = 288,
     150     FTYPE = 289,
     151     DTYPE = 290,
     152     TRAIT = 291,
     153     SIZEOF = 292,
     154     OFFSETOF = 293,
     155     ATTRIBUTE = 294,
     156     EXTENSION = 295,
     157     IF = 296,
     158     ELSE = 297,
     159     SWITCH = 298,
     160     CASE = 299,
     161     DEFAULT = 300,
     162     DO = 301,
     163     WHILE = 302,
     164     FOR = 303,
     165     BREAK = 304,
     166     CONTINUE = 305,
     167     GOTO = 306,
     168     RETURN = 307,
     169     CHOOSE = 308,
     170     DISABLE = 309,
     171     ENABLE = 310,
     172     FALLTHRU = 311,
     173     TRY = 312,
     174     CATCH = 313,
     175     CATCHRESUME = 314,
     176     FINALLY = 315,
     177     THROW = 316,
     178     THROWRESUME = 317,
     179     AT = 318,
     180     ASM = 319,
     181     ALIGNAS = 320,
     182     ALIGNOF = 321,
     183     ATOMIC = 322,
     184     GENERIC = 323,
     185     NORETURN = 324,
     186     STATICASSERT = 325,
     187     THREADLOCAL = 326,
     188     IDENTIFIER = 327,
     189     QUOTED_IDENTIFIER = 328,
     190     TYPEDEFname = 329,
     191     TYPEGENname = 330,
     192     ATTR_IDENTIFIER = 331,
     193     ATTR_TYPEDEFname = 332,
     194     ATTR_TYPEGENname = 333,
     195     INTEGERconstant = 334,
     196     FLOATINGconstant = 335,
     197     CHARACTERconstant = 336,
     198     STRINGliteral = 337,
     199     ZERO = 338,
     200     ONE = 339,
     201     ARROW = 340,
     202     ICR = 341,
     203     DECR = 342,
     204     LS = 343,
     205     RS = 344,
     206     LE = 345,
     207     GE = 346,
     208     EQ = 347,
     209     NE = 348,
     210     ANDAND = 349,
     211     OROR = 350,
     212     ELLIPSIS = 351,
     213     MULTassign = 352,
     214     DIVassign = 353,
     215     MODassign = 354,
     216     PLUSassign = 355,
     217     MINUSassign = 356,
     218     LSassign = 357,
     219     RSassign = 358,
     220     ANDassign = 359,
     221     ERassign = 360,
     222     ORassign = 361,
     223     ATassign = 362,
     224     THEN = 363
    224225   };
    225226#endif
     
    246247#define SIGNED 277
    247248#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
     249#define VALIST 279
     250#define BOOL 280
     251#define COMPLEX 281
     252#define IMAGINARY 282
     253#define TYPEOF 283
     254#define LABEL 284
     255#define ENUM 285
     256#define STRUCT 286
     257#define UNION 287
     258#define OTYPE 288
     259#define FTYPE 289
     260#define DTYPE 290
     261#define TRAIT 291
     262#define SIZEOF 292
     263#define OFFSETOF 293
     264#define ATTRIBUTE 294
     265#define EXTENSION 295
     266#define IF 296
     267#define ELSE 297
     268#define SWITCH 298
     269#define CASE 299
     270#define DEFAULT 300
     271#define DO 301
     272#define WHILE 302
     273#define FOR 303
     274#define BREAK 304
     275#define CONTINUE 305
     276#define GOTO 306
     277#define RETURN 307
     278#define CHOOSE 308
     279#define DISABLE 309
     280#define ENABLE 310
     281#define FALLTHRU 311
     282#define TRY 312
     283#define CATCH 313
     284#define CATCHRESUME 314
     285#define FINALLY 315
     286#define THROW 316
     287#define THROWRESUME 317
     288#define AT 318
     289#define ASM 319
     290#define ALIGNAS 320
     291#define ALIGNOF 321
     292#define ATOMIC 322
     293#define GENERIC 323
     294#define NORETURN 324
     295#define STATICASSERT 325
     296#define THREADLOCAL 326
     297#define IDENTIFIER 327
     298#define QUOTED_IDENTIFIER 328
     299#define TYPEDEFname 329
     300#define TYPEGENname 330
     301#define ATTR_IDENTIFIER 331
     302#define ATTR_TYPEDEFname 332
     303#define ATTR_TYPEGENname 333
     304#define INTEGERconstant 334
     305#define FLOATINGconstant 335
     306#define CHARACTERconstant 336
     307#define STRINGliteral 337
     308#define ZERO 338
     309#define ONE 339
     310#define ARROW 340
     311#define ICR 341
     312#define DECR 342
     313#define LS 343
     314#define RS 344
     315#define LE 345
     316#define GE 346
     317#define EQ 347
     318#define NE 348
     319#define ANDAND 349
     320#define OROR 350
     321#define ELLIPSIS 351
     322#define MULTassign 352
     323#define DIVassign 353
     324#define MODassign 354
     325#define PLUSassign 355
     326#define MINUSassign 356
     327#define LSassign 357
     328#define RSassign 358
     329#define ANDassign 359
     330#define ERassign 360
     331#define ORassign 361
     332#define ATassign 362
     333#define THEN 363
    332334
    333335
     
    339341
    340342/* Line 293 of yacc.c  */
    341 #line 110 "parser.yy"
     343#line 111 "parser.yy"
    342344
    343345        Token tok;
     
    356358
    357359/* Line 293 of yacc.c  */
    358 #line 359 "Parser/parser.cc"
     360#line 361 "Parser/parser.cc"
    359361} YYSTYPE;
    360362# define YYSTYPE_IS_TRIVIAL 1
     
    368370
    369371/* Line 343 of yacc.c  */
    370 #line 371 "Parser/parser.cc"
     372#line 373 "Parser/parser.cc"
    371373
    372374#ifdef short
     
    585587
    586588/* YYFINAL -- State number of the termination state.  */
    587 #define YYFINAL  248
     589#define YYFINAL  249
    588590/* YYLAST -- Last index in YYTABLE.  */
    589 #define YYLAST   11042
     591#define YYLAST   11290
    590592
    591593/* YYNTOKENS -- Number of terminals.  */
    592 #define YYNTOKENS  132
     594#define YYNTOKENS  133
    593595/* YYNNTS -- Number of nonterminals.  */
    594596#define YYNNTS  238
    595597/* YYNRULES -- Number of rules.  */
    596 #define YYNRULES  751
     598#define YYNRULES  752
    597599/* YYNRULES -- Number of states.  */
    598 #define YYNSTATES  1578
     600#define YYNSTATES  1579
    599601
    600602/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    601603#define YYUNDEFTOK  2
    602 #define YYMAXUTOK   362
     604#define YYMAXUTOK   363
    603605
    604606#define YYTRANSLATE(YYX)                                                \
     
    611613       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    612614       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,
     615       2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
     616     109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
     617       2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
     618     126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
    617619       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    618620       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    619        2,   110,     2,   111,   127,     2,     2,     2,     2,     2,
     621       2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
    620622       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622        2,     2,     2,   113,   128,   114,   122,     2,     2,     2,
     624       2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
    623625       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624626       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    644646      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    645647      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    646      105,   106,   107
     648     105,   106,   107,   108
    647649};
    648650
     
    685687    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    686688    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
     689    1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
     690    1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
     691    1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
     692    1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1316,  1324,
     693    1327,  1330,  1333,  1335,  1338,  1341,  1345,  1348,  1352,  1354,
     694    1357,  1361,  1364,  1367,  1372,  1373,  1375,  1378,  1381,  1383,
     695    1384,  1386,  1389,  1392,  1398,  1405,  1408,  1411,  1416,  1417,
     696    1420,  1421,  1423,  1425,  1427,  1433,  1439,  1445,  1447,  1453,
     697    1459,  1469,  1471,  1477,  1478,  1480,  1482,  1488,  1490,  1492,
     698    1498,  1504,  1506,  1510,  1514,  1519,  1521,  1523,  1525,  1527,
     699    1530,  1532,  1536,  1540,  1542,  1545,  1547,  1551,  1553,  1555,
     700    1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1576,
     701    1578,  1580,  1582,  1585,  1586,  1589,  1592,  1594,  1599,  1600,
     702    1602,  1605,  1609,  1614,  1617,  1620,  1622,  1625,  1627,  1630,
     703    1636,  1642,  1650,  1657,  1659,  1662,  1665,  1669,  1671,  1674,
     704    1677,  1682,  1685,  1690,  1691,  1696,  1699,  1701,  1703,  1705,
     705    1706,  1709,  1715,  1721,  1735,  1737,  1739,  1743,  1747,  1750,
     706    1754,  1758,  1761,  1766,  1768,  1775,  1785,  1786,  1798,  1800,
     707    1804,  1808,  1812,  1814,  1816,  1822,  1825,  1831,  1832,  1834,
     708    1836,  1840,  1841,  1843,  1845,  1847,  1849,  1850,  1857,  1860,
     709    1862,  1865,  1870,  1873,  1877,  1881,  1885,  1890,  1896,  1902,
     710    1908,  1915,  1917,  1919,  1921,  1925,  1926,  1932,  1933,  1935,
     711    1937,  1940,  1947,  1949,  1953,  1954,  1956,  1961,  1963,  1965,
     712    1967,  1969,  1972,  1974,  1977,  1980,  1982,  1986,  1989,  1993,
     713    1997,  2000,  2005,  2010,  2014,  2023,  2027,  2030,  2032,  2035,
     714    2042,  2051,  2055,  2058,  2062,  2066,  2071,  2076,  2080,  2082,
     715    2084,  2086,  2091,  2098,  2102,  2105,  2109,  2113,  2118,  2123,
     716    2127,  2130,  2132,  2135,  2138,  2140,  2144,  2147,  2151,  2155,
     717    2158,  2163,  2168,  2172,  2179,  2188,  2192,  2195,  2197,  2200,
     718    2203,  2206,  2210,  2214,  2217,  2222,  2227,  2231,  2238,  2247,
     719    2251,  2254,  2256,  2259,  2262,  2264,  2266,  2269,  2273,  2277,
     720    2280,  2285,  2292,  2301,  2303,  2306,  2309,  2311,  2314,  2317,
     721    2321,  2325,  2327,  2332,  2337,  2341,  2347,  2356,  2360,  2363,
     722    2367,  2369,  2375,  2381,  2388,  2395,  2397,  2400,  2403,  2405,
     723    2408,  2411,  2415,  2419,  2421,  2426,  2431,  2435,  2441,  2450,
     724    2454,  2456,  2459,  2461,  2464,  2471,  2477,  2484,  2492,  2500,
     725    2502,  2505,  2508,  2510,  2513,  2516,  2520,  2524,  2526,  2531,
     726    2536,  2540,  2549,  2553,  2555,  2557,  2560,  2562,  2564,  2567,
     727    2571,  2574,  2578,  2581,  2585,  2589,  2592,  2597,  2601,  2604,
     728    2608,  2611,  2616,  2620,  2623,  2630,  2637,  2644,  2652,  2654,
     729    2657,  2659,  2661,  2663,  2666,  2670,  2673,  2677,  2680,  2684,
     730    2688,  2693,  2696,  2700,  2705,  2708,  2714,  2720,  2727,  2734,
     731    2735,  2737,  2738
    730732};
    731733
     
    733735static const yytype_int16 yyrhs[] =
    734736{
    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,
     737     299,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     738      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
     739      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
     740      -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
     741     110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
     742     134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
     743     143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
     744     112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
     745     146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
     746     109,   272,   110,   114,   276,   369,   115,    -1,   143,   114,
     747     144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
     748     163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
     749     112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
     750     112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
     751     139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
     752     146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
     753     111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
     754     141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
     755      -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
     756      37,   148,    -1,    37,   109,   272,   110,    -1,    38,   109,
     757     272,   116,   139,   110,    -1,    76,    -1,    76,   109,   273,
     758     110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
     759      66,   109,   272,   110,    -1,    94,   139,    -1,   120,    -1,
     760     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   272,
     761     110,   150,    -1,   109,   272,   110,   165,    -1,   150,    -1,
     762     151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
     763     150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
     764     151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
     765     152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
     766     153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
     767     154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
     768     155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
     769     156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
     770     159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
     771     160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
     772     117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
     773      -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
     774      -1,   165,   370,    -1,    -1,   163,    -1,   111,   112,    -1,
     775     111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
     776     135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
     777      -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
     778      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
     779      -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
     780     116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
     781     176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
     782     197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
     783     117,   309,   170,    -1,   114,   115,    -1,   114,   134,   134,
     784     208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
     785      -1,   211,    -1,    40,   211,    -1,   305,    -1,   170,   135,
     786      -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
     787     109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
     788      42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
     789     109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
     790     109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
     791     134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
     792      -1,   307,    -1,   178,    -1,   179,   116,   178,    -1,    44,
     793     179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
     794      -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
     795     184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
     796     181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
     797     175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
     798      -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
     799     109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
     800     170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
     801     169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
     802     168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
     803      49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
     804      -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
     805     164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
     806     172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
     807      58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
     808     110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
     809      59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
     810     196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
     811     134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
     812     134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
     813     134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
     814      -1,   224,    -1,   224,   306,    -1,   224,   354,    -1,   363,
     815     139,    -1,   363,    -1,    64,   198,   109,   141,   110,   132,
     816      -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
     817      64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
     818      -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
     819     202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
     820     117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
     821      11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
     822      -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
     823     109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
     824      -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
     825      -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
     826      -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
     827      29,   210,   132,    -1,   209,    29,   210,   132,    -1,   271,
     828      -1,   210,   116,   271,    -1,   212,    -1,   221,    -1,   213,
     829     135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
     830      -1,   290,   135,   132,    -1,   293,   135,   132,    -1,   214,
     831     274,    -1,   230,   214,   274,    -1,   213,   135,   116,   134,
     832     269,   274,    -1,   364,   269,   308,    -1,   367,   269,   308,
     833      -1,   226,   367,   269,   308,    -1,   216,    -1,   226,   216,
     834      -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
     835     116,   134,   269,    -1,   111,   112,   269,   109,   134,   257,
     836     135,   110,    -1,   367,   269,   109,   134,   257,   135,   110,
     837      -1,   217,   269,   109,   134,   257,   135,   110,    -1,   111,
     838     134,   259,   135,   112,    -1,   111,   134,   259,   135,   116,
     839     134,   260,   135,   112,    -1,     3,   214,    -1,     3,   216,
     840      -1,   218,   135,   116,   134,   139,    -1,     3,   224,   306,
     841      -1,   219,   135,   116,   134,   306,    -1,   226,     3,   224,
     842     306,    -1,   224,     3,   306,    -1,   224,     3,   226,   306,
     843      -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
     844     139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
     845     132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
     846     223,   306,   308,   274,    -1,   222,   116,   309,   306,   308,
     847     274,    -1,   235,    -1,   239,    -1,   241,    -1,   280,    -1,
     848     236,    -1,   240,    -1,   242,    -1,   281,    -1,    -1,   226,
     849      -1,   227,    -1,   226,   227,    -1,   228,    -1,   311,    -1,
     850      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
     851      -1,    13,   109,   229,   283,   110,    -1,   231,    -1,   226,
     852     231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
     853      -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     854      -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
    853855      -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
     856      -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
     857      -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
     858     235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
     859      -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
     860     234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
     861     273,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
     862     273,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
     863     230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
     864     243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
     865     230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
     866      74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
     867     254,    -1,   245,   114,   246,   115,    -1,   245,   271,    -1,
     868     245,   271,   114,   246,   115,    -1,   245,   109,   289,   110,
     869     114,   246,   115,    -1,   245,   282,    -1,    31,   309,    -1,
     870      32,   309,    -1,   247,    -1,   246,   247,    -1,   248,   132,
     871      -1,    40,   248,   132,    -1,   249,   132,    -1,    40,   249,
     872     132,    -1,   363,    -1,   363,   271,    -1,   248,   116,   271,
     873      -1,   248,   116,    -1,   224,   250,    -1,   249,   116,   309,
     874     250,    -1,    -1,   252,    -1,   315,   251,    -1,   328,   251,
     875      -1,   354,    -1,    -1,   252,    -1,   117,   162,    -1,    30,
     876     309,    -1,   253,   114,   255,   369,   115,    -1,   253,   271,
     877     114,   255,   369,   115,    -1,   253,   271,    -1,   271,   256,
     878      -1,   255,   116,   271,   256,    -1,    -1,   131,   162,    -1,
     879      -1,   258,    -1,   260,    -1,   259,    -1,   259,   135,   116,
     880     134,   260,    -1,   260,   135,   116,   134,    96,    -1,   259,
     881     135,   116,   134,    96,    -1,   264,    -1,   260,   135,   116,
     882     134,   264,    -1,   259,   135,   116,   134,   264,    -1,   259,
     883     135,   116,   134,   260,   135,   116,   134,   264,    -1,   265,
     884      -1,   260,   135,   116,   134,   265,    -1,    -1,   262,    -1,
     885     263,    -1,   263,   135,   116,   134,    96,    -1,   267,    -1,
     886     266,    -1,   263,   135,   116,   134,   267,    -1,   263,   135,
     887     116,   134,   266,    -1,   266,    -1,   359,   269,   370,    -1,
     888     367,   269,   370,    -1,   226,   367,   269,   370,    -1,   216,
     889      -1,   267,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
     890     368,    -1,   223,   333,   370,    -1,   223,   337,   370,    -1,
     891     223,    -1,   223,   348,    -1,   139,    -1,   268,   116,   139,
     892      -1,   137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,
     893      -1,    75,    -1,   139,    -1,    74,    -1,    75,    -1,   363,
     894      -1,   224,    -1,   224,   354,    -1,   363,    -1,   368,    -1,
     895     224,    -1,   224,   342,    -1,    -1,   131,   275,    -1,   107,
     896     275,    -1,   163,    -1,   114,   276,   369,   115,    -1,    -1,
     897     275,    -1,   277,   275,    -1,   276,   116,   275,    -1,   276,
     898     116,   277,   275,    -1,   278,   117,    -1,   271,   117,    -1,
     899     279,    -1,   278,   279,    -1,    80,    -1,   113,   271,    -1,
     900     111,   134,   163,   135,   112,    -1,   111,   134,   307,   135,
     901     112,    -1,   111,   134,   162,    96,   162,   135,   112,    -1,
     902     113,   111,   134,   146,   135,   112,    -1,   281,    -1,   230,
     903     281,    -1,   280,   232,    -1,   280,   232,   226,    -1,   282,
     904      -1,   226,   282,    -1,   281,   227,    -1,    75,   109,   289,
     905     110,    -1,   284,   370,    -1,   283,   116,   284,   370,    -1,
     906      -1,   286,   271,   285,   287,    -1,   224,   333,    -1,    33,
     907      -1,    35,    -1,    34,    -1,    -1,   287,   288,    -1,   129,
     908     271,   109,   289,   110,    -1,   129,   114,   134,   295,   115,
     909      -1,   129,   109,   134,   283,   135,   110,   114,   134,   295,
     910     115,   109,   289,   110,    -1,   273,    -1,   163,    -1,   289,
     911     116,   273,    -1,   289,   116,   163,    -1,    33,   291,    -1,
     912     231,    33,   291,    -1,   290,   116,   291,    -1,   292,   287,
     913      -1,   292,   287,   131,   273,    -1,   271,    -1,   270,   109,
     914     134,   283,   135,   110,    -1,    36,   271,   109,   134,   283,
     915     135,   110,   114,   115,    -1,    -1,    36,   271,   109,   134,
     916     283,   135,   110,   114,   294,   295,   115,    -1,   296,    -1,
     917     295,   134,   296,    -1,   297,   135,   132,    -1,   298,   135,
     918     132,    -1,   214,    -1,   216,    -1,   297,   135,   116,   134,
     919     269,    -1,   224,   306,    -1,   298,   135,   116,   134,   306,
     920      -1,    -1,   300,    -1,   302,    -1,   300,   134,   302,    -1,
     921      -1,   300,    -1,   211,    -1,   304,    -1,   197,    -1,    -1,
     922       5,    82,   303,   114,   301,   115,    -1,    40,   302,    -1,
     923     305,    -1,   320,   172,    -1,   324,   134,   206,   172,    -1,
     924     215,   172,    -1,   223,   320,   172,    -1,   226,   320,   172,
     925      -1,   230,   320,   172,    -1,   230,   226,   320,   172,    -1,
     926     223,   324,   134,   206,   172,    -1,   226,   324,   134,   206,
     927     172,    -1,   230,   324,   134,   206,   172,    -1,   230,   226,
     928     324,   134,   206,   172,    -1,   315,    -1,   320,    -1,   328,
     929      -1,   162,   123,   162,    -1,    -1,    64,   109,   141,   110,
     930     309,    -1,    -1,   310,    -1,   311,    -1,   310,   311,    -1,
     931      39,   109,   109,   312,   110,   110,    -1,   313,    -1,   312,
     932     116,   313,    -1,    -1,   314,    -1,   314,   109,   169,   110,
     933      -1,   269,    -1,   233,    -1,   234,    -1,   227,    -1,   316,
     934     309,    -1,   317,    -1,   318,   309,    -1,   319,   309,    -1,
     935     137,    -1,   109,   316,   110,    -1,   119,   315,    -1,   119,
     936     226,   315,    -1,   109,   317,   110,    -1,   316,   346,    -1,
     937     109,   317,   110,   346,    -1,   109,   318,   110,   347,    -1,
     938     109,   318,   110,    -1,   109,   317,   110,   109,   134,   261,
     939     135,   110,    -1,   109,   319,   110,    -1,   321,   309,    -1,
     940     322,    -1,   323,   309,    -1,   316,   109,   134,   261,   135,
     941     110,    -1,   109,   322,   110,   109,   134,   261,   135,   110,
     942      -1,   109,   321,   110,    -1,   119,   320,    -1,   119,   226,
     943     320,    -1,   109,   322,   110,    -1,   109,   322,   110,   346,
     944      -1,   109,   323,   110,   347,    -1,   109,   323,   110,    -1,
     945     325,    -1,   326,    -1,   327,    -1,   316,   109,   268,   110,
     946      -1,   109,   326,   110,   109,   268,   110,    -1,   109,   325,
     947     110,    -1,   119,   324,    -1,   119,   226,   324,    -1,   109,
     948     326,   110,    -1,   109,   326,   110,   346,    -1,   109,   327,
     949     110,   347,    -1,   109,   327,   110,    -1,   329,   309,    -1,
     950     330,    -1,   331,   309,    -1,   332,   309,    -1,   338,    -1,
     951     109,   329,   110,    -1,   119,   328,    -1,   119,   226,   328,
     952      -1,   109,   330,   110,    -1,   329,   346,    -1,   109,   330,
     953     110,   346,    -1,   109,   331,   110,   347,    -1,   109,   331,
     954     110,    -1,   329,   109,   134,   261,   135,   110,    -1,   109,
     955     330,   110,   109,   134,   261,   135,   110,    -1,   109,   332,
     956     110,    -1,   316,   309,    -1,   334,    -1,   335,   309,    -1,
     957     336,   309,    -1,   119,   333,    -1,   119,   226,   333,    -1,
     958     109,   334,   110,    -1,   316,   352,    -1,   109,   334,   110,
     959     346,    -1,   109,   335,   110,   347,    -1,   109,   335,   110,
     960      -1,   316,   109,   134,   261,   135,   110,    -1,   109,   334,
     961     110,   109,   134,   261,   135,   110,    -1,   109,   336,   110,
     962      -1,   338,   309,    -1,   339,    -1,   340,   309,    -1,   341,
     963     309,    -1,    74,    -1,    75,    -1,   119,   337,    -1,   119,
     964     226,   337,    -1,   109,   339,   110,    -1,   338,   352,    -1,
     965     109,   339,   110,   352,    -1,   338,   109,   134,   261,   135,
     966     110,    -1,   109,   339,   110,   109,   134,   261,   135,   110,
     967      -1,   343,    -1,   344,   309,    -1,   345,   309,    -1,   119,
     968      -1,   119,   226,    -1,   119,   342,    -1,   119,   226,   342,
     969      -1,   109,   343,   110,    -1,   346,    -1,   109,   343,   110,
     970     346,    -1,   109,   344,   110,   347,    -1,   109,   344,   110,
     971      -1,   109,   134,   261,   135,   110,    -1,   109,   343,   110,
     972     109,   134,   261,   135,   110,    -1,   109,   345,   110,    -1,
     973     111,   112,    -1,   111,   112,   347,    -1,   347,    -1,   111,
     974     134,   163,   135,   112,    -1,   111,   134,   119,   135,   112,
     975      -1,   347,   111,   134,   163,   135,   112,    -1,   347,   111,
     976     134,   119,   135,   112,    -1,   349,    -1,   350,   309,    -1,
     977     351,   309,    -1,   119,    -1,   119,   226,    -1,   119,   348,
     978      -1,   119,   226,   348,    -1,   109,   349,   110,    -1,   352,
     979      -1,   109,   349,   110,   352,    -1,   109,   350,   110,   347,
     980      -1,   109,   350,   110,    -1,   109,   134,   261,   135,   110,
     981      -1,   109,   349,   110,   109,   134,   261,   135,   110,    -1,
     982     109,   351,   110,    -1,   353,    -1,   353,   347,    -1,   347,
     983      -1,   111,   112,    -1,   111,   134,   226,   119,   135,   112,
     984      -1,   111,   134,   226,   135,   112,    -1,   111,   134,   226,
     985     163,   135,   112,    -1,   111,   134,     7,   225,   163,   135,
     986     112,    -1,   111,   134,   226,     7,   163,   135,   112,    -1,
     987     355,    -1,   356,   309,    -1,   357,   309,    -1,   119,    -1,
     988     119,   226,    -1,   119,   354,    -1,   119,   226,   354,    -1,
     989     109,   355,   110,    -1,   346,    -1,   109,   355,   110,   346,
     990      -1,   109,   356,   110,   347,    -1,   109,   356,   110,    -1,
     991     109,   355,   110,   109,   134,   261,   135,   110,    -1,   109,
     992     357,   110,    -1,   359,    -1,   367,    -1,   226,   367,    -1,
     993     360,    -1,   361,    -1,   119,   224,    -1,   226,   119,   224,
     994      -1,   119,   368,    -1,   226,   119,   368,    -1,   119,   358,
     995      -1,   226,   119,   358,    -1,   111,   112,   224,    -1,   362,
     996     224,    -1,   111,   112,   347,   224,    -1,   362,   347,   224,
     997      -1,   347,   224,    -1,   111,   112,   360,    -1,   362,   360,
     998      -1,   111,   112,   347,   360,    -1,   362,   347,   360,    -1,
     999     347,   360,    -1,   111,   134,   226,   119,   135,   112,    -1,
     1000     111,   134,   226,   163,   135,   112,    -1,   111,   134,   230,
     1001     163,   135,   112,    -1,   111,   134,   230,   226,   163,   135,
     1002     112,    -1,   367,    -1,   226,   367,    -1,   364,    -1,   365,
     1003      -1,   366,    -1,   119,   224,    -1,   226,   119,   224,    -1,
     1004     119,   368,    -1,   226,   119,   368,    -1,   119,   363,    -1,
     1005     226,   119,   363,    -1,   111,   112,   224,    -1,   111,   112,
     1006     347,   224,    -1,   347,   224,    -1,   111,   112,   365,    -1,
     1007     111,   112,   347,   365,    -1,   347,   365,    -1,   111,   134,
     1008     260,   135,   112,    -1,   111,   112,   109,   257,   110,    -1,
     1009     367,   109,   134,   257,   135,   110,    -1,   217,   109,   134,
     1010     257,   135,   110,    -1,    -1,   116,    -1,    -1,   131,   163,
     1011      -1
    10091012};
    10101013
     
    10121015static const yytype_uint16 yyrline[] =
    10131016{
    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
     1017       0,   291,   291,   297,   306,   307,   308,   312,   313,   314,
     1018     318,   319,   323,   324,   328,   329,   333,   334,   340,   342,
     1019     344,   346,   351,   352,   358,   362,   364,   365,   367,   368,
     1020     370,   372,   374,   382,   383,   389,   390,   391,   396,   398,
     1021     403,   404,   408,   412,   414,   416,   418,   423,   426,   428,
     1022     430,   432,   434,   436,   438,   440,   446,   448,   450,   452,
     1023     454,   456,   458,   460,   462,   467,   468,   469,   470,   474,
     1024     475,   477,   482,   483,   485,   487,   492,   493,   495,   500,
     1025     501,   503,   508,   509,   511,   513,   515,   520,   521,   523,
     1026     528,   529,   534,   535,   540,   541,   546,   547,   552,   553,
     1027     558,   559,   561,   563,   568,   573,   574,   576,   578,   584,
     1028     585,   591,   593,   595,   597,   602,   603,   608,   609,   610,
     1029     611,   612,   613,   614,   615,   616,   617,   621,   622,   628,
     1030     629,   635,   636,   637,   638,   639,   640,   641,   642,   643,
     1031     652,   659,   661,   671,   672,   677,   679,   681,   683,   687,
     1032     688,   693,   698,   701,   703,   705,   710,   712,   720,   721,
     1033     723,   727,   728,   733,   734,   739,   740,   744,   749,   750,
     1034     754,   756,   762,   763,   767,   769,   771,   773,   779,   780,
     1035     784,   785,   789,   791,   793,   798,   800,   805,   807,   811,
     1036     814,   818,   821,   825,   827,   831,   833,   840,   842,   844,
     1037     853,   855,   857,   859,   861,   866,   868,   870,   872,   877,
     1038     890,   891,   896,   898,   903,   907,   909,   911,   913,   915,
     1039     921,   922,   928,   929,   933,   934,   939,   941,   947,   948,
     1040     950,   955,   957,   964,   966,   970,   971,   976,   978,   982,
     1041     983,   987,   989,   993,   994,   998,   999,  1003,  1004,  1019,
     1042    1020,  1021,  1022,  1023,  1027,  1032,  1039,  1049,  1054,  1059,
     1043    1067,  1072,  1077,  1082,  1087,  1095,  1117,  1122,  1129,  1131,
     1044    1138,  1143,  1148,  1159,  1164,  1169,  1174,  1179,  1188,  1193,
     1045    1201,  1202,  1203,  1204,  1210,  1215,  1223,  1224,  1225,  1226,
     1046    1230,  1231,  1232,  1233,  1238,  1239,  1248,  1249,  1254,  1255,
     1047    1260,  1262,  1264,  1266,  1268,  1271,  1270,  1282,  1283,  1285,
     1048    1295,  1296,  1301,  1305,  1307,  1309,  1311,  1313,  1315,  1317,
     1049    1319,  1324,  1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,
     1050    1342,  1344,  1346,  1348,  1354,  1355,  1357,  1359,  1361,  1366,
     1051    1367,  1373,  1374,  1376,  1378,  1383,  1385,  1387,  1389,  1394,
     1052    1395,  1397,  1399,  1404,  1405,  1407,  1412,  1413,  1415,  1417,
     1053    1422,  1424,  1426,  1431,  1432,  1436,  1438,  1440,  1442,  1444,
     1054    1449,  1451,  1456,  1458,  1463,  1464,  1466,  1467,  1472,  1473,
     1055    1475,  1477,  1482,  1484,  1490,  1491,  1493,  1496,  1499,  1504,
     1056    1505,  1510,  1515,  1519,  1521,  1523,  1528,  1530,  1536,  1537,
     1057    1545,  1546,  1550,  1551,  1552,  1554,  1556,  1563,  1564,  1566,
     1058    1568,  1573,  1574,  1580,  1581,  1585,  1586,  1591,  1592,  1593,
     1059    1595,  1603,  1604,  1606,  1609,  1611,  1615,  1616,  1617,  1619,
     1060    1621,  1625,  1630,  1638,  1639,  1648,  1650,  1655,  1656,  1657,
     1061    1661,  1662,  1663,  1667,  1668,  1669,  1673,  1674,  1675,  1680,
     1062    1681,  1682,  1683,  1689,  1690,  1692,  1697,  1698,  1703,  1704,
     1063    1705,  1706,  1707,  1722,  1723,  1728,  1729,  1737,  1739,  1741,
     1064    1744,  1746,  1748,  1771,  1772,  1774,  1776,  1781,  1782,  1784,
     1065    1789,  1794,  1795,  1801,  1800,  1804,  1808,  1810,  1812,  1818,
     1066    1819,  1824,  1829,  1831,  1836,  1838,  1839,  1841,  1846,  1848,
     1067    1850,  1855,  1857,  1862,  1867,  1875,  1881,  1880,  1894,  1895,
     1068    1900,  1901,  1905,  1910,  1915,  1923,  1928,  1939,  1940,  1951,
     1069    1952,  1958,  1959,  1963,  1964,  1965,  1968,  1967,  1978,  1983,
     1070    1988,  1994,  2003,  2009,  2015,  2021,  2027,  2035,  2041,  2049,
     1071    2055,  2064,  2065,  2066,  2070,  2074,  2076,  2081,  2082,  2086,
     1072    2087,  2092,  2098,  2099,  2102,  2104,  2105,  2109,  2110,  2111,
     1073    2112,  2146,  2148,  2149,  2151,  2156,  2161,  2166,  2168,  2170,
     1074    2175,  2177,  2179,  2181,  2186,  2188,  2198,  2200,  2201,  2206,
     1075    2208,  2210,  2215,  2217,  2219,  2224,  2226,  2228,  2237,  2238,
     1076    2239,  2243,  2245,  2247,  2252,  2254,  2256,  2261,  2263,  2265,
     1077    2280,  2282,  2283,  2285,  2290,  2291,  2296,  2298,  2300,  2305,
     1078    2307,  2309,  2311,  2316,  2318,  2320,  2330,  2332,  2333,  2335,
     1079    2340,  2342,  2344,  2349,  2351,  2353,  2355,  2360,  2362,  2364,
     1080    2395,  2397,  2398,  2400,  2405,  2410,  2418,  2420,  2422,  2427,
     1081    2429,  2434,  2436,  2450,  2451,  2453,  2458,  2460,  2462,  2464,
     1082    2466,  2471,  2472,  2474,  2476,  2481,  2483,  2485,  2491,  2493,
     1083    2495,  2499,  2501,  2503,  2505,  2519,  2520,  2522,  2527,  2529,
     1084    2531,  2533,  2535,  2540,  2541,  2543,  2545,  2550,  2552,  2554,
     1085    2560,  2561,  2563,  2572,  2575,  2577,  2580,  2582,  2584,  2597,
     1086    2598,  2600,  2605,  2607,  2609,  2611,  2613,  2618,  2619,  2621,
     1087    2623,  2628,  2630,  2638,  2639,  2640,  2645,  2646,  2650,  2652,
     1088    2654,  2656,  2658,  2660,  2667,  2669,  2671,  2673,  2675,  2677,
     1089    2679,  2681,  2683,  2685,  2690,  2692,  2694,  2699,  2725,  2726,
     1090    2728,  2732,  2733,  2737,  2739,  2741,  2743,  2745,  2747,  2754,
     1091    2756,  2758,  2760,  2762,  2764,  2769,  2774,  2776,  2778,  2796,
     1092    2798,  2803,  2804
    10901093};
    10911094#endif
     
    10991102  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11001103  "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",
     1104  "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF",
     1105  "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT",
     1106  "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH",
     1107  "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO",
     1108  "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH",
     1109  "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS",
     1110  "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
     1111  "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
     1112  "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
    11101113  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    11111114  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
     
    11691172  "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion",
    11701173  "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",
     1174  "type_declarator_name", "trait_specifier", "$@3",
     1175  "trait_declaration_list", "trait_declaration",
     1176  "new_trait_declaring_list", "trait_declaring_list", "translation_unit",
     1177  "external_definition_list", "external_definition_list_opt",
     1178  "external_definition", "$@4", "external_function_definition",
     1179  "function_definition", "declarator", "subrange", "asm_name_opt",
     1180  "attribute_list_opt", "attribute_list", "attribute",
     1181  "attribute_parameter_list", "attrib", "any_word", "variable_declarator",
     1182  "paren_identifier", "variable_ptr", "variable_array",
     1183  "variable_function", "function_declarator", "function_no_ptr",
     1184  "function_ptr", "function_array", "old_function_declarator",
     1185  "old_function_no_ptr", "old_function_ptr", "old_function_array",
     1186  "type_redeclarator", "paren_type", "type_ptr", "type_array",
     1187  "type_function", "identifier_parameter_declarator",
    11851188  "identifier_parameter_ptr", "identifier_parameter_array",
    11861189  "identifier_parameter_function", "type_parameter_redeclarator",
     
    12191222     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12201223     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
     1224     355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
     1225      41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
     1226      38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
     1227      63,    61,    59
    12251228};
    12261229# endif
     
    12291232static const yytype_uint16 yyr1[] =
    12301233{
    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
     1234       0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
     1235     138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
     1236     142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
     1237     143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
     1238     146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
     1239     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
     1240     148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
     1241     150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
     1242     153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
     1243     156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
     1244     161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
     1245     164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
     1246     167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
     1247     169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
     1248     171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
     1249     175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
     1250     178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
     1251     184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
     1252     188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
     1253     191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
     1254     193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
     1255     196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
     1256     198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
     1257     202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
     1258     207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
     1259     212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
     1260     215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
     1261     218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
     1262     221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
     1263     224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
     1264     228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
     1265     231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
     1266     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
     1267     234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
     1268     236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
     1269     239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
     1270     242,   242,   242,   243,   243,   244,   244,   244,   244,   244,
     1271     245,   245,   246,   246,   247,   247,   247,   247,   248,   248,
     1272     248,   248,   249,   249,   250,   250,   250,   250,   250,   251,
     1273     251,   252,   253,   254,   254,   254,   255,   255,   256,   256,
     1274     257,   257,   258,   258,   258,   258,   258,   259,   259,   259,
     1275     259,   260,   260,   261,   261,   262,   262,   263,   263,   263,
     1276     263,   264,   264,   264,   264,   264,   265,   265,   265,   265,
     1277     265,   266,   266,   267,   267,   268,   268,   269,   269,   269,
     1278     270,   270,   270,   271,   271,   271,   272,   272,   272,   273,
     1279     273,   273,   273,   274,   274,   274,   275,   275,   276,   276,
     1280     276,   276,   276,   277,   277,   278,   278,   279,   279,   279,
     1281     279,   279,   279,   280,   280,   280,   280,   281,   281,   281,
     1282     282,   283,   283,   285,   284,   284,   286,   286,   286,   287,
     1283     287,   288,   288,   288,   289,   289,   289,   289,   290,   290,
     1284     290,   291,   291,   292,   292,   293,   294,   293,   295,   295,
     1285     296,   296,   297,   297,   297,   298,   298,   299,   299,   300,
     1286     300,   301,   301,   302,   302,   302,   303,   302,   302,   304,
     1287     304,   304,   305,   305,   305,   305,   305,   305,   305,   305,
     1288     305,   306,   306,   306,   307,   308,   308,   309,   309,   310,
     1289     310,   311,   312,   312,   313,   313,   313,   314,   314,   314,
     1290     314,   315,   315,   315,   315,   316,   316,   317,   317,   317,
     1291     318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
     1292     321,   321,   322,   322,   322,   323,   323,   323,   324,   324,
     1293     324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
     1294     328,   328,   328,   328,   329,   329,   330,   330,   330,   331,
     1295     331,   331,   331,   332,   332,   332,   333,   333,   333,   333,
     1296     334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
     1297     337,   337,   337,   337,   338,   338,   339,   339,   339,   340,
     1298     340,   341,   341,   342,   342,   342,   343,   343,   343,   343,
     1299     343,   344,   344,   344,   344,   345,   345,   345,   346,   346,
     1300     346,   347,   347,   347,   347,   348,   348,   348,   349,   349,
     1301     349,   349,   349,   350,   350,   350,   350,   351,   351,   351,
     1302     352,   352,   352,   353,   353,   353,   353,   353,   353,   354,
     1303     354,   354,   355,   355,   355,   355,   355,   356,   356,   356,
     1304     356,   357,   357,   358,   358,   358,   359,   359,   360,   360,
     1305     360,   360,   360,   360,   361,   361,   361,   361,   361,   361,
     1306     361,   361,   361,   361,   362,   362,   362,   362,   363,   363,
     1307     363,   364,   364,   365,   365,   365,   365,   365,   365,   366,
     1308     366,   366,   366,   366,   366,   367,   368,   368,   368,   369,
     1309     369,   370,   370
    13071310};
    13081311
     
    13431346       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13441347       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,
     1348       1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
     1349       3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
     1350       2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
     1351       1,     2,     2,     1,     1,     4,     2,     5,     7,     2,
     1352       2,     2,     1,     2,     2,     3,     2,     3,     1,     2,
     1353       3,     2,     2,     4,     0,     1,     2,     2,     1,     0,
     1354       1,     2,     2,     5,     6,     2,     2,     4,     0,     2,
     1355       0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
     1356       9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
     1357       5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
     1358       1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
     1359       1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
     1360       1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
     1361       2,     3,     4,     2,     2,     1,     2,     1,     2,     5,
     1362       5,     7,     6,     1,     2,     2,     3,     1,     2,     2,
     1363       4,     2,     4,     0,     4,     2,     1,     1,     1,     0,
     1364       2,     5,     5,    13,     1,     1,     3,     3,     2,     3,
     1365       3,     2,     4,     1,     6,     9,     0,    11,     1,     3,
     1366       3,     3,     1,     1,     5,     2,     5,     0,     1,     1,
     1367       3,     0,     1,     1,     1,     1,     0,     6,     2,     1,
     1368       2,     4,     2,     3,     3,     3,     4,     5,     5,     5,
     1369       6,     1,     1,     1,     3,     0,     5,     0,     1,     1,
     1370       2,     6,     1,     3,     0,     1,     4,     1,     1,     1,
     1371       1,     2,     1,     2,     2,     1,     3,     2,     3,     3,
     1372       2,     4,     4,     3,     8,     3,     2,     1,     2,     6,
     1373       8,     3,     2,     3,     3,     4,     4,     3,     1,     1,
     1374       1,     4,     6,     3,     2,     3,     3,     4,     4,     3,
    13681375       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
     1376       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
     1377       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
     1378       2,     1,     2,     2,     1,     1,     2,     3,     3,     2,
     1379       4,     6,     8,     1,     2,     2,     1,     2,     2,     3,
     1380       3,     1,     4,     4,     3,     5,     8,     3,     2,     3,
     1381       1,     5,     5,     6,     6,     1,     2,     2,     1,     2,
     1382       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1383       1,     2,     1,     2,     6,     5,     6,     7,     7,     1,
     1384       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
     1385       3,     8,     3,     1,     1,     2,     1,     1,     2,     3,
     1386       2,     3,     2,     3,     3,     2,     4,     3,     2,     3,
     1387       2,     4,     3,     2,     6,     6,     6,     7,     1,     2,
     1388       1,     1,     1,     2,     3,     2,     3,     2,     3,     3,
     1389       4,     2,     3,     4,     2,     5,     5,     6,     6,     0,
     1390       1,     0,     2
    13881391};
    13891392
     
    13951398     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    13961399     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,
     1400     327,   328,   333,   330,   331,   332,   547,   547,   547,     0,
     1401       0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
     1402       8,    14,    15,     0,     2,   294,   565,     9,   525,   523,
     1403     247,     3,   453,     3,   260,     0,     3,     3,     3,   248,
     1404       3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
     1405     312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
     1406     363,     0,     0,   364,   289,   473,   477,     3,     3,     0,
     1407       2,   519,   524,   529,   299,     0,     0,   547,   577,   547,
     1408       2,   588,   589,   590,   294,     0,   731,   732,     0,    12,
     1409     294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
     1410     293,   526,   305,   392,   548,   549,   370,   371,    12,   444,
     1411     445,    11,   440,   443,     0,   503,   498,   489,   444,   445,
     1412       0,     0,   528,   221,     0,   294,     0,     0,     0,     0,
     1413       0,     0,     0,     0,   294,   294,     2,     0,   733,   295,
     1414     582,   594,   737,   730,   728,   735,     0,     0,     0,   254,
     1415       2,     0,   532,   438,   439,   437,     0,     0,     0,     0,
     1416     547,     0,   634,   635,     0,     0,   545,   541,   547,   562,
     1417     547,   547,   542,     2,   543,   547,   601,   547,   547,   604,
     1418       0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
     1419     297,   308,   342,   354,   478,     0,     2,     0,   453,   262,
     1420     295,   335,   350,   357,   474,     0,     2,     0,   311,   336,
     1421     343,   344,     0,   351,   355,   358,   362,   445,   294,   294,
     1422     366,   369,     0,   395,   475,   479,     0,     0,     0,     1,
     1423     294,     2,   530,   576,   578,   294,     2,   741,   295,   744,
     1424     545,   545,   295,     0,     0,     0,   273,   547,   542,     2,
     1425     294,     0,     0,   294,   550,     2,   501,     2,   554,     0,
     1426       0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
     1427      16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
     1428      67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
     1429      76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
     1430     105,   495,   751,   451,   494,     0,   449,   450,     0,   566,
     1431     581,   584,   587,   593,   596,   599,   360,     0,     2,   739,
     1432       0,   294,   742,     2,   294,     3,   425,     0,   433,   295,
     1433     294,   307,   334,   287,   349,   356,     3,     3,   407,   411,
     1434     421,   426,   473,   294,   427,   706,   707,   294,   428,   430,
     1435     294,     2,   583,   595,   729,     2,     2,   249,     2,   458,
     1436       0,   456,   455,   454,   141,     2,     2,   251,     2,     2,
     1437     250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
     1438       0,     0,     0,     0,     0,     0,   567,   606,     0,   453,
     1439       2,   561,   570,   660,   563,   564,   533,   294,     2,   600,
     1440     609,   602,   603,     0,   276,   294,   294,   340,   295,     0,
     1441     295,     0,   294,   734,   738,   736,   534,   294,   545,   255,
     1442     263,   309,     0,     2,   535,   294,   499,   337,   338,   283,
     1443     352,   359,     0,   294,     2,   384,   294,   372,     0,     0,
     1444     378,   728,   294,   749,   398,     0,   476,   500,   252,   253,
     1445     520,   294,   435,     0,   294,   237,     0,     2,   239,     0,
     1446     295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
     1447     545,   294,   486,   488,   487,     0,     0,   751,     0,   294,
     1448       0,   294,   490,   294,   560,   558,   559,   557,     0,   552,
     1449     555,     0,     0,   294,    56,   294,    69,    52,   294,    62,
     1450     294,   294,    50,    51,    64,     2,   127,     0,     0,   447,
     1451       0,   446,   111,   294,    54,    55,    17,     0,    29,    30,
     1452      35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
     1453     123,   124,   125,   126,     0,     0,    53,     0,     0,     0,
    14511454       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
     1455       0,     0,     0,     0,     0,     0,     0,   108,     2,   646,
     1456     452,   643,   547,   547,   651,   480,   294,     2,   585,   586,
     1457       0,   597,   598,     0,     2,   740,   743,   111,   294,     2,
     1458     294,     0,   708,   295,   712,   703,   704,   710,     0,     2,
     1459       2,   668,   547,   751,   617,   547,   547,   751,   547,   631,
     1460     547,   547,   682,   434,   665,   547,   547,   673,   680,   294,
     1461     429,   295,     0,     0,   294,   718,   295,   723,   751,   715,
     1462     294,   720,   751,   294,   294,   294,     0,   111,     0,    18,
     1463       5,     2,     0,    19,     0,   459,   749,     0,     0,   465,
     1464     241,     0,   294,     0,     0,     0,   545,   569,   573,   575,
     1465     605,   608,   612,   615,   568,   607,     0,   284,   658,     0,
     1466     294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
     1467     536,   294,     0,     0,     0,     0,   294,   294,     0,     0,
     1468     692,   382,   385,   389,   547,   389,   697,   388,   689,   547,
     1469     547,   365,   373,   381,   374,   547,   376,   379,   294,   750,
     1470       0,     0,   396,   749,   295,     3,   414,     3,   418,   417,
     1471     591,     0,   531,   294,     3,     3,   294,   433,   295,     3,
     1472     427,   428,     2,     0,     0,     0,   485,   306,   294,   481,
     1473     483,     3,     2,     2,     0,   502,     3,     0,   554,   129,
     1474       0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
     1475       0,     0,   111,   294,    20,     0,    21,     0,   692,   448,
     1476       0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
     1477      25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
     1478      81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
     1479      97,    99,     0,     0,   752,   294,     0,     0,     0,   647,
     1480     648,   644,   645,   497,   496,   294,     0,     3,   294,   714,
     1481     294,   719,   295,   294,   294,   294,   662,   705,   661,     2,
     1482     294,     0,     0,     0,     0,     0,     0,     0,     0,   683,
     1483       0,   669,   620,   636,   670,     2,   616,   623,   431,   618,
     1484     619,   432,     2,   630,   639,   632,   633,   666,   667,   681,
     1485     709,   713,   711,   751,   268,     2,   745,     2,   422,   717,
     1486     722,   423,     0,   401,     3,     3,     3,     3,   453,     3,
     1487       0,     2,   468,   464,   750,     0,   460,   467,     2,   463,
     1488     466,     0,   294,   242,   264,     3,   272,   274,     0,   453,
     1489       2,   571,   572,     2,   610,   611,     0,   659,   537,     3,
     1490     346,   345,   348,   347,   294,   538,     0,   539,   294,   375,
     1491     377,     2,     0,     0,     0,     0,   104,   391,   693,   694,
     1492     386,   390,   387,   690,   691,   380,   384,   367,   398,   393,
     1493     399,     0,     0,     0,   436,   240,     0,     0,     3,     2,
     1494     668,   429,     0,   527,     0,   751,   489,     0,   294,   294,
     1495     294,     0,   551,   553,   130,     0,     0,   215,     0,     0,
     1496       0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
     1497       0,   128,   693,   458,    70,    71,   110,   115,     3,   109,
     1498       0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
     1499       3,   650,   654,   657,   649,     3,   592,     3,   716,   721,
     1500       2,   294,     3,     3,   295,     0,     3,   622,   626,   629,
     1501     638,   672,   676,   679,   294,     3,   621,   637,   671,   294,
     1502     294,   424,   294,   294,   746,     0,     0,     0,     0,   256,
     1503       0,   104,     0,     3,     3,     0,   461,     0,   457,     0,
     1504       0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
     1505       0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
     1506       3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
     1507     138,   145,   147,     0,     0,     0,   285,   294,   294,   547,
     1508       0,   540,   294,   111,   696,   700,   702,   695,   383,   397,
     1509     394,   579,     2,   664,   663,     0,   669,     2,   482,   484,
     1510     504,     3,   512,   513,     0,     2,   508,     3,     3,     0,
     1511       0,   556,   222,     0,     0,     0,   222,     0,     0,     3,
     1512      37,   749,   109,     0,     3,   661,    42,     3,    40,     3,
     1513      34,     0,     3,   101,   103,     0,     2,   652,   653,     0,
     1514       0,   294,     0,     0,     0,     3,   638,     0,     2,   624,
     1515     625,     2,   640,     2,   674,   675,     0,     0,     3,     0,
     1516       3,     3,     3,     3,   409,   408,   412,     2,     2,   748,
     1517     747,   112,     0,     0,     0,     0,     3,   462,     3,     0,
     1518     243,   146,     3,   295,   294,     0,     0,     0,     0,     2,
     1519     191,     0,   189,     0,     0,     0,     0,     0,     0,     0,
     1520       0,   111,     0,   547,   151,   148,   294,     0,     0,   267,
     1521     279,     3,     3,   546,   613,   368,     2,   698,   699,   294,
     1522     266,   294,     0,   515,   492,   294,     0,     0,   491,   506,
     1523       0,     0,     0,   216,     0,   225,    58,   109,     0,     0,
     1524     116,   113,     0,     0,     0,     0,     0,     0,    23,     0,
     1525     655,   294,   580,   265,   724,   725,   726,     0,   677,   294,
     1526     294,   294,     3,     3,     0,   685,     0,     0,     0,     0,
     1527     294,   294,     3,   544,   469,   470,     0,     0,   246,   295,
     1528       0,     0,     0,     0,   294,   192,   190,     0,   187,   193,
     1529       0,     0,     0,     0,   197,   200,   198,   194,     0,   195,
     1530      35,   129,   144,   142,   244,     0,     0,   294,   416,   420,
     1531     419,     0,   509,     2,   510,     2,   511,   505,   294,   228,
     1532       0,   226,     0,   228,     3,   661,    31,   114,     2,    45,
     1533       2,    43,    41,    28,   112,    26,     3,   727,     3,     3,
     1534       3,     0,     0,   684,   686,   627,   641,   269,     2,   406,
     1535       3,   405,     0,   472,   469,   129,     0,     0,   129,     3,
     1536       0,   129,   188,     0,     2,     2,   209,   199,     0,     0,
     1537       0,     0,   140,   574,   614,     3,     2,     0,     0,     2,
     1538     229,     0,     0,   217,     0,     0,     0,     0,     0,     0,
     1539       0,     0,     0,   687,   688,   294,     0,   471,   152,     0,
     1540       0,     2,   165,   129,   154,     0,   182,     0,   129,     0,
     1541       2,   156,     0,     2,     0,     2,     2,     2,   196,    32,
     1542       0,   294,   514,   516,   507,     0,     0,     0,     0,   114,
     1543      38,     3,     3,   656,   628,   642,   678,   410,   129,   158,
     1544     161,     0,   160,   164,     3,   167,   166,     0,   129,   184,
     1545     129,     3,     0,   294,     0,   294,     0,     2,     0,     2,
     1546     139,   701,     2,   230,   231,     0,   227,   218,     0,     0,
     1547       0,   153,     0,     0,   163,   233,   168,     2,   235,   183,
     1548       0,   186,   172,   201,     3,   210,   214,   203,     3,     0,
     1549     294,     0,   294,     0,     0,     0,    39,    46,    44,   159,
     1550     162,   129,     0,   169,   294,   129,   129,     0,   173,     0,
     1551       0,   692,   211,   212,   213,     0,   202,     3,   204,     3,
     1552     294,   219,   232,   149,   170,   155,   129,   236,   185,   180,
     1553     178,   174,   157,   129,     0,   693,     0,     0,     0,     0,
     1554     150,   171,   181,   175,   179,   178,   176,     3,     3,     0,
     1555       0,   493,   177,   205,   207,     3,     3,   206,   208
    15531556};
    15541557
     
    15561559static const yytype_int16 yydefgoto[] =
    15571560{
    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
     1561      -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
     1562     306,   786,   787,  1147,  1148,   307,   308,   309,   310,   311,
     1563     312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
     1564     526,   997,   322,   998,   555,   974,  1079,  1543,  1081,  1082,
     1565    1083,  1084,  1544,  1085,  1086,  1460,  1461,  1422,  1423,  1424,
     1566    1522,  1523,  1527,  1528,  1563,  1564,  1087,  1380,  1088,  1089,
     1567    1314,  1315,  1316,  1504,  1090,   144,   980,   981,   982,  1401,
     1568    1485,  1496,  1497,   476,   477,   902,   903,  1060,    49,    50,
     1569      51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
     1570     348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
     1571      70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
     1572      79,    80,    81,   456,   457,   458,   459,   701,   940,   702,
     1573      82,    83,   463,   722,   882,   883,   356,   357,   725,   726,
     1574     727,   358,   359,   360,   361,   473,   340,   134,   135,   530,
     1575     324,   169,   655,   656,   657,   658,   659,    84,   120,    86,
     1576     496,   497,   966,   498,   276,   502,   325,    87,   136,   137,
     1577      88,  1338,  1125,  1126,  1127,  1128,    89,    90,   743,    91,
     1578     272,    92,    93,   186,  1054,   689,   411,   124,    94,   508,
     1579     509,   510,   187,   267,   189,   190,   191,   268,    97,    98,
     1580      99,   100,   101,   102,   103,   194,   195,   196,   197,   198,
     1581     852,   614,   615,   616,   617,   199,   619,   620,   621,   580,
     1582     581,   582,   583,   706,   104,   623,   624,   625,   626,   627,
     1583     628,   939,   708,   709,   710,   604,   364,   365,   366,   367,
     1584     326,   163,   106,   107,   108,   369,   720,   577
    15821585};
    15831586
    15841587/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15851588   STATE-NUM.  */
    1586 #define YYPACT_NINF -1281
     1589#define YYPACT_NINF -1356
    15871590static const yytype_int16 yypact[] =
    15881591{
    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
     1592    5863,  4890, -1356,    65, -1356, -1356, -1356, -1356, -1356, -1356,
     1593   -1356,     9, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1594   -1356, -1356, -1356, -1356, -1356, -1356,   139,   139,   139,  1216,
     1595     781,    63,  4761,   238, -1356, -1356, -1356, -1356, -1356,   165,
     1596   -1356, -1356, -1356,   572,   207,  2350, -1356, -1356, -1356, -1356,
     1597   -1356, -1356,    59,   217, -1356,  1506, -1356, -1356, -1356, -1356,
     1598     220,  1734,   341,    66,  7480, -1356, -1356,  9240,  1240, -1356,
     1599   -1356, -1356,  1320,   351,  3183,  1125,   757,  1320,  1149, -1356,
     1600   -1356,  1042,   895, -1356,  1320,  1227, -1356,   243, -1356,   378,
     1601     403, -1356, -1356, -1356, -1356,   303,   217,   139, -1356,   139,
     1602   -1356, -1356, -1356, -1356,  9019,  1506, -1356, -1356,  1506, -1356,
     1603    9774,   314, -1356, -1356, -1356,  1811,  9812, -1356,   726,   726,
     1604     726, -1356, -1356, -1356,   139, -1356, -1356, -1356,   353,   381,
     1605     400, -1356, -1356, -1356,   417, -1356, -1356, -1356, -1356, -1356,
     1606     424,   436, -1356, -1356,    28,  8867,  2398,   371,   447,   459,
     1607     467,   482,   495,   557,  8670,  6999,   468,   584, -1356,  9350,
     1608   -1356, -1356, -1356, -1356,   594, -1356,   335,  4628,  4628, -1356,
     1609     575,   352, -1356, -1356, -1356, -1356,   602,   432,   434,   470,
     1610     139,   624, -1356, -1356,  1734,  1711,   656, -1356,    68, -1356,
     1611     139,   139,   217, -1356, -1356,    93, -1356,   139,   139, -1356,
     1612    2093,   670,   699,   726,  6910, -1356, -1356,   654,  2350, -1356,
     1613   -1356,  1320, -1356, -1356, -1356,   217, -1356,  1506,    59, -1356,
     1614    7819, -1356,   726,   726,   726,   217, -1356,  1216, -1356,  6673,
     1615   -1356, -1356,   659,   726, -1356,   726, -1356,   165,  8867,  8784,
     1616     714, -1356,   781,   740,   726, -1356,  1216,   737,   749, -1356,
     1617    4761,   791, -1356, -1356, -1356,  4061, -1356, -1356,  7390, -1356,
     1618     656,    62,  9812, 10718,  1811,  2093, -1356,   152, -1356, -1356,
     1619    9774,  1506,   770,  7511, -1356, -1356,   269, -1356,  3425,   779,
     1620     827,  3643,   814, 10872, 10930, -1356,   817, -1356, -1356, -1356,
     1621   -1356, 10949, 10949,   791,  8525,   818, 10872,  8981, -1356, -1356,
     1622   -1356, -1356, -1356, -1356,   855, -1356,   889,  2173, 10872, -1356,
     1623     498,   751,   809,   524,   880,   822,   831,   819,   869,     5,
     1624   -1356, -1356,   883,    64, -1356,   116, -1356, -1356,  2398, -1356,
     1625   -1356,   516,   900, -1356,   644,   900,   913,   165, -1356, -1356,
     1626     915,  9019, -1356,   916,  8639, -1356, -1356,  1004,  1539,  8240,
     1627    6910,  1320, -1356,  1320,   726,   726, -1356, -1356, -1356, -1356,
     1628   -1356, -1356,   726,  9885,  1506, -1356, -1356,  9923,  1500, -1356,
     1629    7969, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   929,  5043,
     1630   10872, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1631   -1356, -1356, -1356, -1356, -1356,  1811, -1356,   876,   936,   938,
     1632     944,   885,   947,   954,   957,  1711, -1356, -1356,   930,    59,
     1633     960, -1356, -1356,   970, -1356, -1356, -1356,  4061, -1356, -1356,
     1634   -1356, -1356, -1356,  2093, -1356,  8867,  8867, -1356,   726,  1811,
     1635    7030,  1506,  8313, -1356, -1356, -1356, -1356,  4061,    62, -1356,
     1636   -1356,  1320,   217, -1356, -1356,  4061, -1356,  6793, -1356, -1356,
     1637     726,   726,   472,  9953,   974,  1092,  5671, -1356,   521,   543,
     1638     781, -1356,  8784,   976,   959,   781,   726, -1356, -1356, -1356,
     1639   -1356, 10252, -1356,   560,  6550, -1356,   217,   981, -1356,  1811,
     1640   11070, 10776, -1356, -1356, -1356, -1356,   921,  2093, -1356,  8386,
     1641     656,  6061, -1356, -1356, -1356,   820,   612,   883,   781,  7511,
     1642    1338,  9774, -1356,  7511, -1356, -1356, -1356, -1356,   638, -1356,
     1643     994,   827,   255,  8525, -1356,  9953, -1356, -1356,  8525, -1356,
     1644    8753,  8525, -1356, -1356, -1356,   993, -1356,   665,   998,   161,
     1645    1002, -1356,  9490,  6639, -1356, -1356, -1356,   290, -1356, -1356,
     1646   10795, -1356,   366, 10795, -1356, -1356, -1356, -1356, -1356, -1356,
     1647   -1356, -1356, -1356, -1356, 10718, 10718, -1356, 10872, 10872, 10872,
     1648   10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872, 10872,
     1649   10872, 10872, 10872, 10872, 10872,  5362, 10718, -1356,    64,  1168,
     1650   -1356, -1356,   139,   139, -1356, -1356,  8867, -1356, -1356,   970,
     1651     791, -1356,   970, 10853, -1356, -1356, -1356,  3524,  6639,  1016,
     1652    9095,  1028, -1356, 10035, -1356, -1356,   594, -1356,  1029,   776,
     1653    1036,  1922,   164,   883, -1356,   139,   139,   883,   174, -1356,
     1654     139,   139,   970, -1356, -1356,   139,   139, -1356,   900, 10065,
     1655    1506, 11215,   233,   347, 10065, -1356, 10214, -1356,   883, -1356,
     1656    9885, -1356,   125,  7935,  7935,  7935,  1506, -1356,  6115,  1033,
     1657     414,   929,  1150,  1037,  1038, -1356,  1054,  4628,   555, -1356,
     1658    1124,  1506,  7935,   791,  1811,   791,   656,   704,   900, -1356,
     1659   -1356,   729,   900, -1356, -1356, -1356,   827, -1356,   900,   217,
     1660   10252, -1356,   666,  1061,   679,  1062, -1356,  1065,   217, -1356,
     1661   -1356,  4061,   217,  1059,   553,   573, 10103,  7119,  1590, 10872,
     1662    1954, -1356, -1356,  1066,    39,  1066, -1356, -1356, -1356,   139,
     1663     139, -1356, -1356,   781, -1356,   139, -1356, -1356,  9630,   781,
     1664    1069, 10872, -1356,   976, 11215, -1356, -1356,  1075, -1356, -1356,
     1665   -1356,   791, -1356, 11143, 10872, -1356,  7935,   588,  8240, -1356,
     1666   -1356,   594,  1072,  1077,   820,  2542, -1356, -1356,  7511, -1356,
     1667   -1356,  1074, -1356, -1356,  1088, -1356,  1074,  1090,  3425, 10718,
     1668     205,  1073,    47,  1094,  1082,  1100,   818,  1102,  1110, -1356,
     1669    1113,  1117,  9661,  6759, -1356, 10718, -1356,   161,  1861, -1356,
     1670    6396, 10718,  1120, -1356, -1356,   929,   689, -1356, 10718, -1356,
     1671   -1356,   865, -1356, -1356, -1356, -1356, -1356,   498,   498,   751,
     1672     751,   809,   809,   809,   809,   524,   524,   880,   822,   831,
     1673     819,   869, 10872,   875, -1356, 10252,  1119,  1140,  1142,  1168,
     1674   -1356, -1356, -1356, -1356, -1356, 10252,   691, 10872,  7935, -1356,
     1675    9885, -1356,  7239,  9209,  8905,  6999, -1356, -1356, -1356,   776,
     1676   10252,   927,  1145,  1152,  1158,  1159,  1162,  1166,  1172, -1356,
     1677    4275,  1922, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1678   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970,
     1679   -1356, -1356, -1356,   883, -1356, -1356, -1356, -1356, -1356, -1356,
     1680   -1356, -1356,  1176, -1356,  1183,  1185, -1356, -1356,    59,  1120,
     1681    6115, -1356, -1356, -1356,  5043,  1144, -1356, -1356, -1356, -1356,
     1682   -1356,   781,  6242,  1231, -1356, -1356, -1356, -1356,  1165,    59,
     1683   -1356, -1356,   970, -1356, -1356,   970,    29,   970, -1356, -1356,
     1684   -1356, -1356, -1356, -1356,  9380, -1356,   217, -1356,  8784, -1356,
     1685   -1356,  1190,   906,  1187,  1193,  1198, -1356, -1356,  1954, -1356,
     1686   -1356, -1356, -1356, -1356, -1356, -1356,  1092, -1356,   959, -1356,
     1687   -1356,  1195,  1202,  1201, -1356, -1356,  1206,  1210, -1356,   588,
     1688    2182, -1356,   533, -1356,  2542,   883, -1356,  1213,  7511, 10176,
     1689    8867,  1220, -1356, -1356,  1218,  1222,  1224, -1356, 10872,   230,
     1690      -1,  1219, -1356,  1225,   791,  1225,  6639, 10718, -1356, -1356,
     1691    1225, -1356,  1861,  5043, -1356, -1356, -1356, -1356,  1236, 10718,
     1692    1233,   791,  6115, -1356, 10795, -1356,   791, -1356, -1356, 10718,
     1693   -1356,   782,   900, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1694     929,  8639, -1356, -1356,  7359,  1237, -1356,   807,   900, -1356,
     1695     825,   836,   900, -1356,   726,  4460, -1356, -1356, -1356, 10252,
     1696   10252, -1356,  8313,  8313, -1356,  1241,  1248,  1246,  1259, -1356,
     1697    1262,   672,   244,  1120, -1356,   791, -1356,  4628, -1356, 10718,
     1698     578, -1356,  6519,  1267,  1271, 10660,  1272,  1277,   122,   304,
     1699     298, 10718,  1279,   217, 10718, 10718,  1280,   678,  1254,  1261,
     1700   -1356, -1356, -1356,  1284, -1356, -1356, -1356, -1356, -1356, -1356,
     1701   -1356, -1356, -1356,   781,  1290, 10718, -1356, 10252, 10252,   139,
     1702    1292, -1356,  9743,  9520,   847,   900, -1356, -1356, -1356, -1356,
     1703   -1356, -1356, -1356, -1356, -1356,  1293,  2182, -1356, -1356,  1275,
     1704   -1356,  1074, -1356, -1356,  1811,  1296, -1356, -1356, -1356,   706,
     1705    1291, -1356,    47,  1305, 10872,  1288,    47,    47,  1314,  1310,
     1706   -1356,  1054, 10718,  1315,  1236,   711,   214,  1317, -1356,  1310,
     1707   -1356,  1323,  1317, -1356, -1356,  1328, -1356, -1356,   970,  1329,
     1708    1330,  6879,  1331,  1339,  1341, -1356, -1356,  1340, -1356, -1356,
     1709     970, -1356, -1356, -1356, -1356,   970, 10718, 10718, 10872,  1344,
     1710   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1711   -1356, -1356, 10872, 10872,  1347,  1349,  1317, -1356, -1356,   781,
     1712   -1356, -1356, -1356,  7746, 10176, 10718, 10718,  1394, 10718, -1356,
     1713   -1356,  1333, -1356,  1334, 10718,  1335,  1343, 10718,   992,  1345,
     1714      36,  8158,  1229,   139, -1356, -1356,  6242,  1348,   585, -1356,
     1715   -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356,   970, 10478,
     1716   -1356,  8386,  1360, -1356, -1356, 10176,   592,   598, -1356,  1356,
     1717    1355,   827,  1366, -1356,   179, -1356, -1356, 10718,  1368,  1363,
     1718   -1356, -1356,  1369,   484,   663,   791,  1376,  1378, -1356,  1380,
     1719   -1356, 10252, -1356, -1356, -1356, -1356, -1356,  1382, -1356, 10252,
     1720   10252, 10252, -1356, -1356,  1386, -1356,  1389,  1392,  1393,   682,
     1721    8008,  8124, -1356, -1356,   370, -1356,  1396,  1397, -1356,  8459,
     1722     715,   725,  1395,   760,  6377, -1356, -1356,   641, -1356, -1356,
     1723     796,  1402,  1403,   217,  1453,   961, -1356, -1356, 10718, -1356,
     1724   10795, 10660, -1356, -1356, -1356,  1406,  1407, 10252, -1356, -1356,
     1725   -1356,  1405, -1356, -1356, -1356, -1356, -1356, -1356, 10176,   827,
     1726     287, -1356,  1388,   827,  1236,   361, -1356, -1356, -1356, -1356,
     1727   -1356, -1356, -1356, -1356,  1408, -1356, -1356, -1356, -1356, -1356,
     1728   -1356,  1411,  1412, -1356, -1356, -1356, -1356, -1356, -1356, -1356,
     1729    1418, -1356,  1417, -1356, -1356, 10660,   272, 10718, 10660, -1356,
     1730    1422, 10718, -1356,   306,  1438,  1441, -1356, -1356,  1430,  1431,
     1731    1413,   918, -1356, -1356, -1356, -1356, -1356,  1506,  1811,  1433,
     1732     855,   946, 10872, -1356,   801,  1439, 10718,   791,   791,  1442,
     1733    1448,  1449,  1450, -1356, -1356,  8313,  1452, -1356,  1535, 10872,
     1734    1462, -1356, -1356, 10571, -1356,   803, -1356,  1460, 10660,  1463,
     1735   -1356, -1356,  1489, -1356,  1493, -1356,  1511,  1512, -1356,  1480,
     1736    1508, 10176, -1356, -1356, -1356,   827,   791,  1514,  1484,  1509,
     1737   -1356,  1317,  1317, -1356, -1356, -1356, -1356, -1356, 10660,   301,
     1738   -1356,   958, -1356, -1356,  7597, -1356, -1356,  1502, 10718, -1356,
     1739   10718,  7597,   217,  9953,   217,  9953,  1515, -1356,  1522, -1356,
     1740   -1356, -1356,  1520,   855, -1356,   811, -1356, -1356, 10718,  1526,
     1741    1527, -1356, 10872, 10872, -1356, -1356,  1055,   154, -1356, -1356,
     1742    1510, -1356,  1055, -1356, -1356,  1716,   791, -1356, -1356,   217,
     1743    9953,   217,  9953,  1532,  1517,   791, -1356, -1356, -1356, -1356,
     1744   -1356, 10571,  1528,  1055,  7673, 10718, 10482,  1531,  1055,  1537,
     1745    1716,  2045, -1356, -1356, -1356,  1545, -1356, -1356, -1356, -1356,
     1746    8867, -1356, -1356, -1356, 10349, -1356, 10571, -1356, -1356,  1529,
     1747   10256, -1356, -1356, 10482,   217,  2045,   217,  1558,  1559,   815,
     1748   -1356, 10349, -1356, -1356, -1356, 10256, -1356, -1356, -1356,   217,
     1749     217, -1356, -1356, -1356, -1356, -1356, -1356, -1356, -1356
    17471750};
    17481751
     
    17501753static const yytype_int16 yypgoto[] =
    17511754{
    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
     1755   -1356,  4068,  1513, -1356,  1381, -1356,    41,     0,  -254, -1356,
     1756     593,  -523,  -482,  -960,  -143,  5028, -1356,  -101,   576,   581,
     1757     386,   577,  1101,  1105,  1106,  1099,  1107, -1356,  -593,  -585,
     1758    4966,  -933,  -708,  -942, -1356,  -273,  -719,   379, -1356,  1404,
     1759   -1356,   457, -1092, -1356, -1356,   195, -1356,  -844, -1059,   308,
     1760   -1356, -1356, -1356, -1356,   124, -1118, -1356, -1356, -1356, -1356,
     1761   -1356, -1356,   382, -1355,    53, -1356,  -496, -1356,   558,   349,
     1762   -1356,   226, -1356,  -307, -1356, -1356, -1356,   610,  -832, -1356,
     1763   -1356,    13,  -961,   169,  2725, -1356, -1356, -1356,   -79, -1356,
     1764     189,   845,  -184,  1482,  3902, -1356, -1356,   192,   133,   657,
     1765    -251,  1620, -1356,  1796, -1356, -1356,   156,  2416, -1356,  2575,
     1766     798, -1356, -1356,  -404,  -428,  1252,  1253,   761,  1003,   302,
     1767   -1356, -1356,  1245,   764,  -253, -1356,   -24,  -132,  -469, -1356,
     1768   -1356,  -983,  -881,     4,   862,  1128,   -43, -1356,   561,  -100,
     1769    -262,  -193,  -152,   721,   826, -1356,  1071, -1356,  2692,   907,
     1770    -449,   971, -1356, -1356,   765, -1356,  -227, -1356,   -60, -1356,
     1771   -1356, -1356, -1248,   485, -1356, -1356, -1356,  1242, -1356,    45,
     1772   -1356, -1356,  -846,  -109, -1333,  -138,  3289, -1356,  1880, -1356,
     1773     969, -1356,  -161,   268,  -181,  -177,  -175,     2,   -39,   -35,
     1774     -33,   769,    30,    31,    69,  -146,  -162,  -151,  -147,  -140,
     1775    -277,  -521,  -506,  -484,  -575,  -313,  -516, -1356, -1356,  -528,
     1776    1156,  1157,  1163,  2484,  4688,  -570,  -557,  -534,  -533,  -478,
     1777   -1356,  -432,  -693,  -685,  -681,  -580,  -201,  -236, -1356, -1356,
     1778     265,   180,   -86, -1356,  3600,   232,  -625,  -376
    17761779};
    17771780
     
    17791782   positive, shift that token.  If negative, reduce the rule which
    17801783   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1781 #define YYTABLE_NINF -522
     1784#define YYTABLE_NINF -523
    17821785static const yytype_int16 yytable[] =
    17831786{
    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,
     1787      47,   112,    96,   398,   148,   933,   266,   399,   149,   400,
     1788     150,   452,   176,   934,   113,   382,   383,   935,   259,   427,
     1789     791,   527,   401,   707,   406,   439,   512,   505,   712,   112,
     1790     112,   895,    47,   402,    96,   618,   853,   403,   768,   407,
     1791     975,   854,   111,    47,   404,    47,  1152,   160,   409,   871,
     1792     751,   820,   846,    48,   756,    47,  1092,  1144,   718,  1184,
     1793    1185,    47,   260,   192,    47,   261,   215,    47,   342,   225,
     1794    1091,   613,   995,   151,   152,   847,   848,   142,    31,   279,
     1795     218,   112,   112,   398,   933,    48,  1462,   399,   842,   400,
     1796    1399,   424,   934,   845,   201,  1196,   935,   779,   951,  1318,
     1797     574,  1202,   401,   843,   406,    47,   936,    31,    47,  1135,
     1798     679,   536,   153,   402,   937,    47,  1136,   403,   122,   407,
     1799    1508,   749,   482,   484,   404,   844,   408,   637,   936,   290,
     1800     688,   641,    31,    68,   857,   575,   950,   280,   692,  1099,
     1801     864,  1219,  1220,   605,   202,   148,    47,   121,   160,   149,
     1802     410,   150,   682,   684,    47,  1537,    75,  1539,   978,    47,
     1803    1462,   372,  1186,   683,   685,    68,   167,   446,  1319,    54,
     1804     114,   483,   141,   578,   438,   410,   478,   251,    31,   410,
     1805     105,   105,   517,   579,    47,    47,   467,   160,    75,    61,
     1806     168,    31,    67,  1482,   109,   534,   535,   211,  -234,  -234,
     1807      47,    54,   418,    31,   410,    41,    42,   556,    47,  1260,
     1808     160,   919,   105,    31,   151,   152,   677,    47,   746,  1008,
     1809      47,    61,   442,   842,    67,   148,   585,   112,   490,   149,
     1810    1201,   150,   586,   209,   483,   507,   219,   858,   843,   755,
     1811     527,   861,   112,   535,   674,   527,   112,   105,   527,   143,
     1812      47,   112,    96,   153,  1210,   596,   576,   760,   770,   675,
     1813     844,   488,   878,   410,    47,    47,   881,   160,    95,  -234,
     1814     777,    47,   410,   855,   145,   610,  1037,   165,    47,   535,
     1815     778,  1038,   846,   862,   342,   610,   666,   536,   740,  1342,
     1816     712,  1014,   472,   112,   703,   470,  1343,  1051,   618,  1263,
     1817      95,  1154,   813,    48,   176,   847,   848,  1184,  1185,   705,
     1818     162,   147,   536,    95,   681,  1344,  1419,  1420,   842,   154,
     1819     686,   638,   976,  1025,   824,   642,   674,  1264,    47,   188,
     1820     372,   170,    95,   843,   524,    95,   180,   536,   478,  1134,
     1821    1192,   675,   165,  1202,   200,   874,  1010,    47,    47,   875,
     1822    1419,  1420,  1216,   441,  -290,   844,  1015,   739,   478,   246,
     1823    1186,   831,   109,   857,    47,   761,   478,  1193,    47,   536,
     1824     109,  1026,   762,    41,    42,   162,   109,   327,   249,   653,
     1825    1092,    41,    42,    68,   926,   936,  1421,    41,    42,   440,
     1826     854,   886,   887,  1133,  1091,    47,  1402,  1492,   500,   605,
     1827     501,   783,   846,  -518,   880,    47,    75,   372,  1551,   905,
     1828    1186,    75,   251,   763,    95,   764,  1153,  1214,   765,    54,
     1829    1430,   771,   916,    47,  1193,   847,   848,    95,   605,    47,
     1830     105,    47,  1457,   605,  1550,  1566,  1212,  1521,   109,    61,
     1831     435,   871,    67,  1526,   479,   263,   342,  1451,  1452,    41,
     1832      42,   376,   397,   188,  1561,    47,   794,   795,   796,   876,
     1833     112,  1565,   -10,   877,  1546,   112,  1051,   377,   386,  1553,
     1834     327,  -112,  1381,   434,   112,   728,    95,   789,  1406,    47,
     1835     251,   329,   211,   958,   387,  -112,  -112,    47,    95,   372,
     1836    -441,    47,  -112,    96,  -467,    47,   740,  1041,   112,   535,
     1837     112,  -112,   435,  1202,   460,   896,  1107,   505,   979,  -442,
     1838    1202,   885,   885,   885,   707,   111,  1259,   398,    95,  1121,
     1839     653,   399,  1150,   400,  1102,  -467,   275,  -467,   909,   165,
     1840     885,  -467,   486,   277,  1186,   434,   401,   112,   618,   406,
     1841     653,   936,   112,   653,    48,   278,  1038,   402,   389,  1252,
     1842     391,   403,  1172,  1174,   407,   907,   109,   330,   404,   531,
     1843    1107,   767,   162,  1202,   390,   739,   392,    41,    42,   331,
     1844    1181,  1182,   740,    75,  1036,  1017,   607,   332,   784,  1466,
     1845     370,   767,   693,   790,   767,  1379,   393,   873,   586,  1118,
     1846     112,   140,   333,    75,  1019,  1348,    95,    47,   831,   936,
     1847     936,    75,   394,   888,   885,   334,   479,  1292,  1293,    47,
     1848     342,    47,   478,   211,   564,   565,   612,   557,   904,   884,
     1849     884,   884,   558,   559,    68,   587,   479,   410,  1231,  1232,
     1850      47,   472,  1498,   535,   479,   897,  1250,   713,   884,  1498,
     1851    1254,   739,   240,   243,    37,   876,    47,    75,    40,  1117,
     1852     566,   567,   112,   714,   955,    41,    42,   327,   327,   715,
     1853      54,    47,  1429,   112,    47,   112,   898,   335,   652,   713,
     1854     730,   105,   899,   188,   712,   716,   731,  1466,   737,   994,
     1855      61,    43,  1466,    67,   728,   929,   342,  1036,   831,   715,
     1856     384,   146,  1547,   371,  1199,  1049,   885,   959,    47,   610,
     1857      47,  1199,  1466,   375,   906,   930,   908,   960,  1333,  1466,
     1858    1200,   388,   884,   112,  1335,   507,  1096,  1324,   460,   112,
     1859     408,   460,   747,   704,  1334,   228,   535,   460,   748,   229,
     1860    1336,   112,   233,   327,   235,   109,     8,     9,    10,    11,
     1861      12,   244,  1056,  1129,    47,    47,    41,    42,   757,  1500,
     1862     285,  1501,   327,   590,   758,   410,   396,   775,    47,    95,
     1863    -291,    41,    42,   612,   441,    31,   431,     8,     9,    10,
     1864      11,    12,   954,  1382,  1350,   774,   920,   674,   531,   425,
     1865     531,   775,   775,   531,  -105,   703,   531,   521,  -105,   922,
     1866     833,   449,   675,    34,  1367,   775,    31,  1391,  1368,  1003,
     1867     705,  1016,  1356,   464,   884,  1004,  1548,   731,   426,   936,
     1868    1358,  1359,  1360,   910,   161,   410,  1248,  1447,   327,   728,
     1869     605,  -112,   586,  -112,    34,  1375,   936,  -112,   462,   728,
     1870     193,   775,   607,   216,  1459,  1376,   226,   933,   913,    47,
     1871     410,   775,  -112,  -112,   728,   934,   115,    75,    37,   935,
     1872    1176,    47,    40,   109,   465,   138,   139,   211,  1395,    41,
     1873      42,   872,   213,   109,    41,    42,   607,   831,   228,   468,
     1874    1378,   211,   560,   561,    41,    42,   775,   841,   979,   612,
     1875     479,   469,   979,   979,   491,   839,   737,   610,   511,    75,
     1876     158,  1156,    37,   410,   653,   611,    40,   562,   563,   936,
     1877     936,   112,   653,    41,    42,  1197,  1383,  1519,  1459,   290,
     1878    1183,  1448,   775,  1467,   213,   161,  1168,  1445,   410,   775,
     1879     535,  1514,   479,   515,    47,  1571,   520,  1515,   373,   744,
     1880     532,   586,  1300,  1301,  1171,  1303,   610,   536,    47,   745,
     1881     654,  1307,   570,  1078,  1310,  1173,    47,   610,   572,   257,
     1882     801,   802,   803,   804,   161,   158,  1236,   213,   410,   571,
     1883     740,   517,   737,   573,    47,   211,   932,   109,   704,   138,
     1884     139,   214,   568,   569,   537,   538,   539,   161,    41,    42,
     1885    1007,  1004,  1122,   460,   112,   251,   329,   410,   241,   443,
     1886     323,   775,  1009,   653,   418,   670,   410,  1340,   540,   339,
     1887     541,   112,   542,   543,   653,   941,   112,   941,   228,   242,
     1888     233,   338,   841,   612,   576,  1243,   329,   410,   213,  1388,
     1889    1389,   717,  -438,   214,   594,  1138,   464,   833,   597,   739,
     1890     488,   329,   410,  1439,  1004,    68,   855,   329,   610,   676,
     1891     740,   647,  1146,   728,   728,   767,   667,  1146,   668,   429,
     1892    1311,  1312,  1313,   433,   669,   112,   213,   671,    75,   750,
     1893     213,   754,  1445,  1446,   672,   653,   214,   673,   112,   112,
     1894     112,    54,   678,  1533,  1493,  1494,    37,   535,   173,   174,
     1895      40,   256,   105,   323,   455,  1400,   696,    41,    42,  1400,
     1896     721,    61,   719,   112,    67,  -238,  1146,   373,   228,  1419,
     1897    1420,   728,   728,   759,  1425,   772,  1078,   841,   776,  1211,
     1898    1213,  1215,   780,   371,   109,   433,   138,   237,   495,   612,
     1899    1349,  1351,  1352,  1107,    47,    41,    42,   214,   834,     2,
     1900     205,     4,     5,     6,     7,   342,   797,   798,  1123,   529,
     1901     836,   838,   158,   799,   800,   805,   806,   213,   849,   105,
     1902     -12,   238,  -292,   901,   -13,   893,   239,   441,  1370,     8,
     1903       9,    10,    11,    12,    37,   214,   182,   183,    40,   214,
     1904     894,   921,   923,   928,   373,    41,    42,   924,     8,     9,
     1905      10,    11,    12,   699,   949,  -415,   595,  -522,    31,   602,
     1906     748,  1483,   963,   460,    35,    68,    36,   970,   984,   112,
     1907     972,   698,   327,   410,   983,   977,   704,    31,   635,   699,
     1908     985,   700,   639,   892,   704,   339,    34,   218,    75,   987,
     1909     988,    47,   109,   989,   138,   139,   653,   990,   213,  1011,
     1910    -293,    54,   612,    41,    42,    34,   999,     8,     9,    10,
     1911      11,    12,   105,  1329,     2,   205,     4,     5,     6,     7,
     1912    1012,   479,  1013,   872,  1204,  1027,   214,    -3,  1122,  1058,
     1913    1093,   891,  1028,   112,   112,   112,    31,  1078,  1029,  1030,
     1914     323,   323,  1031,   227,   945,   728,  1032,   578,   213,   410,
     1915     948,  1080,  1033,   728,   728,   728,  1044,   579,   128,  1443,
     1916     129,   130,   131,  -403,    34,  -402,  1095,  1104,   455,    41,
     1917      42,   455,  1103,  1105,  1146,  1146,  1146,   455,  1106,    35,
     1918    1110,    36,  1111,  1559,   537,   538,   539,  1112,  1113,   115,
     1919     653,   653,  1114,  1120,     2,   205,     4,     5,     6,     7,
     1920    1130,   728,  1131,   729,   775,  1137,   211,   214,   540,   993,
     1921     541,  1132,   542,  1320,   495,  1145,   323,  1166,   495,   398,
     1922     737,  1122,  1142,   399,  1442,   400,  1189,  1187,   529,    68,
     1923     529,   767,  1078,   529,  1188,   323,   529,   460,   401,  1190,
     1924     406,  1223,   209,   219,  1191,   653,  1205,   339,   653,   402,
     1925    1206,  1208,    75,   403,   105,   407,  1209,   214,  1217,    35,
     1926     404,    36,  1221,  1224,   674,    54,  1532,    47,    47,    -3,
     1927    1229,   213,  1234,  1240,   500,  1249,   105,   112,   112,   675,
     1928     109,  1244,   138,   139,  1123,    61,  1078,  1251,    67,  1078,
     1929    1253,    41,    42,   653,  1256,   105,  1257,  1261,   653,   213,
     1930     737,   323,   441,  1265,   213,  1268,   175,    68,  1270,  1272,
     1931    1273,  1302,   829,  1274,  1207,   602,   112,   752,  1146,  1146,
     1932    1278,  1275,   753,  1276,  1122,   654,  1285,   172,   653,  1294,
     1933      75,  1295,  1061,  1323,  1078,  1305,  1306,  1308,   440,  1078,
     1934    1331,  1337,  1339,    54,   870,  1309,  1341,  1317,  1346,   602,
     1935    1345,  1347,    64,   116,   105,   879,   175,  1484,  1353,   175,
     1936    1354,   148,  1355,   479,  1357,   149,  1204,   150,  1363,  1078,
     1937     252,  1364,  1365,  1366,  1377,    47,   112,  1123,  1373,  1374,
     1938     214,  1384,  1385,  1313,    64,   112,  1393,  1394,   105,  1396,
     1939    1403,   653,   213,  1413,  1414,  1406,   653,   159,  -404,  1417,
     1940      47,    47,  1428,   160,  1432,   175,   213,  1434,   214,  1436,
     1941    1437,   339,   729,   214,   653,  1438,   653,  1534,  1444,   220,
     1942     653,  1449,  1453,   653,   654,    47,  1542,   372,  1454,  1455,
     1943    1456,   653,  1078,   455,   166,   653,   171,  1078,  1368,   177,
     1944     178,   179,    37,   181,   173,   174,    40,  1458,    37,  1463,
     1945     173,   174,    40,    41,    42,  1078,   258,  1078,   232,    41,
     1946      42,  1078,  1468,   495,  1078,  1470,   416,    68,   175,  1472,
     1947     247,   248,  1078,  1474,    68,  1080,  1078,  1476,  1478,   375,
     1948    1123,    37,  1480,   182,   183,    40,  1487,   339,  1481,   436,
     1949      75,   105,    41,    42,  1486,  1509,  1488,    75,   328,   444,
     1950     213,   214,  1511,    54,  1499,  1513,   258,   349,  1517,  1518,
     1951      54,  1540,  1525,  1545,   105,   214,  1552,  1554,   609,  1541,
     1952     610,   105,   175,   479,  1061,  1556,  1204,    68,   611,   175,
     1953     479,  1562,    37,  1204,   182,   183,    40,   405,  1569,  1570,
     1954    1222,   807,   810,    41,    42,  1018,   808,   729,   809,   829,
     1955      75,   811,   423,  1322,   212,   428,   430,   729,  1520,  1572,
     1956     159,  1431,  1404,    54,   231,  1255,  1387,  1502,   528,   698,
     1957    1392,   410,   729,  1228,   105,   694,   695,  1108,   942,   700,
     1958     723,   447,  1109,   479,  1141,   450,  1204,   451,   826,   965,
     1959    1057,     8,     9,    10,    11,    12,   466,   973,   175,   900,
     1960    1332,  1119,    64,   742,   816,   817,   212,   480,  1506,   214,
     1961    1506,   818,     0,     0,     0,   175,     0,   487,     0,   175,
     1962      31,     0,     0,     0,  1418,   430,     0,  1426,     0,     0,
     1963    1298,     0,     0,     0,     0,     0,     0,     0,     0,   829,
     1964       0,     0,   327,   455,     0,  1506,     0,  1506,    34,   212,
     1965       0,     0,     0,    37,     0,   182,   183,    40,    37,     0,
     1966     182,   183,    40,     0,    41,    42,    73,     0,   486,    41,
     1967      42,     0,  1465,     0,     0,     0,    37,  1469,   182,   183,
     1968      40,     0,   175,   495,  1124,   323,     0,    41,    42,     0,
     1969     184,     0,   213,   258,     0,  1530,   603,   410,    73,     0,
     1970     185,     0,   631,     0,     0,  1531,     0,  1491,     0,     0,
     1971     212,     0,     0,   184,     0,   636,   690,     0,     0,   636,
     1972       0,     0,   258,   185,     0,     0,     0,   601,   608,     0,
     1973       0,     0,     0,   221,     0,     0,   870,     0,     0,   632,
     1974     633,     8,     9,    10,    11,    12,     0,     0,   212,     0,
     1975     732,     0,   212,    37,     0,   182,   183,    40,     0,     0,
     1976       0,     0,     0,     0,    41,    42,     0,     0,   506,   480,
     1977      31,   729,   729,     0,     0,     0,   125,   125,   125,     0,
     1978       0,     0,     0,     0,   349,     0,     0,   528,     0,   480,
     1979     264,     0,   528,  1560,     0,   528,     0,   480,    34,  1560,
     1980     265,   214,     8,     9,    10,    11,    12,     0,     0,     0,
     1981    1560,     0,     0,     0,  1560,     0,     0,   455,   829,     0,
     1982       0,   352,     0,   724,     0,     0,   430,     0,     0,   729,
     1983     729,    31,     0,     0,     8,     9,    10,    11,    12,   212,
     1984     777,   738,   410,    64,     0,     0,     0,   125,   175,   125,
     1985     778,   430,     0,     0,     0,   430,     0,     0,     0,    34,
     1986       0,     0,     0,    31,    37,     0,   182,   183,    40,     0,
     1987       0,   213,     0,     0,   274,    41,    42,     0,     0,     0,
     1988       0,   175,     0,     0,   258,   349,     0,     0,     0,     0,
     1989       0,    34,     0,     0,     0,   448,    37,   175,   182,   183,
     1990      40,   609,     0,   610,     0,     0,     0,    41,    42,     0,
     1991       0,   611,   175,     0,     0,     0,    73,     0,     0,     0,
     1992     212,    73,     0,     0,     0,     8,     9,    10,    11,    12,
     1993     125,   819,     0,   698,     0,   410,   339,   212,   125,     0,
     1994     125,   125,     0,   700,     0,   125,     0,   125,   125,   636,
     1995     832,     0,   603,   918,    31,     0,     0,     0,     0,     0,
     1996    1124,     0,   925,   851,     0,     0,   927,   213,     0,     0,
     1997     212,  1330,     0,     8,     9,    10,    11,    12,     0,     0,
     1998     214,   603,    34,     0,     0,     0,   603,    37,     0,   182,
     1999     183,    40,   636,     0,     0,   349,   349,   349,    41,    42,
     2000       0,     0,    31,   729,     0,     0,     0,     0,     0,   175,
     2001       0,   729,   729,   729,   349,     0,   221,   125,     0,     0,
     2002       0,     0,     0,     0,  1530,     0,   410,     0,     0,     0,
     2003      34,     0,   724,     0,  1531,    37,     0,   182,   183,    40,
     2004       0,     0,     0,   480,     0,     0,    41,    42,   258,   738,
     2005       0,     0,   938,  1124,     0,     0,     0,     0,     0,   729,
     2006       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2007       0,     0,   264,     0,     0,     0,   214,     0,     0,     0,
     2008       0,     0,   265,    73,     0,   480,     0,     0,   349,     0,
     2009       0,    31,     0,   212,     0,     0,     0,   964,   352,     0,
     2010     430,     0,     0,    73,     0,     0,     0,     0,   952,     0,
     2011     953,    73,     0,     0,     0,     0,     0,   956,   957,    34,
     2012       0,   212,   962,     0,   258,   738,   212,     0,     0,     0,
     2013     992,     0,     0,     0,   967,     0,     0,   352,     0,   971,
     2014     544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
     2015       0,     0,     0,     0,     0,   352,  1124,    73,     0,     0,
     2016       0,   959,     0,   610,     0,  1000,     0,   724,     0,     0,
     2017       0,   960,     0,     0,   554,   175,     0,   724,     0,     0,
     2018     349,     0,   636,     0,     0,  1024,   636,   832,  1505,     0,
     2019    1505,     0,   724,     0,     0,     0,     0,     0,     0,   352,
     2020    1101,     0,  1035,     0,     0,     0,     0,     0,     0,     0,
     2021     601,     0,     0,     0,   212,     0,     0,     0,     0,     0,
     2022       0,     0,     0,     0,     0,  1505,     0,  1505,   212,     0,
     2023       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2024      18,    19,    20,    21,    22,    23,    24,    25,   506,     0,
     2025      26,    27,    28,     0,    64,   323,     0,     0,     0,    31,
     2026       0,     0,     0,     0,   352,     0,     0,  1045,  1046,  1047,
     2027    1048,     0,  1050,     0,     0,     0,   636,     0,     8,     9,
     2028      10,    11,    12,     0,     0,     0,    76,    34,  1094,     0,
     2029       0,     0,    37,     0,    38,    39,    40,     0,     0,     0,
     2030       0,     0,  1100,    41,    42,     0,     0,    31,     0,   352,
     2031     352,   352,  1116,     0,     0,     0,     0,     0,    76,     0,
     2032     430,   116,   212,     0,     0,     0,     0,     0,   352,    43,
     2033       0,   156,   125,   125,     0,    34,     0,     0,   349,    45,
     2034      37,  1115,     0,     0,    40,     0,   352,  1218,     0,     0,
     2035       0,    41,    42,   222,     0,     0,     0,    73,     0,     0,
     2036       0,     0,   125,   352,     0,   125,   125,     0,   125,     0,
     2037     125,   125,     0,   603,     0,   125,   125,    43,     0,     0,
     2038       0,  1143,     0,     0,     0,     0,   428,   146,  1151,     0,
     2039       0,   724,   724,  1155,   349,   349,     0,     0,  1159,    73,
     2040    1160,     0,   352,     0,  1162,  1163,  1164,     0,     0,  1167,
     2041       0,     0,     0,     0,  1203,     0,     0,     0,  1179,     0,
     2042       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2043       0,     0,     0,     0,     0,     0,  1194,  1195,     0,   352,
     2044       0,   354,     0,     0,     0,    78,     0,     0,     0,   724,
     2045     724,    31,     0,     0,   125,   636,     0,     0,     0,   125,
     2046     125,     0,     0,  1225,     0,   125,  1227,     0,     0,     0,
     2047       0,     0,   175,     0,     0,     0,     0,    78,     0,    34,
     2048       0,   352,     0,     0,    37,     0,     0,     0,    40,     0,
     2049       0,   352,     0,     0,   352,    41,    42,     0,     0,   221,
     2050       0,   352,     0,     0,  1242,     0,   352,     0,     0,     0,
     2051    1246,  1247,   223,   738,   212,     0,     0,     0,     0,     0,
     2052       0,   744,  1258,     0,     0,     0,     0,  1262,     0,     0,
     2053    1266,   745,  1267,     0,     0,  1269,    76,     0,     0,     0,
     2054       0,    76,   412,     0,     0,     0,     0,     0,  1277,   420,
     2055       0,     0,     0,     0,     0,     0,  1299,     0,     0,     0,
     2056       0,  1284,    85,  1286,  1287,  1288,  1289,     0,    73,     0,
     2057       0,     0,     0,   258,     0,     0,     0,     0,    64,  1296,
     2058       0,  1297,     0,     0,     0,   171,     0,  1386,     0,     0,
     2059       0,   724,     0,   738,    85,    55,    55,   116,     0,     0,
     2060     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2061       0,     0,     0,     0,  1325,  1326,     0,     0,     0,     0,
     2062       0,   412,     0,   724,     0,     0,     0,    55,     0,   224,
     2063       0,   724,   724,   724,     0,     0,   222,     0,     0,     0,
     2064       0,     0,   349,   349,     0,     0,     0,     0,   175,     0,
     2065       0,     0,   352,     0,     0,     0,  1203,     0,     0,    55,
     2066       0,     0,    55,     0,     0,  1361,  1362,     0,     0,     0,
     2067       0,     0,     0,     0,     0,  1372,     0,   584,     0,   724,
     2068       0,     0,     0,     0,     0,   588,     0,     0,   591,     0,
     2069     116,     0,     0,   212,     0,    78,     0,     0,     0,     0,
     2070      78,     0,     0,    76,     0,   352,   352,     0,   352,   352,
     2071       0,     0,     0,     0,     0,     0,     0,   362,   354,     0,
     2072       0,     0,     0,    76,     0,     0,     0,  1405,    73,     0,
     2073       0,    76,     0,     0,     0,     0,     0,     0,     0,  1409,
     2074       0,  1410,  1411,  1412,     0,     0,  1503,     0,  1507,     0,
     2075     347,   412,     0,  1416,     0,   420,     0,   354,     0,     0,
     2076       0,     0,  1427,   352,   352,     0,     0,   349,     0,     0,
     2077       0,     0,     0,     0,     0,   354,     0,    76,  1440,     0,
     2078       0,     0,     0,  1536,     0,  1538,     0,     0,     0,   212,
     2079       0,     0,     0,   116,     0,   223,     0,     0,     0,     0,
     2080       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2081       0,     0,    85,     0,     0,    55,  1203,    85,     0,   354,
     2082       0,     0,     0,  1203,     0,     0,     0,   352,  1567,     0,
     2083    1568,     0,     0,     0,  1489,  1490,     0,     0,     0,     0,
     2084     412,     0,     0,  1575,  1576,    55,     0,  1495,     0,   125,
     2085       0,     0,     0,     0,  1495,     0,     0,     0,     0,     0,
     2086       0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
     2087     221,     0,     0,     0,     0,     0,  1203,   355,     0,     0,
     2088       0,     0,    78,  1555,   354,     0,     0,  1529,     0,     0,
     2089      78,  1535,    73,     0,     0,     0,     0,     0,     0,     0,
     2090       0,     0,     0,     0,     0,   352,     0,   352,     0,     0,
     2091       0,     0,   224,     0,     0,     0,   355,     0,     0,     0,
     2092    1557,     0,  1558,     0,     0,     0,     0,     0,     0,   354,
     2093     354,   354,   584,   584,   355,     0,    78,   352,     0,     0,
     2094       0,     0,     0,     0,     0,   352,   352,   352,   354,     0,
     2095    1573,  1574,     0,     0,     0,     0,   352,   352,  1577,  1578,
     2096       0,     0,     0,     0,     0,     0,   354,     0,     0,     0,
     2097      73,     0,     0,   125,     0,     0,     0,    76,   355,    85,
     2098       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2099       0,     0,     0,   352,   362,     0,     0,     0,     0,    85,
     2100       0,     0,     0,     0,     0,     0,     0,    85,     0,     0,
     2101       0,     0,     0,     0,     0,     0,     0,     0,     0,    76,
     2102       0,   911,   354,     0,     0,   914,     0,   347,     0,     0,
     2103       0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
     2104       0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
     2105       0,   362,     0,    85,     0,     0,     0,     0,   412,   354,
     2106       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2107      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2108      25,   352,     0,     0,     0,     0,    55,     0,   355,   355,
     2109     355,     0,    31,     0,     0,   362,     0,     0,     0,     0,
     2110       0,   354,     0,     0,     0,     0,     0,   355,     0,     0,
     2111       0,   354,     0,     0,   354,     0,     0,     0,     0,   222,
     2112      34,   354,     0,     0,     0,   355,   354,     0,   347,     0,
     2113      73,     0,     0,     0,     0,     0,    78,    73,     0,     0,
     2114       0,     0,   355,     0,     0,     0,     0,     0,     0,     0,
     2115       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2116     362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2117       0,     0,     0,   584,     0,     0,     0,     0,    78,     0,
     2118       0,   355,     0,     0,     0,   123,   126,   127,    76,     0,
     2119      73,     0,     0,   347,     0,     0,     0,     0,     0,     0,
     2120       0,     0,     0,     0,     0,   362,   362,   362,     0,     0,
     2121       0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2122       0,     0,     0,     0,   362,     0,     0,     0,     0,     0,
     2123       0,     0,     0,     0,     0,     0,     0,     0,   347,   347,
     2124     347,     0,   362,     0,     0,     0,     0,     0,     0,     0,
     2125       0,     0,     0,    85,     0,     0,   253,   347,   254,   362,
     2126     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2127     355,     0,   354,   355,     0,     0,     0,     0,   223,     0,
     2128     355,     0,     0,     0,     0,   355,   412,     0,     0,     0,
     2129       0,     0,     0,     0,     0,    85,     0,     0,   362,     2,
     2130     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2131      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2132      23,    24,    25,     0,     0,   354,   354,     0,   354,   354,
     2133       0,   347,     0,     0,    31,   362,     0,     0,     0,   395,
     2134       0,     0,     0,     0,     0,     0,     0,    78,    76,   414,
     2135     415,     0,     0,     0,   419,     0,   421,   422,     0,     0,
     2136       0,     0,    34,     0,    35,  1157,    36,    37,     0,   173,
     2137     174,    40,     0,     0,     0,     0,     0,   362,    41,    42,
     2138       0,  1169,     0,   354,   354,     0,     0,   362,     0,     0,
     2139     362,     0,     0,     0,     0,   224,     0,   362,     0,     0,
     2140       0,     0,   362,     0,     8,     9,    10,    11,    12,    13,
     2141      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2142      24,    25,  -294,   347,    26,    27,    28,     0,     0,     0,
     2143     347,   355,     0,    31,     0,     0,     0,     0,     0,     0,
     2144       0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
     2145       0,     0,     0,     0,     0,     0,     0,     0,  1237,     0,
     2146       0,    34,     0,     0,    85,     0,    37,     0,   336,   337,
     2147      40,     0,  -294,     0,     0,     0,     0,    41,    42,     0,
     2148       0,     0,     0,     0,   355,   355,     0,   355,   355,     0,
     2149     222,     0,     0,     0,     0,     0,     0,    55,     0,     0,
     2150       0,     0,     0,   643,     0,   338,     0,    78,     0,     0,
     2151       0,     0,    76,   634,     0,   164,     0,     0,     0,     0,
     2152       0,     0,     0,     0,     0,   354,     0,   354,     0,     0,
     2153       0,     0,     0,     0,   217,     0,     0,     0,     0,     0,
     2154       0,     0,   355,   355,     0,     0,     0,     0,   362,     0,
     2155     281,   282,     0,   283,     0,     0,     0,   354,     0,     0,
     2156       0,     0,     0,     0,    55,   354,   354,   354,     0,     0,
     2157       0,     0,     0,     0,     0,     0,   354,   354,     0,   284,
     2158     164,   347,     0,     0,     0,   285,   271,     0,     0,   286,
     2159      76,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2160     292,   362,   362,     0,   362,   362,   355,   293,     0,     0,
     2161       0,     0,     0,   354,     0,   164,     0,     0,     0,     0,
     2162       0,     0,   513,     0,    85,   368,     0,     0,     0,   374,
     2163       0,   296,   380,   298,   299,   300,   301,   347,   347,     0,
     2164       0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
     2165       0,     0,     0,     0,     0,     0,     0,    55,     0,   362,
     2166     362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2167       0,    78,     0,     0,     0,     0,     0,     0,   164,     0,
     2168       0,     0,     0,     0,   355,     0,   355,     0,     0,     0,
     2169     217,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2170       0,   354,     0,     0,     0,     0,     0,     0,   164,   461,
     2171       0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
     2172       0,     0,     0,   362,   355,   355,   355,     0,     0,     0,
     2173       0,     0,   374,     0,     0,   355,   355,     0,     0,     0,
     2174     164,   821,   822,     0,     0,     0,     0,     0,     0,    78,
     2175      76,     0,     0,     0,     0,     0,     0,    76,     0,     0,
     2176       0,     0,     0,     0,   461,     0,   224,   164,     0,     0,
     2177       0,   856,   355,     0,   859,   860,     0,   863,     0,   865,
     2178     866,     0,     0,     0,   867,   868,     0,     0,    85,     0,
     2179       0,     0,     0,     0,     0,     0,     0,     0,    55,    55,
     2180       0,   362,     0,   362,     0,     0,     0,     0,     0,     0,
     2181      76,     0,     0,     0,   606,     0,     0,     0,     0,   630,
     2182       0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
     2183       0,     0,     0,   362,     0,     0,   210,     0,     0,     0,
     2184      55,   362,   362,   362,     0,     0,   230,     0,   234,     0,
     2185     236,     0,   362,   362,     0,     0,     0,   245,     0,     0,
     2186     355,     0,     0,     0,     0,     0,    85,     0,   943,   944,
     2187       0,     0,     0,     0,   946,     0,     0,     0,     0,     0,
     2188       0,     0,     0,     0,     0,   347,   347,     0,   210,   362,
     2189     234,   236,   245,     0,    55,   164,   164,     0,     0,    55,
     2190       0,     0,   368,     0,     0,     0,     0,     0,     0,    78,
     2191       0,     0,     0,     0,     0,     0,    78,     0,     0,     0,
     2192       0,     0,     0,   461,     0,     0,   461,     0,     0,     0,
     2193       0,   210,   461,    55,   474,     2,   205,     4,     5,     6,
     2194       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2195      17,    18,    19,    20,    21,    22,    23,    24,    25,   741,
     2196       0,    26,    27,    28,     0,     0,     0,     0,     0,    78,
     2197      31,   164,     0,     0,     0,     0,     0,   362,     0,     0,
     2198       0,     0,   155,   461,     0,   461,     0,     0,   461,     0,
     2199     164,   461,   210,     0,   234,   236,   245,     0,    34,     0,
     2200      35,     0,    36,   368,     0,    38,    39,     0,     0,     0,
     2201     347,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2202       0,     0,     0,     0,     0,     0,    85,     0,   250,     0,
     2203     210,     0,     0,    85,   210,     0,    55,     0,   255,     0,
     2204       0,     0,     0,     0,     0,    -3,     0,     0,     0,     0,
     2205     504,     0,     0,     0,     0,     0,   164,     0,     0,    55,
     2206       0,     0,     0,     0,     0,     0,    55,     0,   368,     0,
     2207     606,     0,     0,   837,     0,     0,     0,     0,     0,     0,
     2208       0,     0,     0,     0,     0,     0,    85,     0,     0,     0,
     2209       0,     0,     0,     0,   155,     0,     0,     0,     0,   606,
     2210     210,     0,     0,     0,   606,     0,     0,     0,   385,     0,
     2211       0,     0,     0,   368,   368,   368,     0,     0,     0,    55,
     2212       0,   210,     0,     0,     0,     0,   234,   236,     0,     0,
     2213       0,   417,   368,     0,   245,     0,     0,     0,     0,     0,
     2214       0,     0,     0,     0,     0,   432,     0,     0,     0,     0,
     2215       0,     0,  1034,     0,   437,     8,     9,    10,    11,    12,
     2216       0,     0,     0,     0,   445,     0,     0,   741,     0,     0,
     2217       0,     0,     0,     0,     0,     0,     0,   210,     0,     0,
     2218       0,     0,   281,   282,    31,   283,     0,     0,   461,   471,
     2219       0,     0,     0,     0,   481,   210,     0,     0,     0,     0,
     2220     210,     0,   210,     0,     0,     0,   368,   489,   961,     0,
     2221       0,   284,    34,   499,     0,   503,     0,   285,     0,   210,
     2222       0,   286,   210,   210,   287,   288,   289,   290,    41,    42,
     2223       0,   291,   292,   533,     0,     0,     0,     0,   210,   293,
     2224       0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
     2225       0,     0,   210,     0,   294,     0,   378,     0,  1233,   210,
     2226       0,     0,     0,   296,   827,   298,   299,   300,   301,     0,
     2227       0,     0,     0,     0,     0,     0,   593,     0,     0,     0,
     2228       0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
     2229       0,     0,     0,     0,     0,     0,     0,     0,   368,     0,
     2230       0,     0,   630,     0,     0,   368,     0,     0,     0,   644,
     2231       0,     0,     0,   645,   646,     0,   648,     0,     0,     0,
     2232       0,     0,     0,   660,   661,     0,   662,   663,     0,   664,
     2233       0,   665,     0,     0,     0,     0,     0,  1177,     0,     0,
     2234       8,     9,    10,    11,    12,     0,     0,     0,   593,     0,
     2235       0,     0,     0,     0,     0,     0,   680,     0,     0,     0,
     2236       0,     0,     0,     0,     0,     0,     0,   281,   282,    31,
     2237     283,     0,     0,     0,     0,   210,     0,     0,     0,     0,
     2238       0,   691,  1321,     0,     0,     0,     0,     0,     0,     0,
     2239       0,     0,   697,     0,     0,     0,   284,    34,   461,     0,
     2240       0,     0,   285,   210,     0,     0,   286,     0,   210,   287,
     2241     288,   289,   290,    41,    42,   733,   291,   292,     0,     0,
     2242       0,   736,     0,     0,   293,     0,   471,     0,     0,     0,
     2243       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2244     164,   378,     0,     0,     0,     0,     0,     0,   296,  1178,
     2245     298,   299,   300,   301,     0,     0,   368,     0,     0,     0,
     2246       0,     0,     0,   773,     0,     0,     0,     0,     0,     0,
     2247       0,     0,     0,     0,     0,     0,     0,     0,     0,   788,
     2248       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2249       0,   606,     0,     0,     0,     0,   210,     0,     0,     0,
     2250       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2251     210,     0,   368,   368,     0,     0,   815,     0,     0,     0,
     2252       0,     0,     0,     0,     0,   825,     0,     0,     0,     0,
     2253     504,     0,   828,     0,     0,   281,   282,   835,   283,     0,
     2254       0,     0,     0,     0,     0,     0,     0,     0,   850,     0,
     2255       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2256       0,     0,     0,     0,   284,     0,     0,     0,     0,     0,
     2257     285,     0,   461,     0,   286,     0,     0,   287,   288,   289,
     2258     290,    41,    42,     0,   291,   292,     0,     0,     0,   890,
     2259       0,   210,   293,     0,     0,     0,     0,     0,     0,     0,
     2260       0,     0,     0,     0,   210,     0,     0,   294,     0,   378,
     2261       0,     0,   379,     0,     0,     0,   296,   380,   298,   299,
     2262     300,   301,     0,   210,     0,   835,     0,     0,     0,     0,
     2263       0,   741,     0,     0,     1,     2,     3,     4,     5,     6,
     2264       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2265      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2266       0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2267      31,    32,     0,   217,     0,     0,     0,     0,     0,     0,
     2268     250,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2269     968,   969,     0,     0,     0,    33,     0,     0,    34,     0,
     2270      35,     0,    36,    37,   986,    38,    39,    40,     0,     0,
     2271     210,   741,   341,   363,    41,    42,     0,     0,     0,     0,
     2272       0,  1001,     0,  1002,     0,     0,     0,  1006,     0,     0,
     2273       0,     0,     0,     0,     0,     0,   210,     0,     0,     0,
     2274      43,     0,    44,     0,     0,     0,   413,     0,     0,     0,
     2275      45,     0,     0,   413,     0,     0,     0,     0,     0,     0,
     2276     368,   368,     0,     0,   210,     0,     0,     0,     0,   217,
     2277       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2278      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2279      26,    27,    28,  1039,     0,     0,   210,     0,     0,    31,
     2280    1040,     0,     0,     0,     0,     0,     0,   210,     0,     0,
     2281       0,     0,     0,  1042,     0,  1043,     0,     0,     0,     0,
     2282       0,     0,     0,     0,     0,   413,     0,    34,     0,  1055,
     2283       0,     0,   109,     0,    38,    39,  1059,     0,     0,     0,
     2284       0,     0,     0,    41,    42,     0,     0,     0,  1097,     0,
     2285       0,  1098,     0,     0,     0,     0,     0,     0,     0,     0,
     2286       0,     0,     0,     0,     0,     0,     0,     0,     0,   598,
     2287       0,    44,     0,     0,     0,     0,     0,     0,     0,   110,
     2288       0,   413,     0,     0,     0,   368,     0,     0,   210,   413,
     2289     589,     0,   413,   592,     0,     0,     0,     0,     0,     0,
     2290       0,     0,   363,     0,     0,     0,   622,     0,     0,     0,
     2291       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2292       0,     0,     0,     0,     0,   640,     0,     0,   341,     0,
     2293       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2294       0,     0,     0,   461,     0,   461,     0,     0,     0,     0,
     2295     281,   282,     0,   283,     0,   413,     0,     0,  1161,   413,
     2296       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2297       0,     0,     0,     0,     0,   210,     0,     0,     0,   284,
     2298     461,   321,   461,     0,     0,   649,     0,   138,   139,   286,
     2299     363,   345,   287,   650,   289,   290,    41,    42,     0,   291,
     2300     292,     0,     0,   381,   381,     0,     0,   293,     0,     0,
     2301     164,     0,     0,   413,   533,     0,     0,     0,     0,     0,
     2302       0,  1226,   294,     0,   651,     0,   652,   379,     0,     0,
     2303       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2304       0,     0,     0,     0,   413,     0,     0,   363,     0,     0,
     2305    1239,     0,     0,     0,     0,  1241,     0,     0,     0,     0,
     2306       0,     0,     0,  1245,     0,     0,     0,     0,     0,     0,
     2307       0,   210,     0,     0,   321,     0,     0,     0,     0,     0,
     2308       0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
     2309     341,   363,     0,     0,  1271,     0,     0,     0,     0,   485,
     2310       0,     0,     0,     0,     0,     0,  1279,     0,     0,  1280,
     2311       0,  1281,     0,     0,     0,     0,     0,     0,     0,     0,
     2312       0,     0,     0,     0,     0,  1290,  1291,     0,     0,     0,
     2313       0,     0,     0,     0,     0,     0,   413,   413,     0,     0,
     2314       0,     0,     0,     0,     0,     0,     0,  1304,     0,     0,
     2315       0,     0,     0,     0,     0,   830,   363,     0,   363,     0,
     2316       0,     0,     0,     0,     0,     0,     0,   622,     0,   622,
     2317     622,     0,     0,     0,  1327,     0,   622,     0,     0,   514,
     2318       0,   516,   519,     0,     0,     0,   869,   363,     0,   522,
     2319     523,     0,   363,     0,   516,   516,     0,     0,     0,     0,
     2320       0,   363,   363,   363,     0,     0,   516,     0,     0,     0,
     2321       0,     0,     0,     0,     0,   381,     0,     0,     0,     0,
     2322     363,     0,     0,     0,     0,   413,   912,     0,     0,   413,
     2323     915,     0,     0,     0,     0,     0,   917,     0,     0,     0,
     2324       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,   341,   363,   413,     0,   413,     0,
     2326       0,     0,   413,     0,     0,     0,     0,     0,     0,   281,
     2327     282,  1397,   283,  1398,     0,     0,     0,     0,   516,     0,
     2328       0,     0,     0,     0,     0,     0,  1407,     0,  1408,     0,
     2329       0,     0,     0,     0,   363,   622,     0,     0,   284,     0,
     2330       0,     0,     0,     0,   285,     0,  1415,     0,   286,     0,
     2331       0,   287,   288,   289,   290,    41,    42,   735,   291,   292,
     2332       0,     0,  1433,  1435,     0,     0,   293,   210,     0,     0,
     2333     341,   363,     0,     0,  1441,   413,   413,  1245,     0,     0,
     2334       0,   294,     0,   378,     0,     0,     0,     0,     0,   812,
     2335     296,   380,   298,   299,   300,   301,   769,     0,     0,  1464,
     2336       0,     0,     0,     0,     0,     0,     0,     0,  1471,   782,
     2337       0,  1473,     0,  1475,  1477,  1479,   769,   413,     0,   769,
     2338       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2339     792,   793,   830,   363,     0,     0,     0,   622,     0,   622,
     2340       0,     0,     0,     0,     0,     0,     0,     0,     0,   622,
     2341       0,     0,   814,     0,     0,  1510,     0,  1512,     0,     0,
     2342    1245,     0,   823,     0,     0,     0,     0,     0,     0,   345,
     2343       0,     0,     0,     0,   782,  1524,     0,     0,     0,     0,
     2344       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2345       0,     0,     0,     0,     0,   516,   516,   516,   516,   516,
     2346     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
     2347     516,   516,   516,     0,     0,     0,     0,     0,     0,     0,
     2348       0,     0,   830,     0,   889,     0,     0,     0,     0,     0,
     2349     413,     0,     0,   381,     0,     0,   413,     0,   516,     0,
     2350       0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
     2351       0,     0,     0,     0,     0,     0,     0,   622,   622,     0,
     2352       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2353       0,     0,     0,   345,     0,     0,     0,     0,     0,     0,
     2354       0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
     2355     413,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2356      17,    18,    19,    20,    21,    22,    23,    24,    25,   413,
     2357    1158,    26,    27,    28,     0,     0,     0,     0,     0,   363,
     2358      31,   453,     0,     0,     0,   413,  1170,     0,   622,   622,
     2359    1175,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2360     363,   363,     0,     0,     0,     0,     0,     0,    34,   782,
     2361       0,   991,     0,     0,     0,    38,    39,   996,     0,   516,
     2362       0,     0,     0,     0,  1005,     0,     0,     0,     0,     0,
     2363       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2364       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2365       0,     0,   454,     0,     0,     0,   711,     0,     0,     0,
     2366     110,   830,   413,  1238,     0,     0,     0,     0,  1022,  1023,
     2367       0,   345,     0,     0,   622,     0,     0,     0,   516,     0,
     2368       0,     0,     0,     0,     0,     0,   345,     0,     0,     0,
     2369       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2370       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2371     516,     0,     0,     0,     0,     0,     0,     0,     0,   363,
     2372       0,     0,     0,     0,     0,   516,  1053,     0,     0,     0,
     2373     381,     0,     0,  -517,     0,     0,     1,     2,     3,     4,
     2374       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2375      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2376      25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
     2377       0,     0,    31,    32,     0,     0,     0,     0,     0,   341,
     2378       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2379       0,     0,     0,     0,     0,     0,     0,    33,     0,   363,
     2380      34,     0,    35,     0,    36,    37,   321,    38,    39,    40,
     2381       0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
     2382       0,     0,  1139,  1140,     0,     0,     0,     0,     0,   381,
     2383       0,     0,     0,     0,     0,   996,     0,     0,  1149,     0,
     2384     769,     0,    43,     0,    44,     0,     0,     0,   363,   363,
     2385       0,     0,    45,     0,     0,     0,     0,     0,     0,     0,
     2386    1165,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2387       0,  1180,     0,     0,     0,     0,   516,     0,     0,     0,
     2388       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2389       0,     0,     0,   381,     0,  1198,     0,     0,     0,     0,
     2390       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2391     996,   996,     0,     0,     0,     0,     0,     0,     0,   516,
     2392       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2393       0,  1230,     0,     0,     1,     2,     3,     4,     5,     6,
     2394       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2395      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2396     516,    26,    27,    28,    29,     0,     0,    30,     0,     0,
     2397      31,    32,     0,   363,     0,     0,     0,     0,   996,     0,
     2398       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2399       0,     0,     0,     0,     0,    33,     0,   889,    34,     0,
     2400      35,     0,    36,    37,     0,    38,    39,    40,     0,     0,
     2401       0,     0,  1282,  1283,    41,    42,     0,     0,     0,     0,
     2402       0,     0,   281,   282,     0,   283,     0,     0,     0,     0,
     2403       0,     0,   516,     0,     0,     0,     0,     0,     0,     0,
     2404      43,     0,    44,     0,     0,     0,  -521,     0,     0,     0,
     2405      45,   284,     0,     0,     0,     0,     0,   285,     0,     0,
     2406       0,   286,     0,   413,   287,   288,   289,   290,    41,    42,
     2407       0,   291,   292,     0,     0,     0,   516,     0,     0,   293,
     2408       0,     0,     0,     0,     0,     0,     0,     0,   413,   413,
     2409     516,   516,     0,   996,   294,     0,   378,     0,     0,     0,
     2410       0,   781,     0,   296,   380,   298,   299,   300,   301,     0,
     2411       0,     0,     0,   413,     0,     1,     2,   205,     4,     5,
     2412       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2413      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2414       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2415     282,    31,  1062,  1063,  1390,  1064,   769,     0,  1065,  1066,
     2416    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
     2417       0,     0,     0,  1074,  1075,     0,    33,     0,   284,    34,
     2418       0,    35,     0,    36,   649,     0,    38,    39,   286,     0,
     2419       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2420       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2421       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2422       0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
     2423     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2424    1077,     0,  1450,     0,  -129,     0,     0,     0,     0,     0,
     2425       1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2426      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2427      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2428      29,     0,     0,    30,   281,   282,    31,   283,     0,     0,
     2429       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2430     516,     0,     0,   281,   282,     0,   283,     0,     0,     0,
     2431       0,     0,     0,   284,    34,     0,    35,   516,    36,   285,
     2432       0,    38,    39,   286,  1516,     0,   287,   288,   289,   290,
     2433      41,    42,   284,   291,   292,     0,     0,     0,   285,     0,
     2434       0,   293,   286,     0,     0,   287,   288,   289,   290,    41,
     2435      42,     0,   291,   292,     0,     0,   294,     0,  1076,     0,
     2436     293,     0,     0,     0,     0,   296,   297,   298,   299,   300,
     2437     301,     0,     0,     0,     0,   294,   321,   378,     0,  -129,
     2438     993,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2439     516,   516,     1,     2,   205,     4,     5,     6,     7,     8,
     2440       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2441      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2442      27,    28,    29,     0,     0,    30,   281,   282,    31,   283,
     2443       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2444      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2445      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2446      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2447     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2448       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2449       0,     0,   109,     0,    38,    39,     0,     0,   294,     0,
     2450      44,     0,     0,    41,    42,     0,     0,   296,   297,   298,
     2451     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2452       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2453      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2454      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2455       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2456      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2457      25,  -294,     0,     0,     0,   284,    34,     0,    35,     0,
     2458      36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
     2459     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2460       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2461      34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2462     343,  -294,     0,     0,     0,   781,     0,   296,   344,   298,
     2463     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2464       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2465      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2466      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2467       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2468      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2469      25,  -295,     0,     0,     0,   284,    34,     0,    35,     0,
     2470      36,   285,    31,    38,    39,   286,     0,     0,   287,   288,
     2471     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2472       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2473      34,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2474     931,  -295,     0,     0,     0,   781,     0,   296,   344,   298,
     2475     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2476       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2477      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2478      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2479       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2480      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2481      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2482      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2483     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2484       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2485       0,     0,     0,     0,    38,    39,     0,     0,   294,     0,
     2486     931,     0,     0,     0,     0,   781,     0,   296,   600,   298,
     2487     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2488       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2489      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2490      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2491       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2492      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2493      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2494      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2495     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2496       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2497       0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
     2498     343,     0,     0,     0,     0,     0,     0,   296,   344,   298,
     2499     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2500       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2501      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2502      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2503       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2504       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2505       0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
     2506      36,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2507     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2508       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2510     931,     0,     0,     0,     0,     0,     0,   296,   344,   298,
     2511     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2512       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2513      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2514      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2515       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2516       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2517       0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
     2518      36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
     2519     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2520       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2521       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2522    1020,     0,     0,     0,     0,     0,     0,   296,  1021,   298,
     2523     299,   300,   301,     2,   205,     4,     5,     6,     7,     8,
     2524       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2525      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2526      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2527       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2528      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2529      26,    27,    28,     0,     0,   284,    34,     0,    35,    31,
     2530      36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
     2531     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2532       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2533       0,     0,     0,     0,   206,    39,     0,     0,   294,     0,
     2534     378,     0,     0,     0,     0,     0,     0,   296,   380,   298,
     2535     299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
     2536       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2537      18,    19,    20,    21,    22,    23,    24,    25,     0,   270,
     2538      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2539       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2540      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2541       0,    26,    27,    28,   492,   493,   494,    34,     0,    35,
     2542      31,    36,    37,     0,   206,    39,    40,     0,     0,     0,
     2543       0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2545       0,     0,     0,     0,     0,    38,    39,     0,     0,    43,
     2546       0,   207,     0,     0,     0,     0,     0,     0,     0,   208,
     2547       1,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2548      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2549      21,    22,    23,    24,    25,  -294,     0,    26,    27,    28,
     2550      29,     0,     0,    30,     0,     0,    31,     0,     0,     0,
     2551       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2553       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2554       0,    38,    39,     0,     0,  -294,     1,     2,   205,     4,
     2555       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2556      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2557      25,     0,     0,    26,    27,    28,    29,     0,    44,    30,
     2558       0,     0,    31,     0,     0,     0,   110,     0,     0,     0,
     2559       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2560       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2561      34,     0,    35,     0,    36,     0,     0,    38,    39,   204,
     2562       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    19552563      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,
     2564      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2565       0,     0,     0,     0,    44,    31,     0,     0,     0,     0,
     2566       0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
    20912567       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,
     2568       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2569     206,    39,     0,     2,   205,     4,     5,     6,     7,     8,
     2570       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2571      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2572      27,    28,     0,     0,     0,     0,     0,   207,    31,     0,
     2573       0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
     2574       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2575       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2576      36,    37,     0,   206,    39,    40,     0,     0,     0,     0,
     2577       0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
     2578       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2579       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2580     207,     0,     0,     0,     0,     0,     0,     0,   208,     2,
     2581     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2582      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2583      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2584       0,     0,     0,     0,    31,     0,     0,     0,     0,     8,
     2585       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2586      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2587      27,    28,    34,     0,    35,     0,    36,     0,    31,    38,
     2588      39,     0,     2,   205,     4,     5,     6,     7,     8,     9,
     2589      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2590      20,    21,    22,    23,    24,    25,    34,     0,    26,    27,
     2591      28,     0,     0,    38,    39,  -400,   687,    31,     0,     0,
     2592       0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
     2593       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2594       0,     0,     0,     0,     0,    34,     0,    35,   643,    36,
     2595     338,     0,    38,    39,     0,     0,     0,     0,   110,     0,
     2596       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2597       0,     0,     0,     0,  1369,     0,     0,     0,     0,     0,
     2598       0,     0,     0,     0,     0,     0,     0,     0,     0,   687,
     2599       0,     0,     0,     0,     0,     0,     0,   634,     2,   205,
     2600       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2601      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2602      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2603       0,     0,     0,    31,     0,     0,     0,     0,     8,     9,
     2604      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2605      20,    21,    22,    23,    24,    25,  -294,     0,    26,    27,
     2606      28,    34,     0,    35,     0,    36,     0,    31,    38,    39,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2609    1371,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2610      37,     0,   336,   337,    40,   687,  -294,     0,     0,     0,
     2611       0,    41,    42,   634,     2,   205,     4,     5,     6,     7,
     2612       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2613      18,    19,    20,    21,    22,    23,    24,    25,     0,   338,
     2614      26,    27,    28,     0,     0,     0,     0,   110,     0,    31,
     2615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2616       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2617       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2618       0,    36,     0,     0,   206,    39,     0,     2,   205,     4,
     2619       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2620      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2621      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2622       0,   269,    31,     0,     0,     0,     0,     0,     0,   629,
     2623       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2624       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2625      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
     2626       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2627      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2628      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2629       0,     0,     0,     0,   687,    31,     0,     0,     0,     0,
     2630       0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
     2631       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2633      38,    39,     0,     2,   205,     4,     5,     6,     7,     8,
     2634       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2635      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2636      27,    28,     0,     0,     0,     0,     0,   599,    31,     0,
     2637       0,     0,     0,     0,     0,   634,     0,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
     2640      36,     0,     0,   206,    39,     8,     9,    10,    11,    12,
     2641      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2642      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2643       0,     0,   281,   282,    31,   283,     0,     0,     0,     0,
     2644     207,     0,     0,     0,     0,     0,     0,     0,   270,     0,
     2645       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2646       0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
     2647      39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2648       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2649       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2650       0,     0,     0,     0,   294,     0,   525,     0,     0,   170,
     2651       0,     0,     0,   296,   297,   298,   299,   300,   301,     8,
     2652       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2653      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2654      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2655       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2656      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2657      26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
     2658       0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2659     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2660       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2661       0,     0,    37,     0,   336,   337,    40,     0,   294,     0,
     2662     599,    -3,     0,    41,    42,     0,     0,   296,   600,   298,
     2663     299,   300,   301,     8,     9,    10,    11,    12,    13,    14,
     2664      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2665      25,   338,     0,    26,    27,    28,     0,     0,     0,   110,
     2666     281,   282,    31,   283,     8,     9,    10,    11,    12,    13,
     2667      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2668      24,    25,     0,     0,    26,    27,    28,     0,     0,   284,
     2669      34,     0,     0,    31,   453,   649,     0,    38,    39,   286,
     2670       0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2671     292,     0,     0,     0,     0,     0,     0,   293,     0,     0,
     2672       0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
     2673       0,     0,   294,   -35,   766,     0,     0,     0,     0,     0,
     2674       0,   296,   297,   298,   299,   300,   301,     8,     9,    10,
     2675      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2676      21,    22,    23,    24,    25,   454,     0,    26,    27,    28,
     2677       0,     0,     0,   110,   281,   282,    31,   283,     0,     0,
     2678       0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2679      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2680      23,    24,    25,   284,    34,    26,    27,    28,     0,   285,
     2681       0,    38,    39,   286,    31,     0,   287,   288,   289,   290,
     2682      41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
     2683       0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2684       0,     0,    34,     0,     0,     0,   294,     0,   295,    38,
     2685      39,     0,     0,     0,     0,   296,   297,   298,   299,   300,
     2686     301,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2687      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2688       0,    26,    27,    28,   643,     0,   338,     0,   281,   282,
     2689      31,   283,     0,     0,   634,     0,     0,     0,     0,     8,
     2690       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2691      19,    20,    21,    22,    23,    24,    25,   284,    34,    26,
     2692      27,    28,     0,   285,     0,    38,    39,   286,    31,     0,
     2693     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2694       0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
     2695       0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
     2696     294,     0,   156,    38,    39,     0,     0,     0,     0,   296,
     2697     297,   298,   299,   300,   301,     8,     9,    10,    11,    12,
     2698      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2699      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2700     256,     0,   281,   282,    31,   283,     0,     0,   110,     0,
     2701       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2702       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2703       0,   284,    34,     0,     0,     0,     0,   285,     0,    38,
     2704      39,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2705       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2706       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2707       0,     0,     0,     0,   294,     0,   599,     0,     0,     0,
     2708       0,     0,     0,   296,   600,   298,   299,   300,   301,     8,
     2709       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2710      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2711      27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2712       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2713      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2714      26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
     2715       0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
     2716     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2717       0,     0,     0,   293,     0,     0,     0,    34,     0,     0,
     2718       0,     0,    37,     0,    38,    39,    40,     0,   294,     0,
     2719     378,     0,     0,    41,    42,     0,     0,   296,   380,   298,
     2720     299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
     2721       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
     2722       0,    44,     0,     0,     0,     0,     0,     0,     0,    45,
     2723       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2724      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2725      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2726       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2727      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2728      26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
     2729       0,     0,    37,     0,   206,    39,    40,     0,     0,     0,
     2730       0,     0,     0,    41,    42,     0,     0,     0,     0,     0,
     2731       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2732       0,     0,    37,     0,   336,   337,    40,     0,     0,    43,
     2733       0,   269,     0,    41,    42,     0,     0,     0,     0,   208,
     2734       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2735       0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
     2736       0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
     2737       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2738      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2739      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2740       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2741      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2742      26,    27,    28,     0,     0,     0,     0,    34,     0,    31,
     2743       0,     0,     0,     0,    38,    39,     0,     0,  -294,     0,
     2744       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2745       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2746       0,     0,     0,     0,    38,    39,     0,     0,  -294,   643,
     2747       0,   338,     0,     0,     0,     0,     0,     0,     0,   110,
     2748       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2749       0,     0,     0,     0,     0,     0,     0,     0,     0,   643,
     2750       0,   338,     0,     0,     0,     0,     0,     0,     0,   634,
     2751       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2752      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2753      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2754     453,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2755      17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
     2756       0,    26,    27,    28,     0,     0,     0,    34,     0,     0,
     2757      31,     0,     0,     0,    38,    39,     0,     0,     0,     0,
     2758       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2759       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2760       0,     0,     0,     0,     0,    38,    39,     0,     0,  -294,
     2761       0,   454,     0,     0,     0,   947,     0,     0,     0,   110,
     2762       0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2763      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2764      25,     0,   338,    26,    27,    28,     0,     0,     0,     0,
     2765     110,     0,    31,   453,     8,     9,    10,    11,    12,    13,
     2766      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2767      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2768      34,     0,     0,    31,     0,     0,     0,    38,    39,     0,
    20972769       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,
     2770      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2771       0,    34,    26,    27,    28,     0,     0,     0,    38,    39,
     2772       0,    31,     0,     0,   454,     0,     0,     0,  1235,     0,
     2773       0,     0,   110,     0,     0,     0,     0,     0,     0,     0,
     2774       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2775       0,     0,     0,     0,     0,   156,   206,    39,     0,     0,
     2776       0,     0,     0,   110,     0,     8,     9,    10,    11,    12,
     2777      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2778      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2779       0,     0,     0,   269,    31,     0,     0,     0,     0,     0,
     2780       0,   270,     0,     8,     9,    10,    11,    12,    13,    14,
     2781      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2782      25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
     2783      39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2784      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2785      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2786      34,     0,    31,     0,     0,     0,   256,    38,    39,     0,
     2787       0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
     2788       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2789      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2790       0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
     2791       0,     0,   634,     0,     0,     8,     9,    10,    11,    12,
     2792      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2793      23,    24,    25,     0,   454,    26,    27,    28,     0,     0,
     2794       0,     0,   110,     0,    31,     8,     9,    10,    11,    12,
     2795      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2796      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2797       0,     0,    34,     0,    31,     0,     0,     0,     0,   206,
     2798      39,     0,     0,     8,     9,    10,    11,    12,    13,    14,
     2799      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2800      25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
     2801      39,     0,    31,     0,     0,     0,   269,     0,     0,     0,
     2802       0,     0,     0,     0,   629,     0,     0,     0,     0,     0,
     2803       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2804      34,     0,     0,     0,     0,     0,   599,    38,    39,     0,
     2805       0,     0,     0,     0,   634,     0,     8,     9,    10,    11,
     2806      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2807      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2808       0,     0,     0,     0,   338,    31,     0,     0,     0,     0,
     2809       0,     0,   110,     0,     8,     9,    10,    11,    12,    13,
     2810      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2811      24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
     2812      38,    39,     0,    31,     0,     0,     2,   205,     4,     5,
     2813       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2814      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2815       0,    34,    26,    27,    28,     0,     0,    44,   206,    39,
     2816       0,    31,     0,   281,   282,   110,   283,  1063,     0,  1064,
     2817       0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
     2818       0,     0,  1549,  1073,     0,     0,     0,  1074,  1075,    34,
     2819      33,    35,   284,    36,     0,     0,    38,    39,   649,     0,
     2820       0,     0,   286,   629,     0,   287,   288,   289,   290,    41,
     2821      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2822     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2823       0,     0,  -413,     0,     0,   294,     0,   378,     0,     0,
     2824     170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2825       0,     0,     0,     0,  1077,     0,   281,   282,  -129,   283,
     2826    1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,  1069,
     2827    1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,     0,
     2828    1074,  1075,     0,    33,     0,   284,     0,     0,     0,     0,
     2829       0,   649,     0,     0,     0,   286,     0,     0,   287,   288,
     2830     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2831       0,     0,     0,   293,     0,     0,     0,     0,     0,     0,
     2832       0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
     2833     378,     0,     0,   170,     0,     0,     0,   296,   380,   298,
     2834     299,   300,   301,     0,     0,     0,     0,  1077,     0,     0,
     2835       0,  -129,     2,   205,     4,     5,     6,     7,     8,     9,
     2836      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2837      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2838      28,     0,     0,     0,     0,     0,     0,    31,     0,   281,
     2839     282,     0,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,
     2840    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1549,  1073,
     2841       0,     0,     0,  1074,  1075,    34,    33,    35,   284,    36,
     2842       0,     0,    38,    39,   649,     0,     0,     0,   286,     0,
     2843       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2844       0,     0,     0,     0,  1328,     0,   293,     0,     0,     0,
     2845       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2846       0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
     2847     296,   380,   298,   299,   300,   301,     0,     0,   281,   282,
     2848    1077,   283,  1063,     0,  1064,  1419,  1420,  1065,  1066,  1067,
     2849    1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,
     2850       0,     0,  1074,  1075,     0,    33,     0,   284,     0,     0,
     2851       0,     0,     0,   649,     0,     0,     0,   286,     0,     0,
     2852     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2853       0,     0,     0,     0,     0,   293,     0,     0,     0,     0,
     2854       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2855     294,     0,   378,     0,     0,   170,     0,     0,     0,   296,
     2856     380,   298,   299,   300,   301,     0,     0,   281,   282,  1077,
     2857     283,  1063,     0,  1064,     0,     0,  1065,  1066,  1067,  1068,
     2858    1069,  1070,  1071,  1072,     0,     0,     0,  1073,     0,     0,
     2859       0,  1074,  1075,     0,    33,     0,   284,     0,     0,     0,
     2860       0,     0,   649,     0,     0,     0,   286,     0,     0,   287,
     2861     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2862       0,     0,     0,     0,   293,   281,   282,     0,   283,     0,
     2863       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2864       0,   378,     0,     0,   170,     0,     0,     0,   296,   380,
     2865     298,   299,   300,   301,   284,     0,     0,     0,  1077,     0,
     2866     285,     0,     0,     0,   286,     0,     0,   287,   288,   289,
     2867     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2868       0,     0,   293,   281,   282,     0,   283,     0,     0,     0,
     2869       0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
     2870       0,     0,   281,   282,     0,   283,   296,   380,   298,   299,
     2871     300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
     2872       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2873      42,   284,   291,   292,     0,     0,     0,   649,     0,     0,
     2874     293,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2875       0,   291,   292,     0,     0,   294,     0,   378,     0,   293,
     2876     281,   282,     0,   283,   296,   734,   298,   299,   300,   301,
     2877       0,     0,     0,     0,   294,     0,   785,     0,     0,   281,
     2878     282,     0,   283,   296,   380,   298,   299,   300,   301,   284,
     2879       0,     0,     0,     0,     0,   285,     0,     0,     0,   286,
     2880       0,     0,   287,   288,   289,   290,    41,    42,   284,   291,
     2881     292,     0,     0,     0,   285,     0,     0,   293,   286,     0,
     2882       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2883       0,     0,   294,     0,   378,     0,   293,   281,   282,     0,
     2884     283,   296,   827,   298,   299,   300,   301,     0,     0,     0,
     2885       0,   294,     0,     0,     0,     0,   281,   282,     0,   283,
     2886     296,   380,   298,   299,   300,   301,   284,     0,     0,     0,
     2887       0,     0,   285,     0,     0,     0,   286,     0,     0,   287,
     2888     288,   289,   290,    41,    42,   284,   291,   292,     0,     0,
     2889       0,   285,     0,     0,   293,   286,     0,     0,   287,   288,
     2890     289,   290,    41,    42,     0,   291,   292,     0,     0,   518,
     2891       0,     0,     0,   293,     0,     0,     0,     0,   296,   380,
     2892     298,   299,   300,   301,     0,     0,     0,     0,   521,     0,
     2893       0,     0,     0,     0,     0,     0,     0,   296,   380,   298,
     2894     299,   300,   301,   204,     2,   205,     4,     5,     6,     7,
     2895       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2896      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2897      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2898       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2899       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2900       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2901       0,    36,     0,     0,   206,    39,   474,     2,   205,     4,
     2902       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2903      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2904      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2905       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2906       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2907       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2908      34,     0,    35,     0,    36,     0,     0,    38,    39,     2,
     2909     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2910      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2911      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2912       0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
     2913       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2914       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2915       0,     0,    34,     0,    35,     0,    36,     0,     0,   206,
     2916      39
     2917};
     2918
     2919#define yypact_value_is_default(yystate) \
     2920  ((yystate) == (-1356))
     2921
     2922#define yytable_value_is_error(yytable_value) \
     2923  YYID (0)
     2924
     2925static const yytype_int16 yycheck[] =
     2926{
     2927       0,     1,     0,   184,    43,   698,   115,   184,    43,   184,
     2928      43,   238,    55,   698,     1,   167,   168,   698,   104,   203,
     2929     543,   294,   184,   455,   185,   218,   280,   278,   456,    29,
     2930      30,   656,    32,   184,    32,   348,   611,   184,   520,   185,
     2931     759,   611,     1,    43,   184,    45,  1006,    45,   186,   629,
     2932     499,   579,   609,     0,   503,    55,   902,   999,   462,  1042,
     2933    1043,    61,   105,    61,    64,   108,    64,    67,   154,    67,
     2934     902,   348,   780,    43,    43,   609,   609,    32,    39,    51,
     2935      67,    81,    82,   264,   777,    32,  1419,   264,   609,   264,
     2936    1338,   200,   777,   609,    28,  1055,   777,   529,   723,    63,
     2937      95,  1062,   264,   609,   265,   105,   699,    39,   108,   110,
     2938     417,    82,    43,   264,   699,   115,   117,   264,   109,   265,
     2939    1475,   497,   260,   261,   264,   609,    64,   363,   721,    82,
     2940     437,   367,    39,     0,   612,   130,   721,   109,   445,   110,
     2941     618,  1074,  1075,   344,    78,   184,   146,    82,   146,   184,
     2942     111,   184,   425,   426,   154,  1510,     0,  1512,   111,   159,
     2943    1493,   159,  1043,   425,   426,    32,   107,   227,   132,     0,
     2944       1,   109,   109,   109,   217,   111,   255,   109,    39,   111,
     2945       0,     1,   283,   119,   184,   185,   246,   185,    32,     0,
     2946     131,    39,     0,  1441,    72,   296,   297,    64,    44,    45,
     2947     200,    32,   109,    39,   111,    83,    84,   308,   208,  1142,
     2948     208,   680,    32,    39,   184,   184,   409,   217,   495,   812,
     2949     220,    32,   220,   744,    32,   264,   110,   227,   271,   264,
     2950    1062,   264,   116,    64,   109,   278,    67,   613,   744,   501,
     2951     513,   617,   242,   344,   405,   518,   246,    67,   521,    11,
     2952     250,   251,   250,   184,   132,   341,   131,   511,   520,   405,
     2953     744,   109,   638,   111,   264,   265,   642,   265,     0,   115,
     2954     109,   271,   111,   109,   109,   111,   851,    45,   278,   380,
     2955     119,   851,   839,   109,   370,   111,   395,    82,   489,   110,
     2956     718,   819,   251,   293,   455,   250,   117,   890,   611,    85,
     2957      32,  1009,   575,   250,   347,   839,   839,  1290,  1291,   455,
     2958      45,    43,    82,    45,   423,  1257,    44,    45,   839,   112,
     2959     429,   364,   117,   839,   586,   368,   487,   113,   328,    61,
     2960     328,   114,    64,   839,   293,    67,   116,    82,   417,   109,
     2961      96,   487,   110,  1304,     3,   112,   815,   347,   348,   116,
     2962      44,    45,  1071,   220,     3,   839,   825,   489,   437,   116,
     2963    1241,   597,    72,   841,   364,   110,   445,   123,   368,    82,
     2964      72,   840,   117,    83,    84,   110,    72,   145,     0,   379,
     2965    1226,    83,    84,   250,   691,   978,   114,    83,    84,   220,
     2966     960,   644,   645,   978,  1226,   395,   109,    96,   129,   600,
     2967     131,   111,   959,     0,   640,   405,   250,   405,  1526,   662,
     2968    1291,   255,   109,   513,   146,   515,  1009,   119,   518,   250,
     2969     114,   521,   676,   423,   123,   959,   959,   159,   629,   429,
     2970     250,   431,  1415,   634,  1526,  1553,   132,  1496,    72,   250,
     2971     208,  1021,   250,  1502,   255,   131,   532,  1407,  1408,    83,
     2972      84,   116,   184,   185,  1546,   455,   557,   558,   559,   112,
     2973     460,  1553,   109,   116,  1523,   465,  1059,   132,   116,  1528,
     2974     238,   110,  1304,   208,   474,   471,   208,   111,   117,   479,
     2975     109,   110,   349,   736,   132,   115,   116,   487,   220,   487,
     2976     109,   491,   131,   491,    80,   495,   697,   873,   498,   600,
     2977     500,   131,   270,  1464,   239,   657,   938,   758,   762,   109,
     2978    1471,   643,   644,   645,   946,   474,  1141,   698,   250,   968,
     2979     520,   698,  1004,   698,   928,   111,   109,   113,   666,   297,
     2980     662,   117,   264,   109,  1415,   270,   698,   537,   851,   700,
     2981     540,  1134,   542,   543,   491,   109,  1116,   698,   116,  1134,
     2982     116,   698,  1030,  1031,   700,   664,    72,   110,   698,   294,
     2983     992,   520,   297,  1524,   132,   697,   132,    83,    84,   110,
     2984    1039,  1040,   773,   417,   851,   828,   344,   110,   537,  1423,
     2985     112,   540,   110,   542,   543,  1304,   116,   630,   116,   965,
     2986     590,    30,   110,   437,   830,   111,   328,   597,   834,  1192,
     2987    1193,   445,   132,   646,   736,   110,   417,  1192,  1193,   609,
     2988     696,   611,   691,   480,    90,    91,   348,   119,   661,   643,
     2989     644,   645,   124,   125,   491,   109,   437,   111,  1097,  1098,
     2990     630,   590,  1464,   734,   445,    80,  1132,   116,   662,  1471,
     2991    1136,   773,    81,    82,    72,   112,   646,   491,    76,   116,
     2992     126,   127,   652,   132,   733,    83,    84,   425,   426,   116,
     2993     491,   661,  1381,   663,   664,   665,   111,   110,   113,   116,
     2994     110,   491,   117,   405,  1102,   132,   116,  1521,   489,   780,
     2995     491,   109,  1526,   491,   680,   132,   772,   964,   924,   116,
     2996     115,   119,  1524,   109,   116,   888,   828,   109,   698,   111,
     2997     700,   116,  1546,   109,   663,   132,   665,   119,   116,  1553,
     2998     132,   109,   736,   713,   116,   758,   909,   132,   453,   719,
     2999      64,   456,   110,   455,   132,    68,   827,   462,   116,    72,
     3000     132,   731,    75,   501,    77,    72,    10,    11,    12,    13,
     3001      14,    84,   894,   970,   744,   745,    83,    84,   110,  1468,
     3002      72,  1470,   520,   109,   116,   111,   132,   116,   758,   491,
     3003       3,    83,    84,   495,   631,    39,   112,    10,    11,    12,
     3004      13,    14,   731,   132,   111,   110,   110,   938,   513,   109,
     3005     515,   116,   116,   518,   112,   946,   521,   109,   116,   110,
     3006     598,   132,   938,    67,   112,   116,    39,  1320,   116,   110,
     3007     946,   110,  1271,   242,   828,   116,  1525,   116,   109,  1402,
     3008    1279,  1280,  1281,   109,    45,   111,   110,  1402,   586,   815,
     3009    1021,   110,   116,   112,    67,   110,  1419,   116,   114,   825,
     3010      61,   116,   600,    64,  1419,   110,    67,  1530,   109,   839,
     3011     111,   116,   131,   132,   840,  1530,     1,   691,    72,  1530,
     3012    1034,   851,    76,    72,   114,    74,    75,   724,  1327,    83,
     3013      84,   629,    64,    72,    83,    84,   634,  1103,   211,   132,
     3014     110,   738,   121,   122,    83,    84,   116,   609,  1132,   611,
     3015     691,   132,  1136,  1137,   114,   109,   697,   111,   109,   733,
     3016      45,   109,    72,   111,   894,   119,    76,    88,    89,  1492,
     3017    1493,   901,   902,    83,    84,  1057,   110,  1492,  1493,    82,
     3018    1042,   110,   116,   110,   116,   146,   109,   116,   111,   116,
     3019    1021,   110,   733,   109,   924,   110,   109,   116,   159,   109,
     3020     112,   116,  1205,  1206,   109,  1208,   111,    82,   938,   119,
     3021     379,  1214,   120,   902,  1217,   109,   946,   111,   129,   104,
     3022     564,   565,   566,   567,   185,   110,   109,   159,   111,   128,
     3023    1161,  1062,   773,    94,   964,   832,   698,    72,   700,    74,
     3024      75,    64,    92,    93,    85,    86,    87,   208,    83,    84,
     3025     115,   116,   969,   718,   984,   109,   110,   111,    81,   220,
     3026     145,   116,   117,   993,   109,   110,   111,  1251,   109,   154,
     3027     111,  1001,   113,   114,  1004,   703,  1006,   705,   351,   114,
     3028     353,   111,   744,   745,   131,  1124,   110,   111,   220,    58,
     3029      59,   460,   109,   116,   109,   984,   465,   835,   112,  1161,
     3030     109,   110,   111,   115,   116,   902,   109,   110,   111,   109,
     3031    1241,   112,  1001,  1039,  1040,  1004,   110,  1006,   110,   204,
     3032      58,    59,    60,   208,   110,  1055,   258,   110,   902,   498,
     3033     262,   500,   116,   117,   110,  1065,   159,   110,  1068,  1069,
     3034    1070,   902,   112,  1505,   116,   117,    72,  1178,    74,    75,
     3035      76,   111,   902,   238,   239,  1339,   112,    83,    84,  1343,
     3036     131,   902,   116,  1093,   902,   114,  1055,   328,   441,    44,
     3037      45,  1097,  1098,   109,  1377,   112,  1065,   839,   110,  1068,
     3038    1069,  1070,   110,   109,    72,   270,    74,    75,   273,   851,
     3039    1263,  1264,  1265,  1555,  1124,    83,    84,   220,   112,     4,
     3040       5,     6,     7,     8,     9,  1221,   560,   561,   969,   294,
     3041     112,   112,   297,   562,   563,   568,   569,   349,   112,   969,
     3042     117,   109,     3,    29,   117,   117,   114,  1024,  1290,    10,
     3043      11,    12,    13,    14,    72,   258,    74,    75,    76,   262,
     3044     116,   110,   110,   114,   405,    83,    84,   112,    10,    11,
     3045      12,    13,    14,   117,   115,   110,   341,   115,    39,   344,
     3046     116,  1445,   115,   928,    69,  1062,    71,   109,   116,  1199,
     3047     110,   109,   970,   111,   110,   132,   938,    39,   363,   117,
     3048     110,   119,   367,   652,   946,   370,    67,  1204,  1062,   117,
     3049     110,  1221,    72,   110,    74,    75,  1226,   110,   430,   110,
     3050       3,  1062,   964,    83,    84,    67,   116,    10,    11,    12,
     3051      13,    14,  1062,  1239,     4,     5,     6,     7,     8,     9,
     3052     110,  1062,   110,  1021,  1062,   110,   349,   132,  1245,   115,
     3053      29,   111,   110,  1263,  1264,  1265,    39,  1226,   110,   110,
     3054     425,   426,   110,    33,   713,  1271,   110,   109,   480,   111,
     3055     719,   902,   110,  1279,  1280,  1281,   110,   119,    72,  1398,
     3056      74,    75,    76,   110,    67,   110,   131,   110,   453,    83,
     3057      84,   456,   112,   110,  1263,  1264,  1265,   462,   110,    69,
     3058     115,    71,   110,  1540,    85,    86,    87,   116,   112,   474,
     3059    1320,  1321,   112,   110,     4,     5,     6,     7,     8,     9,
     3060     110,  1327,   110,   471,   116,   116,  1203,   430,   109,   114,
     3061     111,   117,   113,   114,   499,   112,   501,   110,   503,  1530,
     3062    1161,  1338,   116,  1530,  1397,  1530,   110,   116,   513,  1226,
     3063     515,  1320,  1321,   518,   116,   520,   521,  1102,  1530,   110,
     3064    1531,   117,  1203,  1204,   112,  1375,   109,   532,  1378,  1530,
     3065     109,   109,  1226,  1530,  1204,  1531,   109,   480,   109,    69,
     3066    1530,    71,   112,   132,  1555,  1226,  1505,  1397,  1398,   115,
     3067     110,   603,   110,   110,   129,   114,  1226,  1407,  1408,  1555,
     3068      72,   115,    74,    75,  1245,  1226,  1375,   112,  1226,  1378,
     3069     132,    83,    84,  1423,   110,  1245,   116,   112,  1428,   631,
     3070    1241,   586,  1299,   116,   636,   112,    55,  1304,   110,   110,
     3071     110,    47,   597,   112,  1065,   600,  1446,   109,  1407,  1408,
     3072     110,   112,   114,   112,  1441,   894,   112,    53,  1458,   112,
     3073    1304,   112,   901,   115,  1423,   132,   132,   132,  1299,  1428,
     3074     110,   115,   117,  1304,   629,   132,   110,   132,   115,   634,
     3075     112,   112,     0,     1,  1304,   640,   105,  1446,   112,   108,
     3076     112,  1530,   112,  1304,   112,  1530,  1304,  1530,   112,  1458,
     3077      96,   112,   110,   110,   109,  1505,  1506,  1338,   112,   112,
     3078     603,   109,   109,    60,    32,  1515,   110,   110,  1338,   114,
     3079     132,  1521,   724,   112,   112,   117,  1526,    45,   110,   112,
     3080    1530,  1531,   110,  1531,    96,   154,   738,    96,   631,   109,
     3081     109,   696,   680,   636,  1544,   132,  1546,  1506,   115,    67,
     3082    1550,   112,   110,  1553,   993,  1555,  1515,  1555,   110,   110,
     3083     110,  1561,  1521,   718,    51,  1565,    53,  1526,   116,    56,
     3084      57,    58,    72,    60,    74,    75,    76,    42,    72,   117,
     3085      74,    75,    76,    83,    84,  1544,   104,  1546,    75,    83,
     3086      84,  1550,   132,   748,  1553,   132,   192,  1464,   217,   110,
     3087      87,    88,  1561,   110,  1471,  1226,  1565,    96,    96,   109,
     3088    1441,    72,   132,    74,    75,    76,   132,   772,   110,   215,
     3089    1464,  1441,    83,    84,   110,   110,   117,  1471,   146,   225,
     3090     832,   724,   110,  1464,   132,   115,   154,   155,   112,   112,
     3091    1471,   109,   132,   115,  1464,   738,   115,   110,   109,   132,
     3092     111,  1471,   271,  1464,  1093,   110,  1464,  1524,   119,   278,
     3093    1471,   132,    72,  1471,    74,    75,    76,   185,   110,   110,
     3094    1077,   570,   573,    83,    84,   830,   571,   815,   572,   834,
     3095    1524,   574,   200,  1226,    64,   203,   204,   825,  1493,  1565,
     3096     208,  1383,  1343,  1524,    74,  1137,  1314,  1471,   294,   109,
     3097    1321,   111,   840,  1093,  1524,   453,   453,   946,   705,   119,
     3098     465,   229,   948,  1524,   993,   233,  1524,   235,   590,   748,
     3099     894,    10,    11,    12,    13,    14,   244,   758,   347,   658,
     3100    1245,   966,   250,   491,   578,   578,   116,   255,  1473,   832,
     3101    1475,   578,    -1,    -1,    -1,   364,    -1,   265,    -1,   368,
     3102      39,    -1,    -1,    -1,  1375,   273,    -1,  1378,    -1,    -1,
     3103    1199,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   924,
     3104      -1,    -1,  1540,   928,    -1,  1510,    -1,  1512,    67,   159,
     3105      -1,    -1,    -1,    72,    -1,    74,    75,    76,    72,    -1,
     3106      74,    75,    76,    -1,    83,    84,     0,    -1,  1530,    83,
     3107      84,    -1,  1423,    -1,    -1,    -1,    72,  1428,    74,    75,
     3108      76,    -1,   431,   968,   969,   970,    -1,    83,    84,    -1,
     3109     109,    -1,  1024,   341,    -1,   109,   344,   111,    32,    -1,
     3110     119,    -1,   350,    -1,    -1,   119,    -1,  1458,    -1,    -1,
     3111     220,    -1,    -1,   109,    -1,   363,   442,    -1,    -1,   367,
     3112      -1,    -1,   370,   119,    -1,    -1,    -1,   344,   345,    -1,
     3113      -1,    -1,    -1,    67,    -1,    -1,  1021,    -1,    -1,   356,
     3114     357,    10,    11,    12,    13,    14,    -1,    -1,   258,    -1,
     3115     476,    -1,   262,    72,    -1,    74,    75,    76,    -1,    -1,
     3116      -1,    -1,    -1,    -1,    83,    84,    -1,    -1,   278,   417,
     3117      39,  1039,  1040,    -1,    -1,    -1,    26,    27,    28,    -1,
     3118      -1,    -1,    -1,    -1,   432,    -1,    -1,   513,    -1,   437,
     3119     109,    -1,   518,  1544,    -1,   521,    -1,   445,    67,  1550,
     3120     119,  1024,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3121    1561,    -1,    -1,    -1,  1565,    -1,    -1,  1102,  1103,    -1,
     3122      -1,   155,    -1,   471,    -1,    -1,   474,    -1,    -1,  1097,
     3123    1098,    39,    -1,    -1,    10,    11,    12,    13,    14,   349,
     3124     109,   489,   111,   491,    -1,    -1,    -1,    97,   597,    99,
     3125     119,   499,    -1,    -1,    -1,   503,    -1,    -1,    -1,    67,
     3126      -1,    -1,    -1,    39,    72,    -1,    74,    75,    76,    -1,
     3127      -1,  1203,    -1,    -1,   124,    83,    84,    -1,    -1,    -1,
     3128      -1,   630,    -1,    -1,   532,   533,    -1,    -1,    -1,    -1,
     3129      -1,    67,    -1,    -1,    -1,   229,    72,   646,    74,    75,
     3130      76,   109,    -1,   111,    -1,    -1,    -1,    83,    84,    -1,
     3131      -1,   119,   661,    -1,    -1,    -1,   250,    -1,    -1,    -1,
     3132     430,   255,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3133     180,   579,    -1,   109,    -1,   111,  1221,   447,   188,    -1,
     3134     190,   191,    -1,   119,    -1,   195,    -1,   197,   198,   597,
     3135     598,    -1,   600,   679,    39,    -1,    -1,    -1,    -1,    -1,
     3136    1245,    -1,   688,   611,    -1,    -1,   692,  1299,    -1,    -1,
     3137     480,  1239,    -1,    10,    11,    12,    13,    14,    -1,    -1,
     3138    1203,   629,    67,    -1,    -1,    -1,   634,    72,    -1,    74,
     3139      75,    76,   640,    -1,    -1,   643,   644,   645,    83,    84,
     3140      -1,    -1,    39,  1271,    -1,    -1,    -1,    -1,    -1,   758,
     3141      -1,  1279,  1280,  1281,   662,    -1,   350,   267,    -1,    -1,
     3142      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3143      67,    -1,   680,    -1,   119,    72,    -1,    74,    75,    76,
     3144      -1,    -1,    -1,   691,    -1,    -1,    83,    84,   696,   697,
     3145      -1,    -1,   700,  1338,    -1,    -1,    -1,    -1,    -1,  1327,
     3146      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3147      -1,    -1,   109,    -1,    -1,    -1,  1299,    -1,    -1,    -1,
     3148      -1,    -1,   119,   417,    -1,   733,    -1,    -1,   736,    -1,
     3149      -1,    39,    -1,   603,    -1,    -1,    -1,   745,   432,    -1,
     3150     748,    -1,    -1,   437,    -1,    -1,    -1,    -1,   725,    -1,
     3151     727,   445,    -1,    -1,    -1,    -1,    -1,   734,   735,    67,
     3152      -1,   631,   739,    -1,   772,   773,   636,    -1,    -1,    -1,
     3153     778,    -1,    -1,    -1,   751,    -1,    -1,   471,    -1,   756,
     3154      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
     3155      -1,    -1,    -1,    -1,    -1,   489,  1441,   491,    -1,    -1,
     3156      -1,   109,    -1,   111,    -1,   782,    -1,   815,    -1,    -1,
     3157      -1,   119,    -1,    -1,   131,   924,    -1,   825,    -1,    -1,
     3158     828,    -1,   830,    -1,    -1,   833,   834,   835,  1473,    -1,
     3159    1475,    -1,   840,    -1,    -1,    -1,    -1,    -1,    -1,   533,
     3160     926,    -1,   850,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3161     827,    -1,    -1,    -1,   724,    -1,    -1,    -1,    -1,    -1,
     3162      -1,    -1,    -1,    -1,    -1,  1510,    -1,  1512,   738,    -1,
     3163      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3164      20,    21,    22,    23,    24,    25,    26,    27,   758,    -1,
     3165      30,    31,    32,    -1,   902,  1540,    -1,    -1,    -1,    39,
     3166      -1,    -1,    -1,    -1,   598,    -1,    -1,   884,   885,   886,
     3167     887,    -1,   889,    -1,    -1,    -1,   924,    -1,    10,    11,
     3168      12,    13,    14,    -1,    -1,    -1,     0,    67,   905,    -1,
     3169      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3170      -1,    -1,   919,    83,    84,    -1,    -1,    39,    -1,   643,
     3171     644,   645,   960,    -1,    -1,    -1,    -1,    -1,    32,    -1,
     3172     968,   969,   832,    -1,    -1,    -1,    -1,    -1,   662,   109,
     3173      -1,   111,   582,   583,    -1,    67,    -1,    -1,   986,   119,
     3174      72,   958,    -1,    -1,    76,    -1,   680,  1073,    -1,    -1,
     3175      -1,    83,    84,    67,    -1,    -1,    -1,   691,    -1,    -1,
     3176      -1,    -1,   612,   697,    -1,   615,   616,    -1,   618,    -1,
     3177     620,   621,    -1,  1021,    -1,   625,   626,   109,    -1,    -1,
     3178      -1,   998,    -1,    -1,    -1,    -1,  1034,   119,  1005,    -1,
     3179      -1,  1039,  1040,  1010,  1042,  1043,    -1,    -1,  1015,   733,
     3180    1017,    -1,   736,    -1,  1021,  1022,  1023,    -1,    -1,  1026,
     3181      -1,    -1,    -1,    -1,  1062,    -1,    -1,    -1,  1035,    -1,
     3182      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3183      -1,    -1,    -1,    -1,    -1,    -1,  1053,  1054,    -1,   773,
     3184      -1,   155,    -1,    -1,    -1,     0,    -1,    -1,    -1,  1097,
     3185    1098,    39,    -1,    -1,   704,  1103,    -1,    -1,    -1,   709,
     3186     710,    -1,    -1,  1080,    -1,   715,  1083,    -1,    -1,    -1,
     3187      -1,    -1,  1221,    -1,    -1,    -1,    -1,    32,    -1,    67,
     3188      -1,   815,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     3189      -1,   825,    -1,    -1,   828,    83,    84,    -1,    -1,   833,
     3190      -1,   835,    -1,    -1,  1121,    -1,   840,    -1,    -1,    -1,
     3191    1127,  1128,    67,  1161,  1024,    -1,    -1,    -1,    -1,    -1,
     3192      -1,   109,  1139,    -1,    -1,    -1,    -1,  1144,    -1,    -1,
     3193    1147,   119,  1149,    -1,    -1,  1152,   250,    -1,    -1,    -1,
     3194      -1,   255,   188,    -1,    -1,    -1,    -1,    -1,  1165,   195,
     3195      -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,
     3196      -1,  1178,     0,  1180,  1181,  1182,  1183,    -1,   902,    -1,
     3197      -1,    -1,    -1,  1221,    -1,    -1,    -1,    -1,  1226,  1196,
     3198      -1,  1198,    -1,    -1,    -1,  1202,    -1,  1313,    -1,    -1,
     3199      -1,  1239,    -1,  1241,    32,     0,     1,  1245,    -1,    -1,
     3200     155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3201      -1,    -1,    -1,    -1,  1231,  1232,    -1,    -1,    -1,    -1,
     3202      -1,   267,    -1,  1271,    -1,    -1,    -1,    32,    -1,    67,
     3203      -1,  1279,  1280,  1281,    -1,    -1,   350,    -1,    -1,    -1,
     3204      -1,    -1,  1290,  1291,    -1,    -1,    -1,    -1,  1397,    -1,
     3205      -1,    -1,   986,    -1,    -1,    -1,  1304,    -1,    -1,    64,
     3206      -1,    -1,    67,    -1,    -1,  1282,  1283,    -1,    -1,    -1,
     3207      -1,    -1,    -1,    -1,    -1,  1292,    -1,   323,    -1,  1327,
     3208      -1,    -1,    -1,    -1,    -1,   331,    -1,    -1,   334,    -1,
     3209    1338,    -1,    -1,  1203,    -1,   250,    -1,    -1,    -1,    -1,
     3210     255,    -1,    -1,   417,    -1,  1039,  1040,    -1,  1042,  1043,
     3211      -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   432,    -1,
     3212      -1,    -1,    -1,   437,    -1,    -1,    -1,  1344,  1062,    -1,
     3213      -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1356,
     3214      -1,  1358,  1359,  1360,    -1,    -1,  1472,    -1,  1474,    -1,
     3215     155,   397,    -1,  1370,    -1,   401,    -1,   471,    -1,    -1,
     3216      -1,    -1,  1379,  1097,  1098,    -1,    -1,  1415,    -1,    -1,
     3217      -1,    -1,    -1,    -1,    -1,   489,    -1,   491,  1395,    -1,
     3218      -1,    -1,    -1,  1509,    -1,  1511,    -1,    -1,    -1,  1299,
     3219      -1,    -1,    -1,  1441,    -1,   350,    -1,    -1,    -1,    -1,
     3220      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3221      -1,    -1,   250,    -1,    -1,   220,  1464,   255,    -1,   533,
     3222      -1,    -1,    -1,  1471,    -1,    -1,    -1,  1161,  1554,    -1,
     3223    1556,    -1,    -1,    -1,  1451,  1452,    -1,    -1,    -1,    -1,
     3224     486,    -1,    -1,  1569,  1570,   250,    -1,  1464,    -1,  1099,
     3225      -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,    -1,    -1,
     3226      -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3227    1204,    -1,    -1,    -1,    -1,    -1,  1524,   432,    -1,    -1,
     3228      -1,    -1,   437,  1531,   598,    -1,    -1,  1504,    -1,    -1,
     3229     445,  1508,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3230      -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
     3231      -1,    -1,   350,    -1,    -1,    -1,   471,    -1,    -1,    -1,
     3232    1537,    -1,  1539,    -1,    -1,    -1,    -1,    -1,    -1,   643,
     3233     644,   645,   578,   579,   489,    -1,   491,  1271,    -1,    -1,
     3234      -1,    -1,    -1,    -1,    -1,  1279,  1280,  1281,   662,    -1,
     3235    1567,  1568,    -1,    -1,    -1,    -1,  1290,  1291,  1575,  1576,
     3236      -1,    -1,    -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,
     3237    1304,    -1,    -1,  1223,    -1,    -1,    -1,   691,   533,   417,
     3238      -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
     3239      -1,    -1,    -1,  1327,   432,    -1,    -1,    -1,    -1,   437,
     3240      -1,    -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,
     3241      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,
     3242      -1,   667,   736,    -1,    -1,   671,    -1,   432,    -1,    -1,
     3243      -1,    -1,    -1,   471,    -1,    -1,    -1,    -1,    -1,    -1,
     3244      -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
     3245      -1,   489,    -1,   491,    -1,    -1,    -1,    -1,   704,   773,
     3246      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3247      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3248      27,  1415,    -1,    -1,    -1,    -1,   491,    -1,   643,   644,
     3249     645,    -1,    39,    -1,    -1,   533,    -1,    -1,    -1,    -1,
     3250      -1,   815,    -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,
     3251      -1,   825,    -1,    -1,   828,    -1,    -1,    -1,    -1,   833,
     3252      67,   835,    -1,    -1,    -1,   680,   840,    -1,   533,    -1,
     3253    1464,    -1,    -1,    -1,    -1,    -1,   691,  1471,    -1,    -1,
     3254      -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3255      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3256     598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3257      -1,    -1,    -1,   819,    -1,    -1,    -1,    -1,   733,    -1,
     3258      -1,   736,    -1,    -1,    -1,    26,    27,    28,   902,    -1,
     3259    1524,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,    -1,
     3260      -1,    -1,    -1,    -1,    -1,   643,   644,   645,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   773,    -1,
     3262      -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,
     3263      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,   644,
     3264     645,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3265      -1,    -1,    -1,   691,    -1,    -1,    97,   662,    99,   697,
     3266     815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3267     825,    -1,   986,   828,    -1,    -1,    -1,    -1,   833,    -1,
     3268     835,    -1,    -1,    -1,    -1,   840,   932,    -1,    -1,    -1,
     3269      -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,   736,     4,
     3270       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3271      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3272      25,    26,    27,    -1,    -1,  1039,  1040,    -1,  1042,  1043,
     3273      -1,   736,    -1,    -1,    39,   773,    -1,    -1,    -1,   180,
     3274      -1,    -1,    -1,    -1,    -1,    -1,    -1,   902,  1062,   190,
     3275     191,    -1,    -1,    -1,   195,    -1,   197,   198,    -1,    -1,
     3276      -1,    -1,    67,    -1,    69,  1011,    71,    72,    -1,    74,
     3277      75,    76,    -1,    -1,    -1,    -1,    -1,   815,    83,    84,
     3278      -1,  1027,    -1,  1097,  1098,    -1,    -1,   825,    -1,    -1,
     3279     828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,    -1,
     3280      -1,    -1,   840,    -1,    10,    11,    12,    13,    14,    15,
     3281      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3282      26,    27,    28,   828,    30,    31,    32,    -1,    -1,    -1,
     3283     835,   986,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3284      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,
     3285      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1104,    -1,
     3286      -1,    67,    -1,    -1,   902,    -1,    72,    -1,    74,    75,
     3287      76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,
     3288      -1,    -1,    -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,
     3289    1204,    -1,    -1,    -1,    -1,    -1,    -1,   902,    -1,    -1,
     3290      -1,    -1,    -1,   109,    -1,   111,    -1,  1062,    -1,    -1,
     3291      -1,    -1,  1226,   119,    -1,    45,    -1,    -1,    -1,    -1,
     3292      -1,    -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,
     3293      -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,    -1,    -1,
     3294      -1,    -1,  1097,  1098,    -1,    -1,    -1,    -1,   986,    -1,
     3295      37,    38,    -1,    40,    -1,    -1,    -1,  1271,    -1,    -1,
     3296      -1,    -1,    -1,    -1,   969,  1279,  1280,  1281,    -1,    -1,
     3297      -1,    -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,    66,
     3298     110,   986,    -1,    -1,    -1,    72,   116,    -1,    -1,    76,
     3299    1304,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3300      87,  1039,  1040,    -1,  1042,  1043,  1161,    94,    -1,    -1,
     3301      -1,    -1,    -1,  1327,    -1,   145,    -1,    -1,    -1,    -1,
     3302      -1,    -1,   109,    -1,  1062,   155,    -1,    -1,    -1,   159,
     3303      -1,   118,   119,   120,   121,   122,   123,  1042,  1043,    -1,
     3304      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,
     3305      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1062,    -1,  1097,
     3306    1098,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3307      -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,   208,    -1,
     3308      -1,    -1,    -1,    -1,  1239,    -1,  1241,    -1,    -1,    -1,
     3309     220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3310      -1,  1415,    -1,    -1,    -1,    -1,    -1,    -1,   238,   239,
     3311      -1,    -1,    -1,    -1,    -1,    -1,  1271,    -1,    -1,    -1,
     3312      -1,    -1,    -1,  1161,  1279,  1280,  1281,    -1,    -1,    -1,
     3313      -1,    -1,   262,    -1,    -1,  1290,  1291,    -1,    -1,    -1,
     3314     270,   582,   583,    -1,    -1,    -1,    -1,    -1,    -1,  1304,
     3315    1464,    -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,
     3316      -1,    -1,    -1,    -1,   294,    -1,  1204,   297,    -1,    -1,
     3317      -1,   612,  1327,    -1,   615,   616,    -1,   618,    -1,   620,
     3318     621,    -1,    -1,    -1,   625,   626,    -1,    -1,  1226,    -1,
     3319      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1203,  1204,
     3320      -1,  1239,    -1,  1241,    -1,    -1,    -1,    -1,    -1,    -1,
     3321    1524,    -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,   349,
     3322      -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3323      -1,    -1,    -1,  1271,    -1,    -1,    64,    -1,    -1,    -1,
     3324    1245,  1279,  1280,  1281,    -1,    -1,    74,    -1,    76,    -1,
     3325      78,    -1,  1290,  1291,    -1,    -1,    -1,    85,    -1,    -1,
     3326    1415,    -1,    -1,    -1,    -1,    -1,  1304,    -1,   709,   710,
     3327      -1,    -1,    -1,    -1,   715,    -1,    -1,    -1,    -1,    -1,
     3328      -1,    -1,    -1,    -1,    -1,  1290,  1291,    -1,   116,  1327,
     3329     118,   119,   120,    -1,  1299,   425,   426,    -1,    -1,  1304,
     3330      -1,    -1,   432,    -1,    -1,    -1,    -1,    -1,    -1,  1464,
     3331      -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,    -1,    -1,
     3332      -1,    -1,    -1,   453,    -1,    -1,   456,    -1,    -1,    -1,
     3333      -1,   159,   462,  1338,     3,     4,     5,     6,     7,     8,
    21053334       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,
     3335      19,    20,    21,    22,    23,    24,    25,    26,    27,   489,
     3336      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1524,
     3337      39,   501,    -1,    -1,    -1,    -1,    -1,  1415,    -1,    -1,
     3338      -1,    -1,    44,   513,    -1,   515,    -1,    -1,   518,    -1,
     3339     520,   521,   220,    -1,   222,   223,   224,    -1,    67,    -1,
     3340      69,    -1,    71,   533,    -1,    74,    75,    -1,    -1,    -1,
     3341    1415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3342      -1,    -1,    -1,    -1,    -1,    -1,  1464,    -1,    90,    -1,
     3343     258,    -1,    -1,  1471,   262,    -1,  1441,    -1,   100,    -1,
     3344      -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
     3345     278,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,  1464,
     3346      -1,    -1,    -1,    -1,    -1,    -1,  1471,    -1,   598,    -1,
     3347     600,    -1,    -1,   603,    -1,    -1,    -1,    -1,    -1,    -1,
     3348      -1,    -1,    -1,    -1,    -1,    -1,  1524,    -1,    -1,    -1,
     3349      -1,    -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,   629,
     3350     328,    -1,    -1,    -1,   634,    -1,    -1,    -1,   170,    -1,
     3351      -1,    -1,    -1,   643,   644,   645,    -1,    -1,    -1,  1524,
     3352      -1,   349,    -1,    -1,    -1,    -1,   354,   355,    -1,    -1,
     3353      -1,   193,   662,    -1,   362,    -1,    -1,    -1,    -1,    -1,
     3354      -1,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,    -1,
     3355      -1,    -1,     7,    -1,   216,    10,    11,    12,    13,    14,
     3356      -1,    -1,    -1,    -1,   226,    -1,    -1,   697,    -1,    -1,
     3357      -1,    -1,    -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,
     3358      -1,    -1,    37,    38,    39,    40,    -1,    -1,   718,   251,
     3359      -1,    -1,    -1,    -1,   256,   423,    -1,    -1,    -1,    -1,
     3360     428,    -1,   430,    -1,    -1,    -1,   736,   269,   738,    -1,
     3361      -1,    66,    67,   275,    -1,   277,    -1,    72,    -1,   447,
     3362      -1,    76,   450,   451,    79,    80,    81,    82,    83,    84,
     3363      -1,    86,    87,   295,    -1,    -1,    -1,    -1,   466,    94,
     3364      -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,    -1,
     3365      -1,    -1,   480,    -1,   109,    -1,   111,    -1,  1099,   487,
     3366      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3367      -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,    -1,
     3368      -1,   343,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3369      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,
     3370      -1,    -1,   832,    -1,    -1,   835,    -1,    -1,    -1,   371,
     3371      -1,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,    -1,
     3372      -1,    -1,    -1,   385,   386,    -1,   388,   389,    -1,   391,
     3373      -1,   393,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,
     3374      10,    11,    12,    13,    14,    -1,    -1,    -1,   410,    -1,
     3375      -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,    -1,    -1,
     3376      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,
     3377      40,    -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,    -1,
     3378      -1,   443,  1223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3379      -1,    -1,   454,    -1,    -1,    -1,    66,    67,   928,    -1,
     3380      -1,    -1,    72,   631,    -1,    -1,    76,    -1,   636,    79,
     3381      80,    81,    82,    83,    84,   477,    86,    87,    -1,    -1,
     3382      -1,   483,    -1,    -1,    94,    -1,   488,    -1,    -1,    -1,
     3383      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3384     970,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3385     120,   121,   122,   123,    -1,    -1,   986,    -1,    -1,    -1,
     3386      -1,    -1,    -1,   525,    -1,    -1,    -1,    -1,    -1,    -1,
     3387      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   541,
     3388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3389      -1,  1021,    -1,    -1,    -1,    -1,   724,    -1,    -1,    -1,
     3390      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3391     738,    -1,  1042,  1043,    -1,    -1,   578,    -1,    -1,    -1,
     3392      -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,    -1,    -1,
     3393     758,    -1,   594,    -1,    -1,    37,    38,   599,    40,    -1,
     3394      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   610,    -1,
     3395      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3396      -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
     3397      72,    -1,  1102,    -1,    76,    -1,    -1,    79,    80,    81,
     3398      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,   651,
     3399      -1,   819,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3400      -1,    -1,    -1,    -1,   832,    -1,    -1,   109,    -1,   111,
     3401      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     3402     122,   123,    -1,   851,    -1,   687,    -1,    -1,    -1,    -1,
     3403      -1,  1161,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3404       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3405      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3406      -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3407      39,    40,    -1,  1203,    -1,    -1,    -1,    -1,    -1,    -1,
     3408     742,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3409     752,   753,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
     3410      69,    -1,    71,    72,   766,    74,    75,    76,    -1,    -1,
     3411     938,  1241,   154,   155,    83,    84,    -1,    -1,    -1,    -1,
     3412      -1,   783,    -1,   785,    -1,    -1,    -1,   789,    -1,    -1,
     3413      -1,    -1,    -1,    -1,    -1,    -1,   964,    -1,    -1,    -1,
     3414     109,    -1,   111,    -1,    -1,    -1,   188,    -1,    -1,    -1,
     3415     119,    -1,    -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,
     3416    1290,  1291,    -1,    -1,   992,    -1,    -1,    -1,    -1,  1299,
     3417      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3418      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3419      30,    31,    32,   855,    -1,    -1,  1024,    -1,    -1,    39,
     3420     862,    -1,    -1,    -1,    -1,    -1,    -1,  1035,    -1,    -1,
     3421      -1,    -1,    -1,   875,    -1,   877,    -1,    -1,    -1,    -1,
     3422      -1,    -1,    -1,    -1,    -1,   267,    -1,    67,    -1,   891,
     3423      -1,    -1,    72,    -1,    74,    75,   898,    -1,    -1,    -1,
     3424      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,   910,    -1,
     3425      -1,   913,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3426      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   931,
     3427      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3428      -1,   323,    -1,    -1,    -1,  1415,    -1,    -1,  1116,   331,
     3429     332,    -1,   334,   335,    -1,    -1,    -1,    -1,    -1,    -1,
     3430      -1,    -1,   344,    -1,    -1,    -1,   348,    -1,    -1,    -1,
     3431      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3432      -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,   370,    -1,
     3433      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3434      -1,    -1,    -1,  1473,    -1,  1475,    -1,    -1,    -1,    -1,
     3435      37,    38,    -1,    40,    -1,   397,    -1,    -1,  1020,   401,
     3436      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3437      -1,    -1,    -1,    -1,    -1,  1203,    -1,    -1,    -1,    66,
     3438    1510,   145,  1512,    -1,    -1,    72,    -1,    74,    75,    76,
     3439     432,   155,    79,    80,    81,    82,    83,    84,    -1,    86,
     3440      87,    -1,    -1,   167,   168,    -1,    -1,    94,    -1,    -1,
     3441    1540,    -1,    -1,   455,  1076,    -1,    -1,    -1,    -1,    -1,
     3442      -1,  1083,   109,    -1,   111,    -1,   113,   114,    -1,    -1,
     3443      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3444      -1,    -1,    -1,    -1,   486,    -1,    -1,   489,    -1,    -1,
     3445    1112,    -1,    -1,    -1,    -1,  1117,    -1,    -1,    -1,    -1,
     3446      -1,    -1,    -1,  1125,    -1,    -1,    -1,    -1,    -1,    -1,
     3447      -1,  1299,    -1,    -1,   238,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    -1,
     3449     532,   533,    -1,    -1,  1156,    -1,    -1,    -1,    -1,   263,
     3450      -1,    -1,    -1,    -1,    -1,    -1,  1168,    -1,    -1,  1171,
     3451      -1,  1173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3452      -1,    -1,    -1,    -1,    -1,  1187,  1188,    -1,    -1,    -1,
     3453      -1,    -1,    -1,    -1,    -1,    -1,   578,   579,    -1,    -1,
     3454      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1209,    -1,    -1,
     3455      -1,    -1,    -1,    -1,    -1,   597,   598,    -1,   600,    -1,
     3456      -1,    -1,    -1,    -1,    -1,    -1,    -1,   609,    -1,   611,
     3457     612,    -1,    -1,    -1,  1236,    -1,   618,    -1,    -1,   281,
     3458      -1,   283,   284,    -1,    -1,    -1,   628,   629,    -1,   291,
     3459     292,    -1,   634,    -1,   296,   297,    -1,    -1,    -1,    -1,
     3460      -1,   643,   644,   645,    -1,    -1,   308,    -1,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,
     3462     662,    -1,    -1,    -1,    -1,   667,   668,    -1,    -1,   671,
     3463     672,    -1,    -1,    -1,    -1,    -1,   678,    -1,    -1,    -1,
     3464      -1,    -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3465      -1,    -1,    -1,    -1,   696,   697,   698,    -1,   700,    -1,
     3466      -1,    -1,   704,    -1,    -1,    -1,    -1,    -1,    -1,    37,
     3467      38,  1333,    40,  1335,    -1,    -1,    -1,    -1,   380,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,  1348,    -1,  1350,    -1,
     3469      -1,    -1,    -1,    -1,   736,   737,    -1,    -1,    66,    -1,
     3470      -1,    -1,    -1,    -1,    72,    -1,  1368,    -1,    76,    -1,
     3471      -1,    79,    80,    81,    82,    83,    84,   481,    86,    87,
     3472      -1,    -1,  1384,  1385,    -1,    -1,    94,  1555,    -1,    -1,
     3473     772,   773,    -1,    -1,  1396,   777,   778,  1399,    -1,    -1,
     3474      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,
     3475     118,   119,   120,   121,   122,   123,   520,    -1,    -1,  1421,
     3476      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1430,   533,
     3477      -1,  1433,    -1,  1435,  1436,  1437,   540,   819,    -1,   543,
     3478      -1,    -1,    -1,    -1,    -1,    -1,   828,    -1,    -1,    -1,
     3479     554,   555,   834,   835,    -1,    -1,    -1,   839,    -1,   841,
     3480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   851,
     3481      -1,    -1,   576,    -1,    -1,  1477,    -1,  1479,    -1,    -1,
     3482    1482,    -1,   586,    -1,    -1,    -1,    -1,    -1,    -1,   593,
     3483      -1,    -1,    -1,    -1,   598,  1497,    -1,    -1,    -1,    -1,
     3484      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3485      -1,    -1,    -1,    -1,    -1,   557,   558,   559,   560,   561,
     3486     562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
     3487     572,   573,   574,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3488      -1,    -1,   924,    -1,   648,    -1,    -1,    -1,    -1,    -1,
     3489     932,    -1,    -1,   657,    -1,    -1,   938,    -1,   600,    -1,
     3490      -1,    -1,    -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,
     3491      -1,    -1,    -1,    -1,    -1,    -1,    -1,   959,   960,    -1,
     3492      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3493      -1,    -1,    -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,
     3494      -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,    -1,
     3495     992,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3496      19,    20,    21,    22,    23,    24,    25,    26,    27,  1011,
     3497    1012,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,  1021,
     3498      39,    40,    -1,    -1,    -1,  1027,  1028,    -1,  1030,  1031,
     3499    1032,    -1,    -1,    -1,    -1,    -1,    -1,   699,    -1,    -1,
     3500    1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    67,   773,
     3501      -1,   775,    -1,    -1,    -1,    74,    75,   781,    -1,   721,
     3502      -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,    -1,
     3503      -1,    -1,   734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
     3506     119,  1103,  1104,  1105,    -1,    -1,    -1,    -1,   832,   833,
     3507      -1,   835,    -1,    -1,  1116,    -1,    -1,    -1,   780,    -1,
     3508      -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,
     3509      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3510      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3511     812,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
     3512      -1,    -1,    -1,    -1,    -1,   827,   890,    -1,    -1,    -1,
     3513     894,    -1,    -1,     0,    -1,    -1,     3,     4,     5,     6,
     3514       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3515      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3516      27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3517      -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,  1221,
     3518      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3519      -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,  1241,
     3520      67,    -1,    69,    -1,    71,    72,   970,    74,    75,    76,
     3521      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,
     3522      -1,    -1,   986,   987,    -1,    -1,    -1,    -1,    -1,   993,
     3523      -1,    -1,    -1,    -1,    -1,   999,    -1,    -1,  1002,    -1,
     3524    1004,    -1,   109,    -1,   111,    -1,    -1,    -1,  1290,  1291,
     3525      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3526    1024,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3527      -1,  1035,    -1,    -1,    -1,    -1,   978,    -1,    -1,    -1,
     3528      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3529      -1,    -1,    -1,  1057,    -1,  1059,    -1,    -1,    -1,    -1,
     3530      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1009,    -1,    -1,
     3531    1074,  1075,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1021,
     3532      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3533      -1,  1095,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3534       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3535      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3536    1062,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
     3537      39,    40,    -1,  1415,    -1,    -1,    -1,    -1,  1142,    -1,
     3538      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3539      -1,    -1,    -1,    -1,    -1,    64,    -1,  1161,    67,    -1,
     3540      69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3541      -1,    -1,  1176,  1177,    83,    84,    -1,    -1,    -1,    -1,
     3542      -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3543      -1,    -1,  1134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3544     109,    -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,
     3545     119,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3546      -1,    76,    -1,  1505,    79,    80,    81,    82,    83,    84,
     3547      -1,    86,    87,    -1,    -1,    -1,  1178,    -1,    -1,    94,
     3548      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1530,  1531,
     3549    1192,  1193,    -1,  1257,   109,    -1,   111,    -1,    -1,    -1,
     3550      -1,   116,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3551      -1,    -1,    -1,  1555,    -1,     3,     4,     5,     6,     7,
     3552       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3553      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3554      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3555      38,    39,    40,    41,  1318,    43,  1320,    -1,    46,    47,
     3556      48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
     3557      -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    67,
     3558      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3559      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3560      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3561      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3562      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3563     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3564     128,    -1,  1406,    -1,   132,    -1,    -1,    -1,    -1,    -1,
    21553565       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    21563566      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,
     3567      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3568      33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
     3569      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3570    1402,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
     3571      -1,    -1,    -1,    66,    67,    -1,    69,  1419,    71,    72,
     3572      -1,    74,    75,    76,  1488,    -1,    79,    80,    81,    82,
     3573      83,    84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,
     3574      -1,    94,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3575      84,    -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,
     3576      94,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3577     123,    -1,    -1,    -1,    -1,   109,  1540,   111,    -1,   132,
     3578     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3579    1492,  1493,     3,     4,     5,     6,     7,     8,     9,    10,
    21813580      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,
     3581      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3582      31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
     3583      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3584      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3585      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3586      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3587      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3588      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3589      -1,    -1,    72,    -1,    74,    75,    -1,    -1,   109,    -1,
     3590     111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3591     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3592      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3593      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3594      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3595      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3596      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3597      27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3598      71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
     3599      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3600      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3601      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3602     111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3603     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3604      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3605      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3606      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3607      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3608      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3609      27,    28,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3610      71,    72,    39,    74,    75,    76,    -1,    -1,    79,    80,
     3611      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3612      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3613      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3614     111,    78,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3615     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3616      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3617      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3618      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3619      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3620      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3621      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3622      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3623      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3624      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3625      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3626     111,    -1,    -1,    -1,    -1,   116,    -1,   118,   119,   120,
     3627     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3628      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3629      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3630      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3631      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3632      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3633      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3634      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3635      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3636      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3637      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3638     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3639     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3640      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3641      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3642      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3643      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3644      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3645      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3646      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3647      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3648      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3649      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3650     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3651     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3652      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3653      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3654      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3655      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3656      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
     3658      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3659      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3660      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3661      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3662     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3663     121,   122,   123,     4,     5,     6,     7,     8,     9,    10,
     3664      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3665      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3666      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3667      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3668      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3669      30,    31,    32,    -1,    -1,    66,    67,    -1,    69,    39,
     3670      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3671      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3672      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3673      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,    -1,
     3674     111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     3675     121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
     3676      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3677      20,    21,    22,    23,    24,    25,    26,    27,    -1,   119,
     3678      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3679      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3680      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3681      -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
     3682      39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3683      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
     3684      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3685      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3686      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3687       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    22793688      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,
     3689      23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
     3690      33,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,
     3691      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3692      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3694      -1,    74,    75,    -1,    -1,    78,     3,     4,     5,     6,
     3695       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3696      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3697      27,    -1,    -1,    30,    31,    32,    33,    -1,   111,    36,
     3698      -1,    -1,    39,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3701      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     3,
     3702       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3703      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3704      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3705      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3706      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3707      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3708      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3709      74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
     3710      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3711      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3712      31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
     3713      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3714      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3716      71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
     3717      -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
     3718      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3719      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3720     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,
    24093721       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    24103722      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,
     3723      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3724      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,
     3725      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3726      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3727      31,    32,    67,    -1,    69,    -1,    71,    -1,    39,    74,
     3728      75,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
     3729      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3730      22,    23,    24,    25,    26,    27,    67,    -1,    30,    31,
     3731      32,    -1,    -1,    74,    75,   110,   111,    39,    -1,    -1,
     3732      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3733      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,   109,    71,
     3735     111,    -1,    74,    75,    -1,    -1,    -1,    -1,   119,    -1,
     3736      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737      -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
     3738      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
     3739      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,
     3740       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3741      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3742      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3743      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    10,    11,
     3744      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3745      22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
     3746      32,    67,    -1,    69,    -1,    71,    -1,    39,    74,    75,
     3747      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3748      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3749      96,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3750      72,    -1,    74,    75,    76,   111,    78,    -1,    -1,    -1,
     3751      -1,    83,    84,   119,     4,     5,     6,     7,     8,     9,
     3752      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3753      20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
     3754      30,    31,    32,    -1,    -1,    -1,    -1,   119,    -1,    39,
     3755      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3756      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3757      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3758      -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
     3759       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3760      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3761      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3762      -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3763      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3764      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3765      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3766       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3767      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3768      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3769      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3770      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3771      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3773      74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
     3774      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3775      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3776      31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
     3777      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3778      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3779      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
     3780      71,    -1,    -1,    74,    75,    10,    11,    12,    13,    14,
     3781      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3782      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3783      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
     3784     111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
     3785      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3786      -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3787      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3788      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3789      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3790      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
     3791      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
     3792      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3793      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3794      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3795      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3796      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3797      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3798      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3799      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3800      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3801      -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
     3802     111,   112,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3803     121,   122,   123,    10,    11,    12,    13,    14,    15,    16,
     3804      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3805      27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,   119,
     3806      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3807      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3808      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
     3809      67,    -1,    -1,    39,    40,    72,    -1,    74,    75,    76,
     3810      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3811      87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3812      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
     3813      -1,    -1,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
     3814      -1,   118,   119,   120,   121,   122,   123,    10,    11,    12,
    24303815      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,
     3816      23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
     3817      -1,    -1,    -1,   119,    37,    38,    39,    40,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3819      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3820      25,    26,    27,    66,    67,    30,    31,    32,    -1,    72,
     3821      -1,    74,    75,    76,    39,    -1,    79,    80,    81,    82,
     3822      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3823      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3824      -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,
     3825      75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     3826     123,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3827      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3828      -1,    30,    31,    32,   109,    -1,   111,    -1,    37,    38,
     3829      39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,    10,
     3830      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3831      21,    22,    23,    24,    25,    26,    27,    66,    67,    30,
     3832      31,    32,    -1,    72,    -1,    74,    75,    76,    39,    -1,
     3833      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3834      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3835      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
     3836     109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,   118,
     3837     119,   120,   121,   122,   123,    10,    11,    12,    13,    14,
     3838      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3839      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3840     111,    -1,    37,    38,    39,    40,    -1,    -1,   119,    -1,
     3841      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3842      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3843      -1,    66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3844      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3845      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3846      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3847      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3848      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    10,
     3849      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3850      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3851      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3852      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3853      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3854      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3855      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3856      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3857      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3858      -1,    -1,    72,    -1,    74,    75,    76,    -1,   109,    -1,
     3859     111,    -1,    -1,    83,    84,    -1,    -1,   118,   119,   120,
     3860     121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3861      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3862      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3863      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3864      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3865      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3866      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3867      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3868      30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
     3869      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
     3870      -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,
     3871      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3872      -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,   109,
     3873      -1,   111,    -1,    83,    84,    -1,    -1,    -1,    -1,   119,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3876      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3877      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3878      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3879      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3880      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3881      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3882      30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,
     3883      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    -1,
     3884      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3885      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3886      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,   109,
     3887      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3888      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3889      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3890      -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3891      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3892      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3893      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3894      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3895      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3896      -1,    30,    31,    32,    -1,    -1,    -1,    67,    -1,    -1,
     3897      39,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
     3898      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3899      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3900      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,
     3901      -1,   111,    -1,    -1,    -1,   115,    -1,    -1,    -1,   119,
     3902      -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3903      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3904      27,    -1,   111,    30,    31,    32,    -1,    -1,    -1,    -1,
     3905     119,    -1,    39,    40,    10,    11,    12,    13,    14,    15,
     3906      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3907      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3908      67,    -1,    -1,    39,    -1,    -1,    -1,    74,    75,    -1,
     3909      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3910      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3911      -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,    75,
     3912      -1,    39,    -1,    -1,   111,    -1,    -1,    -1,   115,    -1,
     3913      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3914      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3915      -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,    -1,
     3916      -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3917      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3918      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3919      -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,    -1,
     3920      -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
     3921      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3922      27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3923      75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3924      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3925      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3926      67,    -1,    39,    -1,    -1,    -1,   111,    74,    75,    -1,
     3927      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3928      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3929      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3930      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3931      -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
     3932      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3933      25,    26,    27,    -1,   111,    30,    31,    32,    -1,    -1,
     3934      -1,    -1,   119,    -1,    39,    10,    11,    12,    13,    14,
     3935      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3936      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3937      -1,    -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,
     3938      75,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
     3939      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3940      27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3941      75,    -1,    39,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3942      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3943      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3944      67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,    -1,
     3945      -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,
     3946      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3947      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3948      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3949      -1,    -1,   119,    -1,    10,    11,    12,    13,    14,    15,
     3950      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3951      26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
     3952      74,    75,    -1,    39,    -1,    -1,     4,     5,     6,     7,
     3953       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3954      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3955      -1,    67,    30,    31,    32,    -1,    -1,   111,    74,    75,
     3956      -1,    39,    -1,    37,    38,   119,    40,    41,    -1,    43,
     3957      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
     3958      -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    67,
     3959      64,    69,    66,    71,    -1,    -1,    74,    75,    72,    -1,
     3960      -1,    -1,    76,   119,    -1,    79,    80,    81,    82,    83,
     3961      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3962      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3963      -1,    -1,   110,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3964     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3965      -1,    -1,    -1,    -1,   128,    -1,    37,    38,   132,    40,
     3966      41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
     3967      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     3968      61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
     3969      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     3970      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3971      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
     3973     111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,
     3974     121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
     3975      -1,   132,     4,     5,     6,     7,     8,     9,    10,    11,
     3976      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3977      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3978      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    37,
     3979      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
     3980      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
     3981      -1,    -1,    -1,    61,    62,    67,    64,    69,    66,    71,
     3982      -1,    -1,    74,    75,    72,    -1,    -1,    -1,    76,    -1,
     3983      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3984      -1,    -1,    -1,    -1,    96,    -1,    94,    -1,    -1,    -1,
     3985      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3986      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3987     118,   119,   120,   121,   122,   123,    -1,    -1,    37,    38,
     3988     128,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
     3989      49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
     3990      -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
     3991      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3992      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3993      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
     3994      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3995     109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,
     3996     119,   120,   121,   122,   123,    -1,    -1,    37,    38,   128,
     3997      40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
     3998      50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
     3999      -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
     4000      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4001      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     4002      -1,    -1,    -1,    -1,    94,    37,    38,    -1,    40,    -1,
     4003      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     4004      -1,   111,    -1,    -1,   114,    -1,    -1,    -1,   118,   119,
     4005     120,   121,   122,   123,    66,    -1,    -1,    -1,   128,    -1,
     4006      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     4007      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     4008      -1,    -1,    94,    37,    38,    -1,    40,    -1,    -1,    -1,
     4009      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     4010      -1,    -1,    37,    38,    -1,    40,   118,   119,   120,   121,
     4011     122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4012      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4013      84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,    -1,
     4014      94,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     4015      -1,    86,    87,    -1,    -1,   109,    -1,   111,    -1,    94,
     4016      37,    38,    -1,    40,   118,   119,   120,   121,   122,   123,
     4017      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,
     4018      38,    -1,    40,   118,   119,   120,   121,   122,   123,    66,
     4019      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     4020      -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
     4021      87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
     4022      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     4023      -1,    -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,
     4024      40,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     4025      -1,   109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
     4026     118,   119,   120,   121,   122,   123,    66,    -1,    -1,    -1,
     4027      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
     4028      80,    81,    82,    83,    84,    66,    86,    87,    -1,    -1,
     4029      -1,    72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,
     4030      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,   109,
     4031      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,   118,   119,
     4032     120,   121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,
     4033      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,
     4034     121,   122,   123,     3,     4,     5,     6,     7,     8,     9,
     4035      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     4036      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     4037      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     4038      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4039      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4040      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     4041      -1,    71,    -1,    -1,    74,    75,     3,     4,     5,     6,
     4042       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     4043      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     4044      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4045      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4046      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4047      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4048      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,
    24454049       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    24464050      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,
     4051      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     4052      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    35194053      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35204054      -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
     4055      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     4056      75
    40044057};
    40054058
     
    40104063       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    40114064      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,
     4065      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
     4066      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
     4067      76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
    40154068     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,
     4069     222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
     4070     233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
     4071     244,   245,   253,   254,   280,   281,   282,   290,   293,   299,
     4072     300,   302,   304,   305,   311,   316,   320,   321,   322,   323,
     4073     324,   325,   326,   327,   347,   364,   365,   366,   367,    72,
     4074     119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
     4075     281,    82,   109,   309,   310,   311,   309,   309,    72,    74,
     4076      75,    76,   138,   139,   270,   271,   291,   292,    74,    75,
     4077     271,   109,   302,    11,   198,   109,   119,   316,   321,   322,
     4078     323,   325,   326,   327,   112,   134,   111,   217,   224,   226,
     4079     320,   324,   363,   364,   367,   368,   135,   107,   131,   274,
     4080     114,   135,   172,    74,    75,   137,   269,   135,   135,   135,
     4081     116,   135,    74,    75,   109,   119,   306,   315,   316,   317,
     4082     318,   319,   320,   324,   328,   329,   330,   331,   332,   338,
     4083       3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
     4084     227,   231,   234,   243,   282,   320,   324,   367,   214,   216,
     4085     226,   236,   240,   242,   281,   320,   324,    33,   232,   232,
     4086     227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
     4087     271,   282,   114,   271,   232,   227,   116,   135,   135,     0,
     4088     134,   109,   172,   309,   309,   134,   111,   224,   226,   365,
     4089     269,   269,   226,   131,   109,   119,   306,   316,   320,   111,
     4090     119,   367,   303,   229,   311,   109,   287,   109,   109,    51,
     4091     109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
     4092      82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
     4093     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    40414094     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
     4095     161,   163,   165,   224,   273,   289,   363,   368,   226,   110,
     4096     110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
     4097     269,   347,   365,   111,   119,   163,   216,   217,   223,   226,
     4098     230,   231,   236,   239,   240,   242,   259,   260,   264,   265,
     4099     266,   267,   281,   347,   359,   360,   361,   362,   367,   368,
     4100     112,   109,   320,   324,   367,   109,   116,   132,   111,   114,
     4101     119,   163,   275,   275,   115,   134,   116,   132,   109,   116,
     4102     132,   116,   132,   116,   132,   309,   132,   316,   317,   318,
     4103     319,   329,   330,   331,   332,   226,   315,   328,    64,   308,
     4104     111,   309,   346,   347,   309,   309,   172,   134,   109,   309,
     4105     346,   309,   309,   226,   306,   109,   109,   225,   226,   224,
     4106     226,   112,   134,   224,   363,   368,   172,   134,   269,   274,
     4107     216,   231,   320,   324,   172,   134,   291,   226,   236,   132,
     4108     226,   226,   289,    40,   111,   224,   246,   247,   248,   249,
     4109     363,   367,   114,   255,   271,   114,   226,   291,   132,   132,
     4110     302,   134,   139,   268,     3,   135,   206,   207,   221,   223,
     4111     226,   134,   308,   109,   308,   163,   316,   226,   109,   134,
     4112     269,   114,    33,    34,    35,   224,   283,   284,   286,   134,
     4113     129,   131,   288,   134,   227,   233,   234,   269,   312,   313,
     4114     314,   109,   141,   109,   148,   109,   148,   150,   109,   148,
     4115     109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
     4116     272,   363,   112,   134,   150,   150,    82,    85,    86,    87,
     4117     109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
     4118     103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
     4119     121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
     4120     120,   128,   129,    94,    95,   130,   131,   370,   109,   119,
     4121     342,   343,   344,   345,   346,   110,   116,   109,   346,   347,
     4122     109,   346,   347,   134,   109,   224,   365,   112,   134,   111,
     4123     119,   135,   224,   226,   358,   359,   367,   368,   135,   109,
     4124     111,   119,   316,   333,   334,   335,   336,   337,   338,   339,
     4125     340,   341,   347,   348,   349,   350,   351,   352,   353,   119,
     4126     367,   226,   135,   135,   119,   224,   226,   360,   269,   224,
     4127     347,   360,   269,   109,   134,   134,   134,   112,   134,    72,
     4128      80,   111,   113,   140,   271,   275,   276,   277,   278,   279,
     4129     134,   134,   134,   134,   134,   134,   306,   110,   110,   110,
     4130     110,   110,   110,   110,   315,   328,   109,   274,   112,   206,
     4131     134,   306,   168,   273,   168,   273,   306,   111,   206,   308,
     4132     172,   134,   206,   110,   248,   249,   112,   134,   109,   117,
     4133     119,   250,   252,   315,   316,   328,   346,   354,   355,   356,
     4134     357,   115,   247,   116,   132,   116,   132,   271,   246,   116,
     4135     369,   131,   256,   255,   226,   261,   262,   263,   266,   267,
     4136     110,   116,   172,   134,   119,   163,   134,   223,   226,   260,
     4137     359,   367,   300,   301,   109,   119,   333,   110,   116,   370,
     4138     271,   283,   109,   114,   271,   273,   283,   110,   116,   109,
     4139     141,   110,   117,   272,   272,   272,   111,   139,   145,   163,
     4140     273,   272,   112,   134,   110,   116,   110,   109,   119,   354,
     4141     110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
     4142     139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
     4143     152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
     4144     158,   159,   117,   168,   163,   134,   343,   344,   345,   226,
     4145     342,   309,   309,   163,   273,   134,   268,   119,   134,   224,
     4146     347,   360,   226,   230,   112,   134,   112,   367,   112,   109,
     4147     134,   316,   334,   335,   336,   339,   349,   350,   351,   112,
     4148     134,   226,   333,   337,   348,   109,   309,   352,   370,   309,
     4149     309,   370,   109,   309,   352,   309,   309,   309,   309,   347,
     4150     224,   358,   368,   269,   112,   116,   112,   116,   370,   224,
     4151     360,   370,   257,   258,   259,   260,   257,   257,   269,   163,
     4152     134,   111,   271,   117,   116,   369,   275,    80,   111,   117,
     4153     279,    29,   208,   209,   269,   257,   139,   306,   139,   308,
     4154     109,   346,   347,   109,   346,   347,   141,   347,   172,   261,
     4155     110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
     4156     132,   111,   316,   355,   356,   357,   161,   162,   226,   354,
     4157     251,   252,   251,   309,   309,   271,   309,   115,   271,   115,
     4158     162,   369,   135,   135,   139,   221,   135,   135,   257,   109,
     4159     119,   367,   135,   115,   226,   284,   285,   135,   134,   134,
     4160     109,   135,   110,   313,   168,   169,   117,   132,   111,   141,
     4161     199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
     4162     110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
     4163     135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
     4164     261,   110,   110,   110,   342,   261,   110,   257,   224,   360,
     4165     111,   119,   163,   163,   226,   339,   261,   110,   110,   110,
     4166     110,   110,   110,   110,     7,   226,   333,   337,   348,   134,
     4167     134,   370,   134,   134,   110,   135,   135,   135,   135,   274,
     4168     135,   161,   162,   163,   307,   134,   275,   277,   115,   134,
     4169     210,   271,    40,    41,    43,    46,    47,    48,    49,    50,
     4170      51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
     4171     170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
     4172     197,   211,   305,    29,   135,   131,   274,   134,   134,   110,
     4173     135,   172,   246,   112,   110,   110,   110,   354,   250,   256,
     4174     115,   110,   116,   112,   112,   135,   226,   116,   370,   287,
     4175     110,   283,   214,   216,   224,   295,   296,   297,   298,   289,
     4176     110,   110,   117,   162,   109,   110,   117,   116,   139,   163,
     4177     163,   276,   116,   135,   166,   112,   139,   146,   147,   163,
     4178     145,   135,   146,   161,   165,   135,   109,   346,   347,   135,
     4179     135,   134,   135,   135,   135,   163,   110,   135,   109,   346,
     4180     347,   109,   352,   109,   352,   347,   225,     7,   119,   135,
     4181     163,   261,   261,   260,   264,   264,   265,   116,   116,   110,
     4182     110,   112,    96,   123,   135,   135,   146,   275,   163,   116,
     4183     132,   211,   215,   226,   230,   109,   109,   170,   109,   109,
     4184     132,   139,   132,   139,   119,   139,   169,   109,   172,   164,
     4185     164,   112,   143,   117,   132,   135,   134,   135,   210,   110,
     4186     163,   261,   261,   309,   110,   115,   109,   346,   347,   134,
     4187     110,   134,   135,   306,   115,   134,   135,   135,   110,   114,
     4188     199,   112,   162,   132,   199,   201,   110,   116,   135,   369,
     4189     164,   112,   135,    85,   113,   116,   135,   135,   112,   135,
     4190     110,   134,   110,   110,   112,   112,   112,   135,   110,   134,
     4191     134,   134,   163,   163,   135,   112,   135,   135,   135,   135,
     4192     134,   134,   162,   162,   112,   112,   135,   135,   271,   226,
     4193     168,   168,    47,   168,   134,   132,   132,   168,   132,   132,
     4194     168,    58,    59,    60,   193,   194,   195,   132,    63,   132,
     4195     114,   309,   174,   115,   132,   135,   135,   134,    96,   266,
     4196     267,   110,   296,   116,   132,   116,   132,   115,   294,   117,
     4197     141,   110,   110,   117,   166,   112,   115,   112,   111,   147,
     4198     111,   147,   147,   112,   112,   112,   261,   112,   261,   261,
     4199     261,   135,   135,   112,   112,   110,   110,   112,   116,    96,
     4200     260,    96,   135,   112,   112,   110,   110,   109,   110,   169,
     4201     190,   211,   132,   110,   109,   109,   172,   195,    58,    59,
     4202     163,   144,   170,   110,   110,   261,   114,   134,   134,   295,
     4203     141,   202,   109,   132,   202,   135,   117,   134,   134,   135,
     4204     135,   135,   135,   112,   112,   134,   135,   112,   170,    44,
     4205      45,   114,   180,   181,   182,   168,   170,   135,   110,   169,
     4206     114,   182,    96,   134,    96,   134,   109,   109,   132,   115,
     4207     135,   134,   269,   306,   115,   116,   117,   162,   110,   112,
     4208     163,   146,   146,   110,   110,   110,   110,   264,    42,   162,
     4209     178,   179,   307,   117,   134,   170,   180,   110,   132,   170,
     4210     132,   134,   110,   134,   110,   134,    96,   134,    96,   134,
     4211     132,   110,   295,   141,   139,   203,   110,   132,   117,   135,
     4212     135,   170,    96,   116,   117,   135,   204,   205,   211,   132,
     4213     169,   169,   204,   172,   196,   224,   363,   172,   196,   110,
     4214     134,   110,   134,   115,   110,   116,   163,   112,   112,   162,
     4215     178,   181,   183,   184,   134,   132,   181,   185,   186,   135,
     4216     109,   119,   306,   354,   139,   135,   172,   196,   172,   196,
     4217     109,   132,   139,   170,   175,   115,   181,   211,   169,    56,
     4218     175,   188,   115,   181,   110,   226,   110,   135,   135,   289,
     4219     170,   175,   132,   187,   188,   175,   188,   172,   172,   110,
     4220     110,   110,   187,   135,   135,   172,   172,   135,   135
    41684221};
    41694222
     
    50025055
    50035056/* Line 1806 of yacc.c  */
    5004 #line 290 "parser.yy"
     5057#line 291 "parser.yy"
    50055058    {
    50065059                        typedefTable.enterScope();
     
    50115064
    50125065/* Line 1806 of yacc.c  */
    5013 #line 296 "parser.yy"
     5066#line 297 "parser.yy"
    50145067    {
    50155068                        typedefTable.leaveScope();
     
    50205073
    50215074/* Line 1806 of yacc.c  */
    5022 #line 305 "parser.yy"
     5075#line 306 "parser.yy"
    50235076    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    50245077    break;
     
    50275080
    50285081/* Line 1806 of yacc.c  */
    5029 #line 306 "parser.yy"
     5082#line 307 "parser.yy"
    50305083    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    50315084    break;
     
    50345087
    50355088/* Line 1806 of yacc.c  */
    5036 #line 307 "parser.yy"
     5089#line 308 "parser.yy"
    50375090    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50385091    break;
     
    50415094
    50425095/* Line 1806 of yacc.c  */
    5043 #line 332 "parser.yy"
     5096#line 333 "parser.yy"
    50445097    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    50455098    break;
     
    50485101
    50495102/* Line 1806 of yacc.c  */
    5050 #line 333 "parser.yy"
     5103#line 334 "parser.yy"
    50515104    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    50525105    break;
     
    50555108
    50565109/* Line 1806 of yacc.c  */
    5057 #line 340 "parser.yy"
     5110#line 341 "parser.yy"
    50585111    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    50595112    break;
     
    50625115
    50635116/* Line 1806 of yacc.c  */
    5064 #line 342 "parser.yy"
     5117#line 343 "parser.yy"
    50655118    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    50665119    break;
     
    50695122
    50705123/* Line 1806 of yacc.c  */
    5071 #line 344 "parser.yy"
     5124#line 345 "parser.yy"
    50725125    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    50735126    break;
     
    50765129
    50775130/* Line 1806 of yacc.c  */
    5078 #line 346 "parser.yy"
     5131#line 347 "parser.yy"
    50795132    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    50805133    break;
     
    50835136
    50845137/* Line 1806 of yacc.c  */
    5085 #line 356 "parser.yy"
     5138#line 357 "parser.yy"
    50865139    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    50875140    break;
     
    50905143
    50915144/* Line 1806 of yacc.c  */
    5092 #line 358 "parser.yy"
     5145#line 359 "parser.yy"
    50935146    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    50945147    break;
     
    50975150
    50985151/* Line 1806 of yacc.c  */
    5099 #line 362 "parser.yy"
     5152#line 363 "parser.yy"
    51005153    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51015154    break;
     
    51045157
    51055158/* Line 1806 of yacc.c  */
    5106 #line 365 "parser.yy"
     5159#line 366 "parser.yy"
    51075160    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51085161    break;
     
    51115164
    51125165/* Line 1806 of yacc.c  */
    5113 #line 368 "parser.yy"
     5166#line 369 "parser.yy"
    51145167    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    51155168    break;
     
    51185171
    51195172/* Line 1806 of yacc.c  */
    5120 #line 370 "parser.yy"
     5173#line 371 "parser.yy"
    51215174    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    51225175    break;
     
    51255178
    51265179/* Line 1806 of yacc.c  */
    5127 #line 372 "parser.yy"
     5180#line 373 "parser.yy"
    51285181    { (yyval.en) = 0; }
    51295182    break;
     
    51325185
    51335186/* Line 1806 of yacc.c  */
    5134 #line 374 "parser.yy"
     5187#line 375 "parser.yy"
    51355188    {
    51365189                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    51425195
    51435196/* Line 1806 of yacc.c  */
    5144 #line 383 "parser.yy"
     5197#line 384 "parser.yy"
    51455198    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    51465199    break;
     
    51495202
    51505203/* Line 1806 of yacc.c  */
    5151 #line 388 "parser.yy"
     5204#line 389 "parser.yy"
    51525205    { (yyval.en) = 0; }
    51535206    break;
     
    51565209
    51575210/* Line 1806 of yacc.c  */
    5158 #line 391 "parser.yy"
     5211#line 392 "parser.yy"
    51595212    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    51605213    break;
     
    51635216
    51645217/* Line 1806 of yacc.c  */
    5165 #line 396 "parser.yy"
     5218#line 397 "parser.yy"
    51665219    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    51675220    break;
     
    51705223
    51715224/* Line 1806 of yacc.c  */
    5172 #line 398 "parser.yy"
     5225#line 399 "parser.yy"
    51735226    { (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) )))); }
    51745227    break;
     
    51775230
    51785231/* Line 1806 of yacc.c  */
    5179 #line 403 "parser.yy"
     5232#line 404 "parser.yy"
    51805233    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    51815234    break;
     
    51845237
    51855238/* Line 1806 of yacc.c  */
    5186 #line 408 "parser.yy"
     5239#line 409 "parser.yy"
    51875240    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51885241    break;
     
    51915244
    51925245/* Line 1806 of yacc.c  */
    5193 #line 412 "parser.yy"
     5246#line 413 "parser.yy"
    51945247    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    51955248    break;
     
    51985251
    51995252/* Line 1806 of yacc.c  */
    5200 #line 414 "parser.yy"
     5253#line 415 "parser.yy"
    52015254    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52025255    break;
     
    52055258
    52065259/* Line 1806 of yacc.c  */
    5207 #line 416 "parser.yy"
     5260#line 417 "parser.yy"
    52085261    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52095262    break;
     
    52125265
    52135266/* Line 1806 of yacc.c  */
    5214 #line 418 "parser.yy"
     5267#line 419 "parser.yy"
    52155268    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52165269    break;
     
    52195272
    52205273/* Line 1806 of yacc.c  */
    5221 #line 426 "parser.yy"
     5274#line 427 "parser.yy"
    52225275    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    52235276    break;
     
    52265279
    52275280/* Line 1806 of yacc.c  */
    5228 #line 428 "parser.yy"
     5281#line 429 "parser.yy"
    52295282    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    52305283    break;
     
    52335286
    52345287/* Line 1806 of yacc.c  */
    5235 #line 430 "parser.yy"
     5288#line 431 "parser.yy"
    52365289    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    52375290    break;
     
    52405293
    52415294/* Line 1806 of yacc.c  */
    5242 #line 432 "parser.yy"
     5295#line 433 "parser.yy"
    52435296    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    52445297    break;
     
    52475300
    52485301/* Line 1806 of yacc.c  */
    5249 #line 434 "parser.yy"
     5302#line 435 "parser.yy"
    52505303    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    52515304    break;
     
    52545307
    52555308/* Line 1806 of yacc.c  */
    5256 #line 436 "parser.yy"
     5309#line 437 "parser.yy"
    52575310    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    52585311    break;
     
    52615314
    52625315/* Line 1806 of yacc.c  */
    5263 #line 438 "parser.yy"
     5316#line 439 "parser.yy"
    52645317    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    52655318    break;
     
    52685321
    52695322/* Line 1806 of yacc.c  */
    5270 #line 440 "parser.yy"
     5323#line 441 "parser.yy"
    52715324    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    52725325    break;
     
    52755328
    52765329/* Line 1806 of yacc.c  */
    5277 #line 446 "parser.yy"
     5330#line 447 "parser.yy"
    52785331    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    52795332    break;
     
    52825335
    52835336/* Line 1806 of yacc.c  */
    5284 #line 448 "parser.yy"
     5337#line 449 "parser.yy"
    52855338    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    52865339    break;
     
    52895342
    52905343/* Line 1806 of yacc.c  */
    5291 #line 450 "parser.yy"
     5344#line 451 "parser.yy"
    52925345    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    52935346    break;
     
    52965349
    52975350/* Line 1806 of yacc.c  */
    5298 #line 452 "parser.yy"
     5351#line 453 "parser.yy"
    52995352    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    53005353    break;
     
    53035356
    53045357/* Line 1806 of yacc.c  */
    5305 #line 454 "parser.yy"
     5358#line 455 "parser.yy"
    53065359    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53075360    break;
     
    53105363
    53115364/* Line 1806 of yacc.c  */
    5312 #line 456 "parser.yy"
     5365#line 457 "parser.yy"
    53135366    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    53145367    break;
     
    53175370
    53185371/* Line 1806 of yacc.c  */
    5319 #line 458 "parser.yy"
     5372#line 459 "parser.yy"
    53205373    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    53215374    break;
     
    53245377
    53255378/* Line 1806 of yacc.c  */
    5326 #line 460 "parser.yy"
     5379#line 461 "parser.yy"
    53275380    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    53285381    break;
     
    53315384
    53325385/* Line 1806 of yacc.c  */
    5333 #line 462 "parser.yy"
     5386#line 463 "parser.yy"
    53345387    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    53355388    break;
     
    53385391
    53395392/* Line 1806 of yacc.c  */
    5340 #line 466 "parser.yy"
     5393#line 467 "parser.yy"
    53415394    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    53425395    break;
     
    53455398
    53465399/* Line 1806 of yacc.c  */
    5347 #line 467 "parser.yy"
     5400#line 468 "parser.yy"
    53485401    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    53495402    break;
     
    53525405
    53535406/* Line 1806 of yacc.c  */
    5354 #line 468 "parser.yy"
     5407#line 469 "parser.yy"
    53555408    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    53565409    break;
     
    53595412
    53605413/* Line 1806 of yacc.c  */
    5361 #line 469 "parser.yy"
     5414#line 470 "parser.yy"
    53625415    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    53635416    break;
     
    53665419
    53675420/* Line 1806 of yacc.c  */
    5368 #line 475 "parser.yy"
     5421#line 476 "parser.yy"
    53695422    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    53705423    break;
     
    53735426
    53745427/* Line 1806 of yacc.c  */
    5375 #line 477 "parser.yy"
     5428#line 478 "parser.yy"
    53765429    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    53775430    break;
     
    53805433
    53815434/* Line 1806 of yacc.c  */
    5382 #line 483 "parser.yy"
     5435#line 484 "parser.yy"
    53835436    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53845437    break;
     
    53875440
    53885441/* Line 1806 of yacc.c  */
    5389 #line 485 "parser.yy"
     5442#line 486 "parser.yy"
    53905443    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53915444    break;
     
    53945447
    53955448/* Line 1806 of yacc.c  */
    5396 #line 487 "parser.yy"
     5449#line 488 "parser.yy"
    53975450    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53985451    break;
     
    54015454
    54025455/* Line 1806 of yacc.c  */
    5403 #line 493 "parser.yy"
     5456#line 494 "parser.yy"
    54045457    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54055458    break;
     
    54085461
    54095462/* Line 1806 of yacc.c  */
    5410 #line 495 "parser.yy"
     5463#line 496 "parser.yy"
    54115464    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54125465    break;
     
    54155468
    54165469/* Line 1806 of yacc.c  */
    5417 #line 501 "parser.yy"
     5470#line 502 "parser.yy"
    54185471    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54195472    break;
     
    54225475
    54235476/* Line 1806 of yacc.c  */
    5424 #line 503 "parser.yy"
     5477#line 504 "parser.yy"
    54255478    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54265479    break;
     
    54295482
    54305483/* Line 1806 of yacc.c  */
    5431 #line 509 "parser.yy"
     5484#line 510 "parser.yy"
    54325485    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54335486    break;
     
    54365489
    54375490/* Line 1806 of yacc.c  */
    5438 #line 511 "parser.yy"
     5491#line 512 "parser.yy"
    54395492    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54405493    break;
     
    54435496
    54445497/* Line 1806 of yacc.c  */
    5445 #line 513 "parser.yy"
     5498#line 514 "parser.yy"
    54465499    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54475500    break;
     
    54505503
    54515504/* Line 1806 of yacc.c  */
    5452 #line 515 "parser.yy"
     5505#line 516 "parser.yy"
    54535506    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54545507    break;
     
    54575510
    54585511/* Line 1806 of yacc.c  */
    5459 #line 521 "parser.yy"
     5512#line 522 "parser.yy"
    54605513    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54615514    break;
     
    54645517
    54655518/* Line 1806 of yacc.c  */
    5466 #line 523 "parser.yy"
     5519#line 524 "parser.yy"
    54675520    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54685521    break;
     
    54715524
    54725525/* Line 1806 of yacc.c  */
    5473 #line 529 "parser.yy"
     5526#line 530 "parser.yy"
    54745527    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54755528    break;
     
    54785531
    54795532/* Line 1806 of yacc.c  */
    5480 #line 535 "parser.yy"
     5533#line 536 "parser.yy"
    54815534    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54825535    break;
     
    54855538
    54865539/* Line 1806 of yacc.c  */
    5487 #line 541 "parser.yy"
     5540#line 542 "parser.yy"
    54885541    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54895542    break;
     
    54925545
    54935546/* Line 1806 of yacc.c  */
    5494 #line 547 "parser.yy"
     5547#line 548 "parser.yy"
    54955548    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54965549    break;
     
    54995552
    55005553/* Line 1806 of yacc.c  */
    5501 #line 553 "parser.yy"
     5554#line 554 "parser.yy"
    55025555    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55035556    break;
     
    55065559
    55075560/* Line 1806 of yacc.c  */
    5508 #line 559 "parser.yy"
     5561#line 560 "parser.yy"
    55095562    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55105563    break;
     
    55135566
    55145567/* Line 1806 of yacc.c  */
    5515 #line 561 "parser.yy"
     5568#line 562 "parser.yy"
    55165569    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    55175570    break;
     
    55205573
    55215574/* Line 1806 of yacc.c  */
    5522 #line 563 "parser.yy"
     5575#line 564 "parser.yy"
    55235576    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55245577    break;
     
    55275580
    55285581/* Line 1806 of yacc.c  */
    5529 #line 574 "parser.yy"
     5582#line 575 "parser.yy"
    55305583    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55315584    break;
     
    55345587
    55355588/* Line 1806 of yacc.c  */
    5536 #line 576 "parser.yy"
     5589#line 577 "parser.yy"
    55375590    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55385591    break;
     
    55415594
    55425595/* Line 1806 of yacc.c  */
    5543 #line 578 "parser.yy"
     5596#line 579 "parser.yy"
    55445597    { (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) ); }
    55455598    break;
     
    55485601
    55495602/* Line 1806 of yacc.c  */
    5550 #line 583 "parser.yy"
     5603#line 584 "parser.yy"
    55515604    { (yyval.en) = new NullExprNode; }
    55525605    break;
     
    55555608
    55565609/* Line 1806 of yacc.c  */
    5557 #line 591 "parser.yy"
     5610#line 592 "parser.yy"
    55585611    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    55595612    break;
     
    55625615
    55635616/* Line 1806 of yacc.c  */
    5564 #line 593 "parser.yy"
     5617#line 594 "parser.yy"
    55655618    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    55665619    break;
     
    55695622
    55705623/* Line 1806 of yacc.c  */
    5571 #line 595 "parser.yy"
     5624#line 596 "parser.yy"
    55725625    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    55735626    break;
     
    55765629
    55775630/* Line 1806 of yacc.c  */
    5578 #line 597 "parser.yy"
     5631#line 598 "parser.yy"
    55795632    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    55805633    break;
     
    55835636
    55845637/* Line 1806 of yacc.c  */
    5585 #line 603 "parser.yy"
     5638#line 604 "parser.yy"
    55865639    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    55875640    break;
     
    55905643
    55915644/* Line 1806 of yacc.c  */
    5592 #line 607 "parser.yy"
     5645#line 608 "parser.yy"
    55935646    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    55945647    break;
     
    55975650
    55985651/* Line 1806 of yacc.c  */
    5599 #line 608 "parser.yy"
     5652#line 609 "parser.yy"
    56005653    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    56015654    break;
     
    56045657
    56055658/* Line 1806 of yacc.c  */
    5606 #line 609 "parser.yy"
     5659#line 610 "parser.yy"
    56075660    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    56085661    break;
     
    56115664
    56125665/* Line 1806 of yacc.c  */
    5613 #line 610 "parser.yy"
     5666#line 611 "parser.yy"
    56145667    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    56155668    break;
     
    56185671
    56195672/* Line 1806 of yacc.c  */
    5620 #line 611 "parser.yy"
     5673#line 612 "parser.yy"
    56215674    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    56225675    break;
     
    56255678
    56265679/* Line 1806 of yacc.c  */
    5627 #line 612 "parser.yy"
     5680#line 613 "parser.yy"
    56285681    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    56295682    break;
     
    56325685
    56335686/* Line 1806 of yacc.c  */
    5634 #line 613 "parser.yy"
     5687#line 614 "parser.yy"
    56355688    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    56365689    break;
     
    56395692
    56405693/* Line 1806 of yacc.c  */
    5641 #line 614 "parser.yy"
     5694#line 615 "parser.yy"
    56425695    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    56435696    break;
     
    56465699
    56475700/* Line 1806 of yacc.c  */
    5648 #line 615 "parser.yy"
     5701#line 616 "parser.yy"
    56495702    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    56505703    break;
     
    56535706
    56545707/* Line 1806 of yacc.c  */
    5655 #line 616 "parser.yy"
     5708#line 617 "parser.yy"
    56565709    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    56575710    break;
     
    56605713
    56615714/* Line 1806 of yacc.c  */
    5662 #line 622 "parser.yy"
     5715#line 623 "parser.yy"
    56635716    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56645717    break;
     
    56675720
    56685721/* Line 1806 of yacc.c  */
    5669 #line 627 "parser.yy"
     5722#line 628 "parser.yy"
    56705723    { (yyval.en) = 0; }
    56715724    break;
     
    56745727
    56755728/* Line 1806 of yacc.c  */
    5676 #line 636 "parser.yy"
     5729#line 637 "parser.yy"
    56775730    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56785731    break;
     
    56815734
    56825735/* Line 1806 of yacc.c  */
    5683 #line 643 "parser.yy"
     5736#line 644 "parser.yy"
    56845737    {
    56855738                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    56925745
    56935746/* Line 1806 of yacc.c  */
    5694 #line 652 "parser.yy"
     5747#line 653 "parser.yy"
    56955748    {
    56965749                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57015754
    57025755/* Line 1806 of yacc.c  */
    5703 #line 659 "parser.yy"
     5756#line 660 "parser.yy"
    57045757    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57055758    break;
     
    57085761
    57095762/* Line 1806 of yacc.c  */
    5710 #line 666 "parser.yy"
     5763#line 667 "parser.yy"
    57115764    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57125765    break;
     
    57155768
    57165769/* Line 1806 of yacc.c  */
    5717 #line 672 "parser.yy"
     5770#line 673 "parser.yy"
    57185771    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57195772    break;
     
    57225775
    57235776/* Line 1806 of yacc.c  */
    5724 #line 677 "parser.yy"
     5777#line 678 "parser.yy"
    57255778    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57265779    break;
     
    57295782
    57305783/* Line 1806 of yacc.c  */
    5731 #line 679 "parser.yy"
     5784#line 680 "parser.yy"
    57325785    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    57335786    break;
     
    57365789
    57375790/* Line 1806 of yacc.c  */
    5738 #line 681 "parser.yy"
     5791#line 682 "parser.yy"
    57395792    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57405793    break;
     
    57435796
    57445797/* Line 1806 of yacc.c  */
    5745 #line 688 "parser.yy"
     5798#line 689 "parser.yy"
    57465799    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57475800    break;
     
    57505803
    57515804/* Line 1806 of yacc.c  */
    5752 #line 693 "parser.yy"
     5805#line 694 "parser.yy"
    57535806    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    57545807    break;
     
    57575810
    57585811/* Line 1806 of yacc.c  */
    5759 #line 699 "parser.yy"
     5812#line 700 "parser.yy"
    57605813    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57615814    break;
     
    57645817
    57655818/* Line 1806 of yacc.c  */
    5766 #line 701 "parser.yy"
     5819#line 702 "parser.yy"
    57675820    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    57685821    break;
     
    57715824
    57725825/* Line 1806 of yacc.c  */
    5773 #line 703 "parser.yy"
     5826#line 704 "parser.yy"
    57745827    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57755828    break;
     
    57785831
    57795832/* Line 1806 of yacc.c  */
    5780 #line 705 "parser.yy"
     5833#line 706 "parser.yy"
    57815834    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    57825835    break;
     
    57855838
    57865839/* Line 1806 of yacc.c  */
    5787 #line 710 "parser.yy"
     5840#line 711 "parser.yy"
    57885841    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57895842    break;
     
    57925845
    57935846/* Line 1806 of yacc.c  */
    5794 #line 712 "parser.yy"
     5847#line 713 "parser.yy"
    57955848    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57965849    break;
     
    57995852
    58005853/* Line 1806 of yacc.c  */
    5801 #line 719 "parser.yy"
     5854#line 720 "parser.yy"
    58025855    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58035856    break;
     
    58065859
    58075860/* Line 1806 of yacc.c  */
    5808 #line 721 "parser.yy"
     5861#line 722 "parser.yy"
    58095862    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58105863    break;
     
    58135866
    58145867/* Line 1806 of yacc.c  */
    5815 #line 728 "parser.yy"
     5868#line 729 "parser.yy"
    58165869    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58175870    break;
     
    58205873
    58215874/* Line 1806 of yacc.c  */
    5822 #line 732 "parser.yy"
     5875#line 733 "parser.yy"
    58235876    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58245877    break;
     
    58275880
    58285881/* Line 1806 of yacc.c  */
    5829 #line 733 "parser.yy"
     5882#line 734 "parser.yy"
    58305883    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58315884    break;
     
    58345887
    58355888/* Line 1806 of yacc.c  */
    5836 #line 739 "parser.yy"
     5889#line 740 "parser.yy"
    58375890    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58385891    break;
     
    58415894
    58425895/* Line 1806 of yacc.c  */
    5843 #line 743 "parser.yy"
     5896#line 744 "parser.yy"
    58445897    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58455898    break;
     
    58485901
    58495902/* Line 1806 of yacc.c  */
    5850 #line 748 "parser.yy"
     5903#line 749 "parser.yy"
    58515904    { (yyval.sn) = 0; }
    58525905    break;
     
    58555908
    58565909/* Line 1806 of yacc.c  */
    5857 #line 754 "parser.yy"
     5910#line 755 "parser.yy"
    58585911    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58595912    break;
     
    58625915
    58635916/* Line 1806 of yacc.c  */
    5864 #line 756 "parser.yy"
     5917#line 757 "parser.yy"
    58655918    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58665919    break;
     
    58695922
    58705923/* Line 1806 of yacc.c  */
    5871 #line 761 "parser.yy"
     5924#line 762 "parser.yy"
    58725925    { (yyval.sn) = 0; }
    58735926    break;
     
    58765929
    58775930/* Line 1806 of yacc.c  */
    5878 #line 767 "parser.yy"
     5931#line 768 "parser.yy"
    58795932    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58805933    break;
     
    58835936
    58845937/* Line 1806 of yacc.c  */
    5885 #line 769 "parser.yy"
     5938#line 770 "parser.yy"
    58865939    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    58875940    break;
     
    58905943
    58915944/* Line 1806 of yacc.c  */
    5892 #line 771 "parser.yy"
     5945#line 772 "parser.yy"
    58935946    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58945947    break;
     
    58975950
    58985951/* Line 1806 of yacc.c  */
    5899 #line 773 "parser.yy"
     5952#line 774 "parser.yy"
    59005953    { (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) ))))); }
    59015954    break;
     
    59045957
    59055958/* Line 1806 of yacc.c  */
    5906 #line 778 "parser.yy"
     5959#line 779 "parser.yy"
    59075960    { (yyval.sn) = 0; }
    59085961    break;
    59095962
    59105963  case 180:
    5911 
    5912 /* Line 1806 of yacc.c  */
    5913 #line 783 "parser.yy"
    5914     { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    5915     break;
    5916 
    5917   case 181:
    59185964
    59195965/* Line 1806 of yacc.c  */
     
    59225968    break;
    59235969
     5970  case 181:
     5971
     5972/* Line 1806 of yacc.c  */
     5973#line 785 "parser.yy"
     5974    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
     5975    break;
     5976
    59245977  case 182:
    59255978
    59265979/* Line 1806 of yacc.c  */
    5927 #line 789 "parser.yy"
     5980#line 790 "parser.yy"
    59285981    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59295982    break;
     
    59325985
    59335986/* Line 1806 of yacc.c  */
    5934 #line 791 "parser.yy"
     5987#line 792 "parser.yy"
    59355988    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59365989    break;
     
    59395992
    59405993/* Line 1806 of yacc.c  */
    5941 #line 793 "parser.yy"
     5994#line 794 "parser.yy"
    59425995    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59435996    break;
     
    59465999
    59476000/* Line 1806 of yacc.c  */
    5948 #line 798 "parser.yy"
     6001#line 799 "parser.yy"
    59496002    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59506003    break;
     
    59536006
    59546007/* Line 1806 of yacc.c  */
    5955 #line 800 "parser.yy"
     6008#line 801 "parser.yy"
    59566009    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59576010    break;
     
    59606013
    59616014/* Line 1806 of yacc.c  */
    5962 #line 805 "parser.yy"
     6015#line 806 "parser.yy"
    59636016    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59646017    break;
     
    59676020
    59686021/* Line 1806 of yacc.c  */
    5969 #line 809 "parser.yy"
     6022#line 810 "parser.yy"
    59706023    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59716024    break;
     
    59746027
    59756028/* Line 1806 of yacc.c  */
    5976 #line 812 "parser.yy"
     6029#line 813 "parser.yy"
    59776030    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    59786031    break;
     
    59816034
    59826035/* Line 1806 of yacc.c  */
    5983 #line 816 "parser.yy"
     6036#line 817 "parser.yy"
    59846037    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59856038    break;
     
    59886041
    59896042/* Line 1806 of yacc.c  */
    5990 #line 819 "parser.yy"
     6043#line 820 "parser.yy"
    59916044    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    59926045    break;
     
    59956048
    59966049/* Line 1806 of yacc.c  */
    5997 #line 823 "parser.yy"
     6050#line 824 "parser.yy"
    59986051    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    59996052    break;
     
    60026055
    60036056/* Line 1806 of yacc.c  */
    6004 #line 825 "parser.yy"
     6057#line 826 "parser.yy"
    60056058    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60066059    break;
     
    60096062
    60106063/* Line 1806 of yacc.c  */
    6011 #line 827 "parser.yy"
     6064#line 828 "parser.yy"
    60126065    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60136066    break;
     
    60166069
    60176070/* Line 1806 of yacc.c  */
    6018 #line 831 "parser.yy"
     6071#line 832 "parser.yy"
    60196072    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60206073    break;
     
    60236076
    60246077/* Line 1806 of yacc.c  */
    6025 #line 833 "parser.yy"
     6078#line 834 "parser.yy"
    60266079    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    60276080    break;
     
    60306083
    60316084/* Line 1806 of yacc.c  */
    6032 #line 840 "parser.yy"
     6085#line 841 "parser.yy"
    60336086    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60346087    break;
     
    60376090
    60386091/* Line 1806 of yacc.c  */
    6039 #line 842 "parser.yy"
     6092#line 843 "parser.yy"
    60406093    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    60416094    break;
     
    60446097
    60456098/* Line 1806 of yacc.c  */
    6046 #line 844 "parser.yy"
     6099#line 845 "parser.yy"
    60476100    {
    60486101                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60546107
    60556108/* Line 1806 of yacc.c  */
    6056 #line 855 "parser.yy"
     6109#line 856 "parser.yy"
    60576110    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60586111    break;
     
    60616114
    60626115/* Line 1806 of yacc.c  */
    6063 #line 857 "parser.yy"
     6116#line 858 "parser.yy"
    60646117    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60656118    break;
     
    60686121
    60696122/* Line 1806 of yacc.c  */
    6070 #line 859 "parser.yy"
     6123#line 860 "parser.yy"
    60716124    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60726125    break;
     
    60756128
    60766129/* Line 1806 of yacc.c  */
    6077 #line 861 "parser.yy"
     6130#line 862 "parser.yy"
    60786131    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60796132    break;
     
    60826135
    60836136/* Line 1806 of yacc.c  */
    6084 #line 866 "parser.yy"
     6137#line 867 "parser.yy"
    60856138    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    60866139    break;
     
    60896142
    60906143/* Line 1806 of yacc.c  */
    6091 #line 868 "parser.yy"
     6144#line 869 "parser.yy"
    60926145    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60936146    break;
     
    60966149
    60976150/* Line 1806 of yacc.c  */
    6098 #line 870 "parser.yy"
     6151#line 871 "parser.yy"
    60996152    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61006153    break;
     
    61036156
    61046157/* Line 1806 of yacc.c  */
    6105 #line 872 "parser.yy"
     6158#line 873 "parser.yy"
    61066159    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61076160    break;
     
    61106163
    61116164/* Line 1806 of yacc.c  */
    6112 #line 877 "parser.yy"
     6165#line 878 "parser.yy"
    61136166    {
    61146167                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    61206173
    61216174/* Line 1806 of yacc.c  */
    6122 #line 891 "parser.yy"
     6175#line 892 "parser.yy"
    61236176    {
    61246177                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61306183
    61316184/* Line 1806 of yacc.c  */
    6132 #line 896 "parser.yy"
     6185#line 897 "parser.yy"
    61336186    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61346187    break;
     
    61376190
    61386191/* Line 1806 of yacc.c  */
    6139 #line 898 "parser.yy"
     6192#line 899 "parser.yy"
    61406193    {
    61416194                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61476200
    61486201/* Line 1806 of yacc.c  */
    6149 #line 907 "parser.yy"
     6202#line 908 "parser.yy"
    61506203    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    61516204    break;
     
    61546207
    61556208/* Line 1806 of yacc.c  */
    6156 #line 909 "parser.yy"
     6209#line 910 "parser.yy"
    61576210    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    61586211    break;
     
    61616214
    61626215/* Line 1806 of yacc.c  */
    6163 #line 911 "parser.yy"
     6216#line 912 "parser.yy"
    61646217    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    61656218    break;
     
    61686221
    61696222/* Line 1806 of yacc.c  */
    6170 #line 913 "parser.yy"
     6223#line 914 "parser.yy"
    61716224    { (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) ); }
    61726225    break;
     
    61756228
    61766229/* Line 1806 of yacc.c  */
    6177 #line 915 "parser.yy"
     6230#line 916 "parser.yy"
    61786231    { (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) ); }
    61796232    break;
     
    61826235
    61836236/* Line 1806 of yacc.c  */
    6184 #line 920 "parser.yy"
     6237#line 921 "parser.yy"
    61856238    { (yyval.flag) = false; }
    61866239    break;
     
    61896242
    61906243/* Line 1806 of yacc.c  */
    6191 #line 922 "parser.yy"
     6244#line 923 "parser.yy"
    61926245    { (yyval.flag) = true; }
    61936246    break;
     
    61966249
    61976250/* Line 1806 of yacc.c  */
    6198 #line 927 "parser.yy"
     6251#line 928 "parser.yy"
    61996252    { (yyval.en) = 0; }
    62006253    break;
     
    62036256
    62046257/* Line 1806 of yacc.c  */
    6205 #line 934 "parser.yy"
     6258#line 935 "parser.yy"
    62066259    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62076260    break;
     
    62106263
    62116264/* Line 1806 of yacc.c  */
    6212 #line 939 "parser.yy"
     6265#line 940 "parser.yy"
    62136266    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    62146267    break;
     
    62176270
    62186271/* Line 1806 of yacc.c  */
    6219 #line 941 "parser.yy"
     6272#line 942 "parser.yy"
    62206273    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    62216274    break;
     
    62246277
    62256278/* Line 1806 of yacc.c  */
    6226 #line 946 "parser.yy"
     6279#line 947 "parser.yy"
    62276280    { (yyval.constant) = 0; }
    62286281    break;
     
    62316284
    62326285/* Line 1806 of yacc.c  */
    6233 #line 948 "parser.yy"
     6286#line 949 "parser.yy"
    62346287    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    62356288    break;
     
    62386291
    62396292/* Line 1806 of yacc.c  */
    6240 #line 950 "parser.yy"
     6293#line 951 "parser.yy"
    62416294    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    62426295    break;
     
    62456298
    62466299/* Line 1806 of yacc.c  */
    6247 #line 955 "parser.yy"
     6300#line 956 "parser.yy"
    62486301    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    62496302    break;
     
    62526305
    62536306/* Line 1806 of yacc.c  */
    6254 #line 957 "parser.yy"
     6307#line 958 "parser.yy"
    62556308    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    62566309    break;
     
    62596312
    62606313/* Line 1806 of yacc.c  */
    6261 #line 964 "parser.yy"
     6314#line 965 "parser.yy"
    62626315    { (yyval.decl) = 0; }
    62636316    break;
     
    62666319
    62676320/* Line 1806 of yacc.c  */
    6268 #line 971 "parser.yy"
     6321#line 972 "parser.yy"
    62696322    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62706323    break;
     
    62736326
    62746327/* Line 1806 of yacc.c  */
    6275 #line 976 "parser.yy"
     6328#line 977 "parser.yy"
    62766329    { (yyval.decl) = 0; }
    62776330    break;
     
    62806333
    62816334/* Line 1806 of yacc.c  */
    6282 #line 983 "parser.yy"
     6335#line 984 "parser.yy"
    62836336    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62846337    break;
    62856338
    62866339  case 245:
    6287 
    6288 /* Line 1806 of yacc.c  */
    6289 #line 997 "parser.yy"
    6290     {}
    6291     break;
    6292 
    6293   case 246:
    62946340
    62956341/* Line 1806 of yacc.c  */
     
    62986344    break;
    62996345
     6346  case 246:
     6347
     6348/* Line 1806 of yacc.c  */
     6349#line 999 "parser.yy"
     6350    {}
     6351    break;
     6352
    63006353  case 254:
    63016354
    63026355/* Line 1806 of yacc.c  */
    6303 #line 1027 "parser.yy"
     6356#line 1028 "parser.yy"
    63046357    {
    63056358                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63116364
    63126365/* Line 1806 of yacc.c  */
    6313 #line 1034 "parser.yy"
     6366#line 1035 "parser.yy"
    63146367    {
    63156368                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63216374
    63226375/* Line 1806 of yacc.c  */
    6323 #line 1039 "parser.yy"
     6376#line 1040 "parser.yy"
    63246377    {
    63256378                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63316384
    63326385/* Line 1806 of yacc.c  */
    6333 #line 1049 "parser.yy"
     6386#line 1050 "parser.yy"
    63346387    {
    63356388                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63416394
    63426395/* Line 1806 of yacc.c  */
    6343 #line 1054 "parser.yy"
     6396#line 1055 "parser.yy"
    63446397    {
    63456398                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63516404
    63526405/* Line 1806 of yacc.c  */
    6353 #line 1059 "parser.yy"
     6406#line 1060 "parser.yy"
    63546407    {
    63556408                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63616414
    63626415/* Line 1806 of yacc.c  */
    6363 #line 1067 "parser.yy"
     6416#line 1068 "parser.yy"
    63646417    {
    63656418                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63716424
    63726425/* Line 1806 of yacc.c  */
    6373 #line 1072 "parser.yy"
     6426#line 1073 "parser.yy"
    63746427    {
    63756428                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63816434
    63826435/* Line 1806 of yacc.c  */
    6383 #line 1077 "parser.yy"
     6436#line 1078 "parser.yy"
    63846437    {
    63856438                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63916444
    63926445/* Line 1806 of yacc.c  */
    6393 #line 1082 "parser.yy"
     6446#line 1083 "parser.yy"
    63946447    {
    63956448                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64016454
    64026455/* Line 1806 of yacc.c  */
    6403 #line 1087 "parser.yy"
     6456#line 1088 "parser.yy"
    64046457    {
    64056458                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64116464
    64126465/* Line 1806 of yacc.c  */
    6413 #line 1095 "parser.yy"
     6466#line 1096 "parser.yy"
    64146467    {
    64156468                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    64206473
    64216474/* Line 1806 of yacc.c  */
    6422 #line 1118 "parser.yy"
     6475#line 1119 "parser.yy"
    64236476    {
    64246477                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64296482
    64306483/* Line 1806 of yacc.c  */
    6431 #line 1122 "parser.yy"
     6484#line 1123 "parser.yy"
    64326485    {
    64336486                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64386491
    64396492/* Line 1806 of yacc.c  */
    6440 #line 1129 "parser.yy"
     6493#line 1130 "parser.yy"
    64416494    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64426495    break;
     
    64456498
    64466499/* Line 1806 of yacc.c  */
    6447 #line 1133 "parser.yy"
     6500#line 1134 "parser.yy"
    64486501    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64496502    break;
     
    64526505
    64536506/* Line 1806 of yacc.c  */
    6454 #line 1138 "parser.yy"
     6507#line 1139 "parser.yy"
    64556508    {
    64566509                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64626515
    64636516/* Line 1806 of yacc.c  */
    6464 #line 1143 "parser.yy"
     6517#line 1144 "parser.yy"
    64656518    {
    64666519                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64726525
    64736526/* Line 1806 of yacc.c  */
    6474 #line 1148 "parser.yy"
     6527#line 1149 "parser.yy"
    64756528    {
    64766529                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64826535
    64836536/* Line 1806 of yacc.c  */
    6484 #line 1159 "parser.yy"
     6537#line 1160 "parser.yy"
    64856538    {
    64866539                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64926545
    64936546/* Line 1806 of yacc.c  */
    6494 #line 1164 "parser.yy"
     6547#line 1165 "parser.yy"
    64956548    {
    64966549                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65026555
    65036556/* Line 1806 of yacc.c  */
    6504 #line 1169 "parser.yy"
     6557#line 1170 "parser.yy"
    65056558    {
    65066559                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65126565
    65136566/* Line 1806 of yacc.c  */
    6514 #line 1174 "parser.yy"
     6567#line 1175 "parser.yy"
    65156568    {
    65166569                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65226575
    65236576/* Line 1806 of yacc.c  */
    6524 #line 1179 "parser.yy"
     6577#line 1180 "parser.yy"
    65256578    {
    65266579                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65326585
    65336586/* Line 1806 of yacc.c  */
    6534 #line 1188 "parser.yy"
     6587#line 1189 "parser.yy"
    65356588    {
    65366589                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65426595
    65436596/* Line 1806 of yacc.c  */
    6544 #line 1193 "parser.yy"
     6597#line 1194 "parser.yy"
    65456598    {
    65466599                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65526605
    65536606/* Line 1806 of yacc.c  */
    6554 #line 1210 "parser.yy"
     6607#line 1211 "parser.yy"
    65556608    {
    65566609                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65626615
    65636616/* Line 1806 of yacc.c  */
    6564 #line 1215 "parser.yy"
     6617#line 1216 "parser.yy"
    65656618    {
    65666619                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65726625
    65736626/* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
     6627#line 1238 "parser.yy"
    65756628    { (yyval.decl) = 0; }
    65766629    break;
     
    65796632
    65806633/* Line 1806 of yacc.c  */
    6581 #line 1249 "parser.yy"
     6634#line 1250 "parser.yy"
    65826635    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65836636    break;
     
    65866639
    65876640/* Line 1806 of yacc.c  */
    6588 #line 1260 "parser.yy"
     6641#line 1261 "parser.yy"
    65896642    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65906643    break;
     
    65936646
    65946647/* Line 1806 of yacc.c  */
    6595 #line 1262 "parser.yy"
     6648#line 1263 "parser.yy"
    65966649    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65976650    break;
     
    66006653
    66016654/* Line 1806 of yacc.c  */
    6602 #line 1264 "parser.yy"
     6655#line 1265 "parser.yy"
    66036656    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66046657    break;
     
    66076660
    66086661/* Line 1806 of yacc.c  */
    6609 #line 1266 "parser.yy"
     6662#line 1267 "parser.yy"
    66106663    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66116664    break;
     
    66146667
    66156668/* Line 1806 of yacc.c  */
    6616 #line 1268 "parser.yy"
     6669#line 1269 "parser.yy"
    66176670    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66186671    break;
     
    66216674
    66226675/* Line 1806 of yacc.c  */
    6623 #line 1270 "parser.yy"
     6676#line 1271 "parser.yy"
    66246677    {
    66256678                        typedefTable.enterScope();
     
    66306683
    66316684/* Line 1806 of yacc.c  */
    6632 #line 1274 "parser.yy"
     6685#line 1275 "parser.yy"
    66336686    {
    66346687                        typedefTable.leaveScope();
     
    66406693
    66416694/* Line 1806 of yacc.c  */
    6642 #line 1283 "parser.yy"
     6695#line 1284 "parser.yy"
    66436696    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66446697    break;
     
    66476700
    66486701/* Line 1806 of yacc.c  */
    6649 #line 1285 "parser.yy"
     6702#line 1286 "parser.yy"
    66506703    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66516704    break;
     
    66546707
    66556708/* Line 1806 of yacc.c  */
    6656 #line 1296 "parser.yy"
     6709#line 1297 "parser.yy"
    66576710    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66586711    break;
     
    66616714
    66626715/* Line 1806 of yacc.c  */
    6663 #line 1305 "parser.yy"
     6716#line 1306 "parser.yy"
    66646717    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66656718    break;
     
    66686721
    66696722/* Line 1806 of yacc.c  */
    6670 #line 1307 "parser.yy"
     6723#line 1308 "parser.yy"
    66716724    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66726725    break;
     
    66756728
    66766729/* Line 1806 of yacc.c  */
    6677 #line 1309 "parser.yy"
     6730#line 1310 "parser.yy"
    66786731    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66796732    break;
     
    66826735
    66836736/* Line 1806 of yacc.c  */
    6684 #line 1311 "parser.yy"
     6737#line 1312 "parser.yy"
    66856738    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66866739    break;
     
    66896742
    66906743/* Line 1806 of yacc.c  */
    6691 #line 1313 "parser.yy"
     6744#line 1314 "parser.yy"
    66926745    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    66936746    break;
     
    66966749
    66976750/* Line 1806 of yacc.c  */
    6698 #line 1315 "parser.yy"
     6751#line 1316 "parser.yy"
    66996752    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67006753    break;
     
    67036756
    67046757/* Line 1806 of yacc.c  */
    6705 #line 1317 "parser.yy"
     6758#line 1318 "parser.yy"
    67066759    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67076760    break;
     
    67106763
    67116764/* Line 1806 of yacc.c  */
    6712 #line 1319 "parser.yy"
     6765#line 1320 "parser.yy"
    67136766    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67146767    break;
     
    67176770
    67186771/* Line 1806 of yacc.c  */
    6719 #line 1324 "parser.yy"
     6772#line 1325 "parser.yy"
    67206773    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67216774    break;
     
    67246777
    67256778/* Line 1806 of yacc.c  */
    6726 #line 1326 "parser.yy"
     6779#line 1327 "parser.yy"
    67276780    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67286781    break;
     
    67316784
    67326785/* Line 1806 of yacc.c  */
    6733 #line 1328 "parser.yy"
     6786#line 1329 "parser.yy"
    67346787    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67356788    break;
     
    67386791
    67396792/* Line 1806 of yacc.c  */
    6740 #line 1330 "parser.yy"
     6793#line 1331 "parser.yy"
    67416794    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67426795    break;
     
    67456798
    67466799/* Line 1806 of yacc.c  */
    6747 #line 1332 "parser.yy"
     6800#line 1333 "parser.yy"
    67486801    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    67496802    break;
     
    67526805
    67536806/* Line 1806 of yacc.c  */
    6754 #line 1334 "parser.yy"
     6807#line 1335 "parser.yy"
    67556808    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    67566809    break;
     
    67596812
    67606813/* Line 1806 of yacc.c  */
    6761 #line 1336 "parser.yy"
     6814#line 1337 "parser.yy"
    67626815    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    67636816    break;
     
    67666819
    67676820/* Line 1806 of yacc.c  */
    6768 #line 1338 "parser.yy"
     6821#line 1339 "parser.yy"
    67696822    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    67706823    break;
     
    67736826
    67746827/* Line 1806 of yacc.c  */
    6775 #line 1340 "parser.yy"
     6828#line 1341 "parser.yy"
    67766829    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67776830    break;
     
    67806833
    67816834/* Line 1806 of yacc.c  */
    6782 #line 1342 "parser.yy"
     6835#line 1343 "parser.yy"
    67836836    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67846837    break;
     
    67876840
    67886841/* Line 1806 of yacc.c  */
    6789 #line 1344 "parser.yy"
     6842#line 1345 "parser.yy"
    67906843    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    67916844    break;
     
    67946847
    67956848/* Line 1806 of yacc.c  */
    6796 #line 1346 "parser.yy"
     6849#line 1347 "parser.yy"
    67976850    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    67986851    break;
    67996852
    6800   case 334:
    6801 
    6802 /* Line 1806 of yacc.c  */
    6803 #line 1353 "parser.yy"
     6853  case 333:
     6854
     6855/* Line 1806 of yacc.c  */
     6856#line 1349 "parser.yy"
     6857    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     6858    break;
     6859
     6860  case 335:
     6861
     6862/* Line 1806 of yacc.c  */
     6863#line 1356 "parser.yy"
    68046864    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68056865    break;
    68066866
    6807   case 335:
    6808 
    6809 /* Line 1806 of yacc.c  */
    6810 #line 1355 "parser.yy"
     6867  case 336:
     6868
     6869/* Line 1806 of yacc.c  */
     6870#line 1358 "parser.yy"
    68116871    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68126872    break;
    68136873
    6814   case 336:
    6815 
    6816 /* Line 1806 of yacc.c  */
    6817 #line 1357 "parser.yy"
     6874  case 337:
     6875
     6876/* Line 1806 of yacc.c  */
     6877#line 1360 "parser.yy"
    68186878    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68196879    break;
    68206880
    6821   case 337:
    6822 
    6823 /* Line 1806 of yacc.c  */
    6824 #line 1359 "parser.yy"
     6881  case 338:
     6882
     6883/* Line 1806 of yacc.c  */
     6884#line 1362 "parser.yy"
    68256885    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68266886    break;
    68276887
    6828   case 339:
    6829 
    6830 /* Line 1806 of yacc.c  */
    6831 #line 1365 "parser.yy"
     6888  case 340:
     6889
     6890/* Line 1806 of yacc.c  */
     6891#line 1368 "parser.yy"
    68326892    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68336893    break;
    68346894
    6835   case 341:
    6836 
    6837 /* Line 1806 of yacc.c  */
    6838 #line 1372 "parser.yy"
     6895  case 342:
     6896
     6897/* Line 1806 of yacc.c  */
     6898#line 1375 "parser.yy"
    68396899    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68406900    break;
    68416901
    6842   case 342:
    6843 
    6844 /* Line 1806 of yacc.c  */
    6845 #line 1374 "parser.yy"
     6902  case 343:
     6903
     6904/* Line 1806 of yacc.c  */
     6905#line 1377 "parser.yy"
    68466906    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68476907    break;
    68486908
    6849   case 343:
    6850 
    6851 /* Line 1806 of yacc.c  */
    6852 #line 1376 "parser.yy"
     6909  case 344:
     6910
     6911/* Line 1806 of yacc.c  */
     6912#line 1379 "parser.yy"
    68536913    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68546914    break;
    68556915
    6856   case 344:
    6857 
    6858 /* Line 1806 of yacc.c  */
    6859 #line 1381 "parser.yy"
     6916  case 345:
     6917
     6918/* Line 1806 of yacc.c  */
     6919#line 1384 "parser.yy"
    68606920    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68616921    break;
    68626922
    6863   case 345:
    6864 
    6865 /* Line 1806 of yacc.c  */
    6866 #line 1383 "parser.yy"
     6923  case 346:
     6924
     6925/* Line 1806 of yacc.c  */
     6926#line 1386 "parser.yy"
    68676927    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68686928    break;
    68696929
    6870   case 346:
    6871 
    6872 /* Line 1806 of yacc.c  */
    6873 #line 1385 "parser.yy"
     6930  case 347:
     6931
     6932/* Line 1806 of yacc.c  */
     6933#line 1388 "parser.yy"
    68746934    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68756935    break;
    68766936
    6877   case 347:
    6878 
    6879 /* Line 1806 of yacc.c  */
    6880 #line 1387 "parser.yy"
     6937  case 348:
     6938
     6939/* Line 1806 of yacc.c  */
     6940#line 1390 "parser.yy"
    68816941    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68826942    break;
    68836943
    6884   case 349:
    6885 
    6886 /* Line 1806 of yacc.c  */
    6887 #line 1393 "parser.yy"
     6944  case 350:
     6945
     6946/* Line 1806 of yacc.c  */
     6947#line 1396 "parser.yy"
    68886948    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68896949    break;
    68906950
    6891   case 350:
    6892 
    6893 /* Line 1806 of yacc.c  */
    6894 #line 1395 "parser.yy"
     6951  case 351:
     6952
     6953/* Line 1806 of yacc.c  */
     6954#line 1398 "parser.yy"
    68956955    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68966956    break;
    68976957
    6898   case 351:
    6899 
    6900 /* Line 1806 of yacc.c  */
    6901 #line 1397 "parser.yy"
     6958  case 352:
     6959
     6960/* Line 1806 of yacc.c  */
     6961#line 1400 "parser.yy"
    69026962    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69036963    break;
    69046964
    6905   case 353:
    6906 
    6907 /* Line 1806 of yacc.c  */
    6908 #line 1403 "parser.yy"
     6965  case 354:
     6966
     6967/* Line 1806 of yacc.c  */
     6968#line 1406 "parser.yy"
    69096969    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69106970    break;
    69116971
    6912   case 354:
    6913 
    6914 /* Line 1806 of yacc.c  */
    6915 #line 1405 "parser.yy"
     6972  case 355:
     6973
     6974/* Line 1806 of yacc.c  */
     6975#line 1408 "parser.yy"
    69166976    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69176977    break;
    69186978
    6919   case 356:
    6920 
    6921 /* Line 1806 of yacc.c  */
    6922 #line 1411 "parser.yy"
     6979  case 357:
     6980
     6981/* Line 1806 of yacc.c  */
     6982#line 1414 "parser.yy"
    69236983    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69246984    break;
    69256985
    6926   case 357:
    6927 
    6928 /* Line 1806 of yacc.c  */
    6929 #line 1413 "parser.yy"
     6986  case 358:
     6987
     6988/* Line 1806 of yacc.c  */
     6989#line 1416 "parser.yy"
    69306990    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69316991    break;
    69326992
    6933   case 358:
    6934 
    6935 /* Line 1806 of yacc.c  */
    6936 #line 1415 "parser.yy"
     6993  case 359:
     6994
     6995/* Line 1806 of yacc.c  */
     6996#line 1418 "parser.yy"
    69376997    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69386998    break;
    69396999
    6940   case 359:
    6941 
    6942 /* Line 1806 of yacc.c  */
    6943 #line 1420 "parser.yy"
     7000  case 360:
     7001
     7002/* Line 1806 of yacc.c  */
     7003#line 1423 "parser.yy"
    69447004    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69457005    break;
    69467006
    6947   case 360:
    6948 
    6949 /* Line 1806 of yacc.c  */
    6950 #line 1422 "parser.yy"
     7007  case 361:
     7008
     7009/* Line 1806 of yacc.c  */
     7010#line 1425 "parser.yy"
    69517011    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69527012    break;
    69537013
    6954   case 361:
    6955 
    6956 /* Line 1806 of yacc.c  */
    6957 #line 1424 "parser.yy"
     7014  case 362:
     7015
     7016/* Line 1806 of yacc.c  */
     7017#line 1427 "parser.yy"
    69587018    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69597019    break;
    69607020
    6961   case 364:
    6962 
    6963 /* Line 1806 of yacc.c  */
    6964 #line 1434 "parser.yy"
     7021  case 365:
     7022
     7023/* Line 1806 of yacc.c  */
     7024#line 1437 "parser.yy"
    69657025    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    69667026    break;
    69677027
    6968   case 365:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1436 "parser.yy"
     7028  case 366:
     7029
     7030/* Line 1806 of yacc.c  */
     7031#line 1439 "parser.yy"
    69727032    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    69737033    break;
    69747034
    6975   case 366:
    6976 
    6977 /* Line 1806 of yacc.c  */
    6978 #line 1438 "parser.yy"
     7035  case 367:
     7036
     7037/* Line 1806 of yacc.c  */
     7038#line 1441 "parser.yy"
    69797039    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
    69807040    break;
    69817041
    6982   case 367:
    6983 
    6984 /* Line 1806 of yacc.c  */
    6985 #line 1440 "parser.yy"
     7042  case 368:
     7043
     7044/* Line 1806 of yacc.c  */
     7045#line 1443 "parser.yy"
    69867046    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    69877047    break;
    69887048
    6989   case 368:
    6990 
    6991 /* Line 1806 of yacc.c  */
    6992 #line 1442 "parser.yy"
     7049  case 369:
     7050
     7051/* Line 1806 of yacc.c  */
     7052#line 1445 "parser.yy"
    69937053    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69947054    break;
    69957055
    6996   case 369:
    6997 
    6998 /* Line 1806 of yacc.c  */
    6999 #line 1447 "parser.yy"
     7056  case 370:
     7057
     7058/* Line 1806 of yacc.c  */
     7059#line 1450 "parser.yy"
    70007060    { (yyval.aggKey) = DeclarationNode::Struct; }
    70017061    break;
    70027062
    7003   case 370:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1449 "parser.yy"
     7063  case 371:
     7064
     7065/* Line 1806 of yacc.c  */
     7066#line 1452 "parser.yy"
    70077067    { (yyval.aggKey) = DeclarationNode::Union; }
    70087068    break;
    70097069
    7010   case 371:
    7011 
    7012 /* Line 1806 of yacc.c  */
    7013 #line 1454 "parser.yy"
     7070  case 372:
     7071
     7072/* Line 1806 of yacc.c  */
     7073#line 1457 "parser.yy"
    70147074    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    70157075    break;
    70167076
    7017   case 372:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1456 "parser.yy"
     7077  case 373:
     7078
     7079/* Line 1806 of yacc.c  */
     7080#line 1459 "parser.yy"
    70217081    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    70227082    break;
    70237083
    7024   case 374:
    7025 
    7026 /* Line 1806 of yacc.c  */
    7027 #line 1462 "parser.yy"
    7028     { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    7029     break;
    7030 
    7031   case 376:
     7084  case 375:
    70327085
    70337086/* Line 1806 of yacc.c  */
     
    70367089    break;
    70377090
    7038   case 378:
    7039 
    7040 /* Line 1806 of yacc.c  */
    7041 #line 1471 "parser.yy"
     7091  case 377:
     7092
     7093/* Line 1806 of yacc.c  */
     7094#line 1468 "parser.yy"
     7095    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
     7096    break;
     7097
     7098  case 379:
     7099
     7100/* Line 1806 of yacc.c  */
     7101#line 1474 "parser.yy"
    70427102    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70437103    break;
    70447104
    7045   case 379:
    7046 
    7047 /* Line 1806 of yacc.c  */
    7048 #line 1473 "parser.yy"
     7105  case 380:
     7106
     7107/* Line 1806 of yacc.c  */
     7108#line 1476 "parser.yy"
    70497109    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70507110    break;
    70517111
    7052   case 380:
    7053 
    7054 /* Line 1806 of yacc.c  */
    7055 #line 1475 "parser.yy"
     7112  case 381:
     7113
     7114/* Line 1806 of yacc.c  */
     7115#line 1478 "parser.yy"
    70567116    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70577117    break;
    70587118
    7059   case 381:
    7060 
    7061 /* Line 1806 of yacc.c  */
    7062 #line 1480 "parser.yy"
     7119  case 382:
     7120
     7121/* Line 1806 of yacc.c  */
     7122#line 1483 "parser.yy"
    70637123    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70647124    break;
    70657125
    7066   case 382:
    7067 
    7068 /* Line 1806 of yacc.c  */
    7069 #line 1482 "parser.yy"
     7126  case 383:
     7127
     7128/* Line 1806 of yacc.c  */
     7129#line 1485 "parser.yy"
    70707130    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70717131    break;
    70727132
    7073   case 383:
    7074 
    7075 /* Line 1806 of yacc.c  */
    7076 #line 1487 "parser.yy"
     7133  case 384:
     7134
     7135/* Line 1806 of yacc.c  */
     7136#line 1490 "parser.yy"
    70777137    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70787138    break;
    70797139
    7080   case 384:
    7081 
    7082 /* Line 1806 of yacc.c  */
    7083 #line 1489 "parser.yy"
     7140  case 385:
     7141
     7142/* Line 1806 of yacc.c  */
     7143#line 1492 "parser.yy"
    70847144    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    7085     break;
    7086 
    7087   case 385:
    7088 
    7089 /* Line 1806 of yacc.c  */
    7090 #line 1492 "parser.yy"
    7091     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70927145    break;
    70937146
     
    70997152    break;
    71007153
    7101   case 388:
    7102 
    7103 /* Line 1806 of yacc.c  */
    7104 #line 1501 "parser.yy"
     7154  case 387:
     7155
     7156/* Line 1806 of yacc.c  */
     7157#line 1498 "parser.yy"
     7158    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
     7159    break;
     7160
     7161  case 389:
     7162
     7163/* Line 1806 of yacc.c  */
     7164#line 1504 "parser.yy"
    71057165    { (yyval.en) = 0; }
    71067166    break;
    71077167
    7108   case 389:
    7109 
    7110 /* Line 1806 of yacc.c  */
    7111 #line 1503 "parser.yy"
     7168  case 390:
     7169
     7170/* Line 1806 of yacc.c  */
     7171#line 1506 "parser.yy"
    71127172    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71137173    break;
    71147174
    7115   case 390:
    7116 
    7117 /* Line 1806 of yacc.c  */
    7118 #line 1508 "parser.yy"
     7175  case 391:
     7176
     7177/* Line 1806 of yacc.c  */
     7178#line 1511 "parser.yy"
    71197179    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71207180    break;
    71217181
    7122   case 392:
    7123 
    7124 /* Line 1806 of yacc.c  */
    7125 #line 1517 "parser.yy"
     7182  case 393:
     7183
     7184/* Line 1806 of yacc.c  */
     7185#line 1520 "parser.yy"
    71267186    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71277187    break;
    71287188
    7129   case 393:
    7130 
    7131 /* Line 1806 of yacc.c  */
    7132 #line 1519 "parser.yy"
     7189  case 394:
     7190
     7191/* Line 1806 of yacc.c  */
     7192#line 1522 "parser.yy"
    71337193    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    71347194    break;
    71357195
    7136   case 394:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1521 "parser.yy"
     7196  case 395:
     7197
     7198/* Line 1806 of yacc.c  */
     7199#line 1524 "parser.yy"
    71407200    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    71417201    break;
    71427202
    7143   case 395:
    7144 
    7145 /* Line 1806 of yacc.c  */
    7146 #line 1526 "parser.yy"
     7203  case 396:
     7204
     7205/* Line 1806 of yacc.c  */
     7206#line 1529 "parser.yy"
    71477207    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71487208    break;
    71497209
    7150   case 396:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1528 "parser.yy"
     7210  case 397:
     7211
     7212/* Line 1806 of yacc.c  */
     7213#line 1531 "parser.yy"
    71547214    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71557215    break;
    71567216
    7157   case 397:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1533 "parser.yy"
     7217  case 398:
     7218
     7219/* Line 1806 of yacc.c  */
     7220#line 1536 "parser.yy"
    71617221    { (yyval.en) = 0; }
    71627222    break;
    71637223
    7164   case 398:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1535 "parser.yy"
     7224  case 399:
     7225
     7226/* Line 1806 of yacc.c  */
     7227#line 1538 "parser.yy"
    71687228    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71697229    break;
    71707230
    7171   case 399:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1542 "parser.yy"
     7231  case 400:
     7232
     7233/* Line 1806 of yacc.c  */
     7234#line 1545 "parser.yy"
    71757235    { (yyval.decl) = 0; }
    71767236    break;
    71777237
    7178   case 403:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1550 "parser.yy"
     7238  case 404:
     7239
     7240/* Line 1806 of yacc.c  */
     7241#line 1553 "parser.yy"
    71827242    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71837243    break;
    71847244
    7185   case 404:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1552 "parser.yy"
     7245  case 405:
     7246
     7247/* Line 1806 of yacc.c  */
     7248#line 1555 "parser.yy"
    71897249    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71907250    break;
    71917251
    7192   case 405:
    7193 
    7194 /* Line 1806 of yacc.c  */
    7195 #line 1554 "parser.yy"
     7252  case 406:
     7253
     7254/* Line 1806 of yacc.c  */
     7255#line 1557 "parser.yy"
    71967256    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71977257    break;
    71987258
    7199   case 407:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1562 "parser.yy"
     7259  case 408:
     7260
     7261/* Line 1806 of yacc.c  */
     7262#line 1565 "parser.yy"
    72037263    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72047264    break;
    72057265
    7206   case 408:
    7207 
    7208 /* Line 1806 of yacc.c  */
    7209 #line 1564 "parser.yy"
     7266  case 409:
     7267
     7268/* Line 1806 of yacc.c  */
     7269#line 1567 "parser.yy"
    72107270    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72117271    break;
    72127272
    7213   case 409:
    7214 
    7215 /* Line 1806 of yacc.c  */
    7216 #line 1566 "parser.yy"
     7273  case 410:
     7274
     7275/* Line 1806 of yacc.c  */
     7276#line 1569 "parser.yy"
    72177277    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72187278    break;
    72197279
    7220   case 411:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1572 "parser.yy"
     7280  case 412:
     7281
     7282/* Line 1806 of yacc.c  */
     7283#line 1575 "parser.yy"
    72247284    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72257285    break;
    72267286
    7227   case 412:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1577 "parser.yy"
     7287  case 413:
     7288
     7289/* Line 1806 of yacc.c  */
     7290#line 1580 "parser.yy"
    72317291    { (yyval.decl) = 0; }
    72327292    break;
    72337293
    7234   case 415:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1584 "parser.yy"
     7294  case 416:
     7295
     7296/* Line 1806 of yacc.c  */
     7297#line 1587 "parser.yy"
    72387298    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72397299    break;
    72407300
    7241   case 418:
    7242 
    7243 /* Line 1806 of yacc.c  */
    7244 #line 1591 "parser.yy"
     7301  case 419:
     7302
     7303/* Line 1806 of yacc.c  */
     7304#line 1594 "parser.yy"
    72457305    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72467306    break;
    72477307
    7248   case 419:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1593 "parser.yy"
     7308  case 420:
     7309
     7310/* Line 1806 of yacc.c  */
     7311#line 1596 "parser.yy"
    72527312    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7253     break;
    7254 
    7255   case 421:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1602 "parser.yy"
    7259     { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72607313    break;
    72617314
     
    72707323
    72717324/* Line 1806 of yacc.c  */
    7272 #line 1607 "parser.yy"
     7325#line 1608 "parser.yy"
     7326    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
     7327    break;
     7328
     7329  case 424:
     7330
     7331/* Line 1806 of yacc.c  */
     7332#line 1610 "parser.yy"
    72737333    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72747334    break;
    72757335
    7276   case 428:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1617 "parser.yy"
     7336  case 429:
     7337
     7338/* Line 1806 of yacc.c  */
     7339#line 1620 "parser.yy"
    72807340    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72817341    break;
    72827342
    7283   case 430:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1623 "parser.yy"
     7343  case 431:
     7344
     7345/* Line 1806 of yacc.c  */
     7346#line 1626 "parser.yy"
    72877347    {
    72887348                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72917351    break;
    72927352
    7293   case 431:
    7294 
    7295 /* Line 1806 of yacc.c  */
    7296 #line 1628 "parser.yy"
     7353  case 432:
     7354
     7355/* Line 1806 of yacc.c  */
     7356#line 1631 "parser.yy"
    72977357    {
    72987358                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73017361    break;
    73027362
    7303   case 433:
    7304 
    7305 /* Line 1806 of yacc.c  */
    7306 #line 1637 "parser.yy"
     7363  case 434:
     7364
     7365/* Line 1806 of yacc.c  */
     7366#line 1640 "parser.yy"
    73077367    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73087368    break;
    73097369
    7310   case 434:
    7311 
    7312 /* Line 1806 of yacc.c  */
    7313 #line 1646 "parser.yy"
     7370  case 435:
     7371
     7372/* Line 1806 of yacc.c  */
     7373#line 1649 "parser.yy"
    73147374    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73157375    break;
    73167376
    7317   case 435:
    7318 
    7319 /* Line 1806 of yacc.c  */
    7320 #line 1648 "parser.yy"
     7377  case 436:
     7378
     7379/* Line 1806 of yacc.c  */
     7380#line 1651 "parser.yy"
    73217381    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73227382    break;
    73237383
    7324   case 447:
    7325 
    7326 /* Line 1806 of yacc.c  */
    7327 #line 1673 "parser.yy"
     7384  case 448:
     7385
     7386/* Line 1806 of yacc.c  */
     7387#line 1676 "parser.yy"
    73287388    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73297389    break;
    73307390
    7331   case 451:
    7332 
    7333 /* Line 1806 of yacc.c  */
    7334 #line 1681 "parser.yy"
     7391  case 452:
     7392
     7393/* Line 1806 of yacc.c  */
     7394#line 1684 "parser.yy"
    73357395    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73367396    break;
    73377397
    7338   case 452:
    7339 
    7340 /* Line 1806 of yacc.c  */
    7341 #line 1686 "parser.yy"
     7398  case 453:
     7399
     7400/* Line 1806 of yacc.c  */
     7401#line 1689 "parser.yy"
    73427402    { (yyval.in) = 0; }
    73437403    break;
    73447404
    7345   case 453:
    7346 
    7347 /* Line 1806 of yacc.c  */
    7348 #line 1688 "parser.yy"
     7405  case 454:
     7406
     7407/* Line 1806 of yacc.c  */
     7408#line 1691 "parser.yy"
    73497409    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73507410    break;
    73517411
    7352   case 454:
    7353 
    7354 /* Line 1806 of yacc.c  */
    7355 #line 1690 "parser.yy"
     7412  case 455:
     7413
     7414/* Line 1806 of yacc.c  */
     7415#line 1693 "parser.yy"
    73567416    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73577417    break;
    73587418
    7359   case 455:
    7360 
    7361 /* Line 1806 of yacc.c  */
    7362 #line 1694 "parser.yy"
     7419  case 456:
     7420
     7421/* Line 1806 of yacc.c  */
     7422#line 1697 "parser.yy"
    73637423    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73647424    break;
    73657425
    7366   case 456:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1695 "parser.yy"
     7426  case 457:
     7427
     7428/* Line 1806 of yacc.c  */
     7429#line 1698 "parser.yy"
    73707430    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73717431    break;
    73727432
    7373   case 457:
    7374 
    7375 /* Line 1806 of yacc.c  */
    7376 #line 1700 "parser.yy"
     7433  case 458:
     7434
     7435/* Line 1806 of yacc.c  */
     7436#line 1703 "parser.yy"
    73777437    { (yyval.in) = 0; }
    73787438    break;
    73797439
    7380   case 459:
    7381 
    7382 /* Line 1806 of yacc.c  */
    7383 #line 1702 "parser.yy"
     7440  case 460:
     7441
     7442/* Line 1806 of yacc.c  */
     7443#line 1705 "parser.yy"
    73847444    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73857445    break;
    73867446
    7387   case 460:
    7388 
    7389 /* Line 1806 of yacc.c  */
    7390 #line 1703 "parser.yy"
     7447  case 461:
     7448
     7449/* Line 1806 of yacc.c  */
     7450#line 1706 "parser.yy"
    73917451    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    73927452    break;
    73937453
    7394   case 461:
    7395 
    7396 /* Line 1806 of yacc.c  */
    7397 #line 1705 "parser.yy"
     7454  case 462:
     7455
     7456/* Line 1806 of yacc.c  */
     7457#line 1708 "parser.yy"
    73987458    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73997459    break;
    74007460
    7401   case 463:
    7402 
    7403 /* Line 1806 of yacc.c  */
    7404 #line 1721 "parser.yy"
     7461  case 464:
     7462
     7463/* Line 1806 of yacc.c  */
     7464#line 1724 "parser.yy"
    74057465    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    74067466    break;
    74077467
    7408   case 465:
    7409 
    7410 /* Line 1806 of yacc.c  */
    7411 #line 1727 "parser.yy"
     7468  case 466:
     7469
     7470/* Line 1806 of yacc.c  */
     7471#line 1730 "parser.yy"
    74127472    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    74137473    break;
    74147474
    7415   case 466:
    7416 
    7417 /* Line 1806 of yacc.c  */
    7418 #line 1735 "parser.yy"
     7475  case 467:
     7476
     7477/* Line 1806 of yacc.c  */
     7478#line 1738 "parser.yy"
    74197479    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    74207480    break;
    74217481
    7422   case 467:
    7423 
    7424 /* Line 1806 of yacc.c  */
    7425 #line 1737 "parser.yy"
     7482  case 468:
     7483
     7484/* Line 1806 of yacc.c  */
     7485#line 1740 "parser.yy"
    74267486    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    74277487    break;
    74287488
    7429   case 468:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1740 "parser.yy"
     7489  case 469:
     7490
     7491/* Line 1806 of yacc.c  */
     7492#line 1743 "parser.yy"
    74337493    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74347494    break;
    74357495
    7436   case 469:
    7437 
    7438 /* Line 1806 of yacc.c  */
    7439 #line 1742 "parser.yy"
     7496  case 470:
     7497
     7498/* Line 1806 of yacc.c  */
     7499#line 1745 "parser.yy"
    74407500    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74417501    break;
    74427502
    7443   case 470:
    7444 
    7445 /* Line 1806 of yacc.c  */
    7446 #line 1744 "parser.yy"
     7503  case 471:
     7504
     7505/* Line 1806 of yacc.c  */
     7506#line 1747 "parser.yy"
    74477507    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    74487508    break;
    74497509
    7450   case 471:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1746 "parser.yy"
     7510  case 472:
     7511
     7512/* Line 1806 of yacc.c  */
     7513#line 1749 "parser.yy"
    74547514    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    74557515    break;
    74567516
    7457   case 473:
    7458 
    7459 /* Line 1806 of yacc.c  */
    7460 #line 1770 "parser.yy"
     7517  case 474:
     7518
     7519/* Line 1806 of yacc.c  */
     7520#line 1773 "parser.yy"
    74617521    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74627522    break;
    74637523
    7464   case 474:
    7465 
    7466 /* Line 1806 of yacc.c  */
    7467 #line 1772 "parser.yy"
     7524  case 475:
     7525
     7526/* Line 1806 of yacc.c  */
     7527#line 1775 "parser.yy"
    74687528    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74697529    break;
    74707530
    7471   case 475:
    7472 
    7473 /* Line 1806 of yacc.c  */
    7474 #line 1774 "parser.yy"
     7531  case 476:
     7532
     7533/* Line 1806 of yacc.c  */
     7534#line 1777 "parser.yy"
    74757535    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74767536    break;
    74777537
    7478   case 477:
    7479 
    7480 /* Line 1806 of yacc.c  */
    7481 #line 1780 "parser.yy"
     7538  case 478:
     7539
     7540/* Line 1806 of yacc.c  */
     7541#line 1783 "parser.yy"
    74827542    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74837543    break;
    74847544
    7485   case 478:
    7486 
    7487 /* Line 1806 of yacc.c  */
    7488 #line 1782 "parser.yy"
     7545  case 479:
     7546
     7547/* Line 1806 of yacc.c  */
     7548#line 1785 "parser.yy"
    74897549    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74907550    break;
    74917551
    7492   case 479:
    7493 
    7494 /* Line 1806 of yacc.c  */
    7495 #line 1787 "parser.yy"
     7552  case 480:
     7553
     7554/* Line 1806 of yacc.c  */
     7555#line 1790 "parser.yy"
    74967556    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74977557    break;
    74987558
    7499   case 481:
    7500 
    7501 /* Line 1806 of yacc.c  */
    7502 #line 1793 "parser.yy"
     7559  case 482:
     7560
     7561/* Line 1806 of yacc.c  */
     7562#line 1796 "parser.yy"
    75037563    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75047564    break;
    75057565
    7506   case 482:
    7507 
    7508 /* Line 1806 of yacc.c  */
    7509 #line 1798 "parser.yy"
     7566  case 483:
     7567
     7568/* Line 1806 of yacc.c  */
     7569#line 1801 "parser.yy"
    75107570    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75117571    break;
    75127572
    7513   case 483:
    7514 
    7515 /* Line 1806 of yacc.c  */
    7516 #line 1800 "parser.yy"
     7573  case 484:
     7574
     7575/* Line 1806 of yacc.c  */
     7576#line 1803 "parser.yy"
    75177577    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75187578    break;
    75197579
    7520   case 485:
    7521 
    7522 /* Line 1806 of yacc.c  */
    7523 #line 1806 "parser.yy"
     7580  case 486:
     7581
     7582/* Line 1806 of yacc.c  */
     7583#line 1809 "parser.yy"
    75247584    { (yyval.tclass) = DeclarationNode::Type; }
    75257585    break;
    75267586
    7527   case 486:
    7528 
    7529 /* Line 1806 of yacc.c  */
    7530 #line 1808 "parser.yy"
     7587  case 487:
     7588
     7589/* Line 1806 of yacc.c  */
     7590#line 1811 "parser.yy"
    75317591    { (yyval.tclass) = DeclarationNode::Ftype; }
    75327592    break;
    75337593
    7534   case 487:
    7535 
    7536 /* Line 1806 of yacc.c  */
    7537 #line 1810 "parser.yy"
     7594  case 488:
     7595
     7596/* Line 1806 of yacc.c  */
     7597#line 1813 "parser.yy"
    75387598    { (yyval.tclass) = DeclarationNode::Dtype; }
    75397599    break;
    75407600
    7541   case 488:
    7542 
    7543 /* Line 1806 of yacc.c  */
    7544 #line 1815 "parser.yy"
     7601  case 489:
     7602
     7603/* Line 1806 of yacc.c  */
     7604#line 1818 "parser.yy"
    75457605    { (yyval.decl) = 0; }
    75467606    break;
    75477607
    7548   case 489:
    7549 
    7550 /* Line 1806 of yacc.c  */
    7551 #line 1817 "parser.yy"
     7608  case 490:
     7609
     7610/* Line 1806 of yacc.c  */
     7611#line 1820 "parser.yy"
    75527612    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    75537613    break;
    75547614
    7555   case 490:
    7556 
    7557 /* Line 1806 of yacc.c  */
    7558 #line 1822 "parser.yy"
     7615  case 491:
     7616
     7617/* Line 1806 of yacc.c  */
     7618#line 1825 "parser.yy"
    75597619    {
    7560                         typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
    7561                         (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
     7620                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     7621                        (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
    75627622                }
    75637623    break;
    75647624
    7565   case 491:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1827 "parser.yy"
     7625  case 492:
     7626
     7627/* Line 1806 of yacc.c  */
     7628#line 1830 "parser.yy"
    75697629    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75707630    break;
    75717631
    7572   case 492:
    7573 
    7574 /* Line 1806 of yacc.c  */
    7575 #line 1829 "parser.yy"
     7632  case 493:
     7633
     7634/* Line 1806 of yacc.c  */
     7635#line 1832 "parser.yy"
    75767636    { (yyval.decl) = 0; }
    75777637    break;
    75787638
    7579   case 493:
    7580 
    7581 /* Line 1806 of yacc.c  */
    7582 #line 1834 "parser.yy"
     7639  case 494:
     7640
     7641/* Line 1806 of yacc.c  */
     7642#line 1837 "parser.yy"
    75837643    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    75847644    break;
    75857645
    7586   case 495:
    7587 
    7588 /* Line 1806 of yacc.c  */
    7589 #line 1837 "parser.yy"
     7646  case 496:
     7647
     7648/* Line 1806 of yacc.c  */
     7649#line 1840 "parser.yy"
    75907650    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    75917651    break;
    75927652
    7593   case 496:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1839 "parser.yy"
     7653  case 497:
     7654
     7655/* Line 1806 of yacc.c  */
     7656#line 1842 "parser.yy"
    75977657    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    75987658    break;
    75997659
    7600   case 497:
    7601 
    7602 /* Line 1806 of yacc.c  */
    7603 #line 1844 "parser.yy"
     7660  case 498:
     7661
     7662/* Line 1806 of yacc.c  */
     7663#line 1847 "parser.yy"
    76047664    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76057665    break;
    76067666
    7607   case 498:
    7608 
    7609 /* Line 1806 of yacc.c  */
    7610 #line 1846 "parser.yy"
     7667  case 499:
     7668
     7669/* Line 1806 of yacc.c  */
     7670#line 1849 "parser.yy"
    76117671    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76127672    break;
    76137673
    7614   case 499:
    7615 
    7616 /* Line 1806 of yacc.c  */
    7617 #line 1848 "parser.yy"
     7674  case 500:
     7675
     7676/* Line 1806 of yacc.c  */
     7677#line 1851 "parser.yy"
    76187678    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76197679    break;
    76207680
    7621   case 500:
    7622 
    7623 /* Line 1806 of yacc.c  */
    7624 #line 1853 "parser.yy"
     7681  case 501:
     7682
     7683/* Line 1806 of yacc.c  */
     7684#line 1856 "parser.yy"
    76257685    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76267686    break;
    76277687
    7628   case 501:
    7629 
    7630 /* Line 1806 of yacc.c  */
    7631 #line 1855 "parser.yy"
     7688  case 502:
     7689
     7690/* Line 1806 of yacc.c  */
     7691#line 1858 "parser.yy"
    76327692    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76337693    break;
    76347694
    7635   case 502:
    7636 
    7637 /* Line 1806 of yacc.c  */
    7638 #line 1860 "parser.yy"
     7695  case 503:
     7696
     7697/* Line 1806 of yacc.c  */
     7698#line 1863 "parser.yy"
    76397699    {
    76407700                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76437703    break;
    76447704
    7645   case 503:
    7646 
    7647 /* Line 1806 of yacc.c  */
    7648 #line 1865 "parser.yy"
     7705  case 504:
     7706
     7707/* Line 1806 of yacc.c  */
     7708#line 1868 "parser.yy"
    76497709    {
    76507710                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76537713    break;
    76547714
    7655   case 504:
    7656 
    7657 /* Line 1806 of yacc.c  */
    7658 #line 1873 "parser.yy"
     7715  case 505:
     7716
     7717/* Line 1806 of yacc.c  */
     7718#line 1876 "parser.yy"
    76597719    {
    76607720                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
    7661                         (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
     7721                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
    76627722                }
    76637723    break;
    76647724
    7665   case 505:
    7666 
    7667 /* Line 1806 of yacc.c  */
    7668 #line 1878 "parser.yy"
     7725  case 506:
     7726
     7727/* Line 1806 of yacc.c  */
     7728#line 1881 "parser.yy"
    76697729    {
    7670                         typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     7730                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
    76717731                        typedefTable.enterScope();
    76727732                }
    76737733    break;
    76747734
    7675   case 506:
    7676 
    7677 /* Line 1806 of yacc.c  */
    7678 #line 1883 "parser.yy"
     7735  case 507:
     7736
     7737/* Line 1806 of yacc.c  */
     7738#line 1886 "parser.yy"
    76797739    {
    7680                         typedefTable.leaveContext();
     7740                        typedefTable.leaveTrait();
    76817741                        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) );
     7742                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
    76837743                }
    76847744    break;
    76857745
    7686   case 508:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1893 "parser.yy"
     7746  case 509:
     7747
     7748/* Line 1806 of yacc.c  */
     7749#line 1896 "parser.yy"
    76907750    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76917751    break;
    76927752
    7693   case 511:
    7694 
    7695 /* Line 1806 of yacc.c  */
    7696 #line 1903 "parser.yy"
     7753  case 512:
     7754
     7755/* Line 1806 of yacc.c  */
     7756#line 1906 "parser.yy"
    76977757    {
    76987758                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77017761    break;
    77027762
    7703   case 512:
    7704 
    7705 /* Line 1806 of yacc.c  */
    7706 #line 1908 "parser.yy"
     7763  case 513:
     7764
     7765/* Line 1806 of yacc.c  */
     7766#line 1911 "parser.yy"
    77077767    {
    77087768                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77117771    break;
    77127772
    7713   case 513:
    7714 
    7715 /* Line 1806 of yacc.c  */
    7716 #line 1913 "parser.yy"
     7773  case 514:
     7774
     7775/* Line 1806 of yacc.c  */
     7776#line 1916 "parser.yy"
    77177777    {
    77187778                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77217781    break;
    77227782
    7723   case 514:
    7724 
    7725 /* Line 1806 of yacc.c  */
    7726 #line 1921 "parser.yy"
     7783  case 515:
     7784
     7785/* Line 1806 of yacc.c  */
     7786#line 1924 "parser.yy"
    77277787    {
    77287788                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77317791    break;
    77327792
    7733   case 515:
    7734 
    7735 /* Line 1806 of yacc.c  */
    7736 #line 1926 "parser.yy"
     7793  case 516:
     7794
     7795/* Line 1806 of yacc.c  */
     7796#line 1929 "parser.yy"
    77377797    {
    77387798                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77417801    break;
    77427802
    7743   case 516:
    7744 
    7745 /* Line 1806 of yacc.c  */
    7746 #line 1936 "parser.yy"
     7803  case 517:
     7804
     7805/* Line 1806 of yacc.c  */
     7806#line 1939 "parser.yy"
    77477807    {}
    77487808    break;
    77497809
    7750   case 517:
    7751 
    7752 /* Line 1806 of yacc.c  */
    7753 #line 1938 "parser.yy"
     7810  case 518:
     7811
     7812/* Line 1806 of yacc.c  */
     7813#line 1941 "parser.yy"
    77547814    {
    77557815                        if ( theTree ) {
     
    77617821    break;
    77627822
    7763   case 519:
    7764 
    7765 /* Line 1806 of yacc.c  */
    7766 #line 1950 "parser.yy"
     7823  case 520:
     7824
     7825/* Line 1806 of yacc.c  */
     7826#line 1953 "parser.yy"
    77677827    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77687828    break;
    77697829
    7770   case 520:
    7771 
    7772 /* Line 1806 of yacc.c  */
    7773 #line 1955 "parser.yy"
     7830  case 521:
     7831
     7832/* Line 1806 of yacc.c  */
     7833#line 1958 "parser.yy"
    77747834    { (yyval.decl) = 0; }
    77757835    break;
    77767836
    7777   case 524:
    7778 
    7779 /* Line 1806 of yacc.c  */
    7780 #line 1963 "parser.yy"
     7837  case 525:
     7838
     7839/* Line 1806 of yacc.c  */
     7840#line 1966 "parser.yy"
    77817841    {}
    77827842    break;
    77837843
    7784   case 525:
    7785 
    7786 /* Line 1806 of yacc.c  */
    7787 #line 1965 "parser.yy"
     7844  case 526:
     7845
     7846/* Line 1806 of yacc.c  */
     7847#line 1968 "parser.yy"
    77887848    {
    77897849                        linkageStack.push( linkage );
     
    77927852    break;
    77937853
    7794   case 526:
    7795 
    7796 /* Line 1806 of yacc.c  */
    7797 #line 1970 "parser.yy"
     7854  case 527:
     7855
     7856/* Line 1806 of yacc.c  */
     7857#line 1973 "parser.yy"
    77987858    {
    77997859                        linkage = linkageStack.top();
     
    78037863    break;
    78047864
    7805   case 527:
    7806 
    7807 /* Line 1806 of yacc.c  */
    7808 #line 1976 "parser.yy"
     7865  case 528:
     7866
     7867/* Line 1806 of yacc.c  */
     7868#line 1979 "parser.yy"
    78097869    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78107870    break;
    78117871
    7812   case 529:
    7813 
    7814 /* Line 1806 of yacc.c  */
    7815 #line 1986 "parser.yy"
     7872  case 530:
     7873
     7874/* Line 1806 of yacc.c  */
     7875#line 1989 "parser.yy"
    78167876    {
    78177877                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78217881    break;
    78227882
    7823   case 530:
    7824 
    7825 /* Line 1806 of yacc.c  */
    7826 #line 1992 "parser.yy"
     7883  case 531:
     7884
     7885/* Line 1806 of yacc.c  */
     7886#line 1995 "parser.yy"
    78277887    {
    78287888                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78327892    break;
    78337893
    7834   case 531:
    7835 
    7836 /* Line 1806 of yacc.c  */
    7837 #line 2001 "parser.yy"
     7894  case 532:
     7895
     7896/* Line 1806 of yacc.c  */
     7897#line 2004 "parser.yy"
    78387898    {
    78397899                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78437903    break;
    78447904
    7845   case 532:
    7846 
    7847 /* Line 1806 of yacc.c  */
    7848 #line 2007 "parser.yy"
     7905  case 533:
     7906
     7907/* Line 1806 of yacc.c  */
     7908#line 2010 "parser.yy"
    78497909    {
    78507910                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78547914    break;
    78557915
    7856   case 533:
    7857 
    7858 /* Line 1806 of yacc.c  */
    7859 #line 2013 "parser.yy"
     7916  case 534:
     7917
     7918/* Line 1806 of yacc.c  */
     7919#line 2016 "parser.yy"
    78607920    {
    78617921                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78657925    break;
    78667926
    7867   case 534:
    7868 
    7869 /* Line 1806 of yacc.c  */
    7870 #line 2019 "parser.yy"
     7927  case 535:
     7928
     7929/* Line 1806 of yacc.c  */
     7930#line 2022 "parser.yy"
    78717931    {
    78727932                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78767936    break;
    78777937
    7878   case 535:
    7879 
    7880 /* Line 1806 of yacc.c  */
    7881 #line 2025 "parser.yy"
     7938  case 536:
     7939
     7940/* Line 1806 of yacc.c  */
     7941#line 2028 "parser.yy"
    78827942    {
    78837943                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78877947    break;
    78887948
    7889   case 536:
    7890 
    7891 /* Line 1806 of yacc.c  */
    7892 #line 2033 "parser.yy"
     7949  case 537:
     7950
     7951/* Line 1806 of yacc.c  */
     7952#line 2036 "parser.yy"
    78937953    {
    78947954                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78987958    break;
    78997959
    7900   case 537:
    7901 
    7902 /* Line 1806 of yacc.c  */
    7903 #line 2039 "parser.yy"
     7960  case 538:
     7961
     7962/* Line 1806 of yacc.c  */
     7963#line 2042 "parser.yy"
    79047964    {
    79057965                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79097969    break;
    79107970
    7911   case 538:
    7912 
    7913 /* Line 1806 of yacc.c  */
    7914 #line 2047 "parser.yy"
     7971  case 539:
     7972
     7973/* Line 1806 of yacc.c  */
     7974#line 2050 "parser.yy"
    79157975    {
    79167976                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79207980    break;
    79217981
    7922   case 539:
    7923 
    7924 /* Line 1806 of yacc.c  */
    7925 #line 2053 "parser.yy"
     7982  case 540:
     7983
     7984/* Line 1806 of yacc.c  */
     7985#line 2056 "parser.yy"
    79267986    {
    79277987                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79317991    break;
    79327992
    7933   case 543:
    7934 
    7935 /* Line 1806 of yacc.c  */
    7936 #line 2068 "parser.yy"
     7993  case 544:
     7994
     7995/* Line 1806 of yacc.c  */
     7996#line 2071 "parser.yy"
    79377997    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    79387998    break;
    79397999
    7940   case 546:
    7941 
    7942 /* Line 1806 of yacc.c  */
    7943 #line 2078 "parser.yy"
     8000  case 547:
     8001
     8002/* Line 1806 of yacc.c  */
     8003#line 2081 "parser.yy"
    79448004    { (yyval.decl) = 0; }
    79458005    break;
    79468006
    7947   case 549:
    7948 
    7949 /* Line 1806 of yacc.c  */
    7950 #line 2085 "parser.yy"
     8007  case 550:
     8008
     8009/* Line 1806 of yacc.c  */
     8010#line 2088 "parser.yy"
    79518011    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79528012    break;
    79538013
    7954   case 550:
    7955 
    7956 /* Line 1806 of yacc.c  */
    7957 #line 2091 "parser.yy"
     8014  case 551:
     8015
     8016/* Line 1806 of yacc.c  */
     8017#line 2094 "parser.yy"
    79588018    { (yyval.decl) = 0; }
    79598019    break;
    79608020
    7961   case 556:
    7962 
    7963 /* Line 1806 of yacc.c  */
    7964 #line 2106 "parser.yy"
    7965     {}
    7966     break;
    7967 
    79688021  case 557:
    7969 
    7970 /* Line 1806 of yacc.c  */
    7971 #line 2107 "parser.yy"
    7972     {}
    7973     break;
    7974 
    7975   case 558:
    7976 
    7977 /* Line 1806 of yacc.c  */
    7978 #line 2108 "parser.yy"
    7979     {}
    7980     break;
    7981 
    7982   case 559:
    79838022
    79848023/* Line 1806 of yacc.c  */
     
    79878026    break;
    79888027
     8028  case 558:
     8029
     8030/* Line 1806 of yacc.c  */
     8031#line 2110 "parser.yy"
     8032    {}
     8033    break;
     8034
     8035  case 559:
     8036
     8037/* Line 1806 of yacc.c  */
     8038#line 2111 "parser.yy"
     8039    {}
     8040    break;
     8041
    79898042  case 560:
    79908043
    79918044/* Line 1806 of yacc.c  */
    7992 #line 2144 "parser.yy"
    7993     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    7994     break;
    7995 
    7996   case 562:
     8045#line 2112 "parser.yy"
     8046    {}
     8047    break;
     8048
     8049  case 561:
    79978050
    79988051/* Line 1806 of yacc.c  */
     
    80048057
    80058058/* Line 1806 of yacc.c  */
    8006 #line 2149 "parser.yy"
     8059#line 2150 "parser.yy"
    80078060    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80088061    break;
     
    80118064
    80128065/* Line 1806 of yacc.c  */
    8013 #line 2154 "parser.yy"
     8066#line 2152 "parser.yy"
     8067    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8068    break;
     8069
     8070  case 565:
     8071
     8072/* Line 1806 of yacc.c  */
     8073#line 2157 "parser.yy"
    80148074    {
    80158075                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80188078    break;
    80198079
    8020   case 565:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2159 "parser.yy"
     8080  case 566:
     8081
     8082/* Line 1806 of yacc.c  */
     8083#line 2162 "parser.yy"
    80248084    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80258085    break;
    80268086
    8027   case 566:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2164 "parser.yy"
     8087  case 567:
     8088
     8089/* Line 1806 of yacc.c  */
     8090#line 2167 "parser.yy"
    80318091    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80328092    break;
    80338093
    8034   case 567:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2166 "parser.yy"
     8094  case 568:
     8095
     8096/* Line 1806 of yacc.c  */
     8097#line 2169 "parser.yy"
    80388098    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80398099    break;
    80408100
    8041   case 568:
    8042 
    8043 /* Line 1806 of yacc.c  */
    8044 #line 2168 "parser.yy"
     8101  case 569:
     8102
     8103/* Line 1806 of yacc.c  */
     8104#line 2171 "parser.yy"
    80458105    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80468106    break;
    80478107
    8048   case 569:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2173 "parser.yy"
     8108  case 570:
     8109
     8110/* Line 1806 of yacc.c  */
     8111#line 2176 "parser.yy"
    80528112    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80538113    break;
    80548114
    8055   case 570:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2175 "parser.yy"
     8115  case 571:
     8116
     8117/* Line 1806 of yacc.c  */
     8118#line 2178 "parser.yy"
    80598119    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80608120    break;
    80618121
    8062   case 571:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2177 "parser.yy"
     8122  case 572:
     8123
     8124/* Line 1806 of yacc.c  */
     8125#line 2180 "parser.yy"
    80668126    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80678127    break;
    80688128
    8069   case 572:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2179 "parser.yy"
     8129  case 573:
     8130
     8131/* Line 1806 of yacc.c  */
     8132#line 2182 "parser.yy"
    80738133    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80748134    break;
    80758135
    8076   case 573:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2184 "parser.yy"
     8136  case 574:
     8137
     8138/* Line 1806 of yacc.c  */
     8139#line 2187 "parser.yy"
    80808140    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80818141    break;
    80828142
    8083   case 574:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2186 "parser.yy"
     8143  case 575:
     8144
     8145/* Line 1806 of yacc.c  */
     8146#line 2189 "parser.yy"
    80878147    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80888148    break;
    80898149
    8090   case 575:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2196 "parser.yy"
    8094     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8095     break;
    8096 
    8097   case 577:
     8150  case 576:
    80988151
    80998152/* Line 1806 of yacc.c  */
     
    81058158
    81068159/* Line 1806 of yacc.c  */
    8107 #line 2204 "parser.yy"
     8160#line 2202 "parser.yy"
     8161    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8162    break;
     8163
     8164  case 579:
     8165
     8166/* Line 1806 of yacc.c  */
     8167#line 2207 "parser.yy"
    81088168    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81098169    break;
    81108170
    8111   case 579:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2206 "parser.yy"
     8171  case 580:
     8172
     8173/* Line 1806 of yacc.c  */
     8174#line 2209 "parser.yy"
    81158175    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81168176    break;
    81178177
    8118   case 580:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2208 "parser.yy"
     8178  case 581:
     8179
     8180/* Line 1806 of yacc.c  */
     8181#line 2211 "parser.yy"
    81228182    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81238183    break;
    81248184
    8125   case 581:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2213 "parser.yy"
     8185  case 582:
     8186
     8187/* Line 1806 of yacc.c  */
     8188#line 2216 "parser.yy"
    81298189    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81308190    break;
    81318191
    8132   case 582:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2215 "parser.yy"
     8192  case 583:
     8193
     8194/* Line 1806 of yacc.c  */
     8195#line 2218 "parser.yy"
    81368196    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81378197    break;
    81388198
    8139   case 583:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2217 "parser.yy"
     8199  case 584:
     8200
     8201/* Line 1806 of yacc.c  */
     8202#line 2220 "parser.yy"
    81438203    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81448204    break;
    81458205
    8146   case 584:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2222 "parser.yy"
     8206  case 585:
     8207
     8208/* Line 1806 of yacc.c  */
     8209#line 2225 "parser.yy"
    81508210    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81518211    break;
    81528212
    8153   case 585:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2224 "parser.yy"
     8213  case 586:
     8214
     8215/* Line 1806 of yacc.c  */
     8216#line 2227 "parser.yy"
    81578217    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81588218    break;
    81598219
    8160   case 586:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2226 "parser.yy"
     8220  case 587:
     8221
     8222/* Line 1806 of yacc.c  */
     8223#line 2229 "parser.yy"
    81648224    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81658225    break;
    81668226
    8167   case 590:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2241 "parser.yy"
     8227  case 591:
     8228
     8229/* Line 1806 of yacc.c  */
     8230#line 2244 "parser.yy"
    81718231    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81728232    break;
    81738233
    8174   case 591:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
     8234  case 592:
     8235
     8236/* Line 1806 of yacc.c  */
     8237#line 2246 "parser.yy"
    81788238    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    81798239    break;
    81808240
    8181   case 592:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
     8241  case 593:
     8242
     8243/* Line 1806 of yacc.c  */
     8244#line 2248 "parser.yy"
    81858245    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81868246    break;
    81878247
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2250 "parser.yy"
     8248  case 594:
     8249
     8250/* Line 1806 of yacc.c  */
     8251#line 2253 "parser.yy"
    81928252    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81938253    break;
    81948254
    8195   case 594:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2252 "parser.yy"
     8255  case 595:
     8256
     8257/* Line 1806 of yacc.c  */
     8258#line 2255 "parser.yy"
    81998259    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82008260    break;
    82018261
    8202   case 595:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2254 "parser.yy"
     8262  case 596:
     8263
     8264/* Line 1806 of yacc.c  */
     8265#line 2257 "parser.yy"
    82068266    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82078267    break;
    82088268
    8209   case 596:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2259 "parser.yy"
     8269  case 597:
     8270
     8271/* Line 1806 of yacc.c  */
     8272#line 2262 "parser.yy"
    82138273    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82148274    break;
    82158275
    8216   case 597:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2261 "parser.yy"
     8276  case 598:
     8277
     8278/* Line 1806 of yacc.c  */
     8279#line 2264 "parser.yy"
    82208280    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82218281    break;
    82228282
    8223   case 598:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2263 "parser.yy"
     8283  case 599:
     8284
     8285/* Line 1806 of yacc.c  */
     8286#line 2266 "parser.yy"
    82278287    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82288288    break;
    82298289
    8230   case 599:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2278 "parser.yy"
    8234     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8235     break;
    8236 
    8237   case 601:
     8290  case 600:
    82388291
    82398292/* Line 1806 of yacc.c  */
     
    82458298
    82468299/* Line 1806 of yacc.c  */
    8247 #line 2283 "parser.yy"
     8300#line 2284 "parser.yy"
    82488301    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82498302    break;
    82508303
    8251   case 604:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2289 "parser.yy"
     8304  case 603:
     8305
     8306/* Line 1806 of yacc.c  */
     8307#line 2286 "parser.yy"
     8308    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8309    break;
     8310
     8311  case 605:
     8312
     8313/* Line 1806 of yacc.c  */
     8314#line 2292 "parser.yy"
    82558315    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82568316    break;
    82578317
    8258   case 605:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2294 "parser.yy"
     8318  case 606:
     8319
     8320/* Line 1806 of yacc.c  */
     8321#line 2297 "parser.yy"
    82628322    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82638323    break;
    82648324
    8265   case 606:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2296 "parser.yy"
     8325  case 607:
     8326
     8327/* Line 1806 of yacc.c  */
     8328#line 2299 "parser.yy"
    82698329    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82708330    break;
    82718331
    8272   case 607:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2298 "parser.yy"
     8332  case 608:
     8333
     8334/* Line 1806 of yacc.c  */
     8335#line 2301 "parser.yy"
    82768336    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82778337    break;
    82788338
    8279   case 608:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2303 "parser.yy"
     8339  case 609:
     8340
     8341/* Line 1806 of yacc.c  */
     8342#line 2306 "parser.yy"
    82838343    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82848344    break;
    82858345
    8286   case 609:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2305 "parser.yy"
     8346  case 610:
     8347
     8348/* Line 1806 of yacc.c  */
     8349#line 2308 "parser.yy"
    82908350    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82918351    break;
    82928352
    8293   case 610:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2307 "parser.yy"
     8353  case 611:
     8354
     8355/* Line 1806 of yacc.c  */
     8356#line 2310 "parser.yy"
    82978357    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82988358    break;
    82998359
    8300   case 611:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2309 "parser.yy"
     8360  case 612:
     8361
     8362/* Line 1806 of yacc.c  */
     8363#line 2312 "parser.yy"
    83048364    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83058365    break;
    83068366
    8307   case 612:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2314 "parser.yy"
     8367  case 613:
     8368
     8369/* Line 1806 of yacc.c  */
     8370#line 2317 "parser.yy"
    83118371    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83128372    break;
    83138373
    8314   case 613:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2316 "parser.yy"
     8374  case 614:
     8375
     8376/* Line 1806 of yacc.c  */
     8377#line 2319 "parser.yy"
    83188378    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83198379    break;
    83208380
    8321   case 614:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2318 "parser.yy"
     8381  case 615:
     8382
     8383/* Line 1806 of yacc.c  */
     8384#line 2321 "parser.yy"
    83258385    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83268386    break;
    83278387
    8328   case 615:
    8329 
    8330 /* Line 1806 of yacc.c  */
    8331 #line 2328 "parser.yy"
    8332     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8333     break;
    8334 
    8335   case 617:
     8388  case 616:
    83368389
    83378390/* Line 1806 of yacc.c  */
     
    83438396
    83448397/* Line 1806 of yacc.c  */
    8345 #line 2333 "parser.yy"
     8398#line 2334 "parser.yy"
    83468399    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83478400    break;
     
    83508403
    83518404/* Line 1806 of yacc.c  */
    8352 #line 2338 "parser.yy"
     8405#line 2336 "parser.yy"
     8406    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8407    break;
     8408
     8409  case 620:
     8410
     8411/* Line 1806 of yacc.c  */
     8412#line 2341 "parser.yy"
    83538413    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83548414    break;
    83558415
    8356   case 620:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2340 "parser.yy"
     8416  case 621:
     8417
     8418/* Line 1806 of yacc.c  */
     8419#line 2343 "parser.yy"
    83608420    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83618421    break;
    83628422
    8363   case 621:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2342 "parser.yy"
     8423  case 622:
     8424
     8425/* Line 1806 of yacc.c  */
     8426#line 2345 "parser.yy"
    83678427    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83688428    break;
    83698429
    8370   case 622:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2347 "parser.yy"
     8430  case 623:
     8431
     8432/* Line 1806 of yacc.c  */
     8433#line 2350 "parser.yy"
    83748434    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83758435    break;
    83768436
    8377   case 623:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2349 "parser.yy"
     8437  case 624:
     8438
     8439/* Line 1806 of yacc.c  */
     8440#line 2352 "parser.yy"
    83818441    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83828442    break;
    83838443
    8384   case 624:
    8385 
    8386 /* Line 1806 of yacc.c  */
    8387 #line 2351 "parser.yy"
     8444  case 625:
     8445
     8446/* Line 1806 of yacc.c  */
     8447#line 2354 "parser.yy"
    83888448    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83898449    break;
    83908450
    8391   case 625:
    8392 
    8393 /* Line 1806 of yacc.c  */
    8394 #line 2353 "parser.yy"
     8451  case 626:
     8452
     8453/* Line 1806 of yacc.c  */
     8454#line 2356 "parser.yy"
    83958455    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83968456    break;
    83978457
    8398   case 626:
    8399 
    8400 /* Line 1806 of yacc.c  */
    8401 #line 2358 "parser.yy"
     8458  case 627:
     8459
     8460/* Line 1806 of yacc.c  */
     8461#line 2361 "parser.yy"
    84028462    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84038463    break;
    84048464
    8405   case 627:
    8406 
    8407 /* Line 1806 of yacc.c  */
    8408 #line 2360 "parser.yy"
     8465  case 628:
     8466
     8467/* Line 1806 of yacc.c  */
     8468#line 2363 "parser.yy"
    84098469    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84108470    break;
    84118471
    8412   case 628:
    8413 
    8414 /* Line 1806 of yacc.c  */
    8415 #line 2362 "parser.yy"
     8472  case 629:
     8473
     8474/* Line 1806 of yacc.c  */
     8475#line 2365 "parser.yy"
    84168476    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84178477    break;
    84188478
    8419   case 629:
    8420 
    8421 /* Line 1806 of yacc.c  */
    8422 #line 2393 "parser.yy"
    8423     { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    8424     break;
    8425 
    8426   case 631:
     8479  case 630:
    84278480
    84288481/* Line 1806 of yacc.c  */
     
    84348487
    84358488/* Line 1806 of yacc.c  */
    8436 #line 2398 "parser.yy"
     8489#line 2399 "parser.yy"
    84378490    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84388491    break;
     
    84418494
    84428495/* Line 1806 of yacc.c  */
    8443 #line 2403 "parser.yy"
     8496#line 2401 "parser.yy"
     8497    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
     8498    break;
     8499
     8500  case 634:
     8501
     8502/* Line 1806 of yacc.c  */
     8503#line 2406 "parser.yy"
    84448504    {
    84458505                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84488508    break;
    84498509
    8450   case 634:
    8451 
    8452 /* Line 1806 of yacc.c  */
    8453 #line 2408 "parser.yy"
     8510  case 635:
     8511
     8512/* Line 1806 of yacc.c  */
     8513#line 2411 "parser.yy"
    84548514    {
    84558515                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84588518    break;
    84598519
    8460   case 635:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2416 "parser.yy"
     8520  case 636:
     8521
     8522/* Line 1806 of yacc.c  */
     8523#line 2419 "parser.yy"
    84648524    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84658525    break;
    84668526
    8467   case 636:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2418 "parser.yy"
     8527  case 637:
     8528
     8529/* Line 1806 of yacc.c  */
     8530#line 2421 "parser.yy"
    84718531    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84728532    break;
    84738533
    8474   case 637:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2420 "parser.yy"
     8534  case 638:
     8535
     8536/* Line 1806 of yacc.c  */
     8537#line 2423 "parser.yy"
    84788538    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84798539    break;
    84808540
    8481   case 638:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2425 "parser.yy"
     8541  case 639:
     8542
     8543/* Line 1806 of yacc.c  */
     8544#line 2428 "parser.yy"
    84858545    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84868546    break;
    84878547
    8488   case 639:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2427 "parser.yy"
     8548  case 640:
     8549
     8550/* Line 1806 of yacc.c  */
     8551#line 2430 "parser.yy"
    84928552    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84938553    break;
    84948554
    8495   case 640:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2432 "parser.yy"
     8555  case 641:
     8556
     8557/* Line 1806 of yacc.c  */
     8558#line 2435 "parser.yy"
    84998559    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85008560    break;
    85018561
    8502   case 641:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2434 "parser.yy"
     8562  case 642:
     8563
     8564/* Line 1806 of yacc.c  */
     8565#line 2437 "parser.yy"
    85068566    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85078567    break;
    85088568
    8509   case 643:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2449 "parser.yy"
     8569  case 644:
     8570
     8571/* Line 1806 of yacc.c  */
     8572#line 2452 "parser.yy"
    85138573    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85148574    break;
    85158575
    8516   case 644:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2451 "parser.yy"
     8576  case 645:
     8577
     8578/* Line 1806 of yacc.c  */
     8579#line 2454 "parser.yy"
    85208580    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85218581    break;
    85228582
    8523   case 645:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2456 "parser.yy"
     8583  case 646:
     8584
     8585/* Line 1806 of yacc.c  */
     8586#line 2459 "parser.yy"
    85278587    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85288588    break;
    85298589
    8530   case 646:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2458 "parser.yy"
     8590  case 647:
     8591
     8592/* Line 1806 of yacc.c  */
     8593#line 2461 "parser.yy"
    85348594    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85358595    break;
    85368596
    8537   case 647:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2460 "parser.yy"
     8597  case 648:
     8598
     8599/* Line 1806 of yacc.c  */
     8600#line 2463 "parser.yy"
    85418601    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85428602    break;
    85438603
    8544   case 648:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2462 "parser.yy"
     8604  case 649:
     8605
     8606/* Line 1806 of yacc.c  */
     8607#line 2465 "parser.yy"
    85488608    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85498609    break;
    85508610
    8551   case 649:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2464 "parser.yy"
     8611  case 650:
     8612
     8613/* Line 1806 of yacc.c  */
     8614#line 2467 "parser.yy"
    85558615    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85568616    break;
    85578617
    8558   case 651:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2470 "parser.yy"
     8618  case 652:
     8619
     8620/* Line 1806 of yacc.c  */
     8621#line 2473 "parser.yy"
    85628622    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85638623    break;
    85648624
    8565   case 652:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2472 "parser.yy"
     8625  case 653:
     8626
     8627/* Line 1806 of yacc.c  */
     8628#line 2475 "parser.yy"
    85698629    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85708630    break;
    85718631
    8572   case 653:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2474 "parser.yy"
     8632  case 654:
     8633
     8634/* Line 1806 of yacc.c  */
     8635#line 2477 "parser.yy"
    85768636    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85778637    break;
    85788638
    8579   case 654:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2479 "parser.yy"
     8639  case 655:
     8640
     8641/* Line 1806 of yacc.c  */
     8642#line 2482 "parser.yy"
    85838643    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    85848644    break;
    85858645
    8586   case 655:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2481 "parser.yy"
     8646  case 656:
     8647
     8648/* Line 1806 of yacc.c  */
     8649#line 2484 "parser.yy"
    85908650    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85918651    break;
    85928652
    8593   case 656:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2483 "parser.yy"
     8653  case 657:
     8654
     8655/* Line 1806 of yacc.c  */
     8656#line 2486 "parser.yy"
    85978657    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85988658    break;
    85998659
    8600   case 657:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2489 "parser.yy"
     8660  case 658:
     8661
     8662/* Line 1806 of yacc.c  */
     8663#line 2492 "parser.yy"
    86048664    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86058665    break;
    86068666
    8607   case 658:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2491 "parser.yy"
     8667  case 659:
     8668
     8669/* Line 1806 of yacc.c  */
     8670#line 2494 "parser.yy"
    86118671    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86128672    break;
    86138673
    8614   case 660:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2497 "parser.yy"
     8674  case 661:
     8675
     8676/* Line 1806 of yacc.c  */
     8677#line 2500 "parser.yy"
    86188678    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    86198679    break;
    86208680
    8621   case 661:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2499 "parser.yy"
     8681  case 662:
     8682
     8683/* Line 1806 of yacc.c  */
     8684#line 2502 "parser.yy"
    86258685    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    86268686    break;
    86278687
    8628   case 662:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2501 "parser.yy"
     8688  case 663:
     8689
     8690/* Line 1806 of yacc.c  */
     8691#line 2504 "parser.yy"
    86328692    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    86338693    break;
    86348694
    8635   case 663:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2503 "parser.yy"
     8695  case 664:
     8696
     8697/* Line 1806 of yacc.c  */
     8698#line 2506 "parser.yy"
    86398699    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86408700    break;
    86418701
    8642   case 665:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2518 "parser.yy"
     8702  case 666:
     8703
     8704/* Line 1806 of yacc.c  */
     8705#line 2521 "parser.yy"
    86468706    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86478707    break;
    86488708
    8649   case 666:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2520 "parser.yy"
     8709  case 667:
     8710
     8711/* Line 1806 of yacc.c  */
     8712#line 2523 "parser.yy"
    86538713    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86548714    break;
    86558715
    8656   case 667:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2525 "parser.yy"
     8716  case 668:
     8717
     8718/* Line 1806 of yacc.c  */
     8719#line 2528 "parser.yy"
    86608720    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86618721    break;
    86628722
    8663   case 668:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2527 "parser.yy"
     8723  case 669:
     8724
     8725/* Line 1806 of yacc.c  */
     8726#line 2530 "parser.yy"
    86678727    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86688728    break;
    86698729
    8670   case 669:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2529 "parser.yy"
     8730  case 670:
     8731
     8732/* Line 1806 of yacc.c  */
     8733#line 2532 "parser.yy"
    86748734    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86758735    break;
    86768736
    8677   case 670:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2531 "parser.yy"
     8737  case 671:
     8738
     8739/* Line 1806 of yacc.c  */
     8740#line 2534 "parser.yy"
    86818741    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86828742    break;
    86838743
    8684   case 671:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2533 "parser.yy"
     8744  case 672:
     8745
     8746/* Line 1806 of yacc.c  */
     8747#line 2536 "parser.yy"
    86888748    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86898749    break;
    86908750
    8691   case 673:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2539 "parser.yy"
     8751  case 674:
     8752
     8753/* Line 1806 of yacc.c  */
     8754#line 2542 "parser.yy"
    86958755    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86968756    break;
    86978757
    8698   case 674:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2541 "parser.yy"
     8758  case 675:
     8759
     8760/* Line 1806 of yacc.c  */
     8761#line 2544 "parser.yy"
    87028762    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87038763    break;
    87048764
    8705   case 675:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2543 "parser.yy"
     8765  case 676:
     8766
     8767/* Line 1806 of yacc.c  */
     8768#line 2546 "parser.yy"
    87098769    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87108770    break;
    87118771
    8712   case 676:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2548 "parser.yy"
     8772  case 677:
     8773
     8774/* Line 1806 of yacc.c  */
     8775#line 2551 "parser.yy"
    87168776    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    87178777    break;
    87188778
    8719   case 677:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2550 "parser.yy"
     8779  case 678:
     8780
     8781/* Line 1806 of yacc.c  */
     8782#line 2553 "parser.yy"
    87238783    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87248784    break;
    87258785
    8726   case 678:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2552 "parser.yy"
     8786  case 679:
     8787
     8788/* Line 1806 of yacc.c  */
     8789#line 2555 "parser.yy"
    87308790    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87318791    break;
    87328792
    8733   case 680:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2559 "parser.yy"
     8793  case 681:
     8794
     8795/* Line 1806 of yacc.c  */
     8796#line 2562 "parser.yy"
    87378797    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87388798    break;
    87398799
    8740   case 682:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2570 "parser.yy"
     8800  case 683:
     8801
     8802/* Line 1806 of yacc.c  */
     8803#line 2573 "parser.yy"
    87448804    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87458805    break;
    87468806
    8747   case 683:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2573 "parser.yy"
     8807  case 684:
     8808
     8809/* Line 1806 of yacc.c  */
     8810#line 2576 "parser.yy"
    87518811    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87528812    break;
    87538813
    8754   case 684:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2575 "parser.yy"
     8814  case 685:
     8815
     8816/* Line 1806 of yacc.c  */
     8817#line 2578 "parser.yy"
    87588818    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87598819    break;
    87608820
    8761   case 685:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2578 "parser.yy"
     8821  case 686:
     8822
     8823/* Line 1806 of yacc.c  */
     8824#line 2581 "parser.yy"
    87658825    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87668826    break;
    87678827
    8768   case 686:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2580 "parser.yy"
     8828  case 687:
     8829
     8830/* Line 1806 of yacc.c  */
     8831#line 2583 "parser.yy"
    87728832    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    87738833    break;
    87748834
    8775   case 687:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2582 "parser.yy"
     8835  case 688:
     8836
     8837/* Line 1806 of yacc.c  */
     8838#line 2585 "parser.yy"
    87798839    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    87808840    break;
    87818841
    8782   case 689:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2596 "parser.yy"
     8842  case 690:
     8843
     8844/* Line 1806 of yacc.c  */
     8845#line 2599 "parser.yy"
    87868846    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87878847    break;
    87888848
    8789   case 690:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2598 "parser.yy"
     8849  case 691:
     8850
     8851/* Line 1806 of yacc.c  */
     8852#line 2601 "parser.yy"
    87938853    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87948854    break;
    87958855
    8796   case 691:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2603 "parser.yy"
     8856  case 692:
     8857
     8858/* Line 1806 of yacc.c  */
     8859#line 2606 "parser.yy"
    88008860    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    88018861    break;
    88028862
    8803   case 692:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2605 "parser.yy"
     8863  case 693:
     8864
     8865/* Line 1806 of yacc.c  */
     8866#line 2608 "parser.yy"
    88078867    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88088868    break;
    88098869
    8810   case 693:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2607 "parser.yy"
     8870  case 694:
     8871
     8872/* Line 1806 of yacc.c  */
     8873#line 2610 "parser.yy"
    88148874    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    88158875    break;
    88168876
    8817   case 694:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2609 "parser.yy"
     8877  case 695:
     8878
     8879/* Line 1806 of yacc.c  */
     8880#line 2612 "parser.yy"
    88218881    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88228882    break;
    88238883
    8824   case 695:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2611 "parser.yy"
     8884  case 696:
     8885
     8886/* Line 1806 of yacc.c  */
     8887#line 2614 "parser.yy"
    88288888    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88298889    break;
    88308890
    8831   case 697:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2617 "parser.yy"
     8891  case 698:
     8892
     8893/* Line 1806 of yacc.c  */
     8894#line 2620 "parser.yy"
    88358895    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88368896    break;
    88378897
    8838   case 698:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2619 "parser.yy"
     8898  case 699:
     8899
     8900/* Line 1806 of yacc.c  */
     8901#line 2622 "parser.yy"
    88428902    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88438903    break;
    88448904
    8845   case 699:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2621 "parser.yy"
     8905  case 700:
     8906
     8907/* Line 1806 of yacc.c  */
     8908#line 2624 "parser.yy"
    88498909    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88508910    break;
    88518911
    8852   case 700:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2626 "parser.yy"
     8912  case 701:
     8913
     8914/* Line 1806 of yacc.c  */
     8915#line 2629 "parser.yy"
    88568916    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88578917    break;
    88588918
    8859   case 701:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2628 "parser.yy"
     8919  case 702:
     8920
     8921/* Line 1806 of yacc.c  */
     8922#line 2631 "parser.yy"
    88638923    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88648924    break;
    88658925
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2638 "parser.yy"
     8926  case 705:
     8927
     8928/* Line 1806 of yacc.c  */
     8929#line 2641 "parser.yy"
    88708930    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88718931    break;
    88728932
    8873   case 707:
    8874 
    8875 /* Line 1806 of yacc.c  */
    8876 #line 2648 "parser.yy"
     8933  case 708:
     8934
     8935/* Line 1806 of yacc.c  */
     8936#line 2651 "parser.yy"
    88778937    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88788938    break;
    88798939
    8880   case 708:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2650 "parser.yy"
     8940  case 709:
     8941
     8942/* Line 1806 of yacc.c  */
     8943#line 2653 "parser.yy"
    88848944    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88858945    break;
    88868946
    8887   case 709:
    8888 
    8889 /* Line 1806 of yacc.c  */
    8890 #line 2652 "parser.yy"
     8947  case 710:
     8948
     8949/* Line 1806 of yacc.c  */
     8950#line 2655 "parser.yy"
    88918951    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88928952    break;
    88938953
    8894   case 710:
    8895 
    8896 /* Line 1806 of yacc.c  */
    8897 #line 2654 "parser.yy"
     8954  case 711:
     8955
     8956/* Line 1806 of yacc.c  */
     8957#line 2657 "parser.yy"
    88988958    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88998959    break;
    89008960
    8901   case 711:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2656 "parser.yy"
     8961  case 712:
     8962
     8963/* Line 1806 of yacc.c  */
     8964#line 2659 "parser.yy"
    89058965    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89068966    break;
    89078967
    8908   case 712:
    8909 
    8910 /* Line 1806 of yacc.c  */
    8911 #line 2658 "parser.yy"
     8968  case 713:
     8969
     8970/* Line 1806 of yacc.c  */
     8971#line 2661 "parser.yy"
    89128972    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89138973    break;
    89148974
    8915   case 713:
    8916 
    8917 /* Line 1806 of yacc.c  */
    8918 #line 2665 "parser.yy"
     8975  case 714:
     8976
     8977/* Line 1806 of yacc.c  */
     8978#line 2668 "parser.yy"
    89198979    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89208980    break;
    89218981
    8922   case 714:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2667 "parser.yy"
     8982  case 715:
     8983
     8984/* Line 1806 of yacc.c  */
     8985#line 2670 "parser.yy"
    89268986    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89278987    break;
    89288988
    8929   case 715:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2669 "parser.yy"
     8989  case 716:
     8990
     8991/* Line 1806 of yacc.c  */
     8992#line 2672 "parser.yy"
    89338993    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89348994    break;
    89358995
    8936   case 716:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2671 "parser.yy"
     8996  case 717:
     8997
     8998/* Line 1806 of yacc.c  */
     8999#line 2674 "parser.yy"
    89409000    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89419001    break;
    89429002
    8943   case 717:
    8944 
    8945 /* Line 1806 of yacc.c  */
    8946 #line 2673 "parser.yy"
     9003  case 718:
     9004
     9005/* Line 1806 of yacc.c  */
     9006#line 2676 "parser.yy"
    89479007    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89489008    break;
    89499009
    8950   case 718:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2675 "parser.yy"
     9010  case 719:
     9011
     9012/* Line 1806 of yacc.c  */
     9013#line 2678 "parser.yy"
    89549014    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89559015    break;
    89569016
    8957   case 719:
    8958 
    8959 /* Line 1806 of yacc.c  */
    8960 #line 2677 "parser.yy"
     9017  case 720:
     9018
     9019/* Line 1806 of yacc.c  */
     9020#line 2680 "parser.yy"
    89619021    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89629022    break;
    89639023
    8964   case 720:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2679 "parser.yy"
     9024  case 721:
     9025
     9026/* Line 1806 of yacc.c  */
     9027#line 2682 "parser.yy"
    89689028    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89699029    break;
    89709030
    8971   case 721:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2681 "parser.yy"
     9031  case 722:
     9032
     9033/* Line 1806 of yacc.c  */
     9034#line 2684 "parser.yy"
    89759035    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89769036    break;
    89779037
    8978   case 722:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2683 "parser.yy"
     9038  case 723:
     9039
     9040/* Line 1806 of yacc.c  */
     9041#line 2686 "parser.yy"
    89829042    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89839043    break;
    89849044
    8985   case 723:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2688 "parser.yy"
     9045  case 724:
     9046
     9047/* Line 1806 of yacc.c  */
     9048#line 2691 "parser.yy"
    89899049    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89909050    break;
    89919051
    8992   case 724:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2690 "parser.yy"
     9052  case 725:
     9053
     9054/* Line 1806 of yacc.c  */
     9055#line 2693 "parser.yy"
    89969056    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89979057    break;
    89989058
    8999   case 725:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2695 "parser.yy"
     9059  case 726:
     9060
     9061/* Line 1806 of yacc.c  */
     9062#line 2698 "parser.yy"
    90039063    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    90049064    break;
    90059065
    9006   case 726:
    9007 
    9008 /* Line 1806 of yacc.c  */
    9009 #line 2697 "parser.yy"
     9066  case 727:
     9067
     9068/* Line 1806 of yacc.c  */
     9069#line 2700 "parser.yy"
    90109070    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90119071    break;
    90129072
    9013   case 728:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2724 "parser.yy"
     9073  case 729:
     9074
     9075/* Line 1806 of yacc.c  */
     9076#line 2727 "parser.yy"
    90179077    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90189078    break;
    90199079
    9020   case 732:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2735 "parser.yy"
     9080  case 733:
     9081
     9082/* Line 1806 of yacc.c  */
     9083#line 2738 "parser.yy"
    90249084    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90259085    break;
    90269086
    9027   case 733:
    9028 
    9029 /* Line 1806 of yacc.c  */
    9030 #line 2737 "parser.yy"
     9087  case 734:
     9088
     9089/* Line 1806 of yacc.c  */
     9090#line 2740 "parser.yy"
    90319091    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90329092    break;
    90339093
    9034   case 734:
    9035 
    9036 /* Line 1806 of yacc.c  */
    9037 #line 2739 "parser.yy"
     9094  case 735:
     9095
     9096/* Line 1806 of yacc.c  */
     9097#line 2742 "parser.yy"
    90389098    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90399099    break;
    90409100
    9041   case 735:
    9042 
    9043 /* Line 1806 of yacc.c  */
    9044 #line 2741 "parser.yy"
     9101  case 736:
     9102
     9103/* Line 1806 of yacc.c  */
     9104#line 2744 "parser.yy"
    90459105    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90469106    break;
    90479107
    9048   case 736:
    9049 
    9050 /* Line 1806 of yacc.c  */
    9051 #line 2743 "parser.yy"
     9108  case 737:
     9109
     9110/* Line 1806 of yacc.c  */
     9111#line 2746 "parser.yy"
    90529112    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90539113    break;
    90549114
    9055   case 737:
    9056 
    9057 /* Line 1806 of yacc.c  */
    9058 #line 2745 "parser.yy"
     9115  case 738:
     9116
     9117/* Line 1806 of yacc.c  */
     9118#line 2748 "parser.yy"
    90599119    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90609120    break;
    90619121
    9062   case 738:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2752 "parser.yy"
     9122  case 739:
     9123
     9124/* Line 1806 of yacc.c  */
     9125#line 2755 "parser.yy"
    90669126    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90679127    break;
    90689128
    9069   case 739:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2754 "parser.yy"
     9129  case 740:
     9130
     9131/* Line 1806 of yacc.c  */
     9132#line 2757 "parser.yy"
    90739133    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90749134    break;
    90759135
    9076   case 740:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2756 "parser.yy"
     9136  case 741:
     9137
     9138/* Line 1806 of yacc.c  */
     9139#line 2759 "parser.yy"
    90809140    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90819141    break;
    90829142
    9083   case 741:
    9084 
    9085 /* Line 1806 of yacc.c  */
    9086 #line 2758 "parser.yy"
     9143  case 742:
     9144
     9145/* Line 1806 of yacc.c  */
     9146#line 2761 "parser.yy"
    90879147    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90889148    break;
    90899149
    9090   case 742:
    9091 
    9092 /* Line 1806 of yacc.c  */
    9093 #line 2760 "parser.yy"
     9150  case 743:
     9151
     9152/* Line 1806 of yacc.c  */
     9153#line 2763 "parser.yy"
    90949154    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90959155    break;
    90969156
    9097   case 743:
    9098 
    9099 /* Line 1806 of yacc.c  */
    9100 #line 2762 "parser.yy"
     9157  case 744:
     9158
     9159/* Line 1806 of yacc.c  */
     9160#line 2765 "parser.yy"
    91019161    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91029162    break;
    91039163
    9104   case 744:
    9105 
    9106 /* Line 1806 of yacc.c  */
    9107 #line 2767 "parser.yy"
     9164  case 745:
     9165
     9166/* Line 1806 of yacc.c  */
     9167#line 2770 "parser.yy"
    91089168    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91099169    break;
    91109170
    9111   case 745:
    9112 
    9113 /* Line 1806 of yacc.c  */
    9114 #line 2772 "parser.yy"
     9171  case 746:
     9172
     9173/* Line 1806 of yacc.c  */
     9174#line 2775 "parser.yy"
    91159175    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91169176    break;
    91179177
    9118   case 746:
    9119 
    9120 /* Line 1806 of yacc.c  */
    9121 #line 2774 "parser.yy"
     9178  case 747:
     9179
     9180/* Line 1806 of yacc.c  */
     9181#line 2777 "parser.yy"
    91229182    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91239183    break;
    91249184
    9125   case 747:
    9126 
    9127 /* Line 1806 of yacc.c  */
    9128 #line 2776 "parser.yy"
     9185  case 748:
     9186
     9187/* Line 1806 of yacc.c  */
     9188#line 2779 "parser.yy"
    91299189    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91309190    break;
    91319191
    9132   case 750:
    9133 
    9134 /* Line 1806 of yacc.c  */
    9135 #line 2800 "parser.yy"
     9192  case 751:
     9193
     9194/* Line 1806 of yacc.c  */
     9195#line 2803 "parser.yy"
    91369196    { (yyval.en) = 0; }
    91379197    break;
    91389198
    9139   case 751:
    9140 
    9141 /* Line 1806 of yacc.c  */
    9142 #line 2802 "parser.yy"
     9199  case 752:
     9200
     9201/* Line 1806 of yacc.c  */
     9202#line 2805 "parser.yy"
    91439203    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91449204    break;
     
    91479207
    91489208/* Line 1806 of yacc.c  */
    9149 #line 9150 "Parser/parser.cc"
     9209#line 9210 "Parser/parser.cc"
    91509210      default: break;
    91519211    }
     
    93789438
    93799439/* Line 2067 of yacc.c  */
    9380 #line 2805 "parser.yy"
     9440#line 2808 "parser.yy"
    93819441
    93829442// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.