Ignore:
Timestamp:
Apr 15, 2016, 12:03:11 PM (9 years ago)
Author:
Thierry Delisle <tdelisle@…>
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, with_gc
Children:
29ad0ac
Parents:
c5833e8 (diff), 37f0da8 (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' into gc_noraii

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    rc5833e8 r0f9e4403  
    7777#include <cstdio>
    7878#include <stack>
     79#include "lex.h"
     80#include "parser.h"
     81#include "ParseNode.h"
    7982#include "TypedefTable.h"
    80 #include "lex.h"
    81 #include "ParseNode.h"
    8283#include "TypeData.h"
    8384#include "LinkageSpec.h"
     
    9091
    9192/* Line 268 of yacc.c  */
    92 #line 93 "Parser/parser.cc"
     93#line 94 "Parser/parser.cc"
    9394
    9495/* Enabling traces.  */
     
    138139     SIGNED = 277,
    139140     UNSIGNED = 278,
    140      BOOL = 279,
    141      COMPLEX = 280,
    142      IMAGINARY = 281,
    143      TYPEOF = 282,
    144      LABEL = 283,
    145      ENUM = 284,
    146      STRUCT = 285,
    147      UNION = 286,
    148      TYPE = 287,
    149      FTYPE = 288,
    150      DTYPE = 289,
    151      CONTEXT = 290,
    152      SIZEOF = 291,
    153      OFFSETOF = 292,
    154      ATTRIBUTE = 293,
    155      EXTENSION = 294,
    156      IF = 295,
    157      ELSE = 296,
    158      SWITCH = 297,
    159      CASE = 298,
    160      DEFAULT = 299,
    161      DO = 300,
    162      WHILE = 301,
    163      FOR = 302,
    164      BREAK = 303,
    165      CONTINUE = 304,
    166      GOTO = 305,
    167      RETURN = 306,
    168      CHOOSE = 307,
    169      DISABLE = 308,
    170      ENABLE = 309,
    171      FALLTHRU = 310,
    172      TRY = 311,
    173      CATCH = 312,
    174      CATCHRESUME = 313,
    175      FINALLY = 314,
    176      THROW = 315,
    177      THROWRESUME = 316,
    178      AT = 317,
    179      ASM = 318,
    180      ALIGNAS = 319,
    181      ALIGNOF = 320,
    182      ATOMIC = 321,
    183      GENERIC = 322,
    184      NORETURN = 323,
    185      STATICASSERT = 324,
    186      THREADLOCAL = 325,
    187      IDENTIFIER = 326,
    188      QUOTED_IDENTIFIER = 327,
    189      TYPEDEFname = 328,
    190      TYPEGENname = 329,
    191      ATTR_IDENTIFIER = 330,
    192      ATTR_TYPEDEFname = 331,
    193      ATTR_TYPEGENname = 332,
    194      INTEGERconstant = 333,
    195      FLOATINGconstant = 334,
    196      CHARACTERconstant = 335,
    197      STRINGliteral = 336,
    198      ZERO = 337,
    199      ONE = 338,
    200      ARROW = 339,
    201      ICR = 340,
    202      DECR = 341,
    203      LS = 342,
    204      RS = 343,
    205      LE = 344,
    206      GE = 345,
    207      EQ = 346,
    208      NE = 347,
    209      ANDAND = 348,
    210      OROR = 349,
    211      ELLIPSIS = 350,
    212      MULTassign = 351,
    213      DIVassign = 352,
    214      MODassign = 353,
    215      PLUSassign = 354,
    216      MINUSassign = 355,
    217      LSassign = 356,
    218      RSassign = 357,
    219      ANDassign = 358,
    220      ERassign = 359,
    221      ORassign = 360,
    222      ATassign = 361,
    223      THEN = 362
     141     VALIST = 279,
     142     BOOL = 280,
     143     COMPLEX = 281,
     144     IMAGINARY = 282,
     145     TYPEOF = 283,
     146     LABEL = 284,
     147     ENUM = 285,
     148     STRUCT = 286,
     149     UNION = 287,
     150     OTYPE = 288,
     151     FTYPE = 289,
     152     DTYPE = 290,
     153     TRAIT = 291,
     154     SIZEOF = 292,
     155     OFFSETOF = 293,
     156     ATTRIBUTE = 294,
     157     EXTENSION = 295,
     158     IF = 296,
     159     ELSE = 297,
     160     SWITCH = 298,
     161     CASE = 299,
     162     DEFAULT = 300,
     163     DO = 301,
     164     WHILE = 302,
     165     FOR = 303,
     166     BREAK = 304,
     167     CONTINUE = 305,
     168     GOTO = 306,
     169     RETURN = 307,
     170     CHOOSE = 308,
     171     DISABLE = 309,
     172     ENABLE = 310,
     173     FALLTHRU = 311,
     174     TRY = 312,
     175     CATCH = 313,
     176     CATCHRESUME = 314,
     177     FINALLY = 315,
     178     THROW = 316,
     179     THROWRESUME = 317,
     180     AT = 318,
     181     ASM = 319,
     182     ALIGNAS = 320,
     183     ALIGNOF = 321,
     184     ATOMIC = 322,
     185     GENERIC = 323,
     186     NORETURN = 324,
     187     STATICASSERT = 325,
     188     THREADLOCAL = 326,
     189     IDENTIFIER = 327,
     190     QUOTED_IDENTIFIER = 328,
     191     TYPEDEFname = 329,
     192     TYPEGENname = 330,
     193     ATTR_IDENTIFIER = 331,
     194     ATTR_TYPEDEFname = 332,
     195     ATTR_TYPEGENname = 333,
     196     INTEGERconstant = 334,
     197     FLOATINGconstant = 335,
     198     CHARACTERconstant = 336,
     199     STRINGliteral = 337,
     200     ZERO = 338,
     201     ONE = 339,
     202     ARROW = 340,
     203     ICR = 341,
     204     DECR = 342,
     205     LS = 343,
     206     RS = 344,
     207     LE = 345,
     208     GE = 346,
     209     EQ = 347,
     210     NE = 348,
     211     ANDAND = 349,
     212     OROR = 350,
     213     ELLIPSIS = 351,
     214     MULTassign = 352,
     215     DIVassign = 353,
     216     MODassign = 354,
     217     PLUSassign = 355,
     218     MINUSassign = 356,
     219     LSassign = 357,
     220     RSassign = 358,
     221     ANDassign = 359,
     222     ERassign = 360,
     223     ORassign = 361,
     224     ATassign = 362,
     225     THEN = 363
    224226   };
    225227#endif
     
    246248#define SIGNED 277
    247249#define UNSIGNED 278
    248 #define BOOL 279
    249 #define COMPLEX 280
    250 #define IMAGINARY 281
    251 #define TYPEOF 282
    252 #define LABEL 283
    253 #define ENUM 284
    254 #define STRUCT 285
    255 #define UNION 286
    256 #define TYPE 287
    257 #define FTYPE 288
    258 #define DTYPE 289
    259 #define CONTEXT 290
    260 #define SIZEOF 291
    261 #define OFFSETOF 292
    262 #define ATTRIBUTE 293
    263 #define EXTENSION 294
    264 #define IF 295
    265 #define ELSE 296
    266 #define SWITCH 297
    267 #define CASE 298
    268 #define DEFAULT 299
    269 #define DO 300
    270 #define WHILE 301
    271 #define FOR 302
    272 #define BREAK 303
    273 #define CONTINUE 304
    274 #define GOTO 305
    275 #define RETURN 306
    276 #define CHOOSE 307
    277 #define DISABLE 308
    278 #define ENABLE 309
    279 #define FALLTHRU 310
    280 #define TRY 311
    281 #define CATCH 312
    282 #define CATCHRESUME 313
    283 #define FINALLY 314
    284 #define THROW 315
    285 #define THROWRESUME 316
    286 #define AT 317
    287 #define ASM 318
    288 #define ALIGNAS 319
    289 #define ALIGNOF 320
    290 #define ATOMIC 321
    291 #define GENERIC 322
    292 #define NORETURN 323
    293 #define STATICASSERT 324
    294 #define THREADLOCAL 325
    295 #define IDENTIFIER 326
    296 #define QUOTED_IDENTIFIER 327
    297 #define TYPEDEFname 328
    298 #define TYPEGENname 329
    299 #define ATTR_IDENTIFIER 330
    300 #define ATTR_TYPEDEFname 331
    301 #define ATTR_TYPEGENname 332
    302 #define INTEGERconstant 333
    303 #define FLOATINGconstant 334
    304 #define CHARACTERconstant 335
    305 #define STRINGliteral 336
    306 #define ZERO 337
    307 #define ONE 338
    308 #define ARROW 339
    309 #define ICR 340
    310 #define DECR 341
    311 #define LS 342
    312 #define RS 343
    313 #define LE 344
    314 #define GE 345
    315 #define EQ 346
    316 #define NE 347
    317 #define ANDAND 348
    318 #define OROR 349
    319 #define ELLIPSIS 350
    320 #define MULTassign 351
    321 #define DIVassign 352
    322 #define MODassign 353
    323 #define PLUSassign 354
    324 #define MINUSassign 355
    325 #define LSassign 356
    326 #define RSassign 357
    327 #define ANDassign 358
    328 #define ERassign 359
    329 #define ORassign 360
    330 #define ATassign 361
    331 #define THEN 362
     250#define VALIST 279
     251#define BOOL 280
     252#define COMPLEX 281
     253#define IMAGINARY 282
     254#define TYPEOF 283
     255#define LABEL 284
     256#define ENUM 285
     257#define STRUCT 286
     258#define UNION 287
     259#define OTYPE 288
     260#define FTYPE 289
     261#define DTYPE 290
     262#define TRAIT 291
     263#define SIZEOF 292
     264#define OFFSETOF 293
     265#define ATTRIBUTE 294
     266#define EXTENSION 295
     267#define IF 296
     268#define ELSE 297
     269#define SWITCH 298
     270#define CASE 299
     271#define DEFAULT 300
     272#define DO 301
     273#define WHILE 302
     274#define FOR 303
     275#define BREAK 304
     276#define CONTINUE 305
     277#define GOTO 306
     278#define RETURN 307
     279#define CHOOSE 308
     280#define DISABLE 309
     281#define ENABLE 310
     282#define FALLTHRU 311
     283#define TRY 312
     284#define CATCH 313
     285#define CATCHRESUME 314
     286#define FINALLY 315
     287#define THROW 316
     288#define THROWRESUME 317
     289#define AT 318
     290#define ASM 319
     291#define ALIGNAS 320
     292#define ALIGNOF 321
     293#define ATOMIC 322
     294#define GENERIC 323
     295#define NORETURN 324
     296#define STATICASSERT 325
     297#define THREADLOCAL 326
     298#define IDENTIFIER 327
     299#define QUOTED_IDENTIFIER 328
     300#define TYPEDEFname 329
     301#define TYPEGENname 330
     302#define ATTR_IDENTIFIER 331
     303#define ATTR_TYPEDEFname 332
     304#define ATTR_TYPEGENname 333
     305#define INTEGERconstant 334
     306#define FLOATINGconstant 335
     307#define CHARACTERconstant 336
     308#define STRINGliteral 337
     309#define ZERO 338
     310#define ONE 339
     311#define ARROW 340
     312#define ICR 341
     313#define DECR 342
     314#define LS 343
     315#define RS 344
     316#define LE 345
     317#define GE 346
     318#define EQ 347
     319#define NE 348
     320#define ANDAND 349
     321#define OROR 350
     322#define ELLIPSIS 351
     323#define MULTassign 352
     324#define DIVassign 353
     325#define MODassign 354
     326#define PLUSassign 355
     327#define MINUSassign 356
     328#define LSassign 357
     329#define RSassign 358
     330#define ANDassign 359
     331#define ERassign 360
     332#define ORassign 361
     333#define ATassign 362
     334#define THEN 363
    332335
    333336
     
    339342
    340343/* Line 293 of yacc.c  */
    341 #line 110 "parser.yy"
     344#line 112 "parser.yy"
    342345
    343346        Token tok;
     
    356359
    357360/* Line 293 of yacc.c  */
    358 #line 359 "Parser/parser.cc"
     361#line 362 "Parser/parser.cc"
    359362} YYSTYPE;
    360363# define YYSTYPE_IS_TRIVIAL 1
     
    368371
    369372/* Line 343 of yacc.c  */
    370 #line 371 "Parser/parser.cc"
     373#line 374 "Parser/parser.cc"
    371374
    372375#ifdef short
     
    585588
    586589/* YYFINAL -- State number of the termination state.  */
    587 #define YYFINAL  248
     590#define YYFINAL  249
    588591/* YYLAST -- Last index in YYTABLE.  */
    589 #define YYLAST   11042
     592#define YYLAST   11449
    590593
    591594/* YYNTOKENS -- Number of terminals.  */
    592 #define YYNTOKENS  132
     595#define YYNTOKENS  133
    593596/* YYNNTS -- Number of nonterminals.  */
    594 #define YYNNTS  238
     597#define YYNNTS  240
    595598/* YYNRULES -- Number of rules.  */
    596 #define YYNRULES  751
     599#define YYNRULES  754
    597600/* YYNRULES -- Number of states.  */
    598 #define YYNSTATES  1578
     601#define YYNSTATES  1581
    599602
    600603/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    601604#define YYUNDEFTOK  2
    602 #define YYMAXUTOK   362
     605#define YYMAXUTOK   363
    603606
    604607#define YYTRANSLATE(YYX)                                                \
     
    611614       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    612615       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    613        2,     2,     2,   117,     2,     2,     2,   124,   119,     2,
    614      108,   109,   118,   120,   115,   121,   112,   123,     2,     2,
    615        2,     2,     2,     2,     2,     2,     2,     2,   116,   131,
    616      125,   130,   126,   129,     2,     2,     2,     2,     2,     2,
     616       2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
     617     109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
     618       2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
     619     126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
    617620       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    618621       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    619        2,   110,     2,   111,   127,     2,     2,     2,     2,     2,
     622       2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
    620623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621624       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622        2,     2,     2,   113,   128,   114,   122,     2,     2,     2,
     625       2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
    623626       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624627       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    644647      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    645648      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    646      105,   106,   107
     649     105,   106,   107,   108
    647650};
    648651
     
    685688    1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    686689    1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
    687     1197,  1199,  1201,  1203,  1205,  1208,  1211,  1215,  1219,  1221,
    688     1225,  1227,  1230,  1233,  1236,  1241,  1246,  1251,  1256,  1258,
    689     1261,  1264,  1268,  1270,  1273,  1276,  1278,  1281,  1284,  1288,
    690     1290,  1293,  1296,  1298,  1300,  1305,  1308,  1314,  1322,  1325,
    691     1328,  1331,  1333,  1336,  1339,  1343,  1346,  1350,  1352,  1355,
    692     1359,  1362,  1365,  1370,  1371,  1373,  1376,  1379,  1381,  1382,
    693     1384,  1387,  1390,  1396,  1403,  1406,  1409,  1414,  1415,  1418,
    694     1419,  1421,  1423,  1425,  1431,  1437,  1443,  1445,  1451,  1457,
    695     1467,  1469,  1475,  1476,  1478,  1480,  1486,  1488,  1490,  1496,
    696     1502,  1504,  1508,  1512,  1517,  1519,  1521,  1523,  1525,  1528,
    697     1530,  1534,  1538,  1540,  1543,  1545,  1549,  1551,  1553,  1555,
    698     1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1574,  1576,
    699     1578,  1580,  1583,  1584,  1587,  1590,  1592,  1597,  1598,  1600,
    700     1603,  1607,  1612,  1615,  1618,  1620,  1623,  1625,  1628,  1634,
    701     1640,  1648,  1655,  1657,  1660,  1663,  1667,  1669,  1672,  1675,
    702     1680,  1683,  1688,  1689,  1694,  1697,  1699,  1701,  1703,  1704,
    703     1707,  1713,  1719,  1733,  1735,  1737,  1741,  1745,  1748,  1752,
    704     1756,  1759,  1764,  1766,  1773,  1783,  1784,  1796,  1798,  1802,
    705     1806,  1810,  1812,  1814,  1820,  1823,  1829,  1830,  1832,  1834,
    706     1838,  1839,  1841,  1843,  1845,  1847,  1848,  1855,  1858,  1860,
    707     1863,  1868,  1871,  1875,  1879,  1883,  1888,  1894,  1900,  1906,
    708     1913,  1915,  1917,  1919,  1923,  1924,  1930,  1931,  1933,  1935,
    709     1938,  1945,  1947,  1951,  1952,  1954,  1959,  1961,  1963,  1965,
    710     1967,  1970,  1972,  1975,  1978,  1980,  1984,  1987,  1991,  1995,
    711     1998,  2003,  2008,  2012,  2021,  2025,  2028,  2030,  2033,  2040,
    712     2049,  2053,  2056,  2060,  2064,  2069,  2074,  2078,  2080,  2082,
    713     2084,  2089,  2096,  2100,  2103,  2107,  2111,  2116,  2121,  2125,
    714     2128,  2130,  2133,  2136,  2138,  2142,  2145,  2149,  2153,  2156,
    715     2161,  2166,  2170,  2177,  2186,  2190,  2193,  2195,  2198,  2201,
    716     2204,  2208,  2212,  2215,  2220,  2225,  2229,  2236,  2245,  2249,
    717     2252,  2254,  2257,  2260,  2262,  2264,  2267,  2271,  2275,  2278,
    718     2283,  2290,  2299,  2301,  2304,  2307,  2309,  2312,  2315,  2319,
    719     2323,  2325,  2330,  2335,  2339,  2345,  2354,  2358,  2361,  2365,
    720     2367,  2373,  2379,  2386,  2393,  2395,  2398,  2401,  2403,  2406,
    721     2409,  2413,  2417,  2419,  2424,  2429,  2433,  2439,  2448,  2452,
    722     2454,  2457,  2459,  2462,  2469,  2475,  2482,  2490,  2498,  2500,
    723     2503,  2506,  2508,  2511,  2514,  2518,  2522,  2524,  2529,  2534,
    724     2538,  2547,  2551,  2553,  2555,  2558,  2560,  2562,  2565,  2569,
    725     2572,  2576,  2579,  2583,  2587,  2590,  2595,  2599,  2602,  2606,
    726     2609,  2614,  2618,  2621,  2628,  2635,  2642,  2650,  2652,  2655,
    727     2657,  2659,  2661,  2664,  2668,  2671,  2675,  2678,  2682,  2686,
    728     2691,  2694,  2698,  2703,  2706,  2712,  2718,  2725,  2732,  2733,
    729     2735,  2736
     690    1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
     691    1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
     692    1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
     693    1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,  1318,
     694    1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,  1354,
     695    1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,  1383,
     696    1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,  1415,
     697    1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,  1449,
     698    1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,  1492,
     699    1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,  1527,
     700    1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,  1555,
     701    1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1575,
     702    1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,  1598,
     703    1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,  1629,
     704    1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,  1673,
     705    1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,  1705,
     706    1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,  1747,
     707    1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,  1790,
     708    1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,  1835,
     709    1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,  1854,
     710    1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,  1894,
     711    1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,  1936,
     712    1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,  1965,
     713    1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,  1990,
     714    1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,  2034,
     715    2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,  2080,
     716    2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,  2117,
     717    2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,  2151,
     718    2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,  2199,
     719    2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,  2235,
     720    2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,  2273,
     721    2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,  2315,
     722    2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,  2360,
     723    2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,  2404,
     724    2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,  2439,
     725    2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,  2488,
     726    2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,  2528,
     727    2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,  2566,
     728    2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,  2601,
     729    2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,  2648,
     730    2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,  2681,
     731    2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,  2724,
     732    2731,  2738,  2739,  2741,  2742
    730733};
    731734
     
    733736static const yytype_int16 yyrhs[] =
    734737{
    735      298,     0,    -1,    -1,    -1,    78,    -1,    79,    -1,    80,
    736       -1,    71,    -1,    75,    -1,   139,    -1,    71,    -1,    75,
    737       -1,    71,    -1,   139,    -1,    82,    -1,    83,    -1,    81,
    738       -1,   140,    81,    -1,    71,    -1,   139,    -1,   108,   167,
    739      109,    -1,   108,   171,   109,    -1,   141,    -1,   142,   110,
    740      133,   162,   134,   111,    -1,   142,   108,   143,   109,    -1,
    741      142,   112,   138,    -1,   142,   112,   110,   133,   145,   134,
    742      111,    -1,   142,    84,   138,    -1,   142,    84,   110,   133,
    743      145,   134,   111,    -1,   142,    85,    -1,   142,    86,    -1,
    744      108,   271,   109,   113,   275,   368,   114,    -1,   142,   113,
    745      143,   114,    -1,   144,    -1,   143,   115,   144,    -1,    -1,
    746      162,    -1,   138,   116,   162,    -1,   110,   133,   162,   134,
    747      111,   116,   162,    -1,   110,   133,   162,   115,   165,   134,
    748      111,   116,   162,    -1,   146,    -1,   145,   115,   146,    -1,
    749      138,    -1,   138,   112,   146,    -1,   138,   112,   110,   133,
    750      145,   134,   111,    -1,   138,    84,   146,    -1,   138,    84,
    751      110,   133,   145,   134,   111,    -1,   142,    -1,   135,    -1,
    752      140,    -1,    85,   147,    -1,    86,   147,    -1,    39,   149,
    753       -1,   148,   149,    -1,   117,   149,    -1,   118,   149,    -1,
    754       36,   147,    -1,    36,   108,   271,   109,    -1,    37,   108,
    755      271,   115,   138,   109,    -1,    75,    -1,    75,   108,   272,
    756      109,    -1,    75,   108,   144,   109,    -1,    65,   147,    -1,
    757       65,   108,   271,   109,    -1,    93,   138,    -1,   119,    -1,
    758      120,    -1,   121,    -1,   122,    -1,   147,    -1,   108,   271,
    759      109,   149,    -1,   108,   271,   109,   164,    -1,   149,    -1,
    760      150,   118,   149,    -1,   150,   123,   149,    -1,   150,   124,
    761      149,    -1,   150,    -1,   151,   120,   150,    -1,   151,   121,
    762      150,    -1,   151,    -1,   152,    87,   151,    -1,   152,    88,
    763      151,    -1,   152,    -1,   153,   125,   152,    -1,   153,   126,
    764      152,    -1,   153,    89,   152,    -1,   153,    90,   152,    -1,
    765      153,    -1,   154,    91,   153,    -1,   154,    92,   153,    -1,
    766      154,    -1,   155,   119,   154,    -1,   155,    -1,   156,   127,
    767      155,    -1,   156,    -1,   157,   128,   156,    -1,   157,    -1,
    768      158,    93,   157,    -1,   158,    -1,   159,    94,   158,    -1,
    769      159,    -1,   159,   129,   167,   116,   160,    -1,   159,   129,
    770      116,   160,    -1,   159,   129,   167,   116,   164,    -1,   160,
    771       -1,   160,    -1,   147,   130,   162,    -1,   147,   166,   162,
    772       -1,   164,   369,    -1,    -1,   162,    -1,   110,   111,    -1,
    773      110,   133,   162,   134,   111,    -1,   110,   133,   115,   165,
    774      134,   111,    -1,   110,   133,   162,   115,   165,   134,   111,
    775       -1,   163,    -1,   165,   115,   163,    -1,    96,    -1,    97,
    776       -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,
    777       -1,   103,    -1,   104,    -1,   105,    -1,   162,    -1,   167,
    778      115,   162,    -1,    -1,   167,    -1,   170,    -1,   171,    -1,
    779      175,    -1,   176,    -1,   188,    -1,   190,    -1,   191,    -1,
    780      196,    -1,   127,   142,   113,   143,   114,   131,    -1,   138,
    781      116,   308,   169,    -1,   113,   114,    -1,   113,   133,   133,
    782      207,   172,   134,   114,    -1,   173,    -1,   172,   133,   173,
    783       -1,   210,    -1,    39,   210,    -1,   304,    -1,   169,   134,
    784       -1,   169,    -1,   174,   169,    -1,   168,   131,    -1,    40,
    785      108,   167,   109,   169,    -1,    40,   108,   167,   109,   169,
    786       41,   169,    -1,    42,   108,   167,   109,   181,    -1,    42,
    787      108,   167,   109,   113,   133,   203,   182,   114,    -1,    52,
    788      108,   167,   109,   181,    -1,    52,   108,   167,   109,   113,
    789      133,   203,   184,   114,    -1,   161,    -1,   161,    95,   161,
    790       -1,   306,    -1,   177,    -1,   178,   115,   177,    -1,    43,
    791      178,   116,    -1,    44,   116,    -1,   179,    -1,   180,   179,
    792       -1,   180,   169,    -1,    -1,   183,    -1,   180,   174,    -1,
    793      183,   180,   174,    -1,    -1,   185,    -1,   180,   187,    -1,
    794      180,   174,   186,    -1,   185,   180,   187,    -1,   185,   180,
    795      174,   186,    -1,    -1,   187,    -1,    55,    -1,    55,   131,
    796       -1,    46,   108,   167,   109,   169,    -1,    45,   169,    46,
    797      108,   167,   109,   131,    -1,    47,   108,   133,   189,   109,
    798      169,    -1,   168,   134,   131,   168,   131,   168,    -1,   210,
    799      168,   131,   168,    -1,    50,   138,   131,    -1,    50,   118,
    800      167,   131,    -1,    49,   131,    -1,    49,   138,   131,    -1,
    801       48,   131,    -1,    48,   138,   131,    -1,    51,   168,   131,
    802       -1,    60,   163,   131,    -1,    61,   163,   131,    -1,    61,
    803      163,    62,   162,   131,    -1,    56,   171,   192,    -1,    56,
    804      171,   194,    -1,    56,   171,   192,   194,    -1,   193,    -1,
    805       57,   108,    95,   109,   171,    -1,   193,    57,   108,    95,
    806      109,   171,    -1,    58,   108,    95,   109,   171,    -1,   193,
    807       58,   108,    95,   109,   171,    -1,    57,   108,   133,   133,
    808      195,   134,   109,   171,   134,    -1,   193,    57,   108,   133,
    809      133,   195,   134,   109,   171,   134,    -1,    58,   108,   133,
    810      133,   195,   134,   109,   171,   134,    -1,   193,    58,   108,
    811      133,   133,   195,   134,   109,   171,   134,    -1,    59,   171,
    812       -1,   223,    -1,   223,   305,    -1,   223,   353,    -1,   362,
    813      138,    -1,   362,    -1,    63,   197,   108,   140,   109,   131,
    814       -1,    63,   197,   108,   140,   116,   198,   109,   131,    -1,
    815       63,   197,   108,   140,   116,   198,   116,   198,   109,   131,
    816       -1,    63,   197,   108,   140,   116,   198,   116,   198,   116,
    817      201,   109,   131,    -1,    63,   197,    50,   108,   140,   116,
    818      116,   198,   116,   201,   116,   202,   109,   131,    -1,    -1,
    819       11,    -1,    -1,   199,    -1,   200,    -1,   199,   115,   200,
    820       -1,   140,   108,   161,   109,    -1,   110,   161,   111,   140,
    821      108,   161,   109,    -1,    -1,   140,    -1,   201,   115,   140,
    822       -1,   138,    -1,   202,   115,   138,    -1,   134,    -1,   204,
    823       -1,   210,    -1,   204,   133,   210,    -1,   134,    -1,   206,
    824       -1,   220,    -1,   206,   133,   220,    -1,    -1,   208,    -1,
    825       28,   209,   131,    -1,   208,    28,   209,   131,    -1,   270,
    826       -1,   209,   115,   270,    -1,   211,    -1,   220,    -1,   212,
    827      134,   131,    -1,   217,   134,   131,    -1,   214,   134,   131,
    828       -1,   289,   134,   131,    -1,   292,   134,   131,    -1,   213,
    829      273,    -1,   229,   213,   273,    -1,   212,   134,   115,   133,
    830      268,   273,    -1,   363,   268,   307,    -1,   366,   268,   307,
    831       -1,   225,   366,   268,   307,    -1,   215,    -1,   225,   215,
    832       -1,   229,   215,    -1,   229,   225,   215,    -1,   214,   134,
    833      115,   133,   268,    -1,   110,   111,   268,   108,   133,   256,
    834      134,   109,    -1,   366,   268,   108,   133,   256,   134,   109,
    835       -1,   216,   268,   108,   133,   256,   134,   109,    -1,   110,
    836      133,   258,   134,   111,    -1,   110,   133,   258,   134,   115,
    837      133,   259,   134,   111,    -1,     3,   213,    -1,     3,   215,
    838       -1,   217,   134,   115,   133,   138,    -1,     3,   223,   305,
    839       -1,   218,   134,   115,   133,   305,    -1,   225,     3,   223,
    840      305,    -1,   223,     3,   305,    -1,   223,     3,   225,   305,
    841       -1,     3,   138,   130,   162,    -1,   219,   134,   115,   133,
    842      138,   130,   162,    -1,   221,   134,   131,    -1,   218,   134,
    843      131,    -1,   219,   134,   131,    -1,   238,   134,   131,    -1,
    844      222,   305,   307,   273,    -1,   221,   115,   308,   305,   307,
    845      273,    -1,   234,    -1,   238,    -1,   240,    -1,   279,    -1,
    846      235,    -1,   239,    -1,   241,    -1,   280,    -1,    -1,   225,
    847       -1,   226,    -1,   225,   226,    -1,   227,    -1,   310,    -1,
    848       10,    -1,    12,    -1,    11,    -1,    14,    -1,    66,    -1,
    849       -1,    13,   108,   228,   282,   109,    -1,   230,    -1,   225,
    850      230,    -1,   229,   225,   230,    -1,   231,    -1,   230,   231,
    851       -1,   232,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
    852       -1,     8,    -1,     9,    -1,    68,    -1,    70,    -1,    16,
     738     301,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     739      -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
     740      -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
     741      -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
     742     110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
     743     134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
     744     143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
     745     112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
     746     146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
     747     109,   274,   110,   114,   278,   371,   115,    -1,   143,   114,
     748     144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
     749     163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
     750     112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
     751     112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
     752     139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
     753     146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
     754     111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
     755     141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
     756      -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
     757      37,   148,    -1,    37,   109,   274,   110,    -1,    38,   109,
     758     274,   116,   139,   110,    -1,    76,    -1,    76,   109,   275,
     759     110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
     760      66,   109,   274,   110,    -1,    94,   139,    -1,   120,    -1,
     761     121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   274,
     762     110,   150,    -1,   109,   274,   110,   165,    -1,   150,    -1,
     763     151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
     764     150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
     765     151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
     766     152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
     767     153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
     768     154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
     769     155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
     770     156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
     771     159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
     772     160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
     773     117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
     774      -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
     775      -1,   165,   372,    -1,    -1,   163,    -1,   111,   112,    -1,
     776     111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
     777     135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
     778      -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
     779      -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
     780      -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
     781     116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
     782     176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
     783     197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
     784     117,   311,   170,    -1,   114,   115,    -1,   114,   134,   134,
     785     208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
     786      -1,   211,    -1,    40,   211,    -1,   307,    -1,   170,   135,
     787      -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
     788     109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
     789      42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
     790     109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
     791     109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
     792     134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
     793      -1,   309,    -1,   178,    -1,   179,   116,   178,    -1,    44,
     794     179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
     795      -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
     796     184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
     797     181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
     798     175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
     799      -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
     800     109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
     801     170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
     802     169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
     803     168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
     804      49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
     805      -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
     806     164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
     807     172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
     808      58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
     809     110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
     810      59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
     811     196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
     812     134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
     813     134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
     814     134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
     815      -1,   224,    -1,   224,   308,    -1,   224,   356,    -1,   365,
     816     139,    -1,   365,    -1,    64,   198,   109,   141,   110,   132,
     817      -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
     818      64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
     819      -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
     820     202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
     821     117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
     822      11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
     823      -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
     824     109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
     825      -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
     826      -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
     827      -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
     828      29,   210,   132,    -1,   209,    29,   210,   132,    -1,   273,
     829      -1,   210,   116,   273,    -1,   212,    -1,   221,    -1,   213,
     830     135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
     831      -1,   292,   135,   132,    -1,   295,   135,   132,    -1,   214,
     832     276,    -1,   230,   214,   276,    -1,   213,   135,   116,   134,
     833     271,   276,    -1,   366,   271,   310,    -1,   369,   271,   310,
     834      -1,   226,   369,   271,   310,    -1,   216,    -1,   226,   216,
     835      -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
     836     116,   134,   271,    -1,   111,   112,   271,   109,   134,   259,
     837     135,   110,    -1,   369,   271,   109,   134,   259,   135,   110,
     838      -1,   217,   271,   109,   134,   259,   135,   110,    -1,   111,
     839     134,   261,   135,   112,    -1,   111,   134,   261,   135,   116,
     840     134,   262,   135,   112,    -1,     3,   214,    -1,     3,   216,
     841      -1,   218,   135,   116,   134,   139,    -1,     3,   224,   308,
     842      -1,   219,   135,   116,   134,   308,    -1,   226,     3,   224,
     843     308,    -1,   224,     3,   308,    -1,   224,     3,   226,   308,
     844      -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
     845     139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
     846     132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
     847     223,   308,   310,   276,    -1,   222,   116,   311,   308,   310,
     848     276,    -1,   235,    -1,   239,    -1,   241,    -1,   282,    -1,
     849     236,    -1,   240,    -1,   242,    -1,   283,    -1,    -1,   226,
     850      -1,   227,    -1,   226,   227,    -1,   228,    -1,   313,    -1,
     851      10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
     852      -1,    13,   109,   229,   285,   110,    -1,   231,    -1,   226,
     853     231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
     854      -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
     855      -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
    853856      -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    854       -1,    22,    -1,    23,    -1,    15,    -1,    24,    -1,    25,
    855       -1,    26,    -1,   235,    -1,   229,   235,    -1,   234,   231,
    856       -1,   234,   231,   225,    -1,   234,   231,   235,    -1,   236,
    857       -1,   224,   237,   224,    -1,   233,    -1,   225,   233,    -1,
    858      236,   226,    -1,   236,   233,    -1,    27,   108,   272,   109,
    859       -1,    27,   108,   167,   109,    -1,    77,   108,   272,   109,
    860       -1,    77,   108,   167,   109,    -1,   239,    -1,   229,   239,
    861       -1,   238,   231,    -1,   238,   231,   225,    -1,   242,    -1,
    862      225,   242,    -1,   239,   226,    -1,   241,    -1,   229,   241,
    863       -1,   240,   231,    -1,   240,   231,   225,    -1,    73,    -1,
    864      225,    73,    -1,   241,   226,    -1,   243,    -1,   253,    -1,
    865      244,   113,   245,   114,    -1,   244,   270,    -1,   244,   270,
    866      113,   245,   114,    -1,   244,   108,   288,   109,   113,   245,
    867      114,    -1,   244,   281,    -1,    30,   308,    -1,    31,   308,
    868       -1,   246,    -1,   245,   246,    -1,   247,   131,    -1,    39,
    869      247,   131,    -1,   248,   131,    -1,    39,   248,   131,    -1,
    870      362,    -1,   362,   270,    -1,   247,   115,   270,    -1,   247,
    871      115,    -1,   223,   249,    -1,   248,   115,   308,   249,    -1,
    872       -1,   251,    -1,   314,   250,    -1,   327,   250,    -1,   353,
    873       -1,    -1,   251,    -1,   116,   161,    -1,    29,   308,    -1,
    874      252,   113,   254,   368,   114,    -1,   252,   270,   113,   254,
    875      368,   114,    -1,   252,   270,    -1,   270,   255,    -1,   254,
    876      115,   270,   255,    -1,    -1,   130,   161,    -1,    -1,   257,
    877       -1,   259,    -1,   258,    -1,   258,   134,   115,   133,   259,
    878       -1,   259,   134,   115,   133,    95,    -1,   258,   134,   115,
    879      133,    95,    -1,   263,    -1,   259,   134,   115,   133,   263,
    880       -1,   258,   134,   115,   133,   263,    -1,   258,   134,   115,
    881      133,   259,   134,   115,   133,   263,    -1,   264,    -1,   259,
    882      134,   115,   133,   264,    -1,    -1,   261,    -1,   262,    -1,
    883      262,   134,   115,   133,    95,    -1,   266,    -1,   265,    -1,
    884      262,   134,   115,   133,   266,    -1,   262,   134,   115,   133,
    885      265,    -1,   265,    -1,   358,   268,   369,    -1,   366,   268,
    886      369,    -1,   225,   366,   268,   369,    -1,   215,    -1,   266,
    887       -1,   358,    -1,   366,    -1,   225,   366,    -1,   367,    -1,
    888      222,   332,   369,    -1,   222,   336,   369,    -1,   222,    -1,
    889      222,   347,    -1,   138,    -1,   267,   115,   138,    -1,   136,
    890       -1,    73,    -1,    74,    -1,   137,    -1,    73,    -1,    74,
    891       -1,   138,    -1,    73,    -1,    74,    -1,   362,    -1,   223,
    892       -1,   223,   353,    -1,   362,    -1,   367,    -1,   223,    -1,
    893      223,   341,    -1,    -1,   130,   274,    -1,   106,   274,    -1,
    894      162,    -1,   113,   275,   368,   114,    -1,    -1,   274,    -1,
    895      276,   274,    -1,   275,   115,   274,    -1,   275,   115,   276,
    896      274,    -1,   277,   116,    -1,   270,   116,    -1,   278,    -1,
    897      277,   278,    -1,    79,    -1,   112,   270,    -1,   110,   133,
    898      162,   134,   111,    -1,   110,   133,   306,   134,   111,    -1,
    899      110,   133,   161,    95,   161,   134,   111,    -1,   112,   110,
    900      133,   145,   134,   111,    -1,   280,    -1,   229,   280,    -1,
    901      279,   231,    -1,   279,   231,   225,    -1,   281,    -1,   225,
    902      281,    -1,   280,   226,    -1,    74,   108,   288,   109,    -1,
    903      283,   369,    -1,   282,   115,   283,   369,    -1,    -1,   285,
    904      270,   284,   286,    -1,   223,   332,    -1,    32,    -1,    34,
    905       -1,    33,    -1,    -1,   286,   287,    -1,   128,   270,   108,
    906      288,   109,    -1,   128,   113,   133,   294,   114,    -1,   128,
    907      108,   133,   282,   134,   109,   113,   133,   294,   114,   108,
    908      288,   109,    -1,   272,    -1,   162,    -1,   288,   115,   272,
    909       -1,   288,   115,   162,    -1,    32,   290,    -1,   230,    32,
    910      290,    -1,   289,   115,   290,    -1,   291,   286,    -1,   291,
    911      286,   130,   272,    -1,   270,    -1,   269,   108,   133,   282,
    912      134,   109,    -1,    35,   270,   108,   133,   282,   134,   109,
    913      113,   114,    -1,    -1,    35,   270,   108,   133,   282,   134,
    914      109,   113,   293,   294,   114,    -1,   295,    -1,   294,   133,
    915      295,    -1,   296,   134,   131,    -1,   297,   134,   131,    -1,
    916      213,    -1,   215,    -1,   296,   134,   115,   133,   268,    -1,
    917      223,   305,    -1,   297,   134,   115,   133,   305,    -1,    -1,
    918      299,    -1,   301,    -1,   299,   133,   301,    -1,    -1,   299,
    919       -1,   210,    -1,   303,    -1,   196,    -1,    -1,     5,    81,
    920      302,   113,   300,   114,    -1,    39,   301,    -1,   304,    -1,
    921      319,   171,    -1,   323,   133,   205,   171,    -1,   214,   171,
    922       -1,   222,   319,   171,    -1,   225,   319,   171,    -1,   229,
    923      319,   171,    -1,   229,   225,   319,   171,    -1,   222,   323,
    924      133,   205,   171,    -1,   225,   323,   133,   205,   171,    -1,
    925      229,   323,   133,   205,   171,    -1,   229,   225,   323,   133,
    926      205,   171,    -1,   314,    -1,   319,    -1,   327,    -1,   161,
    927      122,   161,    -1,    -1,    63,   108,   140,   109,   308,    -1,
    928       -1,   309,    -1,   310,    -1,   309,   310,    -1,    38,   108,
    929      108,   311,   109,   109,    -1,   312,    -1,   311,   115,   312,
    930       -1,    -1,   313,    -1,   313,   108,   168,   109,    -1,   268,
    931       -1,   232,    -1,   233,    -1,   226,    -1,   315,   308,    -1,
    932      316,    -1,   317,   308,    -1,   318,   308,    -1,   136,    -1,
    933      108,   315,   109,    -1,   118,   314,    -1,   118,   225,   314,
    934       -1,   108,   316,   109,    -1,   315,   345,    -1,   108,   316,
    935      109,   345,    -1,   108,   317,   109,   346,    -1,   108,   317,
    936      109,    -1,   108,   316,   109,   108,   133,   260,   134,   109,
    937       -1,   108,   318,   109,    -1,   320,   308,    -1,   321,    -1,
    938      322,   308,    -1,   315,   108,   133,   260,   134,   109,    -1,
    939      108,   321,   109,   108,   133,   260,   134,   109,    -1,   108,
    940      320,   109,    -1,   118,   319,    -1,   118,   225,   319,    -1,
    941      108,   321,   109,    -1,   108,   321,   109,   345,    -1,   108,
    942      322,   109,   346,    -1,   108,   322,   109,    -1,   324,    -1,
    943      325,    -1,   326,    -1,   315,   108,   267,   109,    -1,   108,
    944      325,   109,   108,   267,   109,    -1,   108,   324,   109,    -1,
    945      118,   323,    -1,   118,   225,   323,    -1,   108,   325,   109,
    946       -1,   108,   325,   109,   345,    -1,   108,   326,   109,   346,
    947       -1,   108,   326,   109,    -1,   328,   308,    -1,   329,    -1,
    948      330,   308,    -1,   331,   308,    -1,   337,    -1,   108,   328,
    949      109,    -1,   118,   327,    -1,   118,   225,   327,    -1,   108,
    950      329,   109,    -1,   328,   345,    -1,   108,   329,   109,   345,
    951       -1,   108,   330,   109,   346,    -1,   108,   330,   109,    -1,
    952      328,   108,   133,   260,   134,   109,    -1,   108,   329,   109,
    953      108,   133,   260,   134,   109,    -1,   108,   331,   109,    -1,
    954      315,   308,    -1,   333,    -1,   334,   308,    -1,   335,   308,
    955       -1,   118,   332,    -1,   118,   225,   332,    -1,   108,   333,
    956      109,    -1,   315,   351,    -1,   108,   333,   109,   345,    -1,
    957      108,   334,   109,   346,    -1,   108,   334,   109,    -1,   315,
    958      108,   133,   260,   134,   109,    -1,   108,   333,   109,   108,
    959      133,   260,   134,   109,    -1,   108,   335,   109,    -1,   337,
    960      308,    -1,   338,    -1,   339,   308,    -1,   340,   308,    -1,
    961       73,    -1,    74,    -1,   118,   336,    -1,   118,   225,   336,
    962       -1,   108,   338,   109,    -1,   337,   351,    -1,   108,   338,
    963      109,   351,    -1,   337,   108,   133,   260,   134,   109,    -1,
    964      108,   338,   109,   108,   133,   260,   134,   109,    -1,   342,
    965       -1,   343,   308,    -1,   344,   308,    -1,   118,    -1,   118,
    966      225,    -1,   118,   341,    -1,   118,   225,   341,    -1,   108,
    967      342,   109,    -1,   345,    -1,   108,   342,   109,   345,    -1,
    968      108,   343,   109,   346,    -1,   108,   343,   109,    -1,   108,
    969      133,   260,   134,   109,    -1,   108,   342,   109,   108,   133,
    970      260,   134,   109,    -1,   108,   344,   109,    -1,   110,   111,
    971       -1,   110,   111,   346,    -1,   346,    -1,   110,   133,   162,
    972      134,   111,    -1,   110,   133,   118,   134,   111,    -1,   346,
    973      110,   133,   162,   134,   111,    -1,   346,   110,   133,   118,
    974      134,   111,    -1,   348,    -1,   349,   308,    -1,   350,   308,
    975       -1,   118,    -1,   118,   225,    -1,   118,   347,    -1,   118,
    976      225,   347,    -1,   108,   348,   109,    -1,   351,    -1,   108,
    977      348,   109,   351,    -1,   108,   349,   109,   346,    -1,   108,
    978      349,   109,    -1,   108,   133,   260,   134,   109,    -1,   108,
    979      348,   109,   108,   133,   260,   134,   109,    -1,   108,   350,
    980      109,    -1,   352,    -1,   352,   346,    -1,   346,    -1,   110,
    981      111,    -1,   110,   133,   225,   118,   134,   111,    -1,   110,
    982      133,   225,   134,   111,    -1,   110,   133,   225,   162,   134,
    983      111,    -1,   110,   133,     7,   224,   162,   134,   111,    -1,
    984      110,   133,   225,     7,   162,   134,   111,    -1,   354,    -1,
    985      355,   308,    -1,   356,   308,    -1,   118,    -1,   118,   225,
    986       -1,   118,   353,    -1,   118,   225,   353,    -1,   108,   354,
    987      109,    -1,   345,    -1,   108,   354,   109,   345,    -1,   108,
    988      355,   109,   346,    -1,   108,   355,   109,    -1,   108,   354,
    989      109,   108,   133,   260,   134,   109,    -1,   108,   356,   109,
    990       -1,   358,    -1,   366,    -1,   225,   366,    -1,   359,    -1,
    991      360,    -1,   118,   223,    -1,   225,   118,   223,    -1,   118,
    992      367,    -1,   225,   118,   367,    -1,   118,   357,    -1,   225,
    993      118,   357,    -1,   110,   111,   223,    -1,   361,   223,    -1,
    994      110,   111,   346,   223,    -1,   361,   346,   223,    -1,   346,
    995      223,    -1,   110,   111,   359,    -1,   361,   359,    -1,   110,
    996      111,   346,   359,    -1,   361,   346,   359,    -1,   346,   359,
    997       -1,   110,   133,   225,   118,   134,   111,    -1,   110,   133,
    998      225,   162,   134,   111,    -1,   110,   133,   229,   162,   134,
    999      111,    -1,   110,   133,   229,   225,   162,   134,   111,    -1,
    1000      366,    -1,   225,   366,    -1,   363,    -1,   364,    -1,   365,
    1001       -1,   118,   223,    -1,   225,   118,   223,    -1,   118,   367,
    1002       -1,   225,   118,   367,    -1,   118,   362,    -1,   225,   118,
    1003      362,    -1,   110,   111,   223,    -1,   110,   111,   346,   223,
    1004       -1,   346,   223,    -1,   110,   111,   364,    -1,   110,   111,
    1005      346,   364,    -1,   346,   364,    -1,   110,   133,   259,   134,
    1006      111,    -1,   110,   111,   108,   256,   109,    -1,   366,   108,
    1007      133,   256,   134,   109,    -1,   216,   108,   133,   256,   134,
    1008      109,    -1,    -1,   115,    -1,    -1,   130,   162,    -1
     857      -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
     858      -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
     859     235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
     860      -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
     861     234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
     862     275,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
     863     275,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
     864     230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
     865     243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
     866     230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
     867      74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
     868     255,    -1,   246,   114,   247,   115,    -1,   246,   273,    -1,
     869      -1,   246,   273,   245,   114,   247,   115,    -1,   246,   109,
     870     291,   110,   114,   247,   115,    -1,   246,   284,    -1,    31,
     871     311,    -1,    32,   311,    -1,   248,    -1,   247,   248,    -1,
     872     249,   132,    -1,    40,   249,   132,    -1,   250,   132,    -1,
     873      40,   250,   132,    -1,   365,    -1,   365,   273,    -1,   249,
     874     116,   273,    -1,   249,   116,    -1,   224,   251,    -1,   250,
     875     116,   311,   251,    -1,    -1,   253,    -1,   317,   252,    -1,
     876     330,   252,    -1,   356,    -1,    -1,   253,    -1,   117,   162,
     877      -1,    30,   311,    -1,   254,   114,   257,   371,   115,    -1,
     878     254,   273,    -1,    -1,   254,   273,   256,   114,   257,   371,
     879     115,    -1,   273,   258,    -1,   257,   116,   273,   258,    -1,
     880      -1,   131,   162,    -1,    -1,   260,    -1,   262,    -1,   261,
     881      -1,   261,   135,   116,   134,   262,    -1,   262,   135,   116,
     882     134,    96,    -1,   261,   135,   116,   134,    96,    -1,   266,
     883      -1,   262,   135,   116,   134,   266,    -1,   261,   135,   116,
     884     134,   266,    -1,   261,   135,   116,   134,   262,   135,   116,
     885     134,   266,    -1,   267,    -1,   262,   135,   116,   134,   267,
     886      -1,    -1,   264,    -1,   265,    -1,   265,   135,   116,   134,
     887      96,    -1,   269,    -1,   268,    -1,   265,   135,   116,   134,
     888     269,    -1,   265,   135,   116,   134,   268,    -1,   268,    -1,
     889     361,   271,   372,    -1,   369,   271,   372,    -1,   226,   369,
     890     271,   372,    -1,   216,    -1,   269,    -1,   361,    -1,   369,
     891      -1,   226,   369,    -1,   370,    -1,   223,   335,   372,    -1,
     892     223,   339,   372,    -1,   223,    -1,   223,   350,    -1,   139,
     893      -1,   270,   116,   139,    -1,   137,    -1,    74,    -1,    75,
     894      -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,
     895      -1,    75,    -1,   365,    -1,   224,    -1,   224,   356,    -1,
     896     365,    -1,   370,    -1,   224,    -1,   224,   344,    -1,    -1,
     897     131,   277,    -1,   107,   277,    -1,   163,    -1,   114,   278,
     898     371,   115,    -1,    -1,   277,    -1,   279,   277,    -1,   278,
     899     116,   277,    -1,   278,   116,   279,   277,    -1,   280,   117,
     900      -1,   273,   117,    -1,   281,    -1,   280,   281,    -1,    80,
     901      -1,   113,   273,    -1,   111,   134,   163,   135,   112,    -1,
     902     111,   134,   309,   135,   112,    -1,   111,   134,   162,    96,
     903     162,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
     904      -1,   283,    -1,   230,   283,    -1,   282,   232,    -1,   282,
     905     232,   226,    -1,   284,    -1,   226,   284,    -1,   283,   227,
     906      -1,    75,   109,   291,   110,    -1,   286,   372,    -1,   285,
     907     116,   286,   372,    -1,    -1,   288,   273,   287,   289,    -1,
     908     224,   335,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
     909     289,   290,    -1,   129,   273,   109,   291,   110,    -1,   129,
     910     114,   134,   297,   115,    -1,   129,   109,   134,   285,   135,
     911     110,   114,   134,   297,   115,   109,   291,   110,    -1,   275,
     912      -1,   163,    -1,   291,   116,   275,    -1,   291,   116,   163,
     913      -1,    33,   293,    -1,   231,    33,   293,    -1,   292,   116,
     914     293,    -1,   294,   289,    -1,   294,   289,   131,   275,    -1,
     915     273,    -1,   272,   109,   134,   285,   135,   110,    -1,    36,
     916     273,   109,   134,   285,   135,   110,   114,   115,    -1,    -1,
     917      36,   273,   109,   134,   285,   135,   110,   114,   296,   297,
     918     115,    -1,   298,    -1,   297,   134,   298,    -1,   299,   135,
     919     132,    -1,   300,   135,   132,    -1,   214,    -1,   216,    -1,
     920     299,   135,   116,   134,   271,    -1,   224,   308,    -1,   300,
     921     135,   116,   134,   308,    -1,    -1,   302,    -1,   304,    -1,
     922     302,   134,   304,    -1,    -1,   302,    -1,   211,    -1,   306,
     923      -1,   197,    -1,    -1,     5,    82,   305,   114,   303,   115,
     924      -1,    40,   304,    -1,   307,    -1,   322,   172,    -1,   326,
     925     134,   206,   172,    -1,   215,   172,    -1,   223,   322,   172,
     926      -1,   226,   322,   172,    -1,   230,   322,   172,    -1,   230,
     927     226,   322,   172,    -1,   223,   326,   134,   206,   172,    -1,
     928     226,   326,   134,   206,   172,    -1,   230,   326,   134,   206,
     929     172,    -1,   230,   226,   326,   134,   206,   172,    -1,   317,
     930      -1,   322,    -1,   330,    -1,   162,   123,   162,    -1,    -1,
     931      64,   109,   141,   110,   311,    -1,    -1,   312,    -1,   313,
     932      -1,   312,   313,    -1,    39,   109,   109,   314,   110,   110,
     933      -1,   315,    -1,   314,   116,   315,    -1,    -1,   316,    -1,
     934     316,   109,   169,   110,    -1,   271,    -1,   233,    -1,   234,
     935      -1,   227,    -1,   318,   311,    -1,   319,    -1,   320,   311,
     936      -1,   321,   311,    -1,   137,    -1,   109,   318,   110,    -1,
     937     119,   317,    -1,   119,   226,   317,    -1,   109,   319,   110,
     938      -1,   318,   348,    -1,   109,   319,   110,   348,    -1,   109,
     939     320,   110,   349,    -1,   109,   320,   110,    -1,   109,   319,
     940     110,   109,   134,   263,   135,   110,    -1,   109,   321,   110,
     941      -1,   323,   311,    -1,   324,    -1,   325,   311,    -1,   318,
     942     109,   134,   263,   135,   110,    -1,   109,   324,   110,   109,
     943     134,   263,   135,   110,    -1,   109,   323,   110,    -1,   119,
     944     322,    -1,   119,   226,   322,    -1,   109,   324,   110,    -1,
     945     109,   324,   110,   348,    -1,   109,   325,   110,   349,    -1,
     946     109,   325,   110,    -1,   327,    -1,   328,    -1,   329,    -1,
     947     318,   109,   270,   110,    -1,   109,   328,   110,   109,   270,
     948     110,    -1,   109,   327,   110,    -1,   119,   326,    -1,   119,
     949     226,   326,    -1,   109,   328,   110,    -1,   109,   328,   110,
     950     348,    -1,   109,   329,   110,   349,    -1,   109,   329,   110,
     951      -1,   331,   311,    -1,   332,    -1,   333,   311,    -1,   334,
     952     311,    -1,   340,    -1,   109,   331,   110,    -1,   119,   330,
     953      -1,   119,   226,   330,    -1,   109,   332,   110,    -1,   331,
     954     348,    -1,   109,   332,   110,   348,    -1,   109,   333,   110,
     955     349,    -1,   109,   333,   110,    -1,   331,   109,   134,   263,
     956     135,   110,    -1,   109,   332,   110,   109,   134,   263,   135,
     957     110,    -1,   109,   334,   110,    -1,   318,   311,    -1,   336,
     958      -1,   337,   311,    -1,   338,   311,    -1,   119,   335,    -1,
     959     119,   226,   335,    -1,   109,   336,   110,    -1,   318,   354,
     960      -1,   109,   336,   110,   348,    -1,   109,   337,   110,   349,
     961      -1,   109,   337,   110,    -1,   318,   109,   134,   263,   135,
     962     110,    -1,   109,   336,   110,   109,   134,   263,   135,   110,
     963      -1,   109,   338,   110,    -1,   340,   311,    -1,   341,    -1,
     964     342,   311,    -1,   343,   311,    -1,    74,    -1,    75,    -1,
     965     119,   339,    -1,   119,   226,   339,    -1,   109,   341,   110,
     966      -1,   340,   354,    -1,   109,   341,   110,   354,    -1,   340,
     967     109,   134,   263,   135,   110,    -1,   109,   341,   110,   109,
     968     134,   263,   135,   110,    -1,   345,    -1,   346,   311,    -1,
     969     347,   311,    -1,   119,    -1,   119,   226,    -1,   119,   344,
     970      -1,   119,   226,   344,    -1,   109,   345,   110,    -1,   348,
     971      -1,   109,   345,   110,   348,    -1,   109,   346,   110,   349,
     972      -1,   109,   346,   110,    -1,   109,   134,   263,   135,   110,
     973      -1,   109,   345,   110,   109,   134,   263,   135,   110,    -1,
     974     109,   347,   110,    -1,   111,   112,    -1,   111,   112,   349,
     975      -1,   349,    -1,   111,   134,   163,   135,   112,    -1,   111,
     976     134,   119,   135,   112,    -1,   349,   111,   134,   163,   135,
     977     112,    -1,   349,   111,   134,   119,   135,   112,    -1,   351,
     978      -1,   352,   311,    -1,   353,   311,    -1,   119,    -1,   119,
     979     226,    -1,   119,   350,    -1,   119,   226,   350,    -1,   109,
     980     351,   110,    -1,   354,    -1,   109,   351,   110,   354,    -1,
     981     109,   352,   110,   349,    -1,   109,   352,   110,    -1,   109,
     982     134,   263,   135,   110,    -1,   109,   351,   110,   109,   134,
     983     263,   135,   110,    -1,   109,   353,   110,    -1,   355,    -1,
     984     355,   349,    -1,   349,    -1,   111,   112,    -1,   111,   134,
     985     226,   119,   135,   112,    -1,   111,   134,   226,   135,   112,
     986      -1,   111,   134,   226,   163,   135,   112,    -1,   111,   134,
     987       7,   225,   163,   135,   112,    -1,   111,   134,   226,     7,
     988     163,   135,   112,    -1,   357,    -1,   358,   311,    -1,   359,
     989     311,    -1,   119,    -1,   119,   226,    -1,   119,   356,    -1,
     990     119,   226,   356,    -1,   109,   357,   110,    -1,   348,    -1,
     991     109,   357,   110,   348,    -1,   109,   358,   110,   349,    -1,
     992     109,   358,   110,    -1,   109,   357,   110,   109,   134,   263,
     993     135,   110,    -1,   109,   359,   110,    -1,   361,    -1,   369,
     994      -1,   226,   369,    -1,   362,    -1,   363,    -1,   119,   224,
     995      -1,   226,   119,   224,    -1,   119,   370,    -1,   226,   119,
     996     370,    -1,   119,   360,    -1,   226,   119,   360,    -1,   111,
     997     112,   224,    -1,   364,   224,    -1,   111,   112,   349,   224,
     998      -1,   364,   349,   224,    -1,   349,   224,    -1,   111,   112,
     999     362,    -1,   364,   362,    -1,   111,   112,   349,   362,    -1,
     1000     364,   349,   362,    -1,   349,   362,    -1,   111,   134,   226,
     1001     119,   135,   112,    -1,   111,   134,   226,   163,   135,   112,
     1002      -1,   111,   134,   230,   163,   135,   112,    -1,   111,   134,
     1003     230,   226,   163,   135,   112,    -1,   369,    -1,   226,   369,
     1004      -1,   366,    -1,   367,    -1,   368,    -1,   119,   224,    -1,
     1005     226,   119,   224,    -1,   119,   370,    -1,   226,   119,   370,
     1006      -1,   119,   365,    -1,   226,   119,   365,    -1,   111,   112,
     1007     224,    -1,   111,   112,   349,   224,    -1,   349,   224,    -1,
     1008     111,   112,   367,    -1,   111,   112,   349,   367,    -1,   349,
     1009     367,    -1,   111,   134,   262,   135,   112,    -1,   111,   112,
     1010     109,   259,   110,    -1,   369,   109,   134,   259,   135,   110,
     1011      -1,   217,   109,   134,   259,   135,   110,    -1,    -1,   116,
     1012      -1,    -1,   131,   163,    -1
    10091013};
    10101014
     
    10121016static const yytype_uint16 yyrline[] =
    10131017{
    1014        0,   290,   290,   296,   305,   306,   307,   311,   312,   313,
    1015      317,   318,   322,   323,   327,   328,   332,   333,   339,   341,
    1016      343,   345,   350,   351,   357,   361,   363,   364,   366,   367,
    1017      369,   371,   373,   381,   382,   388,   389,   390,   395,   397,
    1018      402,   403,   407,   411,   413,   415,   417,   422,   425,   427,
    1019      429,   431,   433,   435,   437,   439,   445,   447,   449,   451,
    1020      453,   455,   457,   459,   461,   466,   467,   468,   469,   473,
    1021      474,   476,   481,   482,   484,   486,   491,   492,   494,   499,
    1022      500,   502,   507,   508,   510,   512,   514,   519,   520,   522,
    1023      527,   528,   533,   534,   539,   540,   545,   546,   551,   552,
    1024      557,   558,   560,   562,   567,   572,   573,   575,   577,   583,
    1025      584,   590,   592,   594,   596,   601,   602,   607,   608,   609,
    1026      610,   611,   612,   613,   614,   615,   616,   620,   621,   627,
    1027      628,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    1028      651,   658,   660,   670,   671,   676,   678,   680,   682,   686,
    1029      687,   692,   697,   700,   702,   704,   709,   711,   719,   720,
    1030      722,   726,   727,   732,   733,   738,   739,   743,   748,   749,
    1031      753,   755,   761,   762,   766,   768,   770,   772,   778,   779,
    1032      783,   784,   788,   790,   792,   797,   799,   804,   806,   810,
    1033      813,   817,   820,   824,   826,   830,   832,   839,   841,   843,
    1034      852,   854,   856,   858,   860,   865,   867,   869,   871,   876,
    1035      889,   890,   895,   897,   902,   906,   908,   910,   912,   914,
    1036      920,   921,   927,   928,   932,   933,   938,   940,   946,   947,
    1037      949,   954,   956,   963,   965,   969,   970,   975,   977,   981,
    1038      982,   986,   988,   992,   993,   997,   998,  1002,  1003,  1018,
    1039     1019,  1020,  1021,  1022,  1026,  1031,  1038,  1048,  1053,  1058,
    1040     1066,  1071,  1076,  1081,  1086,  1094,  1116,  1121,  1128,  1130,
    1041     1137,  1142,  1147,  1158,  1163,  1168,  1173,  1178,  1187,  1192,
    1042     1200,  1201,  1202,  1203,  1209,  1214,  1222,  1223,  1224,  1225,
    1043     1229,  1230,  1231,  1232,  1237,  1238,  1247,  1248,  1253,  1254,
    1044     1259,  1261,  1263,  1265,  1267,  1270,  1269,  1281,  1282,  1284,
    1045     1294,  1295,  1300,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
    1046     1318,  1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,
    1047     1341,  1343,  1345,  1351,  1352,  1354,  1356,  1358,  1363,  1364,
    1048     1370,  1371,  1373,  1375,  1380,  1382,  1384,  1386,  1391,  1392,
    1049     1394,  1396,  1401,  1402,  1404,  1409,  1410,  1412,  1414,  1419,
    1050     1421,  1423,  1428,  1429,  1433,  1435,  1437,  1439,  1441,  1446,
    1051     1448,  1453,  1455,  1460,  1461,  1463,  1464,  1469,  1470,  1472,
    1052     1474,  1479,  1481,  1487,  1488,  1490,  1493,  1496,  1501,  1502,
    1053     1507,  1512,  1516,  1518,  1520,  1525,  1527,  1533,  1534,  1542,
    1054     1543,  1547,  1548,  1549,  1551,  1553,  1560,  1561,  1563,  1565,
    1055     1570,  1571,  1577,  1578,  1582,  1583,  1588,  1589,  1590,  1592,
    1056     1600,  1601,  1603,  1606,  1608,  1612,  1613,  1614,  1616,  1618,
    1057     1622,  1627,  1635,  1636,  1645,  1647,  1652,  1653,  1654,  1658,
    1058     1659,  1660,  1664,  1665,  1666,  1670,  1671,  1672,  1677,  1678,
    1059     1679,  1680,  1686,  1687,  1689,  1694,  1695,  1700,  1701,  1702,
    1060     1703,  1704,  1719,  1720,  1725,  1726,  1734,  1736,  1738,  1741,
    1061     1743,  1745,  1768,  1769,  1771,  1773,  1778,  1779,  1781,  1786,
    1062     1791,  1792,  1798,  1797,  1801,  1805,  1807,  1809,  1815,  1816,
    1063     1821,  1826,  1828,  1833,  1835,  1836,  1838,  1843,  1845,  1847,
    1064     1852,  1854,  1859,  1864,  1872,  1878,  1877,  1891,  1892,  1897,
    1065     1898,  1902,  1907,  1912,  1920,  1925,  1936,  1937,  1948,  1949,
    1066     1955,  1956,  1960,  1961,  1962,  1965,  1964,  1975,  1980,  1985,
    1067     1991,  2000,  2006,  2012,  2018,  2024,  2032,  2038,  2046,  2052,
    1068     2061,  2062,  2063,  2067,  2071,  2073,  2078,  2079,  2083,  2084,
    1069     2089,  2095,  2096,  2099,  2101,  2102,  2106,  2107,  2108,  2109,
    1070     2143,  2145,  2146,  2148,  2153,  2158,  2163,  2165,  2167,  2172,
    1071     2174,  2176,  2178,  2183,  2185,  2195,  2197,  2198,  2203,  2205,
    1072     2207,  2212,  2214,  2216,  2221,  2223,  2225,  2234,  2235,  2236,
    1073     2240,  2242,  2244,  2249,  2251,  2253,  2258,  2260,  2262,  2277,
    1074     2279,  2280,  2282,  2287,  2288,  2293,  2295,  2297,  2302,  2304,
    1075     2306,  2308,  2313,  2315,  2317,  2327,  2329,  2330,  2332,  2337,
    1076     2339,  2341,  2346,  2348,  2350,  2352,  2357,  2359,  2361,  2392,
    1077     2394,  2395,  2397,  2402,  2407,  2415,  2417,  2419,  2424,  2426,
    1078     2431,  2433,  2447,  2448,  2450,  2455,  2457,  2459,  2461,  2463,
    1079     2468,  2469,  2471,  2473,  2478,  2480,  2482,  2488,  2490,  2492,
    1080     2496,  2498,  2500,  2502,  2516,  2517,  2519,  2524,  2526,  2528,
    1081     2530,  2532,  2537,  2538,  2540,  2542,  2547,  2549,  2551,  2557,
    1082     2558,  2560,  2569,  2572,  2574,  2577,  2579,  2581,  2594,  2595,
    1083     2597,  2602,  2604,  2606,  2608,  2610,  2615,  2616,  2618,  2620,
    1084     2625,  2627,  2635,  2636,  2637,  2642,  2643,  2647,  2649,  2651,
    1085     2653,  2655,  2657,  2664,  2666,  2668,  2670,  2672,  2674,  2676,
    1086     2678,  2680,  2682,  2687,  2689,  2691,  2696,  2722,  2723,  2725,
    1087     2729,  2730,  2734,  2736,  2738,  2740,  2742,  2744,  2751,  2753,
    1088     2755,  2757,  2759,  2761,  2766,  2771,  2773,  2775,  2793,  2795,
    1089     2800,  2801
     1018       0,   292,   292,   298,   307,   308,   309,   313,   314,   315,
     1019     319,   320,   324,   325,   329,   330,   334,   335,   341,   343,
     1020     345,   347,   352,   353,   359,   363,   365,   366,   368,   369,
     1021     371,   373,   375,   383,   384,   390,   391,   392,   397,   399,
     1022     404,   405,   409,   413,   415,   417,   419,   424,   427,   429,
     1023     431,   433,   435,   437,   439,   441,   447,   449,   451,   453,
     1024     455,   457,   459,   461,   463,   468,   469,   470,   471,   475,
     1025     476,   478,   483,   484,   486,   488,   493,   494,   496,   501,
     1026     502,   504,   509,   510,   512,   514,   516,   521,   522,   524,
     1027     529,   530,   535,   536,   541,   542,   547,   548,   553,   554,
     1028     559,   560,   562,   564,   569,   574,   575,   577,   579,   585,
     1029     586,   592,   594,   596,   598,   603,   604,   609,   610,   611,
     1030     612,   613,   614,   615,   616,   617,   618,   622,   623,   629,
     1031     630,   636,   637,   638,   639,   640,   641,   642,   643,   644,
     1032     653,   660,   662,   672,   673,   678,   680,   682,   684,   688,
     1033     689,   694,   699,   702,   704,   706,   711,   713,   721,   722,
     1034     724,   728,   729,   734,   735,   740,   741,   745,   750,   751,
     1035     755,   757,   763,   764,   768,   770,   772,   774,   780,   781,
     1036     785,   786,   790,   792,   794,   799,   801,   806,   808,   812,
     1037     815,   819,   822,   826,   828,   832,   834,   841,   843,   845,
     1038     854,   856,   858,   860,   862,   867,   869,   871,   873,   878,
     1039     891,   892,   897,   899,   904,   908,   910,   912,   914,   916,
     1040     922,   923,   929,   930,   934,   935,   940,   942,   948,   949,
     1041     951,   956,   958,   965,   967,   971,   972,   977,   979,   983,
     1042     984,   988,   990,   994,   995,   999,  1000,  1004,  1005,  1020,
     1043    1021,  1022,  1023,  1024,  1028,  1033,  1040,  1050,  1055,  1060,
     1044    1068,  1073,  1078,  1083,  1088,  1096,  1118,  1123,  1130,  1132,
     1045    1139,  1144,  1149,  1160,  1165,  1170,  1175,  1180,  1189,  1194,
     1046    1202,  1203,  1204,  1205,  1211,  1216,  1224,  1225,  1226,  1227,
     1047    1231,  1232,  1233,  1234,  1239,  1240,  1249,  1250,  1255,  1256,
     1048    1261,  1263,  1265,  1267,  1269,  1272,  1271,  1283,  1284,  1286,
     1049    1296,  1297,  1302,  1306,  1308,  1310,  1312,  1314,  1316,  1318,
     1050    1320,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
     1051    1343,  1345,  1347,  1349,  1355,  1356,  1358,  1360,  1362,  1367,
     1052    1368,  1374,  1375,  1377,  1379,  1384,  1386,  1388,  1390,  1395,
     1053    1396,  1398,  1400,  1405,  1406,  1408,  1413,  1414,  1416,  1418,
     1054    1423,  1425,  1427,  1432,  1433,  1437,  1439,  1445,  1444,  1448,
     1055    1450,  1455,  1457,  1462,  1464,  1469,  1470,  1472,  1473,  1478,
     1056    1479,  1481,  1483,  1488,  1490,  1496,  1497,  1499,  1502,  1505,
     1057    1510,  1511,  1516,  1521,  1525,  1527,  1533,  1532,  1539,  1541,
     1058    1547,  1548,  1556,  1557,  1561,  1562,  1563,  1565,  1567,  1574,
     1059    1575,  1577,  1579,  1584,  1585,  1591,  1592,  1596,  1597,  1602,
     1060    1603,  1604,  1606,  1614,  1615,  1617,  1620,  1622,  1626,  1627,
     1061    1628,  1630,  1632,  1636,  1641,  1649,  1650,  1659,  1661,  1666,
     1062    1667,  1668,  1672,  1673,  1674,  1678,  1679,  1680,  1684,  1685,
     1063    1686,  1691,  1692,  1693,  1694,  1700,  1701,  1703,  1708,  1709,
     1064    1714,  1715,  1716,  1717,  1718,  1733,  1734,  1739,  1740,  1748,
     1065    1750,  1752,  1755,  1757,  1759,  1782,  1783,  1785,  1787,  1792,
     1066    1793,  1795,  1800,  1805,  1806,  1812,  1811,  1815,  1819,  1821,
     1067    1823,  1829,  1830,  1835,  1840,  1842,  1847,  1849,  1850,  1852,
     1068    1857,  1859,  1861,  1866,  1868,  1873,  1878,  1886,  1892,  1891,
     1069    1905,  1906,  1911,  1912,  1916,  1921,  1926,  1934,  1939,  1950,
     1070    1951,  1962,  1963,  1969,  1970,  1974,  1975,  1976,  1979,  1978,
     1071    1989,  1994,  1999,  2005,  2014,  2020,  2026,  2032,  2038,  2046,
     1072    2052,  2060,  2066,  2075,  2076,  2077,  2081,  2085,  2087,  2092,
     1073    2093,  2097,  2098,  2103,  2109,  2110,  2113,  2115,  2116,  2120,
     1074    2121,  2122,  2123,  2157,  2159,  2160,  2162,  2167,  2172,  2177,
     1075    2179,  2181,  2186,  2188,  2190,  2192,  2197,  2199,  2209,  2211,
     1076    2212,  2217,  2219,  2221,  2226,  2228,  2230,  2235,  2237,  2239,
     1077    2248,  2249,  2250,  2254,  2256,  2258,  2263,  2265,  2267,  2272,
     1078    2274,  2276,  2291,  2293,  2294,  2296,  2301,  2302,  2307,  2309,
     1079    2311,  2316,  2318,  2320,  2322,  2327,  2329,  2331,  2341,  2343,
     1080    2344,  2346,  2351,  2353,  2355,  2360,  2362,  2364,  2366,  2371,
     1081    2373,  2375,  2406,  2408,  2409,  2411,  2416,  2421,  2429,  2431,
     1082    2433,  2438,  2440,  2445,  2447,  2461,  2462,  2464,  2469,  2471,
     1083    2473,  2475,  2477,  2482,  2483,  2485,  2487,  2492,  2494,  2496,
     1084    2502,  2504,  2506,  2510,  2512,  2514,  2516,  2530,  2531,  2533,
     1085    2538,  2540,  2542,  2544,  2546,  2551,  2552,  2554,  2556,  2561,
     1086    2563,  2565,  2571,  2572,  2574,  2583,  2586,  2588,  2591,  2593,
     1087    2595,  2608,  2609,  2611,  2616,  2618,  2620,  2622,  2624,  2629,
     1088    2630,  2632,  2634,  2639,  2641,  2649,  2650,  2651,  2656,  2657,
     1089    2661,  2663,  2665,  2667,  2669,  2671,  2678,  2680,  2682,  2684,
     1090    2686,  2688,  2690,  2692,  2694,  2696,  2701,  2703,  2705,  2710,
     1091    2736,  2737,  2739,  2743,  2744,  2748,  2750,  2752,  2754,  2756,
     1092    2758,  2765,  2767,  2769,  2771,  2773,  2775,  2780,  2785,  2787,
     1093    2789,  2807,  2809,  2814,  2815
    10901094};
    10911095#endif
     
    10991103  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11001104  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
    1101   "SIGNED", "UNSIGNED", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF", "LABEL",
    1102   "ENUM", "STRUCT", "UNION", "TYPE", "FTYPE", "DTYPE", "CONTEXT", "SIZEOF",
    1103   "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH", "CASE",
    1104   "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO", "RETURN",
    1105   "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH", "CATCHRESUME",
    1106   "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS", "ALIGNOF",
    1107   "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT", "THREADLOCAL",
    1108   "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname", "TYPEGENname",
    1109   "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
     1105  "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF",
     1106  "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT",
     1107  "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH",
     1108  "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO",
     1109  "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH",
     1110  "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS",
     1111  "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
     1112  "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
     1113  "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
    11101114  "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    11111115  "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
     
    11521156  "sue_declaration_specifier", "sue_type_specifier",
    11531157  "typedef_declaration_specifier", "typedef_type_specifier",
    1154   "elaborated_type_name", "aggregate_name", "aggregate_key",
     1158  "elaborated_type_name", "aggregate_name", "$@2", "aggregate_key",
    11551159  "field_declaration_list", "field_declaration",
    11561160  "new_field_declaring_list", "field_declaring_list", "field_declarator",
    11571161  "bit_subrange_size_opt", "bit_subrange_size", "enum_key", "enum_name",
    1158   "enumerator_list", "enumerator_value_opt", "new_parameter_type_list_opt",
    1159   "new_parameter_type_list", "new_parameter_list",
    1160   "new_abstract_parameter_list", "parameter_type_list_opt",
    1161   "parameter_type_list", "parameter_list", "new_parameter_declaration",
    1162   "new_abstract_parameter_declaration", "parameter_declaration",
    1163   "abstract_parameter_declaration", "identifier_list",
    1164   "identifier_or_type_name", "no_01_identifier_or_type_name",
    1165   "no_attr_identifier_or_type_name", "type_name_no_function", "type_name",
    1166   "initializer_opt", "initializer", "initializer_list", "designation",
    1167   "designator_list", "designator", "typegen_declaration_specifier",
    1168   "typegen_type_specifier", "typegen_name", "type_parameter_list",
    1169   "type_parameter", "$@2", "type_class", "assertion_list_opt", "assertion",
    1170   "type_name_list", "type_declaring_list", "type_declarator",
    1171   "type_declarator_name", "context_specifier", "$@3",
    1172   "context_declaration_list", "context_declaration",
    1173   "new_context_declaring_list", "context_declaring_list",
    1174   "translation_unit", "external_definition_list",
    1175   "external_definition_list_opt", "external_definition", "$@4",
    1176   "external_function_definition", "function_definition", "declarator",
    1177   "subrange", "asm_name_opt", "attribute_list_opt", "attribute_list",
    1178   "attribute", "attribute_parameter_list", "attrib", "any_word",
    1179   "variable_declarator", "paren_identifier", "variable_ptr",
    1180   "variable_array", "variable_function", "function_declarator",
    1181   "function_no_ptr", "function_ptr", "function_array",
    1182   "old_function_declarator", "old_function_no_ptr", "old_function_ptr",
    1183   "old_function_array", "type_redeclarator", "paren_type", "type_ptr",
    1184   "type_array", "type_function", "identifier_parameter_declarator",
     1162  "$@3", "enumerator_list", "enumerator_value_opt",
     1163  "new_parameter_type_list_opt", "new_parameter_type_list",
     1164  "new_parameter_list", "new_abstract_parameter_list",
     1165  "parameter_type_list_opt", "parameter_type_list", "parameter_list",
     1166  "new_parameter_declaration", "new_abstract_parameter_declaration",
     1167  "parameter_declaration", "abstract_parameter_declaration",
     1168  "identifier_list", "identifier_or_type_name",
     1169  "no_01_identifier_or_type_name", "no_attr_identifier_or_type_name",
     1170  "type_name_no_function", "type_name", "initializer_opt", "initializer",
     1171  "initializer_list", "designation", "designator_list", "designator",
     1172  "typegen_declaration_specifier", "typegen_type_specifier",
     1173  "typegen_name", "type_parameter_list", "type_parameter", "$@4",
     1174  "type_class", "assertion_list_opt", "assertion", "type_name_list",
     1175  "type_declaring_list", "type_declarator", "type_declarator_name",
     1176  "trait_specifier", "$@5", "trait_declaration_list", "trait_declaration",
     1177  "new_trait_declaring_list", "trait_declaring_list", "translation_unit",
     1178  "external_definition_list", "external_definition_list_opt",
     1179  "external_definition", "$@6", "external_function_definition",
     1180  "function_definition", "declarator", "subrange", "asm_name_opt",
     1181  "attribute_list_opt", "attribute_list", "attribute",
     1182  "attribute_parameter_list", "attrib", "any_word", "variable_declarator",
     1183  "paren_identifier", "variable_ptr", "variable_array",
     1184  "variable_function", "function_declarator", "function_no_ptr",
     1185  "function_ptr", "function_array", "old_function_declarator",
     1186  "old_function_no_ptr", "old_function_ptr", "old_function_array",
     1187  "type_redeclarator", "paren_type", "type_ptr", "type_array",
     1188  "type_function", "identifier_parameter_declarator",
    11851189  "identifier_parameter_ptr", "identifier_parameter_array",
    11861190  "identifier_parameter_function", "type_parameter_redeclarator",
     
    12191223     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12201224     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1221      355,   356,   357,   358,   359,   360,   361,   362,    40,    41,
    1222       91,    93,    46,   123,   125,    44,    58,    33,    42,    38,
    1223       43,    45,   126,    47,    37,    60,    62,    94,   124,    63,
    1224       61,    59
     1225     355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
     1226      41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
     1227      38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
     1228      63,    61,    59
    12251229};
    12261230# endif
     
    12291233static const yytype_uint16 yyr1[] =
    12301234{
    1231        0,   132,   133,   134,   135,   135,   135,   136,   136,   136,
    1232      137,   137,   138,   138,   139,   139,   140,   140,   141,   141,
    1233      141,   141,   142,   142,   142,   142,   142,   142,   142,   142,
    1234      142,   142,   142,   143,   143,   144,   144,   144,   144,   144,
    1235      145,   145,   146,   146,   146,   146,   146,   147,   147,   147,
    1236      147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
    1237      147,   147,   147,   147,   147,   148,   148,   148,   148,   149,
    1238      149,   149,   150,   150,   150,   150,   151,   151,   151,   152,
    1239      152,   152,   153,   153,   153,   153,   153,   154,   154,   154,
    1240      155,   155,   156,   156,   157,   157,   158,   158,   159,   159,
    1241      160,   160,   160,   160,   161,   162,   162,   162,   162,   163,
    1242      163,   164,   164,   164,   164,   165,   165,   166,   166,   166,
    1243      166,   166,   166,   166,   166,   166,   166,   167,   167,   168,
    1244      168,   169,   169,   169,   169,   169,   169,   169,   169,   169,
    1245      170,   171,   171,   172,   172,   173,   173,   173,   173,   174,
    1246      174,   175,   176,   176,   176,   176,   176,   176,   177,   177,
    1247      177,   178,   178,   179,   179,   180,   180,   181,   182,   182,
    1248      183,   183,   184,   184,   185,   185,   185,   185,   186,   186,
    1249      187,   187,   188,   188,   188,   189,   189,   190,   190,   190,
    1250      190,   190,   190,   190,   190,   190,   190,   191,   191,   191,
    1251      192,   192,   192,   192,   192,   193,   193,   193,   193,   194,
    1252      195,   195,   195,   195,   195,   196,   196,   196,   196,   196,
    1253      197,   197,   198,   198,   199,   199,   200,   200,   201,   201,
    1254      201,   202,   202,   203,   203,   204,   204,   205,   205,   206,
    1255      206,   207,   207,   208,   208,   209,   209,   210,   210,   211,
    1256      211,   211,   211,   211,   212,   212,   212,   213,   213,   213,
    1257      214,   214,   214,   214,   214,   215,   215,   215,   216,   216,
    1258      217,   217,   217,   218,   218,   218,   218,   218,   219,   219,
    1259      220,   220,   220,   220,   221,   221,   222,   222,   222,   222,
    1260      223,   223,   223,   223,   224,   224,   225,   225,   226,   226,
    1261      227,   227,   227,   227,   227,   228,   227,   229,   229,   229,
    1262      230,   230,   231,   232,   232,   232,   232,   232,   232,   232,
    1263      232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
    1264      233,   233,   233,   234,   234,   234,   234,   234,   235,   235,
    1265      236,   236,   236,   236,   237,   237,   237,   237,   238,   238,
    1266      238,   238,   239,   239,   239,   240,   240,   240,   240,   241,
    1267      241,   241,   242,   242,   243,   243,   243,   243,   243,   244,
    1268      244,   245,   245,   246,   246,   246,   246,   247,   247,   247,
    1269      247,   248,   248,   249,   249,   249,   249,   249,   250,   250,
    1270      251,   252,   253,   253,   253,   254,   254,   255,   255,   256,
    1271      256,   257,   257,   257,   257,   257,   258,   258,   258,   258,
    1272      259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
    1273      263,   263,   263,   263,   263,   264,   264,   264,   264,   264,
    1274      265,   265,   266,   266,   267,   267,   268,   268,   268,   269,
    1275      269,   269,   270,   270,   270,   271,   271,   271,   272,   272,
    1276      272,   272,   273,   273,   273,   274,   274,   275,   275,   275,
    1277      275,   275,   276,   276,   277,   277,   278,   278,   278,   278,
    1278      278,   278,   279,   279,   279,   279,   280,   280,   280,   281,
    1279      282,   282,   284,   283,   283,   285,   285,   285,   286,   286,
    1280      287,   287,   287,   288,   288,   288,   288,   289,   289,   289,
    1281      290,   290,   291,   291,   292,   293,   292,   294,   294,   295,
    1282      295,   296,   296,   296,   297,   297,   298,   298,   299,   299,
    1283      300,   300,   301,   301,   301,   302,   301,   301,   303,   303,
    1284      303,   304,   304,   304,   304,   304,   304,   304,   304,   304,
    1285      305,   305,   305,   306,   307,   307,   308,   308,   309,   309,
    1286      310,   311,   311,   312,   312,   312,   313,   313,   313,   313,
    1287      314,   314,   314,   314,   315,   315,   316,   316,   316,   317,
    1288      317,   317,   317,   318,   318,   319,   319,   319,   320,   320,
    1289      320,   321,   321,   321,   322,   322,   322,   323,   323,   323,
    1290      324,   324,   324,   325,   325,   325,   326,   326,   326,   327,
    1291      327,   327,   327,   328,   328,   329,   329,   329,   330,   330,
    1292      330,   330,   331,   331,   331,   332,   332,   332,   332,   333,
    1293      333,   333,   334,   334,   334,   334,   335,   335,   335,   336,
    1294      336,   336,   336,   337,   337,   338,   338,   338,   339,   339,
    1295      340,   340,   341,   341,   341,   342,   342,   342,   342,   342,
    1296      343,   343,   343,   343,   344,   344,   344,   345,   345,   345,
    1297      346,   346,   346,   346,   347,   347,   347,   348,   348,   348,
    1298      348,   348,   349,   349,   349,   349,   350,   350,   350,   351,
    1299      351,   351,   352,   352,   352,   352,   352,   352,   353,   353,
    1300      353,   354,   354,   354,   354,   354,   355,   355,   355,   355,
    1301      356,   356,   357,   357,   357,   358,   358,   359,   359,   359,
    1302      359,   359,   359,   360,   360,   360,   360,   360,   360,   360,
    1303      360,   360,   360,   361,   361,   361,   361,   362,   362,   362,
    1304      363,   363,   364,   364,   364,   364,   364,   364,   365,   365,
    1305      365,   365,   365,   365,   366,   367,   367,   367,   368,   368,
    1306      369,   369
     1235       0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
     1236     138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
     1237     142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
     1238     143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
     1239     146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
     1240     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
     1241     148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
     1242     150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
     1243     153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
     1244     156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
     1245     161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
     1246     164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
     1247     167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
     1248     169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
     1249     171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
     1250     175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
     1251     178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
     1252     184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
     1253     188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
     1254     191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
     1255     193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
     1256     196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
     1257     198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
     1258     202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
     1259     207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
     1260     212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
     1261     215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
     1262     218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
     1263     221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
     1264     224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
     1265     228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
     1266     231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
     1267     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
     1268     234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
     1269     236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
     1270     239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
     1271     242,   242,   242,   243,   243,   244,   244,   245,   244,   244,
     1272     244,   246,   246,   247,   247,   248,   248,   248,   248,   249,
     1273     249,   249,   249,   250,   250,   251,   251,   251,   251,   251,
     1274     252,   252,   253,   254,   255,   255,   256,   255,   257,   257,
     1275     258,   258,   259,   259,   260,   260,   260,   260,   260,   261,
     1276     261,   261,   261,   262,   262,   263,   263,   264,   264,   265,
     1277     265,   265,   265,   266,   266,   266,   266,   266,   267,   267,
     1278     267,   267,   267,   268,   268,   269,   269,   270,   270,   271,
     1279     271,   271,   272,   272,   272,   273,   273,   273,   274,   274,
     1280     274,   275,   275,   275,   275,   276,   276,   276,   277,   277,
     1281     278,   278,   278,   278,   278,   279,   279,   280,   280,   281,
     1282     281,   281,   281,   281,   281,   282,   282,   282,   282,   283,
     1283     283,   283,   284,   285,   285,   287,   286,   286,   288,   288,
     1284     288,   289,   289,   290,   290,   290,   291,   291,   291,   291,
     1285     292,   292,   292,   293,   293,   294,   294,   295,   296,   295,
     1286     297,   297,   298,   298,   299,   299,   299,   300,   300,   301,
     1287     301,   302,   302,   303,   303,   304,   304,   304,   305,   304,
     1288     304,   306,   306,   306,   307,   307,   307,   307,   307,   307,
     1289     307,   307,   307,   308,   308,   308,   309,   310,   310,   311,
     1290     311,   312,   312,   313,   314,   314,   315,   315,   315,   316,
     1291     316,   316,   316,   317,   317,   317,   317,   318,   318,   319,
     1292     319,   319,   320,   320,   320,   320,   321,   321,   322,   322,
     1293     322,   323,   323,   323,   324,   324,   324,   325,   325,   325,
     1294     326,   326,   326,   327,   327,   327,   328,   328,   328,   329,
     1295     329,   329,   330,   330,   330,   330,   331,   331,   332,   332,
     1296     332,   333,   333,   333,   333,   334,   334,   334,   335,   335,
     1297     335,   335,   336,   336,   336,   337,   337,   337,   337,   338,
     1298     338,   338,   339,   339,   339,   339,   340,   340,   341,   341,
     1299     341,   342,   342,   343,   343,   344,   344,   344,   345,   345,
     1300     345,   345,   345,   346,   346,   346,   346,   347,   347,   347,
     1301     348,   348,   348,   349,   349,   349,   349,   350,   350,   350,
     1302     351,   351,   351,   351,   351,   352,   352,   352,   352,   353,
     1303     353,   353,   354,   354,   354,   355,   355,   355,   355,   355,
     1304     355,   356,   356,   356,   357,   357,   357,   357,   357,   358,
     1305     358,   358,   358,   359,   359,   360,   360,   360,   361,   361,
     1306     362,   362,   362,   362,   362,   362,   363,   363,   363,   363,
     1307     363,   363,   363,   363,   363,   363,   364,   364,   364,   364,
     1308     365,   365,   365,   366,   366,   367,   367,   367,   367,   367,
     1309     367,   368,   368,   368,   368,   368,   368,   369,   370,   370,
     1310     370,   371,   371,   372,   372
    13071311};
    13081312
     
    13431347       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
    13441348       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1345        1,     1,     1,     1,     2,     2,     3,     3,     1,     3,
    1346        1,     2,     2,     2,     4,     4,     4,     4,     1,     2,
    1347        2,     3,     1,     2,     2,     1,     2,     2,     3,     1,
    1348        2,     2,     1,     1,     4,     2,     5,     7,     2,     2,
    1349        2,     1,     2,     2,     3,     2,     3,     1,     2,     3,
    1350        2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
    1351        2,     2,     5,     6,     2,     2,     4,     0,     2,     0,
    1352        1,     1,     1,     5,     5,     5,     1,     5,     5,     9,
    1353        1,     5,     0,     1,     1,     5,     1,     1,     5,     5,
    1354        1,     3,     3,     4,     1,     1,     1,     1,     2,     1,
    1355        3,     3,     1,     2,     1,     3,     1,     1,     1,     1,
    1356        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
    1357        1,     2,     0,     2,     2,     1,     4,     0,     1,     2,
    1358        3,     4,     2,     2,     1,     2,     1,     2,     5,     5,
    1359        7,     6,     1,     2,     2,     3,     1,     2,     2,     4,
    1360        2,     4,     0,     4,     2,     1,     1,     1,     0,     2,
    1361        5,     5,    13,     1,     1,     3,     3,     2,     3,     3,
    1362        2,     4,     1,     6,     9,     0,    11,     1,     3,     3,
    1363        3,     1,     1,     5,     2,     5,     0,     1,     1,     3,
    1364        0,     1,     1,     1,     1,     0,     6,     2,     1,     2,
    1365        4,     2,     3,     3,     3,     4,     5,     5,     5,     6,
    1366        1,     1,     1,     3,     0,     5,     0,     1,     1,     2,
    1367        6,     1,     3,     0,     1,     4,     1,     1,     1,     1,
    1368        2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
    1369        4,     4,     3,     8,     3,     2,     1,     2,     6,     8,
    1370        3,     2,     3,     3,     4,     4,     3,     1,     1,     1,
    1371        4,     6,     3,     2,     3,     3,     4,     4,     3,     2,
    1372        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1373        4,     3,     6,     8,     3,     2,     1,     2,     2,     2,
    1374        3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
    1375        1,     2,     2,     1,     1,     2,     3,     3,     2,     4,
    1376        6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
    1377        1,     4,     4,     3,     5,     8,     3,     2,     3,     1,
    1378        5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
    1379        3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
    1380        2,     1,     2,     6,     5,     6,     7,     7,     1,     2,
    1381        2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
    1382        8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
    1383        3,     2,     3,     3,     2,     4,     3,     2,     3,     2,
    1384        4,     3,     2,     6,     6,     6,     7,     1,     2,     1,
    1385        1,     1,     2,     3,     2,     3,     2,     3,     3,     4,
    1386        2,     3,     4,     2,     5,     5,     6,     6,     0,     1,
    1387        0,     2
     1349       1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
     1350       3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
     1351       2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
     1352       1,     2,     2,     1,     1,     4,     2,     0,     6,     7,
     1353       2,     2,     2,     1,     2,     2,     3,     2,     3,     1,
     1354       2,     3,     2,     2,     4,     0,     1,     2,     2,     1,
     1355       0,     1,     2,     2,     5,     2,     0,     7,     2,     4,
     1356       0,     2,     0,     1,     1,     1,     5,     5,     5,     1,
     1357       5,     5,     9,     1,     5,     0,     1,     1,     5,     1,
     1358       1,     5,     5,     1,     3,     3,     4,     1,     1,     1,
     1359       1,     2,     1,     3,     3,     1,     2,     1,     3,     1,
     1360       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1361       2,     1,     1,     1,     2,     0,     2,     2,     1,     4,
     1362       0,     1,     2,     3,     4,     2,     2,     1,     2,     1,
     1363       2,     5,     5,     7,     6,     1,     2,     2,     3,     1,
     1364       2,     2,     4,     2,     4,     0,     4,     2,     1,     1,
     1365       1,     0,     2,     5,     5,    13,     1,     1,     3,     3,
     1366       2,     3,     3,     2,     4,     1,     6,     9,     0,    11,
     1367       1,     3,     3,     3,     1,     1,     5,     2,     5,     0,
     1368       1,     1,     3,     0,     1,     1,     1,     1,     0,     6,
     1369       2,     1,     2,     4,     2,     3,     3,     3,     4,     5,
     1370       5,     5,     6,     1,     1,     1,     3,     0,     5,     0,
     1371       1,     1,     2,     6,     1,     3,     0,     1,     4,     1,
     1372       1,     1,     1,     2,     1,     2,     2,     1,     3,     2,
     1373       3,     3,     2,     4,     4,     3,     8,     3,     2,     1,
     1374       2,     6,     8,     3,     2,     3,     3,     4,     4,     3,
     1375       1,     1,     1,     4,     6,     3,     2,     3,     3,     4,
     1376       4,     3,     2,     1,     2,     2,     1,     3,     2,     3,
     1377       3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
     1378       2,     2,     2,     3,     3,     2,     4,     4,     3,     6,
     1379       8,     3,     2,     1,     2,     2,     1,     1,     2,     3,
     1380       3,     2,     4,     6,     8,     1,     2,     2,     1,     2,
     1381       2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
     1382       2,     3,     1,     5,     5,     6,     6,     1,     2,     2,
     1383       1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
     1384       8,     3,     1,     2,     1,     2,     6,     5,     6,     7,
     1385       7,     1,     2,     2,     1,     2,     2,     3,     3,     1,
     1386       4,     4,     3,     8,     3,     1,     1,     2,     1,     1,
     1387       2,     3,     2,     3,     2,     3,     3,     2,     4,     3,
     1388       2,     3,     2,     4,     3,     2,     6,     6,     6,     7,
     1389       1,     2,     1,     1,     1,     2,     3,     2,     3,     2,
     1390       3,     3,     4,     2,     3,     4,     2,     5,     5,     6,
     1391       6,     0,     1,     0,     2
    13881392};
    13891393
     
    13951399     294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    13961400     301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
    1397      327,   328,   330,   331,   332,   546,   546,   546,     0,     0,
    1398        0,   294,   220,   304,   319,   320,     7,   359,     0,     8,
    1399       14,    15,     0,     2,   294,   564,     9,   524,   522,   247,
    1400        3,   452,     3,   260,     0,     3,     3,     3,   248,     3,
    1401        0,     0,     0,   295,   296,   298,   294,   307,   310,   312,
    1402      340,   286,   333,   338,   287,   348,   288,   355,   352,   362,
    1403        0,     0,   363,   289,   472,   476,     3,     3,     0,     2,
    1404      518,   523,   528,   299,     0,     0,   546,   576,   546,     2,
    1405      587,   588,   589,   294,     0,   730,   731,     0,    12,   294,
    1406        0,    13,   270,   271,     0,   295,   290,   291,   292,   293,
    1407      525,   305,   391,   547,   548,   369,   370,    12,   443,   444,
    1408       11,   439,   442,     0,   502,   497,   488,   443,   444,     0,
    1409        0,   527,   221,     0,   294,     0,     0,     0,     0,     0,
    1410        0,     0,     0,   294,   294,     2,     0,   732,   295,   581,
    1411      593,   736,   729,   727,   734,     0,     0,     0,   254,     2,
    1412        0,   531,   437,   438,   436,     0,     0,     0,     0,   546,
    1413        0,   633,   634,     0,     0,   544,   540,   546,   561,   546,
    1414      546,   541,     2,   542,   546,   600,   546,   546,   603,     0,
    1415        0,     0,   294,   294,   313,   360,     2,   294,   261,   297,
    1416      308,   341,   353,   477,     0,     2,     0,   452,   262,   295,
    1417      334,   349,   356,   473,     0,     2,     0,   311,   335,   342,
    1418      343,     0,   350,   354,   357,   361,   444,   294,   294,   365,
    1419      368,     0,   394,   474,   478,     0,     0,     0,     1,   294,
    1420        2,   529,   575,   577,   294,     2,   740,   295,   743,   544,
    1421      544,   295,     0,     0,     0,   273,   546,   541,     2,   294,
    1422        0,     0,   294,   549,     2,   500,     2,   553,     0,     0,
    1423        0,     0,     0,     0,    18,    59,     4,     5,     6,    16,
    1424        0,     0,     0,   294,     2,     0,   294,    65,    66,    67,
    1425       68,    48,    19,    49,    22,    47,    69,     0,    72,    76,
    1426       79,    82,    87,    90,    92,    94,    96,    98,   100,   105,
    1427      494,   750,   450,   493,     0,   448,   449,     0,   565,   580,
    1428      583,   586,   592,   595,   598,   359,     0,     2,   738,     0,
    1429      294,   741,     2,   294,     3,   424,     0,   432,   295,   294,
    1430      307,   333,   287,   348,   355,     3,     3,   406,   410,   420,
    1431      425,   472,   294,   426,   705,   706,   294,   427,   429,   294,
    1432        2,   582,   594,   728,     2,     2,   249,     2,   457,     0,
    1433      455,   454,   453,   141,     2,     2,   251,     2,     2,   250,
    1434        2,   281,     2,   282,     0,   280,     0,     0,     0,     0,
    1435        0,     0,     0,     0,     0,   566,   605,     0,   452,     2,
    1436      560,   569,   659,   562,   563,   532,   294,     2,   599,   608,
    1437      601,   602,     0,   276,   294,   294,   339,   295,     0,   295,
    1438        0,   294,   733,   737,   735,   533,   294,   544,   255,   263,
    1439      309,     0,     2,   534,   294,   498,   336,   337,   283,   351,
    1440      358,     0,   294,     2,   383,   294,   371,     0,     0,   377,
    1441      727,   294,   748,   397,     0,   475,   499,   252,   253,   519,
    1442      294,   434,     0,   294,   237,     0,     2,   239,     0,   295,
    1443        0,   257,     2,   258,   278,     0,     0,     2,   294,   544,
    1444      294,   485,   487,   486,     0,     0,   750,     0,   294,     0,
    1445      294,   489,   294,   559,   557,   558,   556,     0,   551,   554,
    1446        0,     0,   294,    56,   294,    69,    52,   294,    62,   294,
    1447      294,    50,    51,    64,     2,   127,     0,     0,   446,     0,
    1448      445,   111,   294,    54,    55,    17,     0,    29,    30,    35,
    1449        2,     0,    35,   117,   118,   119,   120,   121,   122,   123,
    1450      124,   125,   126,     0,     0,    53,     0,     0,     0,     0,
     1401     327,   328,   333,   330,   331,   332,   549,   549,   549,     0,
     1402       0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
     1403       8,    14,    15,     0,     2,   294,   567,     9,   527,   525,
     1404     247,     3,   455,     3,   260,     0,     3,     3,     3,   248,
     1405       3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
     1406     312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
     1407     363,     0,     0,   364,   289,   475,   479,     3,     3,     0,
     1408       2,   521,   526,   531,   299,     0,     0,   549,   579,   549,
     1409       2,   590,   591,   592,   294,     0,   733,   734,     0,    12,
     1410     294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
     1411     293,   528,   305,   393,   550,   551,   371,   372,    12,   446,
     1412     447,    11,   442,   445,     0,   505,   500,   491,   446,   447,
     1413       0,     0,   530,   221,     0,   294,     0,     0,     0,     0,
     1414       0,     0,     0,     0,   294,   294,     2,     0,   735,   295,
     1415     584,   596,   739,   732,   730,   737,     0,     0,     0,   254,
     1416       2,     0,   534,   440,   441,   439,     0,     0,     0,     0,
     1417     549,     0,   636,   637,     0,     0,   547,   543,   549,   564,
     1418     549,   549,   544,     2,   545,   549,   603,   549,   549,   606,
     1419       0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
     1420     297,   308,   342,   354,   480,     0,     2,     0,   455,   262,
     1421     295,   335,   350,   357,   476,     0,     2,     0,   311,   336,
     1422     343,   344,     0,   351,   355,   358,   362,   447,   294,   294,
     1423     366,   370,     0,   395,   477,   481,     0,     0,     0,     1,
     1424     294,     2,   532,   578,   580,   294,     2,   743,   295,   746,
     1425     547,   547,   295,     0,     0,     0,   273,   549,   544,     2,
     1426     294,     0,     0,   294,   552,     2,   503,     2,   556,     0,
     1427       0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
     1428      16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
     1429      67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
     1430      76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
     1431     105,   497,   753,   453,   496,     0,   451,   452,     0,   568,
     1432     583,   586,   589,   595,   598,   601,   360,     0,     2,   741,
     1433       0,   294,   744,     2,   294,     3,   427,     0,   435,   295,
     1434     294,   307,   334,   287,   349,   356,     3,     3,   409,   413,
     1435     423,   428,   475,   294,   429,   708,   709,   294,   430,   432,
     1436     294,     2,   585,   597,   731,     2,     2,   249,     2,   460,
     1437       0,   458,   457,   456,   141,     2,     2,   251,     2,     2,
     1438     250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
     1439       0,     0,     0,     0,     0,     0,   569,   608,     0,   455,
     1440       2,   563,   572,   662,   565,   566,   535,   294,     2,   602,
     1441     611,   604,   605,     0,   276,   294,   294,   340,   295,     0,
     1442     295,     0,   294,   736,   740,   738,   536,   294,   547,   255,
     1443     263,   309,     0,     2,   537,   294,   501,   337,   338,   283,
     1444     352,   359,     0,   294,     2,   385,   294,   373,     0,     0,
     1445     379,   730,     0,   751,   400,     0,   478,   502,   252,   253,
     1446     522,   294,   437,     0,   294,   237,     0,     2,   239,     0,
     1447     295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
     1448     547,   294,   488,   490,   489,     0,     0,   753,     0,   294,
     1449       0,   294,   492,   294,   562,   560,   561,   559,     0,   554,
     1450     557,     0,     0,   294,    56,   294,    69,    52,   294,    62,
     1451     294,   294,    50,    51,    64,     2,   127,     0,     0,   449,
     1452       0,   448,   111,   294,    54,    55,    17,     0,    29,    30,
     1453      35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
     1454     123,   124,   125,   126,     0,     0,    53,     0,     0,     0,
    14511455       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1452        0,     0,     0,     0,     0,     0,   108,     2,   645,   451,
    1453      642,   546,   546,   650,   479,   294,     2,   584,   585,     0,
    1454      596,   597,     0,     2,   739,   742,   111,   294,     2,   294,
    1455        0,   707,   295,   711,   702,   703,   709,     0,     2,     2,
    1456      667,   546,   750,   616,   546,   546,   750,   546,   630,   546,
    1457      546,   681,   433,   664,   546,   546,   672,   679,   294,   428,
    1458      295,     0,     0,   294,   717,   295,   722,   750,   714,   294,
    1459      719,   750,   294,   294,   294,     0,   111,     0,    18,     5,
    1460        2,     0,    19,     0,   458,   748,     0,     0,   464,   241,
    1461        0,   294,     0,     0,     0,   544,   568,   572,   574,   604,
    1462      607,   611,   614,   567,   606,     0,   284,   657,     0,   294,
    1463      277,     0,     0,     0,     0,   275,     2,     0,   259,   535,
    1464      294,     0,     0,     0,     0,   294,   294,     0,     0,   691,
    1465      381,   384,   388,   546,   388,   696,   387,   688,   546,   546,
    1466      364,   372,   380,   373,   546,   375,   378,   294,   749,     0,
    1467        0,   395,   748,   295,     3,   413,     3,   417,   416,   590,
    1468        0,   530,   294,     3,     3,   294,   432,   295,     3,   426,
    1469      427,     2,     0,     0,     0,   484,   306,   294,   480,   482,
    1470        3,     2,     2,     0,   501,     3,     0,   553,   129,     0,
    1471        0,   222,     0,     0,     0,     2,     0,     0,    36,     0,
    1472        0,   111,   294,    20,     0,    21,     0,   691,   447,     0,
    1473      109,     3,     2,    27,     2,     0,    33,     0,     2,    25,
    1474        0,   106,   107,    73,    74,    75,    77,    78,    80,    81,
    1475       85,    86,    83,    84,    88,    89,    91,    93,    95,    97,
    1476       99,     0,     0,   751,   294,     0,     0,     0,   646,   647,
    1477      643,   644,   496,   495,   294,     0,     3,   294,   713,   294,
    1478      718,   295,   294,   294,   294,   661,   704,   660,     2,   294,
    1479        0,     0,     0,     0,     0,     0,     0,     0,   682,     0,
    1480      668,   619,   635,   669,     2,   615,   622,   430,   617,   618,
    1481      431,     2,   629,   638,   631,   632,   665,   666,   680,   708,
    1482      712,   710,   750,   268,     2,   744,     2,   421,   716,   721,
    1483      422,     0,   400,     3,     3,     3,     3,   452,     3,     0,
    1484        2,   467,   463,   749,     0,   459,   466,     2,   462,   465,
    1485        0,   294,   242,   264,     3,   272,   274,     0,   452,     2,
    1486      570,   571,     2,   609,   610,     0,   658,   536,     3,   345,
    1487      344,   347,   346,   294,   537,     0,   538,   294,   374,   376,
    1488        2,     0,     0,     0,     0,   104,   390,   692,   693,   385,
    1489      389,   386,   689,   690,   379,   383,   366,   397,   392,   398,
    1490        0,     0,     0,   435,   240,     0,     0,     3,     2,   667,
    1491      428,     0,   526,     0,   750,   488,     0,   294,   294,   294,
    1492        0,   550,   552,   130,     0,     0,   215,     0,     0,     0,
    1493      223,   224,    57,     0,    63,   294,     0,    61,    60,     0,
    1494      128,   692,   457,    70,    71,   110,   115,     3,   109,     0,
    1495        0,     0,    24,    35,     3,     0,    32,   102,     0,     3,
    1496      649,   653,   656,   648,     3,   591,     3,   715,   720,     2,
    1497      294,     3,     3,   295,     0,     3,   621,   625,   628,   637,
    1498      671,   675,   678,   294,     3,   620,   636,   670,   294,   294,
    1499      423,   294,   294,   745,     0,     0,     0,     0,   256,     0,
    1500      104,     0,     3,     3,     0,   460,     0,   456,     0,     0,
    1501      245,   294,     0,     0,   129,     0,     0,     0,     0,     0,
    1502      129,     0,     0,   109,   109,     2,     0,     0,     0,     3,
    1503      131,   132,     2,   143,   133,   134,   135,   136,   137,   138,
    1504      145,   147,     0,     0,     0,   285,   294,   294,   546,     0,
    1505      539,   294,   111,   695,   699,   701,   694,   382,   396,   393,
    1506      578,     2,   663,   662,     0,   668,     2,   481,   483,   503,
    1507        3,   511,   512,     0,     2,   507,     3,     3,     0,     0,
    1508      555,   222,     0,     0,     0,   222,     0,     0,     3,    37,
    1509      748,   109,     0,     3,   660,    42,     3,    40,     3,    34,
    1510        0,     3,   101,   103,     0,     2,   651,   652,     0,     0,
    1511      294,     0,     0,     0,     3,   637,     0,     2,   623,   624,
    1512        2,   639,     2,   673,   674,     0,     0,     3,     0,     3,
    1513        3,     3,     3,   408,   407,   411,     2,     2,   747,   746,
    1514      112,     0,     0,     0,     0,     3,   461,     3,     0,   243,
    1515      146,     3,   295,   294,     0,     0,     0,     0,     2,   191,
    1516        0,   189,     0,     0,     0,     0,     0,     0,     0,     0,
    1517      111,     0,   546,   151,   148,   294,     0,     0,   267,   279,
    1518        3,     3,   545,   612,   367,     2,   697,   698,   294,   266,
    1519      294,     0,   514,   491,   294,     0,     0,   490,   505,     0,
    1520        0,     0,   216,     0,   225,    58,   109,     0,     0,   116,
    1521      113,     0,     0,     0,     0,     0,     0,    23,     0,   654,
    1522      294,   579,   265,   723,   724,   725,     0,   676,   294,   294,
    1523      294,     3,     3,     0,   684,     0,     0,     0,     0,   294,
    1524      294,     3,   543,   468,   469,     0,     0,   246,   295,     0,
    1525        0,     0,     0,   294,   192,   190,     0,   187,   193,     0,
    1526        0,     0,     0,   197,   200,   198,   194,     0,   195,    35,
    1527      129,   144,   142,   244,     0,     0,   294,   415,   419,   418,
    1528        0,   508,     2,   509,     2,   510,   504,   294,   228,     0,
    1529      226,     0,   228,     3,   660,    31,   114,     2,    45,     2,
    1530       43,    41,    28,   112,    26,     3,   726,     3,     3,     3,
    1531        0,     0,   683,   685,   626,   640,   269,     2,   405,     3,
    1532      404,     0,   471,   468,   129,     0,     0,   129,     3,     0,
    1533      129,   188,     0,     2,     2,   209,   199,     0,     0,     0,
    1534        0,   140,   573,   613,     3,     2,     0,     0,     2,   229,
    1535        0,     0,   217,     0,     0,     0,     0,     0,     0,     0,
    1536        0,     0,   686,   687,   294,     0,   470,   152,     0,     0,
    1537        2,   165,   129,   154,     0,   182,     0,   129,     0,     2,
    1538      156,     0,     2,     0,     2,     2,     2,   196,    32,     0,
    1539      294,   513,   515,   506,     0,     0,     0,     0,   114,    38,
    1540        3,     3,   655,   627,   641,   677,   409,   129,   158,   161,
    1541        0,   160,   164,     3,   167,   166,     0,   129,   184,   129,
    1542        3,     0,   294,     0,   294,     0,     2,     0,     2,   139,
    1543      700,     2,   230,   231,     0,   227,   218,     0,     0,     0,
    1544      153,     0,     0,   163,   233,   168,     2,   235,   183,     0,
    1545      186,   172,   201,     3,   210,   214,   203,     3,     0,   294,
    1546        0,   294,     0,     0,     0,    39,    46,    44,   159,   162,
    1547      129,     0,   169,   294,   129,   129,     0,   173,     0,     0,
    1548      691,   211,   212,   213,     0,   202,     3,   204,     3,   294,
    1549      219,   232,   149,   170,   155,   129,   236,   185,   180,   178,
    1550      174,   157,   129,     0,   692,     0,     0,     0,     0,   150,
    1551      171,   181,   175,   179,   178,   176,     3,     3,     0,     0,
    1552      492,   177,   205,   207,     3,     3,   206,   208
     1456       0,     0,     0,     0,     0,     0,     0,   108,     2,   648,
     1457     454,   645,   549,   549,   653,   482,   294,     2,   587,   588,
     1458       0,   599,   600,     0,     2,   742,   745,   111,   294,     2,
     1459     294,     0,   710,   295,   714,   705,   706,   712,     0,     2,
     1460       2,   670,   549,   753,   619,   549,   549,   753,   549,   633,
     1461     549,   549,   684,   436,   667,   549,   549,   675,   682,   294,
     1462     431,   295,     0,     0,   294,   720,   295,   725,   753,   717,
     1463     294,   722,   753,   294,   294,   294,     0,   111,     0,    18,
     1464       5,     2,     0,    19,     0,   461,   751,     0,     0,   467,
     1465     241,     0,   294,     0,     0,     0,   547,   571,   575,   577,
     1466     607,   610,   614,   617,   570,   609,     0,   284,   660,     0,
     1467     294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
     1468     538,   294,     0,     0,     0,     0,   294,   294,     0,     0,
     1469     694,   383,   386,   390,   549,   390,   699,   389,   691,   549,
     1470     549,   365,   374,   382,   375,   549,   377,   380,   294,   752,
     1471       0,     0,   398,     0,   295,     3,   416,     3,   420,   419,
     1472     593,     0,   533,   294,     3,     3,   294,   435,   295,     3,
     1473     429,   430,     2,     0,     0,     0,   487,   306,   294,   483,
     1474     485,     3,     2,     2,     0,   504,     3,     0,   556,   129,
     1475       0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
     1476       0,     0,   111,   294,    20,     0,    21,     0,   694,   450,
     1477       0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
     1478      25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
     1479      81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
     1480      97,    99,     0,     0,   754,   294,     0,     0,     0,   649,
     1481     650,   646,   647,   499,   498,   294,     0,     3,   294,   716,
     1482     294,   721,   295,   294,   294,   294,   664,   707,   663,     2,
     1483     294,     0,     0,     0,     0,     0,     0,     0,     0,   685,
     1484       0,   671,   622,   638,   672,     2,   618,   625,   433,   620,
     1485     621,   434,     2,   632,   641,   634,   635,   668,   669,   683,
     1486     711,   715,   713,   753,   268,     2,   747,     2,   424,   719,
     1487     724,   425,     0,   403,     3,     3,     3,     3,   455,     3,
     1488       0,     2,   470,   466,   752,     0,   462,   469,     2,   465,
     1489     468,     0,   294,   242,   264,     3,   272,   274,     0,   455,
     1490       2,   573,   574,     2,   612,   613,     0,   661,   539,     3,
     1491     346,   345,   348,   347,   294,   540,     0,   541,   294,   376,
     1492     378,     2,     0,     0,     0,     0,   104,   392,   695,   696,
     1493     387,   391,   388,   692,   693,   381,   385,   294,   400,   394,
     1494     401,   751,     0,     0,   438,   240,     0,     0,     3,     2,
     1495     670,   431,     0,   529,     0,   753,   491,     0,   294,   294,
     1496     294,     0,   553,   555,   130,     0,     0,   215,     0,     0,
     1497       0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
     1498       0,   128,   695,   460,    70,    71,   110,   115,     3,   109,
     1499       0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
     1500       3,   652,   656,   659,   651,     3,   594,     3,   718,   723,
     1501       2,   294,     3,     3,   295,     0,     3,   624,   628,   631,
     1502     640,   674,   678,   681,   294,     3,   623,   639,   673,   294,
     1503     294,   426,   294,   294,   748,     0,     0,     0,     0,   256,
     1504       0,   104,     0,     3,     3,     0,   463,     0,   459,     0,
     1505       0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
     1506       0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
     1507       3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
     1508     138,   145,   147,     0,     0,     0,   285,   294,   294,   549,
     1509       0,   542,   294,   111,   698,   702,   704,   697,   384,   368,
     1510     399,     0,   581,     2,   666,   665,     0,   671,     2,   484,
     1511     486,   506,     3,   514,   515,     0,     2,   510,     3,     3,
     1512       0,     0,   558,   222,     0,     0,     0,   222,     0,     0,
     1513       3,    37,   751,   109,     0,     3,   663,    42,     3,    40,
     1514       3,    34,     0,     3,   101,   103,     0,     2,   654,   655,
     1515       0,     0,   294,     0,     0,     0,     3,   640,     0,     2,
     1516     626,   627,     2,   642,     2,   676,   677,     0,     0,     3,
     1517       0,     3,     3,     3,     3,   411,   410,   414,     2,     2,
     1518     750,   749,   112,     0,     0,     0,     0,     3,   464,     3,
     1519       0,   243,   146,     3,   295,   294,     0,     0,     0,     0,
     1520       2,   191,     0,   189,     0,     0,     0,     0,     0,     0,
     1521       0,     0,   111,     0,   549,   151,   148,   294,     0,     0,
     1522     267,   279,     3,     3,   548,   615,   369,     2,   700,   701,
     1523     397,   294,   266,   294,     0,   517,   494,   294,     0,     0,
     1524     493,   508,     0,     0,     0,   216,     0,   225,    58,   109,
     1525       0,     0,   116,   113,     0,     0,     0,     0,     0,     0,
     1526      23,     0,   657,   294,   582,   265,   726,   727,   728,     0,
     1527     679,   294,   294,   294,     3,     3,     0,   687,     0,     0,
     1528       0,     0,   294,   294,     3,   546,   471,   472,     0,     0,
     1529     246,   295,     0,     0,     0,     0,   294,   192,   190,     0,
     1530     187,   193,     0,     0,     0,     0,   197,   200,   198,   194,
     1531       0,   195,    35,   129,   144,   142,   244,     0,     0,   294,
     1532     418,   422,   421,     0,   511,     2,   512,     2,   513,   507,
     1533     294,   228,     0,   226,     0,   228,     3,   663,    31,   114,
     1534       2,    45,     2,    43,    41,    28,   112,    26,     3,   729,
     1535       3,     3,     3,     0,     0,   686,   688,   629,   643,   269,
     1536       2,   408,     3,   407,     0,   474,   471,   129,     0,     0,
     1537     129,     3,     0,   129,   188,     0,     2,     2,   209,   199,
     1538       0,     0,     0,     0,   140,   576,   616,     3,     2,     0,
     1539       0,     2,   229,     0,     0,   217,     0,     0,     0,     0,
     1540       0,     0,     0,     0,     0,   689,   690,   294,     0,   473,
     1541     152,     0,     0,     2,   165,   129,   154,     0,   182,     0,
     1542     129,     0,     2,   156,     0,     2,     0,     2,     2,     2,
     1543     196,    32,     0,   294,   516,   518,   509,     0,     0,     0,
     1544       0,   114,    38,     3,     3,   658,   630,   644,   680,   412,
     1545     129,   158,   161,     0,   160,   164,     3,   167,   166,     0,
     1546     129,   184,   129,     3,     0,   294,     0,   294,     0,     2,
     1547       0,     2,   139,   703,     2,   230,   231,     0,   227,   218,
     1548       0,     0,     0,   153,     0,     0,   163,   233,   168,     2,
     1549     235,   183,     0,   186,   172,   201,     3,   210,   214,   203,
     1550       3,     0,   294,     0,   294,     0,     0,     0,    39,    46,
     1551      44,   159,   162,   129,     0,   169,   294,   129,   129,     0,
     1552     173,     0,     0,   694,   211,   212,   213,     0,   202,     3,
     1553     204,     3,   294,   219,   232,   149,   170,   155,   129,   236,
     1554     185,   180,   178,   174,   157,   129,     0,   695,     0,     0,
     1555       0,     0,   150,   171,   181,   175,   179,   178,   176,     3,
     1556       3,     0,     0,   495,   177,   205,   207,     3,     3,   206,
     1557     208
    15531558};
    15541559
     
    15561561static const yytype_int16 yydefgoto[] =
    15571562{
    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
     1563      -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
     1564     306,   786,   787,  1148,  1149,   307,   308,   309,   310,   311,
     1565     312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
     1566     526,   997,   322,   998,   555,   974,  1079,  1545,  1081,  1082,
     1567    1083,  1084,  1546,  1085,  1086,  1462,  1463,  1424,  1425,  1426,
     1568    1524,  1525,  1529,  1530,  1565,  1566,  1087,  1382,  1088,  1089,
     1569    1316,  1317,  1318,  1506,  1090,   144,   980,   981,   982,  1403,
     1570    1487,  1498,  1499,   476,   477,   902,   903,  1060,    49,    50,
     1571      51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
     1572     348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
     1573      70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
     1574      79,    80,   462,    81,   456,   457,   458,   459,   701,   940,
     1575     702,    82,    83,   465,   463,   722,   882,   883,   356,   357,
     1576     725,   726,   727,   358,   359,   360,   361,   473,   340,   134,
     1577     135,   530,   324,   169,   655,   656,   657,   658,   659,    84,
     1578     120,    86,   496,   497,   966,   498,   276,   502,   325,    87,
     1579     136,   137,    88,  1340,  1126,  1127,  1128,  1129,    89,    90,
     1580     743,    91,   272,    92,    93,   186,  1054,   689,   411,   124,
     1581      94,   508,   509,   510,   187,   267,   189,   190,   191,   268,
     1582      97,    98,    99,   100,   101,   102,   103,   194,   195,   196,
     1583     197,   198,   852,   614,   615,   616,   617,   199,   619,   620,
     1584     621,   580,   581,   582,   583,   706,   104,   623,   624,   625,
     1585     626,   627,   628,   939,   708,   709,   710,   604,   364,   365,
     1586     366,   367,   326,   163,   106,   107,   108,   369,   720,   577
    15821587};
    15831588
    15841589/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15851590   STATE-NUM.  */
    1586 #define YYPACT_NINF -1281
     1591#define YYPACT_NINF -1332
    15871592static const yytype_int16 yypact[] =
    15881593{
    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
     1594    3506,  8076, -1332,    12, -1332, -1332, -1332, -1332, -1332, -1332,
     1595   -1332,    61, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1596   -1332, -1332, -1332, -1332, -1332, -1332,   102,   102,   102,  1011,
     1597    1062,    86,  5961,   228, -1332, -1332, -1332, -1332, -1332,   138,
     1598   -1332, -1332, -1332,   684,   144,  9470, -1332, -1332, -1332, -1332,
     1599   -1332, -1332,   190,   182, -1332,  1658, -1332, -1332, -1332, -1332,
     1600     201,  1834,   303,    32,  4928, -1332, -1332,  9508,  1650, -1332,
     1601   -1332, -1332,   615,   401,  4443,   184,   589,   615,  1225, -1332,
     1602   -1332,   848,   938, -1332,   615,  1259, -1332,   301, -1332,   486,
     1603     503, -1332, -1332, -1332, -1332,   316,   182,   102, -1332,   102,
     1604   -1332, -1332, -1332, -1332,  9240,  1658, -1332, -1332,  1658, -1332,
     1605    9354,   391, -1332, -1332, -1332,  1948,  9876, -1332,   810,   810,
     1606     810, -1332, -1332, -1332,   102, -1332, -1332, -1332,   426,   447,
     1607     456, -1332, -1332, -1332,   477, -1332, -1332, -1332, -1332, -1332,
     1608     485,   495, -1332, -1332,    36,  8974,  2459,   272,   545,   579,
     1609     623,   632,   671,   733,  8777,  7372,   596,   719, -1332,  9546,
     1610   -1332, -1332, -1332, -1332,   739, -1332,   209,  3245,  3245, -1332,
     1611     760,   213, -1332, -1332, -1332, -1332,   770,   237,   353,   362,
     1612     102,   755, -1332, -1332,  1834,  1803,   846, -1332,    70, -1332,
     1613     102,   102,   182, -1332, -1332,    98, -1332,   102,   102, -1332,
     1614    2479,   820,   843,   810,  5405, -1332, -1332,   844,  9470, -1332,
     1615   -1332,   615, -1332, -1332, -1332,   182, -1332,  1658,   190, -1332,
     1616    7926, -1332,   810,   810,   810,   182, -1332,  1011, -1332,  2880,
     1617   -1332, -1332,   827,   810, -1332,   810, -1332,   138,  8974,  8891,
     1618     857, -1332,  1062,   864,   810, -1332,  1011,   870,   879, -1332,
     1619    5961,   735, -1332, -1332, -1332,  9437, -1332, -1332,  3894, -1332,
     1620     846,    69,  9876,  6310,  1948,  2479, -1332,   114, -1332, -1332,
     1621    9354,  1658,   875, 11374, -1332, -1332,   546, -1332, 11116,   886,
     1622     926, 10861,   905, 10919, 10938, -1332,   919, -1332, -1332, -1332,
     1623   -1332, 10996, 10996,   735,  8632,   928, 10919,  9088, -1332, -1332,
     1624   -1332, -1332, -1332, -1332,   949, -1332,   840,  2531, 10919, -1332,
     1625     516,   336,   425,   270,   704,   934,   936,   960,   997,    52,
     1626   -1332, -1332,   974,   356, -1332,   290, -1332, -1332,  2459, -1332,
     1627   -1332,   600,   996, -1332,   701,   996,  1007,   138, -1332, -1332,
     1628    1010,  9240, -1332,  1018,  8746, -1332, -1332,  1849,  1084,  8347,
     1629    5405,   615, -1332,   615,   810,   810, -1332, -1332, -1332, -1332,
     1630   -1332, -1332,   810,  9914,  1658, -1332, -1332,  9987,  1975, -1332,
     1631    9012, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1030,  3059,
     1632   10919, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1633   -1332, -1332, -1332, -1332, -1332,  1948, -1332,   773,  1012,  1034,
     1634    1040,   889,  1045,  1051,  1053,  1803, -1332, -1332,  1063,   190,
     1635    1064, -1332, -1332,  1066, -1332, -1332, -1332,  9437, -1332, -1332,
     1636   -1332, -1332, -1332,  2479, -1332,  8974,  8974, -1332,   810,  1948,
     1637    6923,  1658,  8420, -1332, -1332, -1332, -1332,  9437,    69, -1332,
     1638   -1332,   615,   182, -1332, -1332,  9437, -1332,  3625, -1332, -1332,
     1639     810,   810,   464, 10025,  1068,   907,  9695, -1332,   437,   475,
     1640    1062, -1332,  1067,  1069,  1047,  1070,   810, -1332, -1332, -1332,
     1641   -1332, 10283, -1332,   522,  6793, -1332,   182,  1074, -1332,  1948,
     1642   11198,  6368, -1332, -1332, -1332, -1332,   939,  2479, -1332,  8493,
     1643     846,  5374, -1332, -1332, -1332,   828,   610,   974,  1062, 11374,
     1644     861,  9354, -1332, 11374, -1332, -1332, -1332, -1332,   618, -1332,
     1645    1073,   926,   326,  8632, -1332, 10025, -1332, -1332,  8632, -1332,
     1646    8860,  8632, -1332, -1332, -1332,  1077, -1332,   619,  1082,   630,
     1647    1087, -1332,  5066,  7012, -1332, -1332, -1332,    47, -1332, -1332,
     1648   10784, -1332,   474, 10784, -1332, -1332, -1332, -1332, -1332, -1332,
     1649   -1332, -1332, -1332, -1332,  6310,  6310, -1332, 10919, 10919, 10919,
     1650   10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919,
     1651   10919, 10919, 10919, 10919, 10919,  4001,  6310, -1332,   356,   777,
     1652   -1332, -1332,   102,   102, -1332, -1332,  8974, -1332, -1332,  1066,
     1653     735, -1332,  1066, 10842, -1332, -1332, -1332,  6075,  7012,  1086,
     1654    9202,  1093, -1332, 10055, -1332, -1332,   739, -1332,  1094,   690,
     1655    1096,  1090,   157,   974, -1332,   102,   102,   974,   166, -1332,
     1656     102,   102,  1066, -1332, -1332,   102,   102, -1332,   996, 10137,
     1657    1658, 11343,   372,   531, 10137, -1332,  6678, -1332,   974, -1332,
     1658    9914, -1332,   285,  8042,  8042,  8042,  1658, -1332,  5183,  1085,
     1659     453,  1030,   955,  1095,  1097, -1332,  1099,  3245,   590, -1332,
     1660    1182,  1658,  8042,   735,  1948,   735,   846,   706,   996, -1332,
     1661   -1332,   806,   996, -1332, -1332, -1332,   926, -1332,   996,   182,
     1662   10283, -1332,   647,  1107,   688,  1108, -1332,  1109,   182, -1332,
     1663   -1332,  9437,   182,  1105,   497,   502, 10167,  7492,  1400, 10919,
     1664    1678, -1332, -1332,  1103,    62,  1103, -1332, -1332, -1332,   102,
     1665     102, -1332, -1332,  1062, -1332,   102, -1332, -1332,  8891,  1062,
     1666    1110, 10919, -1332,  1062, 11343, -1332, -1332,  1113, -1332, -1332,
     1667   -1332,   735, -1332, 11271, 10919, -1332,  8042,   718,  8347, -1332,
     1668   -1332,   739,  1114,  1115,   828,  2655, -1332, -1332, 11374, -1332,
     1669   -1332,  1116, -1332, -1332,  1122, -1332,  1116,  1123, 11116,  6310,
     1670     163,  1092,    54,  1131,  1128,  1135,   928,  1130,  1138, -1332,
     1671    1140,  1141,  9733,  7132, -1332,  6310, -1332,   630,  1274, -1332,
     1672    5523,  6310,  1139, -1332, -1332,  1030,   695, -1332,  6310, -1332,
     1673   -1332,   741, -1332, -1332, -1332, -1332, -1332,   516,   516,   336,
     1674     336,   425,   425,   425,   425,   270,   270,   704,   934,   936,
     1675     960,   997, 10919,   754, -1332, 10283,  1150,  1151,  1153,   777,
     1676   -1332, -1332, -1332, -1332, -1332, 10283,   748, 10919,  8042, -1332,
     1677    9914, -1332,  7612,  9316,  9126,  7372, -1332, -1332, -1332,   690,
     1678   10283,   950,  1164,  1165,  1171,  1172,  1179,  1180,  1181, -1332,
     1679    3591,  1090, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1680   -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
     1681   -1332, -1332, -1332,   974, -1332, -1332, -1332, -1332, -1332, -1332,
     1682   -1332, -1332,  1183, -1332,  1184,  1187, -1332, -1332,   190,  1139,
     1683    5183, -1332, -1332, -1332,  3059,  1185, -1332, -1332, -1332, -1332,
     1684   -1332,  1062,  6532,  1270, -1332, -1332, -1332, -1332,  1173,   190,
     1685   -1332, -1332,  1066, -1332, -1332,  1066,   152,  1066, -1332, -1332,
     1686   -1332, -1332, -1332, -1332,  9584, -1332,   182, -1332,  8891, -1332,
     1687   -1332,  1193,   795,  1199,  1200,  1204, -1332, -1332,  1678, -1332,
     1688   -1332, -1332, -1332, -1332, -1332, -1332,   907,  9763,  1047, -1332,
     1689   -1332,  1069,  1205,  1201, -1332, -1332,  1206,  1207, -1332,   718,
     1690    1989, -1332,   634, -1332,  2655,   974, -1332,  1211, 11374, 10205,
     1691    8974,  1214, -1332, -1332,  1212,  1217,  1213, -1332, 10919,   229,
     1692     205,  1215, -1332,  1202,   735,  1202,  7012,  6310, -1332, -1332,
     1693    1202, -1332,  1274,  3059, -1332, -1332, -1332, -1332,  1220,  6310,
     1694    1228,   735,  5183, -1332, 10784, -1332,   735, -1332, -1332,  6310,
     1695   -1332,   863,   996, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1696    1030,  8746, -1332, -1332,  7732,  1219, -1332,   876,   996, -1332,
     1697     883,   896,   996, -1332,   810,  4775, -1332, -1332, -1332, 10283,
     1698   10283, -1332,  8420,  8420, -1332,  1221,  1226,  1233,  1235, -1332,
     1699    1234,   643,   137,  1139, -1332,   735, -1332,  3245, -1332,  6310,
     1700     517, -1332,  6892,  1245,  1249, 10726,  1253,  1258,   330,   380,
     1701     387,  6310,  1265,   182,  6310,  6310,  1256,   294,  1269,  1250,
     1702   -1332, -1332, -1332,  1277, -1332, -1332, -1332, -1332, -1332, -1332,
     1703   -1332, -1332, -1332,  1062,  1285,  6310, -1332, 10283, 10283,   102,
     1704    1287, -1332,  9845,  9622,   932,   996, -1332, -1332, -1332, -1332,
     1705   -1332,  1286, -1332, -1332, -1332, -1332,  1293,  1989, -1332, -1332,
     1706    1275, -1332,  1116, -1332, -1332,  1948,  1290, -1332, -1332, -1332,
     1707     749,  1292, -1332,    54,  1295, 10919,  1279,    54,    54,  1305,
     1708    1301, -1332,  1099,  6310,  1308,  1220,   605,    89,  1306, -1332,
     1709    1301, -1332,  1312,  1306, -1332, -1332,  1317, -1332, -1332,  1066,
     1710    1319,  1322,  7252,  1323,  1325,  1326, -1332, -1332,  1329, -1332,
     1711   -1332,  1066, -1332, -1332, -1332, -1332,  1066,  6310,  6310, 10919,
     1712    1330, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1713   -1332, -1332, -1332, 10919, 10919,  1332,  1335,  1306, -1332, -1332,
     1714    1062, -1332, -1332, -1332,  7853, 10205,  6310,  6310,  1394,  6310,
     1715   -1332, -1332,  1321, -1332,  1324,  6310,  1327,  1331,  6310,  1013,
     1716    1333,    97,  8265,  1262,   102, -1332, -1332,  6532,  1334,   537,
     1717   -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
     1718   -1332, 10544, -1332,  8493,  1345, -1332, -1332, 10205,   562,   563,
     1719   -1332,  1343,  1344,   926,  1352, -1332,   450, -1332, -1332,  6310,
     1720    1355,  1349, -1332, -1332,  1356,   543,   613,   735,  1357,  1358,
     1721   -1332,  1361, -1332, 10283, -1332, -1332, -1332, -1332, -1332,  1365,
     1722   -1332, 10283, 10283, 10283, -1332, -1332,  1367, -1332,  1368,  1371,
     1723    1372,   668,  8115,  8231, -1332, -1332,   457, -1332,  1376,  1378,
     1724   -1332,  8566,   750,   782,  1387,   793,  6762, -1332, -1332,   598,
     1725   -1332, -1332,   803,  1388,  1393,   182,  1445,   882, -1332, -1332,
     1726    6310, -1332, 10784, 10726, -1332, -1332, -1332,  1396,  1404, 10283,
     1727   -1332, -1332, -1332,  1401, -1332, -1332, -1332, -1332, -1332, -1332,
     1728   10205,   926,   254, -1332,  1384,   926,  1220,   366, -1332, -1332,
     1729   -1332, -1332, -1332, -1332, -1332, -1332,  1405, -1332, -1332, -1332,
     1730   -1332, -1332, -1332,  1406,  1409, -1332, -1332, -1332, -1332, -1332,
     1731   -1332, -1332,  1414, -1332,  1413, -1332, -1332, 10726,    84,  6310,
     1732   10726, -1332,  1417,  6310, -1332,    99,  1433,  1434, -1332, -1332,
     1733    1422,  1425,  1408,   852, -1332, -1332, -1332, -1332, -1332,  1658,
     1734    1948,  1421,   949,   918, 10919, -1332,   832,  1426,  6310,   735,
     1735     735,  1427,  1431,  1440,  1441, -1332, -1332,  8420,  1428, -1332,
     1736    1501, 10919,  1437, -1332, -1332, 10637, -1332,   845, -1332,  1424,
     1737   10726,  1436, -1332, -1332,  1460, -1332,  1461, -1332,  1476,  1481,
     1738   -1332,  1446,  1471, 10205, -1332, -1332, -1332,   926,   735,  1472,
     1739    1452,  1468, -1332,  1306,  1306, -1332, -1332, -1332, -1332, -1332,
     1740   10726,   295, -1332,   940, -1332, -1332,  5671, -1332, -1332,  1454,
     1741    6310, -1332,  6310,  5671,   182, 10025,   182, 10025,  1478, -1332,
     1742    1482, -1332, -1332, -1332,  1480,   949, -1332,   850, -1332, -1332,
     1743    6310,  1479,  1487, -1332, 10919, 10919, -1332, -1332,  1054,   123,
     1744   -1332, -1332,  1465, -1332,  1054, -1332, -1332,  1818,   735, -1332,
     1745   -1332,   182, 10025,   182, 10025,  1492,  1474,   735, -1332, -1332,
     1746   -1332, -1332, -1332, 10637,  1488,  1054,  6242,  6310, 10548,  1495,
     1747    1054,  1502,  1818,  2347, -1332, -1332, -1332,  1505, -1332, -1332,
     1748   -1332, -1332,  8974, -1332, -1332, -1332, 10415, -1332, 10637, -1332,
     1749   -1332,  1484, 10322, -1332, -1332, 10548,   182,  2347,   182,  1509,
     1750    1510,   853, -1332, 10415, -1332, -1332, -1332, 10322, -1332, -1332,
     1751   -1332,   182,   182, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
     1752   -1332
    17471753};
    17481754
     
    17501756static const yytype_int16 yypgoto[] =
    17511757{
    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
     1758   -1332,  4383,  1919, -1332,  1457, -1332,    41,     0,  -257, -1332,
     1759     544,  -527,  -514,  -956,  -190,  3713, -1332,  1485,   580,   585,
     1760     548,   602,  1055,  1052,  1056,  1059,  1061, -1332,  -217,  -341,
     1761    5350,  -699,  -697,  -922, -1332,   -83,  -701,  -678, -1332,   561,
     1762   -1332,   399, -1087, -1332, -1332,   141, -1332, -1329,  -838,   252,
     1763   -1332, -1332, -1332, -1332,    71, -1078, -1332, -1332, -1332, -1332,
     1764   -1332, -1332,   325, -1308,    57, -1332,  -297, -1332,   504,   305,
     1765   -1332,   173, -1332,  -305, -1332, -1332, -1332,   558,  -799, -1332,
     1766   -1332,    11, -1027,   151,   658, -1332, -1332, -1332,   -52, -1332,
     1767     117,   913,  -200,  1494,  4071, -1332, -1332,    19,   107,   365,
     1768    -232,  1565, -1332,  2150, -1332, -1332,   134,  2571, -1332,  3063,
     1769    1550, -1332, -1332, -1332,  -643,  -431,  1210,  1216,   707,   947,
     1770     188, -1332, -1332, -1332,   945,   723,  -404, -1332,  -520,  -362,
     1771     293, -1332, -1332,  -990,  -995,   965,  1194,  1083,   304, -1332,
     1772     150,   317,   -75,  -197,  -129,   679,   781, -1332,  1020, -1332,
     1773    3338,  1566,  -427,   948, -1332, -1332,   710, -1332,  -230, -1332,
     1774     -89, -1332, -1332, -1332, -1266,   433, -1332, -1332, -1332,  1195,
     1775   -1332,    22, -1332, -1332,  -865,  -105, -1331,   -98,  1750, -1332,
     1776    2253, -1332,   929, -1332,  -168,   288,  -180,  -179,  -173,     2,
     1777     -34,   -29,   -28,   687,    75,    77,    92,  -161,  -162,  -153,
     1778    -151,  -148,  -320,  -530,  -516,  -495,  -552,  -307,  -529, -1332,
     1779   -1332,  -506,  1106,  1117,  1121,  2218,  5180,  -562,  -569,  -544,
     1780    -538,  -550, -1332,  -429,  -691,  -685,  -671,  -611,  -246,  -241,
     1781   -1332, -1332,  1149,   273,   -84, -1332,  3714,    76,  -612,  -441
    17761782};
    17771783
     
    17791785   positive, shift that token.  If negative, reduce the rule which
    17801786   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1781 #define YYTABLE_NINF -522
     1787#define YYTABLE_NINF -525
    17821788static const yytype_int16 yytable[] =
    17831789{
    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,
     1790      47,   112,    96,   427,   398,   399,   768,   933,   452,   148,
     1791     266,   400,   113,   934,   149,   150,   791,   406,   871,    67,
     1792     259,   439,   401,   512,   407,   712,   707,   935,   613,   112,
     1793     112,   402,    47,   403,    96,  1203,   404,  1092,   382,   383,
     1794     846,   618,   111,    47,   895,    47,   505,   160,  1187,   854,
     1795    1153,    67,  1185,  1186,   142,    47,   749,    48,   975,   853,
     1796     201,    47,   857,   192,    47,   847,   215,    47,   864,   225,
     1797     342,   848,   751,   820,  1401,   947,   756,  1145,   218,   842,
     1798     845,   112,   112,   995,   398,   399,   933,   279,   409,    48,
     1799    1464,   400,   934,   843,   121,   424,  1468,   406,   605,  1197,
     1800     779,    31,   401,  1091,   407,    47,   935,    68,    47,    31,
     1801     202,   402,   679,   403,   844,    47,   404,    61,   151,   109,
     1802     152,   165,   637,   884,   884,   884,   641,   739,  1421,  1422,
     1803      41,    42,   688,   408,    75,   153,   290,    31,   446,    68,
     1804     692,    31,   884,  1421,  1422,   280,    47,   574,   160,    61,
     1805     148,    54,   114,    31,    47,   149,   150,   467,   783,    47,
     1806    1320,   372,   482,   484,  1464,   978,    75,  -234,  -234,  1510,
     1807     122,   211,   858,   410,  1265,   746,   861,  1484,   483,   251,
     1808     140,   410,   575,    54,    47,    47,   165,   160,     2,   205,
     1809       4,     5,     6,     7,  1468,   141,    31,   878,  1423,  1468,
     1810      47,   881,  1266,   478,  1539,    31,  1541,   418,    47,   410,
     1811     160,   527,   677,  1432,   842,   209,   884,    47,   219,  1468,
     1812      47,   327,   442,   488,  1080,   410,  1468,   112,   843,  1321,
     1813     148,   240,   243,  1193,   536,   149,   150,   674,  -234,   143,
     1814     886,   887,   112,   740,   675,   536,   112,   145,  1187,   844,
     1815      47,   112,    96,    35,   760,    36,   154,   596,   905,   151,
     1816    1194,   152,  1099,  1202,    47,    47,   855,   160,   610,    67,
     1817     846,    47,   470,   105,   105,   862,   153,   610,    47,  1203,
     1818     976,   885,   885,   885,   435,  1102,   342,   703,    95,  1038,
     1819     666,   857,   472,   112,   705,   847,   170,   167,  1187,  1037,
     1820     885,   848,  1185,  1186,   618,   105,   200,    48,   884,   842,
     1821    1025,   536,  1155,  1014,   327,  1136,    -3,   180,   681,   674,
     1822      95,   168,  1137,   843,   686,   376,   675,   441,    47,   386,
     1823     372,   147,   958,    95,   524,   739,   536,  1346,  1135,  1111,
     1824     105,   377,   682,   684,   844,   387,   435,    47,    47,   188,
     1825     683,   685,    95,   389,   605,    95,   831,    68,   937,   176,
     1826     564,   565,  1092,  1404,    47,   478,   285,    61,    47,   390,
     1827    1217,   440,   479,   165,   885,  1220,  1221,    41,    42,   653,
     1828     950,   251,   329,   605,    75,   478,   926,  1208,   605,    75,
     1829     846,  1494,   464,   478,   483,    47,   566,   567,   854,   880,
     1830     585,    54,   109,   521,  -290,    47,   586,   372,   536,   260,
     1831     871,   739,   261,    41,    42,   847,   576,   246,  1194,   916,
     1832     607,   848,  1187,    47,  1017,   251,   755,  1459,  1091,    47,
     1833     527,    47,  1041,   228,    95,   527,   761,   229,   527,  1203,
     1834     233,  1552,   235,   762,  1262,   770,  1203,    95,   342,   244,
     1835    1553,   740,   109,  1453,  1454,    47,   211,   560,   561,   109,
     1836     112,  1563,  1211,    41,    42,   578,   885,   410,  1567,   391,
     1837      41,    42,   397,   188,   112,   579,  -112,  1568,   393,    47,
     1838    1173,  1175,   936,  1408,   874,   392,   249,    47,   875,   372,
     1839    1151,    47,   813,    96,   394,    47,    95,  -112,   112,  1203,
     1840     112,   327,   327,  -520,   936,   979,  1215,  1383,    95,  1107,
     1841      67,   824,  1213,   562,   563,   111,   712,   707,   398,   399,
     1842     653,   438,   263,   105,  1119,   400,   505,   740,   896,   654,
     1843    1261,  1036,   406,  -469,   479,   -10,   401,   112,    95,   407,
     1844     653,  1122,   112,   653,   618,   402,   109,   403,    48,  1080,
     1845     404,    75,   486,   713,   479,  1038,  -443,    41,    42,   907,
     1846    1344,   767,   479,  1107,  -469,  -444,  -469,  1345,   909,   714,
     1847    -469,    75,  -112,  -112,   693,   490,   228,   327,   784,    75,
     1848     586,   767,   507,   790,   767,   789,   275,   211,  -112,  1019,
     1849     112,   715,  -291,   831,   277,  1008,   327,    47,    68,     8,
     1850       9,    10,    11,    12,   278,  1381,   737,   716,    61,    47,
     1851     717,    47,   342,   713,   172,   109,    95,   833,   715,     2,
     1852     205,     4,     5,     6,     7,    75,    41,    42,    31,   929,
     1853      47,   472,   730,  1200,   930,   557,   612,  1134,   731,   478,
     1854     558,   559,    54,   876,  1036,  1394,    47,   877,   750,  1201,
     1855     754,   176,   112,  1200,  1350,   330,    34,   252,    55,    55,
     1856    1523,    47,   327,   112,    47,   112,  1528,  1500,   638,  1326,
     1857     897,   712,   642,  1051,  1500,   500,   607,   501,  1335,  1337,
     1858    1184,   955,  1431,   831,    35,   109,    36,  1548,   342,   331,
     1859      55,  1049,  1555,   188,  1336,  1338,    41,    42,    47,  1420,
     1860      47,   898,  1428,   652,   906,   872,   908,   899,   370,   587,
     1861     607,   410,  1096,   112,   775,  -112,   228,  -112,   233,   112,
     1862     747,  -112,    55,   112,  1352,    55,   748,  1549,   757,   774,
     1863    1384,   112,   161,   332,   758,   775,  -112,  -112,   441,   777,
     1864    1130,   410,   333,   704,    47,    47,   876,  1467,   193,   778,
     1865    1118,   216,  1471,   416,   226,  -105,    37,   920,    47,  -105,
     1866      40,   936,    37,   775,   105,  1056,    40,    41,    42,  1502,
     1867     674,  1503,   954,    41,    42,   605,   436,   675,   703,    95,
     1868    1369,   334,  1493,   612,  1370,   705,   444,     8,     9,    10,
     1869      11,    12,  1154,    43,  1254,  1393,   568,   569,   922,   839,
     1870     739,   610,   892,   146,   775,  1003,   228,   109,   479,   611,
     1871     590,  1004,   410,   347,   737,   910,    31,   410,    41,    42,
     1872       8,     9,    10,    11,    12,    75,  1550,   959,   371,   610,
     1873     763,   211,   764,   161,  1177,   765,  1252,   960,   771,    47,
     1874    1256,   933,  1051,   335,    34,   211,   373,   934,   375,    31,
     1875     479,    47,  1294,  1295,   833,   528,  1007,  1004,  1016,  1250,
     1876    1377,   935,   831,   945,   731,   586,   775,    75,  1562,   948,
     1877     775,  1009,   161,   464,  1562,   384,   979,    34,    55,   388,
     1878     979,   979,   251,   329,   410,  1562,   578,   396,   410,  1562,
     1879     737,   941,  1378,   941,   653,   161,   579,   841,   775,   612,
     1880      37,   112,   653,  1380,    40,   329,   410,   443,    55,   775,
     1881     408,    41,    42,  1385,   115,   913,   740,   410,   936,   775,
     1882     109,    67,   138,   237,    47,   537,   538,   539,  1198,   425,
     1883    1372,    41,    42,   109,   873,   138,   139,   744,    47,   211,
     1884    1390,  1391,  1450,  1078,    41,    42,    47,   745,  1447,   540,
     1885     888,   541,   426,   542,   543,  1469,   431,   238,   158,   449,
     1886    1516,   775,   239,  1573,    47,   904,  1517,  1441,  1004,   586,
     1887     752,  -367,  1157,   919,   410,   753,   936,   936,  -396,    37,
     1888    1123,   182,   183,    40,   112,  1169,   932,   410,   704,   491,
     1889      41,    42,  1172,   653,   610,   511,  1342,   740,   418,   670,
     1890     410,   112,   468,   690,   653,  1174,   112,   610,   290,    68,
     1891     109,   469,   138,   139,   515,   373,   698,   257,   410,    61,
     1892    1245,    41,    42,   158,   699,  1139,   700,   109,   520,   138,
     1893     139,   536,   841,   612,  1447,  1448,    75,   732,    41,    42,
     1894     532,  1237,  1147,   410,   654,   767,   327,  1147,   488,   329,
     1895     410,  1061,   242,    54,   570,   112,  1495,  1496,   323,   855,
     1896     329,   610,   507,  1449,   571,   653,   891,   339,   112,   112,
     1897     112,  1313,  1314,  1315,   528,  1351,  1353,  1354,  1535,   528,
     1898    1461,  1205,   528,   128,  1402,   129,   130,   131,  1402,   572,
     1899     347,   573,   373,   112,    41,    42,  1147,   872,  1421,  1422,
     1900       8,     9,    10,    11,    12,   576,  1078,   338,  1010,  1212,
     1901    1214,  1216,   801,   802,   803,   804,  -440,   429,  1015,   594,
     1902    1124,   433,   667,  1302,  1303,    47,  1305,   841,  1107,    31,
     1903     597,   441,  1309,  1026,   109,  1312,   138,   139,   342,   612,
     1904     797,   798,   647,   654,   668,    41,    42,   799,   800,    55,
     1905     669,   323,   455,  1521,  1461,   671,    37,    34,   182,   183,
     1906      40,   672,    37,   673,   182,   183,    40,    41,    42,    68,
     1907     805,   806,   676,    41,    42,   105,   678,   256,   721,   479,
     1908     696,   718,   759,   433,   723,   719,   495,   936,  -238,   772,
     1909    1485,   347,   776,   609,   162,   610,    75,   780,   834,   609,
     1910     112,   610,   -12,   611,   936,   836,   838,   529,   849,   611,
     1911     158,   901,   -13,    54,   893,   894,   218,   921,   923,   928,
     1912     699,   924,    47,  -417,   977,   949,   704,   653,  -292,  -524,
     1913     963,   970,   748,   972,   704,     8,     9,    10,    11,    12,
     1914     918,   983,   105,  1061,   984,   985,    67,   987,   988,   925,
     1915     989,   990,   612,   927,   595,   999,   347,   602,  1123,   162,
     1916    1011,  1012,  -293,  1013,    31,   112,   112,   112,  1078,     8,
     1917       9,    10,    11,    12,  1027,  1028,   635,   936,   936,   737,
     1918     639,  1029,  1030,   339,     8,     9,    10,    11,    12,  1031,
     1919    1032,  1033,    34,  1044,  -405,  1445,  1427,  -404,    31,  1093,
     1920    1058,   347,   347,   347,  1095,  1103,  1147,  1147,  1147,  1104,
     1921    1105,   211,  1561,    31,  1106,  1112,   993,  1113,  1114,  1115,
     1922     347,  1121,   653,   653,  1131,  1205,    34,  1132,   775,  1167,
     1923    1133,  1138,  1182,  1183,    68,   105,  1143,  1188,   323,   323,
     1924    1146,    34,  1189,  1190,    61,  1191,  1192,   537,   538,   539,
     1925    1300,  1123,   398,   399,  1206,   209,   219,   434,  1207,   400,
     1926     737,    75,  1209,   767,  1078,   406,   455,  1210,  1222,   455,
     1927     401,   540,   407,   541,  1218,   542,  1322,   653,    54,   402,
     1928     653,   403,  1225,   777,   404,   410,  1224,   115,   460,   674,
     1929    1232,  1233,    -3,   778,   347,  1230,   675,  1235,  1124,    47,
     1930      47,  1240,  1534,  1242,   500,  1246,  1251,  1253,   441,   112,
     1931     112,  1255,   495,    68,   323,  1258,   495,  1259,  1078,   434,
     1932    1263,  1078,  1267,   479,  1270,   653,   529,  1272,   529,  1274,
     1933     653,   529,  1275,   323,   529,  1276,   728,  1277,  1278,  1280,
     1934      75,  1304,  1287,   531,  1296,   339,   162,  1297,   112,  1325,
     1935    1147,  1147,   440,  1307,  1123,  1333,  1308,    54,  1339,  1310,
     1936     653,  1341,  1343,  1311,  1348,  1319,  1078,  1347,  1349,  1355,
     1937    1356,  1078,    37,  1357,   182,   183,    40,  1359,   105,  1365,
     1938    1366,  1367,  1368,    41,    42,  1205,   347,  1101,  1375,  1486,
     1939    1376,  1124,  1205,   347,    64,   116,  1379,  1386,   148,   323,
     1940     105,  1078,  1387,   149,   150,  1315,  1395,    47,   112,   698,
     1941     829,   410,   175,   602,  1396,  1398,  1405,   112,  1415,   700,
     1942     105,  1416,  1408,   653,  -406,  1419,    64,  1430,   653,  1434,
     1943    1436,  1438,    47,    47,  1439,   160,  1446,  1455,  1451,   159,
     1944    1440,  1456,   870,  1460,  1370,  1205,   653,   602,   653,  1536,
     1945    1457,  1458,   653,   879,  1465,   653,  1470,    47,  1544,   372,
     1946      55,   220,   175,   653,  1078,   175,  1358,   653,  1472,  1078,
     1947    1474,  1476,  1478,    68,  1360,  1361,  1362,  1480,  1482,   105,
     1948      68,  1483,  1488,   479,  1489,  1490,  1501,  1078,  1511,  1078,
     1949     479,  1519,  1513,  1078,  1124,  1515,  1078,  1527,   258,  1520,
     1950      75,  1542,   460,  1547,  1078,   460,  1543,    75,  1078,   339,
     1951    1554,   175,  1556,   105,   213,  1558,  1564,    54,   327,  1571,
     1952    1572,  1223,  1397,   808,    54,   807,  1324,    55,   809,   212,
     1953     214,   455,   810,    68,  1219,   811,  1522,  1433,  1574,   231,
     1954     328,  1389,  1257,   479,   347,   728,  1504,   241,   258,   349,
     1955    1406,  1229,   942,  1108,     2,   205,     4,     5,     6,     7,
     1956      75,   495,   531,   694,   531,   729,   213,   531,   951,   695,
     1957     531,  1110,  1142,   826,   175,  1057,  1120,    54,   900,   405,
     1958    1334,   212,   214,   227,   816,   339,   742,   973,     8,     9,
     1959      10,    11,    12,     0,   423,   817,   965,   428,   430,   818,
     1960     347,   347,   159,  1444,     0,     0,     0,     0,     0,   213,
     1961       0,     0,     0,     0,     0,     0,   105,    31,     0,    35,
     1962      55,    36,     0,   447,   212,   214,     0,   450,   175,   451,
     1963      37,     0,   173,   174,    40,   175,     0,     0,   466,   105,
     1964       0,    41,    42,  1018,    64,    34,   105,   829,     0,   480,
     1965      37,     0,   182,   183,    40,     0,     0,     0,     0,   487,
     1966       0,    41,    42,     0,     0,     0,     0,   430,   517,     0,
     1967     213,     0,     0,     0,     0,     0,   123,   126,   127,     0,
     1968     728,   534,   535,     0,     0,   212,   214,   698,     0,   410,
     1969     728,     0,     0,   556,     0,     0,     0,   700,     0,   105,
     1970       0,     0,     0,     0,   175,   728,     0,     0,   213,     0,
     1971       0,     0,   213,     8,     9,    10,    11,    12,     0,     0,
     1972     486,   175,     0,   212,   214,   175,     0,   212,   214,   535,
     1973       0,     0,     0,     0,     0,   258,     0,   829,   603,     0,
     1974       0,   455,    31,   506,   631,     0,     0,   253,     0,   254,
     1975       0,     0,     0,     0,     0,     0,     0,   636,     0,     0,
     1976     455,   636,    55,    55,   258,   535,     0,   460,     0,     0,
     1977      34,     0,     0,     0,   729,    37,  1388,   182,   183,    40,
     1978       0,   495,  1125,   323,     0,    55,    41,    42,   175,     0,
     1979      37,     0,   182,   183,    40,     0,     0,     0,     0,   213,
     1980       0,    41,    42,     0,     0,    55,    37,     0,   182,   183,
     1981      40,   480,   184,     0,   212,   214,     0,    41,    42,     0,
     1982       0,    37,   185,   173,   174,    40,   349,  1532,     0,   410,
     1983     395,   480,    41,    42,   870,     0,     0,  1533,     0,   480,
     1984     414,   415,     0,   184,     0,   419,     0,   421,   422,     0,
     1985     347,   347,     0,   185,     0,     0,     0,     0,   371,    55,
     1986       0,     0,     0,     0,    55,   724,     0,     0,   430,     0,
     1987     166,     0,   171,     0,     0,   177,   178,   179,     0,   181,
     1988     213,     0,     0,   738,     0,    64,     0,     0,     0,     0,
     1989       0,     0,     0,   430,   232,   212,   214,   430,    55,     8,
     1990       9,    10,    11,    12,   728,   728,   247,   248,     0,   729,
     1991       0,     0,   212,     0,     0,   455,   829,     0,     0,   729,
     1992      37,     0,   182,   183,    40,     0,   258,   349,    31,     0,
     1993     213,    41,    42,     0,   729,  1505,     0,  1509,     0,     0,
     1994       0,     0,   794,   795,   796,   212,   214,    37,     0,   173,
     1995     174,    40,     0,     0,   175,     0,    34,   264,    41,    42,
     1996       0,     0,   728,   728,     0,     0,     0,   265,     0,     0,
     1997       0,     0,  1538,   819,  1540,   347,     0,   460,     0,     0,
     1998       0,     0,     0,     0,   375,   535,     0,   175,     0,     0,
     1999       0,   636,   832,     0,   603,     0,   460,     0,   959,     0,
     2000     610,    55,     0,   175,     0,   851,     0,     0,   960,     0,
     2001       0,     0,     0,     0,     0,     0,     0,  1569,   175,  1570,
     2002       0,     0,     0,   603,    55,     0,     0,     0,   603,     0,
     2003       0,    55,  1577,  1578,   636,   339,     0,   349,   349,   349,
     2004       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2005      73,     0,     0,   213,     0,     0,   349,     0,     0,     0,
     2006    1125,     0,     0,     0,     0,     0,     0,     0,   212,   214,
     2007       0,     0,     0,     0,   724,     0,     0,     0,     0,     0,
     2008       0,   213,    73,     0,    55,   480,   213,     0,     0,     0,
     2009     258,   738,     0,     0,   938,     0,   212,   214,     0,     0,
     2010       0,   212,   214,     0,     0,     0,  1331,     0,     0,     0,
     2011       0,     0,     0,     0,     0,   175,     0,   221,     0,   535,
     2012       0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
     2013     349,     0,     0,   729,   729,     0,     0,     0,   728,   964,
     2014       0,     0,   430,     0,     0,     0,   728,   728,   728,     0,
     2015       0,   460,     0,  1125,     0,     0,     0,     0,     0,     0,
     2016       0,     0,     0,   601,   608,   994,   258,   738,     0,     0,
     2017       0,     0,   992,     0,   213,   632,   633,     0,     0,   125,
     2018     125,   125,     0,     0,     0,     0,     0,     0,   213,   212,
     2019     214,   729,   729,     0,   728,     0,     0,     0,     0,     0,
     2020       0,     0,     0,   212,   214,   352,     0,     0,     0,   724,
     2021       0,     0,   535,     0,     0,     0,     0,     0,     0,   724,
     2022       0,     0,   349,   506,   636,     0,     0,  1024,   636,   832,
     2023       0,     0,   821,   822,   724,     0,     0,     0,     0,     0,
     2024       0,     0,     0,     0,  1035,     0,     0,     0,     0,     0,
     2025     125,     0,   125,     0,     0,     0,  1125,     8,     9,    10,
     2026      11,    12,   856,     0,     0,   859,   860,     0,   863,     0,
     2027     865,   866,     0,     0,     0,   867,   868,   274,     0,   448,
     2028       0,   175,   213,     0,     0,     0,    31,     0,  1507,     0,
     2029    1507,     0,     0,     0,     0,     0,    64,   212,   214,     0,
     2030      73,     0,     0,     0,     0,    73,   412,     0,     0,     0,
     2031       0,     0,     0,   420,    34,     0,     0,     0,   636,    37,
     2032       0,   182,   183,    40,     0,  1507,     0,  1507,     0,     0,
     2033      41,    42,     0,   125,     0,  1332,     0,     0,     0,     0,
     2034       0,   125,     0,   125,   125,     0,     0,     0,   125,     0,
     2035     125,   125,     0,     0,  1117,   323,  1532,     0,   410,   943,
     2036     944,     0,   430,   116,     0,   946,  1533,   729,     0,     8,
     2037       9,    10,    11,    12,     0,   729,   729,   729,     0,     0,
     2038     349,     0,     0,     0,     0,   412,     0,     0,     0,     8,
     2039       9,    10,    11,    12,     0,     0,     0,     0,    31,     0,
     2040     221,     0,     0,     0,     0,     0,   535,     0,     0,     0,
     2041       0,     0,     0,     0,     0,   603,     0,     0,    31,     0,
     2042     125,     0,     0,   729,     0,     0,    34,     0,   428,     0,
     2043       0,    37,     0,   724,   724,    40,   349,   349,     0,     0,
     2044       0,   584,    41,    42,     0,     0,    34,   517,     0,   588,
     2045       0,    37,   591,   182,   183,    40,  1204,     0,     0,     0,
     2046       0,     0,    41,    42,     0,     0,     0,    73,    43,     0,
     2047       0,    76,     0,     0,   213,     0,     0,     0,   146,     0,
     2048       0,     0,   352,     0,     0,     0,     0,    73,   264,   212,
     2049     214,   724,   724,     0,     0,    73,     0,   636,   265,     0,
     2050       0,     0,     0,    76,     0,     0,     0,     0,     0,     0,
     2051       0,     0,     0,     0,     0,   412,     0,     0,     0,   420,
     2052       0,   352,     0,     0,  1508,     0,  1508,     0,   544,   545,
     2053     546,   547,   548,   549,   550,   551,   552,   553,   222,   352,
     2054       0,    73,     0,     0,   952,     0,   953,     0,     0,     0,
     2055       0,     0,     0,   956,   957,     0,   738,     0,   962,     0,
     2056       0,  1508,   554,  1508,   535,     8,     9,    10,    11,    12,
     2057     967,     0,     0,     0,     0,   971,     0,     0,     0,   175,
     2058       0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
     2059       0,     0,     0,     0,    31,     0,     0,     0,     0,  1301,
     2060       0,  1000,     0,     0,   412,     0,     0,     0,     0,     0,
     2061       0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
     2062       0,    64,    34,     0,     0,     0,   354,    37,     0,     0,
     2063       0,    40,     0,     0,     0,   724,     0,   738,    41,    42,
     2064       0,   116,     0,     0,     0,     0,   601,     0,   352,     0,
     2065       0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
     2066       0,     0,     0,     0,   744,     0,     0,   724,     0,   212,
     2067     214,     0,     0,     0,   745,   724,   724,   724,     0,     0,
     2068       0,     0,     0,     0,     0,     0,   349,   349,     0,     0,
     2069       0,     0,     0,   352,   352,   352,   584,   584,     0,     0,
     2070    1204,     0,     0,  1045,  1046,  1047,  1048,     0,  1050,     0,
     2071       0,     0,   352,     0,     0,     0,     0,     0,     0,     0,
     2072       0,    76,     0,   724,  1094,     0,    76,     0,     0,     0,
     2073     352,     0,     0,     0,   116,   125,   125,     0,  1100,     0,
     2074       0,    73,     0,     0,     0,     0,     0,   352,     0,  1234,
     2075       0,   213,     0,     0,     0,     0,   175,     0,     0,     0,
     2076       0,     0,     0,     0,     0,   125,   212,   214,   125,   125,
     2077       0,   125,     0,   125,   125,     0,     0,  1116,   125,   125,
     2078       0,     0,     0,    73,     0,   911,   352,     0,     0,   914,
     2079       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2080      18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
     2081       0,   349,     0,     0,     0,     0,     0,  1144,     0,    31,
     2082       0,   222,   412,   352,  1152,     0,     0,     0,     0,  1156,
     2083       0,     0,     0,     0,  1160,     0,  1161,   116,     0,     0,
     2084    1163,  1164,  1165,     0,     0,  1168,     0,    34,     0,     0,
     2085       0,     0,     0,     0,  1180,     0,     0,   125,  -294,     0,
     2086    1204,     0,   125,   125,     0,   352,     0,  1204,   125,     0,
     2087       0,     0,  1195,  1196,  1323,   352,     0,     0,   352,     0,
     2088       0,     0,     0,   221,     0,   352,     0,     0,    76,     0,
     2089     352,     0,     0,     0,     0,     0,     0,     0,     0,  1226,
     2090       0,     0,  1228,   354,     0,     0,     0,     0,    76,     0,
     2091       0,     0,     0,     0,     0,     0,    76,     0,     0,     0,
     2092    1204,     0,     0,     0,     0,     0,     0,  1557,     0,     0,
     2093       0,     0,     0,     0,     0,     0,     0,   584,     0,     0,
     2094       0,  1244,   354,     0,     0,     0,     0,  1248,  1249,     0,
     2095       0,     0,    73,     0,     0,     0,     0,     0,     0,  1260,
     2096     354,     0,    76,    78,  1264,     0,     0,  1268,     0,  1269,
     2097       0,     0,  1271,     0,     0,     0,     0,     0,     0,     0,
     2098       0,     0,     0,     0,     0,  1279,     0,     0,     0,     0,
     2099       0,     0,     0,     0,     0,    78,   281,   282,  1286,   283,
     2100    1288,  1289,  1290,  1291,   354,     0,     0,     0,     0,     0,
     2101       0,     0,     0,     0,     0,     0,  1298,     0,  1299,     0,
     2102       0,     0,   171,     0,     0,   284,     0,     0,     0,     0,
     2103     223,   649,     0,   138,   139,   286,   352,     0,   287,   650,
     2104     289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
     2105     412,  1327,  1328,   293,     0,     0,     0,     0,     0,     0,
     2106       0,     0,     0,     0,     0,     0,     0,     0,   294,   354,
     2107     651,     0,   652,   379,     0,     0,     0,   296,   380,   298,
     2108     299,   300,   301,     0,     0,     0,     0,     0,     0,   352,
     2109     352,     0,   352,   352,     0,     0,     0,     0,     0,     0,
     2110       0,     0,     0,  1363,  1364,     0,     0,     0,     0,     0,
     2111       0,     0,    73,  1374,   354,   354,   354,     0,   355,     0,
     2112       0,     0,     0,     0,     0,     0,     0,     0,     0,  1158,
     2113       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2114       0,     0,     0,     0,     0,  1170,     0,   352,   352,     0,
     2115       0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
     2116       0,     0,    76,     0,     0,  1407,     0,     0,   354,     0,
     2117       0,     0,     0,     0,     0,     0,     0,  1411,     0,  1412,
     2118    1413,  1414,   281,   282,     0,   283,     0,     0,     0,     0,
     2119       0,  1418,     0,     0,     0,     0,     0,     0,     0,     0,
     2120    1429,     0,     0,     0,    76,     0,     0,   354,     0,     0,
     2121       0,   284,   352,    78,     0,     0,  1442,   285,    78,     0,
     2122       0,   286,  1238,     0,   287,   288,   289,   290,    41,    42,
     2123       0,   291,   292,     0,     0,     0,     0,     0,    85,   293,
     2124       0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
     2125       0,     0,   125,     0,   294,   221,   378,     0,     0,   379,
     2126       0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
     2127      85,     0,  1491,  1492,     0,     0,     0,    73,     0,     0,
     2128       0,     0,     0,     0,     0,  1497,   354,     0,     0,     0,
     2129       0,   352,  1497,   352,     0,     0,   354,     0,     0,   354,
     2130       0,     0,     0,     0,   222,   224,   354,     0,     0,     0,
     2131       0,   354,     0,   223,     0,     0,     0,     0,     0,     0,
     2132       0,     0,     0,   352,     0,  1531,     0,     0,     0,  1537,
     2133       0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
     2134       0,     0,   352,   352,     0,     0,     0,     0,     0,     0,
     2135       0,     0,     0,     0,     0,     0,    73,     0,  1559,     0,
     2136    1560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2137       0,     0,     0,    76,     0,     0,     0,   125,     0,   352,
     2138      78,     0,     0,     0,     0,     0,     0,     0,  1575,  1576,
     2139       0,     0,     0,   362,     0,   355,  1579,  1580,     0,     0,
     2140      78,     0,     0,     0,     0,     0,  -519,     0,    78,     1,
     2141       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    19552142      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,
     2143      22,    23,    24,    25,   355,     0,    26,    27,    28,    29,
     2144       0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
     2145       0,     0,   355,     0,    78,     0,     0,   354,     0,     0,
     2146       0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
     2147      33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2148      38,    39,    40,     0,     0,     0,     0,     0,    85,    41,
     2149      42,     0,     0,    85,     0,     0,   355,     0,  1034,     0,
     2150       0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
     2151     354,   354,     0,   354,   354,    43,    73,    44,     0,     0,
     2152       0,     0,     0,    73,     0,    45,     0,     0,   281,   282,
     2153      31,   283,     0,    76,     0,     8,     9,    10,    11,    12,
     2154      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2155      23,    24,    25,  -295,     0,     0,     0,   284,    34,     0,
     2156       0,   355,     0,   285,    31,     0,     0,   286,   354,   354,
     2157     287,   288,   289,   290,    41,    42,    73,   291,   292,     0,
     2158       0,     0,     0,     0,     0,   293,     0,     0,   224,     0,
     2159       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
     2160     294,     0,   378,  -295,     0,     0,   355,   355,   355,   296,
     2161     827,   298,   299,   300,   301,     0,     0,     0,     0,     0,
     2162       0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
     2163       0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
     2164       0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
     2165       0,     0,     0,     0,    78,    85,     0,     0,     0,   164,
     2166     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2167     362,     0,     0,     0,     0,    85,   222,     0,   217,     0,
     2168       0,     0,     0,    85,     0,     0,     0,     0,     0,     0,
     2169       0,     0,     0,     0,     0,     0,    78,     0,    76,   355,
     2170       0,     0,     0,     0,     0,     0,     0,     0,     0,   362,
     2171       0,     0,   354,     0,   354,     0,     0,     0,     0,     0,
     2172       0,     0,     0,     0,   164,     0,     0,   362,     0,    85,
     2173     271,     0,     0,     0,     0,     0,   355,     0,     0,     0,
     2174       0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
     2175       0,     0,   354,   354,   354,     0,     0,     0,     0,   164,
     2176       0,     0,     0,   354,   354,     0,     0,     0,     0,   368,
     2177       0,   362,     0,   374,     0,     0,     0,    76,   355,     0,
     2178       0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
     2179       0,   355,     0,     0,     0,     0,   223,     0,   355,     0,
     2180     354,     0,     0,   355,     8,     9,    10,    11,    12,    13,
     2181      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2182      24,    25,   164,     0,    26,    27,    28,     0,     0,     0,
     2183       0,     0,     0,    31,   217,     0,   362,     0,     0,     0,
    20912184       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,
     2185       0,     0,   164,   461,     0,     0,     0,     0,     0,     0,
     2186       0,    34,     0,     0,     0,    78,     0,     0,   206,    39,
     2187       0,     0,     0,     0,     0,     0,   374,     0,     0,     0,
     2188       0,   362,   362,   362,   164,     0,     0,     0,   354,     0,
     2189       0,     0,     0,     0,   514,     0,   516,   519,     0,     0,
     2190     362,     0,     0,     0,   522,   523,     0,     0,   461,   516,
     2191     516,   164,     0,   270,     0,     0,     0,     0,   362,     0,
     2192       0,   516,     0,     0,     0,     0,     0,     0,     0,    85,
     2193       0,     0,     0,     0,     0,   362,     0,    76,   281,   282,
     2194       0,   283,     0,     0,    76,     0,     0,     0,     0,   355,
     2195       0,     0,     0,     0,     0,     0,     0,   516,   606,     0,
     2196       0,     0,     0,   630,     0,     0,     0,   284,     0,     0,
     2197       0,    85,     0,   285,   362,     0,     0,   286,     0,     0,
     2198     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2199       0,     0,     0,   516,     0,   293,     0,    76,     0,     0,
     2200       0,     0,   355,   355,     0,   355,   355,     0,     0,     0,
     2201     294,   362,   378,     0,     0,     0,     0,     0,   812,   296,
     2202     380,   298,   299,   300,   301,    78,     0,     0,     0,     0,
     2203       0,     0,     0,     0,     0,   210,     0,     0,     0,   164,
     2204     164,     0,     0,     0,     0,   230,   368,   234,     0,   236,
     2205       0,     0,     0,   362,     0,     0,   245,     0,     0,     0,
     2206     355,   355,     0,   362,     0,     0,   362,   461,     0,     0,
     2207     461,   224,     0,   362,     0,     0,     0,     0,   362,     0,
     2208       0,     0,     0,     0,     0,     0,     0,   210,     0,   234,
     2209     236,   245,     0,     0,     0,     0,     0,     0,     0,     0,
     2210       0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
     2211       0,     0,     0,     0,     0,   164,     0,     0,     0,     0,
     2212       0,     0,     0,     0,     0,   355,     0,   461,     0,   461,
     2213     210,     0,   461,     0,   164,   461,     0,     0,     0,     0,
     2214      85,     0,     0,     0,     0,     0,     0,   368,     0,     0,
     2215       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2216       0,     0,     0,     0,     0,     0,     0,     0,   223,     0,
     2217     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
     2218     516,   516,   516,   516,   516,   516,   516,   516,     0,     0,
     2219      78,   210,     0,   234,   236,   245,     0,     0,     0,     0,
     2220     164,     0,     0,     0,   355,     0,   355,     0,     0,     0,
     2221       0,     0,   368,   516,   606,     0,     0,   837,     0,     0,
     2222       0,     0,     0,     0,   362,     0,     0,     0,     0,   210,
     2223       0,     0,     0,   210,     0,     0,   355,     0,     0,     0,
     2224       0,     0,     0,   606,   355,   355,   355,     0,   606,   504,
     2225       0,     0,     0,     0,     0,   355,   355,   368,   368,   368,
     2226       0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
     2227       0,     0,     0,     0,     0,     0,   368,   362,   362,     0,
     2228     362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
     2229       0,     0,   355,     0,     0,     0,     0,     0,     0,   210,
     2230      85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2231       0,   741,   516,     0,     0,     0,     0,     0,     0,     0,
     2232     210,     0,     0,     0,     0,   234,   236,   155,     0,     0,
     2233       0,     0,   461,   245,   516,   362,   362,     0,     0,     0,
     2234       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2235     368,     0,   961,     8,     9,    10,    11,    12,    13,    14,
     2236      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2237      25,     0,     0,   250,     0,     0,   210,     0,     0,     0,
     2238     355,     0,    31,   255,     0,     0,     0,   741,     0,     0,
     2239       0,     0,     0,   516,   210,     0,     0,     0,     0,   210,
     2240     362,   210,     0,     0,     0,     0,     0,     0,     0,     0,
     2241      34,     0,     0,     0,     0,     0,     0,     0,   210,     0,
     2242       0,   210,   210,     0,     0,   516,     0,     0,     0,    78,
     2243       0,     0,     0,     0,     0,     0,    78,   210,     0,   155,
     2244     516,     0,   368,   224,     0,     0,   630,     0,     0,   368,
     2245       0,   210,     0,   385,     0,     0,     0,     0,   210,     0,
     2246       0,     0,     0,     0,     0,    85,     0,     0,     0,     0,
     2247       0,     0,     0,     0,     0,     0,   417,     0,     0,   362,
     2248       0,   362,     0,     0,     0,     0,     0,     0,     0,    78,
     2249     432,     0,     0,     0,     0,     0,     0,     0,     0,   437,
     2250       0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
     2251       0,   362,     0,     0,     0,     0,     0,     0,     0,   362,
     2252     362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
     2253     362,   362,     0,     0,   471,     0,     0,     0,     0,   481,
     2254       0,     0,   461,     0,    85,     0,     0,     0,     0,     0,
     2255       0,     0,   489,     0,     0,     0,     0,     0,   499,     0,
     2256     503,   461,     0,     0,     0,     0,     0,   362,     0,     0,
     2257       0,     0,     0,     0,   210,     0,     0,     0,   533,     0,
     2258       0,     0,     0,     0,   164,     0,     0,     0,     0,     0,
     2259       0,   516,     0,     0,     0,     0,     0,     0,     0,     0,
     2260     368,     0,   210,     0,     0,     0,     0,   210,     0,     0,
     2261       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2262       0,   593,   516,     0,     0,     0,   598,     0,     0,     0,
     2263       0,     0,     0,     0,   516,   606,     0,     0,     0,     0,
     2264       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2265       0,     0,     0,     0,   644,   362,   368,   368,   645,   646,
     2266       0,   648,     0,     0,     0,     0,     0,     0,   660,   661,
     2267       0,   662,   663,     0,   664,   516,   665,     0,     0,     0,
     2268       0,     0,  1178,     0,     0,     8,     9,    10,    11,    12,
     2269       0,     0,     0,   593,     0,   210,     0,     0,     0,     0,
     2270       0,   680,     0,     0,    85,     0,     0,     0,     0,   210,
     2271       0,    85,   281,   282,    31,   283,   461,     0,     0,     0,
     2272       0,     0,     0,     0,     0,     0,   691,     0,     0,   504,
     2273       0,     0,     0,     0,     0,     0,     0,   697,     0,     0,
     2274       0,   284,    34,     0,     0,     0,     0,   285,   516,     0,
     2275       0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2276     733,   291,   292,     0,    85,     0,   736,     0,     0,   293,
     2277       0,   471,     0,     0,     0,     0,   741,     0,     0,     0,
     2278       0,     0,     0,     0,   294,     0,   378,     0,     0,     0,
     2279     210,     0,   516,   296,  1179,   298,   299,   300,   301,     0,
     2280       0,     0,     0,   210,     0,     0,   516,   516,   773,     0,
     2281       0,     0,     0,     0,     0,     0,     0,     0,   217,     0,
     2282       0,     0,   210,     0,   788,     0,     0,     0,     0,     0,
     2283       0,   204,     2,   205,     4,     5,     6,     7,     8,     9,
     2284      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2285      20,    21,    22,    23,    24,    25,     0,   741,    26,    27,
     2286      28,   815,     0,     0,     0,     0,     0,    31,     0,     0,
     2287     825,     0,     0,     0,     0,     0,     0,   828,     0,     0,
     2288       0,     0,   835,     0,     0,     0,     0,     0,     0,     0,
     2289       0,     0,     0,   850,     0,    34,     0,    35,     0,    36,
     2290      37,     0,   206,    39,    40,     0,   368,   368,     0,   210,
     2291       0,    41,    42,     0,     0,   217,     0,     0,     0,     0,
     2292       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2293       0,     0,     0,     0,   890,   210,     0,    43,     0,   207,
     2294       0,     0,     0,     0,     0,     0,     0,   208,     0,     0,
     2295       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2296       0,     0,     0,   210,     0,     0,     0,     0,     0,     0,
     2297     835,     0,     0,     0,     0,     0,     8,     9,    10,    11,
     2298      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2299      22,    23,    24,    25,  -294,   210,    26,    27,    28,     0,
     2300       0,     0,     0,     0,     0,    31,   210,     0,     0,     0,
     2301       0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
     2302       0,     0,     0,     0,     0,   250,     0,     0,     0,     0,
     2303       0,   368,     0,    34,   516,   968,   969,     0,     0,     0,
     2304      38,    39,     0,     0,  -294,     0,     0,     0,     0,   986,
     2305       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2306       0,     0,     0,     0,     0,     0,  1001,     0,  1002,     0,
     2307       0,     0,  1006,     0,     0,   643,     0,   338,     0,     0,
     2308       0,     0,     0,     0,     0,   110,     0,     0,   210,   461,
     2309       0,   461,     0,     0,     0,     0,     0,     0,     0,     0,
     2310       0,     0,     0,     0,     0,     0,     0,   516,   516,     0,
     2311       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2312     281,   282,     0,   283,     0,     0,   461,     0,   461,     0,
     2313       0,     0,     0,     0,     0,     0,     0,     0,  1039,     0,
     2314       0,     0,     0,     0,     0,  1040,     0,     0,     0,   284,
     2315       0,     0,     0,     0,     0,   285,   164,     0,  1042,   286,
     2316    1043,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2317     292,     0,     0,     0,  1055,   210,     0,   293,     0,     0,
     2318       0,  1059,     0,     0,     0,     0,     0,     0,     0,     0,
     2319       0,     0,   294,  1097,   378,     0,  1098,     0,     0,   781,
     2320       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2321       0,     0,     0,     0,   598,     0,     0,     0,     0,     0,
     2322       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2323       0,     0,     0,     0,   341,   363,     0,     0,     0,     0,
     2324       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2326       0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
     2327       0,     0,   210,     0,     0,   413,     0,     1,     2,     3,
     2328       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2329      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2330      24,    25,     0,  1162,    26,    27,    28,    29,     0,     0,
     2331      30,     0,     0,    31,    32,     8,     9,    10,    11,    12,
     2332      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2333      23,    24,    25,     0,     0,    26,    27,    28,    33,     0,
     2334       0,    34,     0,    35,    31,    36,    37,   413,    38,    39,
     2335      40,     0,     0,     0,     0,     0,     0,    41,    42,   533,
     2336       0,     0,     0,     0,     0,     0,  1227,     0,     0,     0,
     2337       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2338      39,     0,     0,    43,     0,    44,     0,     0,     0,  -523,
     2339       0,     0,     0,    45,     0,   321,  1241,     0,     0,     0,
     2340       0,  1243,     0,   413,     0,   345,     0,     0,     0,  1247,
     2341       0,   413,   589,     0,   413,   592,     0,   381,   381,     0,
     2342       0,     0,     0,     0,   363,     0,     0,     0,   622,     0,
     2343       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2344    1273,     0,     0,     0,     0,     0,     0,   640,     0,     0,
     2345     341,     0,  1281,     0,     0,  1282,     0,  1283,     0,     0,
     2346     281,   282,     0,   283,     0,     0,     0,     0,     0,     0,
     2347       0,  1292,  1293,     0,     0,     0,     0,   413,     0,     0,
     2348       0,   413,     0,     0,     0,     0,     0,     0,   321,   284,
     2349       0,     0,     0,  1306,     0,   285,     0,     0,     0,   286,
     2350       0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
     2351     292,     0,   363,   485,     0,     0,     0,   293,     0,     0,
     2352    1329,     0,     0,     0,     0,     0,     0,     0,   210,     0,
     2353       0,     0,   294,     0,   378,   413,     0,   993,     0,     0,
     2354       0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
     2355       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2356       0,     0,     0,     0,     0,     0,   413,     0,     0,   363,
     2357       0,     0,     0,     0,     1,     2,   205,     4,     5,     6,
     2358       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2359      17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
     2360       0,    26,    27,    28,    29,     0,     0,    30,     0,   413,
     2361      31,     0,   341,   363,     0,     0,     0,     0,  1399,     0,
     2362    1400,     0,     0,     0,     0,     0,     0,     0,     0,   381,
     2363       0,     0,     0,  1409,     0,  1410,     0,     0,    34,     0,
     2364      35,     0,    36,     0,     0,    38,    39,     0,     0,  -294,
     2365       0,     0,     0,  1417,     0,     0,     0,     0,   413,   413,
     2366       0,     0,     0,     0,     0,     0,     0,     0,     0,  1435,
     2367    1437,     0,     0,     0,     0,     0,     0,   830,   363,     0,
     2368     363,  1443,    44,     0,  1247,     0,     0,     0,     0,   622,
     2369     110,   622,   622,     0,     0,     0,     0,     0,   622,     0,
     2370       0,     0,     0,     0,     0,     0,  1466,     0,   869,   363,
     2371       0,     0,     0,     0,   363,  1473,     0,     0,  1475,     0,
     2372    1477,  1479,  1481,   363,   363,   363,     0,     0,     0,     0,
     2373       0,   735,     0,     0,     0,     0,     0,     0,     0,     0,
     2374       0,     0,   363,     0,     0,     0,     0,   413,   912,     0,
     2375       0,   413,   915,     0,     0,     0,     0,     0,   917,     0,
     2376       0,     0,  1512,     0,  1514,     0,     0,  1247,     0,     0,
     2377     769,     0,     0,     0,     0,     0,   341,   363,   413,     0,
     2378     413,     0,  1526,   782,   413,     0,     0,     0,     0,     0,
     2379     769,     0,     0,   769,     0,     0,     0,     0,     0,     0,
     2380       0,     0,     0,     0,   792,   793,     0,     0,     0,     0,
     2381       0,     0,     0,     0,     0,     0,   363,   622,     0,     0,
     2382       0,     0,     0,     0,     0,     0,   814,     0,     0,     0,
     2383       0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
     2384       0,     0,     0,   345,     0,     0,     0,     0,   782,     0,
     2385       0,     0,   341,   363,     0,     0,     0,   413,   413,     0,
     2386       0,     0,     0,     0,     1,     2,     3,     4,     5,     6,
     2387       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2388      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2389       0,    26,    27,    28,    29,     0,     0,    30,   889,   413,
     2390      31,    32,     0,     0,     0,     0,     0,   381,   363,     0,
     2391       0,     0,     0,     0,   830,   363,     0,     0,     0,   622,
     2392       0,   622,     0,     0,     0,    33,     0,     0,    34,     0,
     2393      35,   622,    36,    37,     0,    38,    39,    40,     0,     0,
     2394       0,     0,     0,     0,    41,    42,     0,   345,     0,     0,
     2395       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2397      43,     0,    44,     0,     0,     0,     0,     0,     0,     0,
     2398      45,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2399      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2400      23,    24,    25,  -294,   830,    26,    27,    28,     0,     0,
     2401       0,     0,   413,     0,    31,     0,     0,     0,   413,     0,
     2402       0,     0,     0,   782,     0,   991,   413,     0,     0,     0,
     2403       0,   996,     0,     0,     0,     0,     0,     0,  1005,   622,
     2404     622,     0,    34,     0,     0,     0,     0,    37,     0,   336,
     2405     337,    40,     0,  -294,     0,     0,     0,     0,    41,    42,
     2406       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2407       0,     0,   413,     0,     0,     0,     0,     0,     0,     0,
     2408       0,     0,  1022,  1023,   643,   345,   338,     0,     0,     0,
     2409       0,   413,  1159,     0,   634,     0,     0,     0,     0,     0,
     2410     345,   363,     0,     0,     0,     0,     0,   413,  1171,     0,
     2411     622,   622,  1176,     0,     0,     0,     0,     0,     0,     0,
     2412       0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
     2413       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2414    1053,     0,     0,     0,   381,     1,     2,   205,     4,     5,
     2415       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2416      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2417       0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
     2418       0,    31,     0,   830,   413,  1239,     0,     0,     0,     0,
     2419       0,     0,     0,     0,     0,     0,     0,   622,     0,     0,
     2420       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2421       0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
     2422     321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2423       0,     0,     0,     0,     0,     0,  1140,  1141,     0,     0,
     2424       0,     0,   363,   381,     0,     0,     0,   281,   282,   996,
     2425     283,     0,  1150,    44,   769,     0,     0,     0,     0,     0,
     2426       0,   110,     0,     0,     0,     0,     0,     0,     0,     0,
     2427       0,     0,     0,     0,  1166,     0,   284,     0,     0,     0,
     2428       0,     0,   285,     0,     0,  1181,   286,     0,     0,   287,
     2429     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2430       0,     0,   341,     0,   293,   281,   282,   381,   283,  1199,
     2431       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
     2432       0,   378,     0,   363,   996,   996,     0,     0,   296,   380,
     2433     298,   299,   300,   301,   284,     0,     0,     0,     0,     0,
     2434     285,     0,     0,     0,   286,  1231,     0,   287,   288,   289,
     2435     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2436       0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2437       0,     0,   363,   363,     0,     0,     0,   294,     0,   378,
     2438       0,     0,     0,     0,     0,     0,   296,   734,   298,   299,
     2439     300,   301,     0,   996,     0,     0,     0,     0,     0,     0,
     2440       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2441       0,     0,   889,     0,     0,     0,     0,     0,     0,     0,
     2442       0,     0,     0,     0,     0,     0,     0,  1284,  1285,     0,
     2443       0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2444       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2445      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2446       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2447     282,    31,  1062,  1063,     0,  1064,     0,     0,  1065,  1066,
     2448    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
     2449       0,     0,     0,  1074,  1075,     0,    33,   363,   284,    34,
     2450       0,    35,     0,    36,   649,     0,    38,    39,   286,   996,
     2451       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2452       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2453       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2454       0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
     2455     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2456    1077,     0,     0,     0,  -129,     0,     0,     0,     0,     0,
     2457    1392,     0,   769,     0,     0,     0,     0,     0,     0,     0,
     2458       0,     0,     0,     0,     0,     0,     0,   413,     8,     9,
     2459      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2460      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2461      28,     0,   413,   413,     0,     0,     0,    31,     0,     0,
     2462       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2463       0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
     2464       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2465       0,     0,   206,    39,     0,     0,     0,     0,  1452,     0,
     2466       0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2467       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2468      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2469       0,     0,    26,    27,    28,    29,     0,   629,    30,   281,
     2470     282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
     2471      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2472      25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
     2473       0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
     2474    1518,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2475       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2476      34,     0,     0,     0,     0,   109,     0,    38,    39,     0,
     2477       0,   294,     0,  1076,     0,     0,    41,    42,     0,     0,
     2478     296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
     2479       0,     0,   321,     0,  -129,     1,     2,   205,     4,     5,
     2480       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2481      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2482       0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
     2483     282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
     2484      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2485      25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
     2486       0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
     2487       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2488       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2489      34,     0,     0,     0,     0,     0,     0,   206,    39,     0,
     2490       0,   294,     0,    44,     0,     0,     0,     0,     0,     0,
     2491     296,   297,   298,   299,   300,   301,     2,   205,     4,     5,
     2492       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2493      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2494       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2495     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2496       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2497       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2498       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2499       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2500       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2501       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2502       0,   294,     0,   343,     0,     0,     0,     0,   781,     0,
     2503     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2504       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2505      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2506       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2507     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2508       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2509       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2510       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2511       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2512       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2513       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2514       0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
     2515     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2516       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2517      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2518       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2519     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2520       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2521       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2522       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2523       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2524       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2525       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2526       0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
     2527     296,   600,   298,   299,   300,   301,     2,   205,     4,     5,
     2528       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2529      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2530       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2531     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2532       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2533       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2534       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2535       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2536       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2537       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2538       0,   294,     0,   343,     0,     0,     0,     0,     0,     0,
     2539     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2540       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2541      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2542       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2543     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2546       0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
     2547       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2548       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2550       0,   294,     0,   931,     0,     0,     0,     0,     0,     0,
     2551     296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
     2552       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2553      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2554       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2555     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2556       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2557       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2558       0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
     2559       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2560       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2561       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2562       0,   294,     0,  1020,     0,     0,     0,     0,     0,     0,
     2563     296,  1021,   298,   299,   300,   301,     2,   205,     4,     5,
     2564       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2565      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2566       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2567     282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
     2568       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2569       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2570       0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
     2571       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2572       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2573       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2574       0,   294,     0,   378,     0,     0,     0,     0,     0,     0,
     2575     296,   380,   298,   299,   300,   301,   204,     2,   205,     4,
     2576       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2577      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2578      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2579       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2581       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2582      34,     0,    35,     0,    36,     0,     0,   206,    39,     0,
     2583       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2584      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2585      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2586       0,     0,     0,     0,   207,    31,     0,     0,     0,     0,
     2587       0,     0,   270,     0,     0,     0,     0,     0,     0,     0,
     2588       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2589       0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2590     206,    39,    40,     0,     0,     0,     0,     0,     0,    41,
     2591      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2593       0,     0,     0,     0,     0,    43,     0,   207,     0,     0,
     2594       0,     0,     0,     0,     0,   208,     2,   205,     4,     5,
     2595       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2596      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2597       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
     2598       0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
     2599      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2600      22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
     2601       0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
     2602     205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2603      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2604      23,    24,    25,    34,     0,    26,    27,    28,   109,     0,
     2605      38,    39,  -402,   687,    31,     0,     0,     0,     0,    41,
     2606      42,   634,     0,     0,     0,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,    34,     0,    35,     0,    36,    44,     0,    38,
     2609      39,     0,     0,     0,     0,   110,     0,     0,     0,     0,
     2610       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2611       0,  1371,     0,     0,     0,     0,     0,     0,     0,     0,
     2612       0,     0,     0,     0,     0,     0,   687,     0,     0,     0,
     2613       0,     0,     0,     0,   634,     2,   205,     4,     5,     6,
     2614       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2615      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2616       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2617      31,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2618      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2619      23,    24,    25,  -294,     0,    26,    27,    28,    34,     0,
     2620      35,     0,    36,     0,    31,    38,    39,     0,     0,     0,
     2621       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2622       0,     0,     0,     0,     0,     0,     0,  1373,     0,     0,
     2623       0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
     2624     337,    40,   687,  -294,     0,     0,     0,     0,    41,    42,
     2625     634,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2626      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2627      21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
     2628       0,     0,     0,     0,   110,     0,    31,     0,     0,     0,
     2629       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2630       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2631       0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
     2632       0,   206,    39,     0,     2,   205,     4,     5,     6,     7,
     2633       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2634      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2635      26,    27,    28,     0,     0,     0,     0,     0,   269,    31,
     2636       0,     0,     0,     0,     0,     0,   629,     0,     0,     0,
     2637       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
     2639       0,    36,     0,     0,    38,    39,     0,     2,   205,     4,
     2640       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2641      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2642      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2643       0,   687,    31,     0,     0,     0,     0,     0,     0,   634,
     2644       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2645       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2646      34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
     2647       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2648      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2649      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2650       0,     0,     0,     0,   599,    31,     0,     0,     0,     0,
     2651       0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
     2652       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2653       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2654     206,    39,     8,     9,    10,    11,    12,    13,    14,    15,
     2655      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2656       0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
     2657     282,    31,   283,     0,     0,     0,     0,   207,     0,     0,
     2658       0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
     2659       0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
     2660       0,     0,     0,     0,   285,     0,    38,    39,   286,     0,
     2661       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2662       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2663       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2664       0,   294,     0,   525,     0,     0,   170,     0,     0,     0,
     2665     296,   297,   298,   299,   300,   301,     8,     9,    10,    11,
     2666      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2667      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2668       0,     0,     0,   281,   282,    31,   283,     8,     9,    10,
     2669      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2670      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2671       0,     0,   284,    34,     0,     0,    31,     0,   285,     0,
     2672      38,    39,   286,     0,     0,   287,   288,   289,   290,    41,
     2673      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2674     293,     0,     0,     0,    34,     0,     0,     0,     0,    37,
     2675       0,   336,   337,    40,     0,   294,     0,   599,    -3,     0,
     2676      41,    42,     0,     0,   296,   600,   298,   299,   300,   301,
     2677       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2678      18,    19,    20,    21,    22,    23,    24,    25,   338,     0,
     2679      26,    27,    28,     0,     0,     0,   110,   281,   282,    31,
     2680     283,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2681      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2682       0,    26,    27,    28,     0,     0,   284,    34,     0,     0,
     2683      31,   453,   649,     0,    38,    39,   286,     0,     0,   287,
     2684     288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
     2685       0,     0,     0,     0,   293,     0,     0,     0,    34,     0,
     2686       0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
     2687     -35,   766,     0,     0,     0,     0,     0,     0,   296,   297,
     2688     298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
     2689      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2690      24,    25,   454,     0,    26,    27,    28,     0,     0,     0,
     2691     110,   281,   282,    31,   283,     0,     0,     0,     0,     0,
    20972692       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,
     2693      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2694     284,    34,    26,    27,    28,     0,   285,     0,    38,    39,
     2695     286,    31,     0,   287,   288,   289,   290,    41,    42,     0,
     2696     291,   292,     0,     0,     0,     0,     0,     0,   293,     0,
     2697       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2698       0,     0,     0,   294,     0,   295,    38,    39,     0,     0,
     2699       0,     0,   296,   297,   298,   299,   300,   301,     8,     9,
     2700      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2701      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2702      28,   643,     0,   338,     0,   281,   282,    31,   283,     0,
     2703       0,   110,     0,     0,     0,     0,     8,     9,    10,    11,
     2704      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2705      22,    23,    24,    25,   284,    34,    26,    27,    28,     0,
     2706     285,     0,    38,    39,   286,    31,     0,   287,   288,   289,
     2707     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2708       0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2709       0,     0,     0,    34,     0,     0,     0,   294,     0,   156,
     2710      38,    39,     0,     0,     0,     0,   296,   297,   298,   299,
     2711     300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
     2712      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2713       0,     0,    26,    27,    28,   643,     0,   338,     0,   281,
     2714     282,    31,   283,     0,     0,   634,     0,     0,     0,     0,
     2715       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2716      18,    19,    20,    21,    22,    23,    24,    25,   284,    34,
     2717      26,    27,    28,     0,   285,     0,    38,    39,   286,    31,
     2718       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2719       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2720       0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
     2721       0,   294,     0,   599,    38,    39,     0,     0,     0,     0,
     2722     296,   600,   298,   299,   300,   301,     8,     9,    10,    11,
     2723      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2724      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2725       0,   256,     0,   281,   282,    31,   283,     0,     0,   110,
     2726       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2727      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2728      24,    25,   284,    34,    26,    27,    28,     0,   285,     0,
     2729      38,    39,   286,    31,     0,   287,   288,   289,   290,    41,
     2730      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2731     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2732       0,    34,     0,     0,     0,   294,     0,   378,    38,    39,
     2733       0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2734     474,     2,   205,     4,     5,     6,     7,     8,     9,    10,
     2735      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2736      21,    22,    23,    24,    25,   156,     0,    26,    27,    28,
     2737       0,     0,     0,   110,     0,     0,    31,     0,     0,     0,
     2738       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2739      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2740      26,    27,    28,     0,    34,     0,    35,     0,    36,    31,
     2741       0,    38,    39,     0,     0,     0,     0,     0,     8,     9,
     2742      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2743      20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
     2744      28,     0,    37,     0,    38,    39,    40,    31,     0,     0,
     2745       0,    -3,     0,    41,    42,     0,     8,     9,    10,    11,
     2746      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2747      22,    23,    24,    25,     0,    34,    26,    27,    28,    43,
     2748      37,   156,    38,    39,    40,    31,     0,     0,     0,    45,
     2749       0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
     2750      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2751      24,    25,     0,    34,    26,    27,    28,    43,    37,    44,
     2752     206,    39,    40,    31,     0,     0,     0,    45,     0,    41,
     2753      42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2754      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2755    -294,    34,    26,    27,    28,    43,    37,   269,   336,   337,
     2756      40,    31,     0,     0,     0,   208,     0,    41,    42,     0,
     2757       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2758       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2759       0,     0,     0,   643,     0,   338,    38,    39,     0,     0,
     2760    -294,     0,     0,   634,     0,     8,     9,    10,    11,    12,
     2761      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2762      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2763       0,   643,     0,   338,    31,   453,     0,     0,     0,     0,
     2764       0,   634,     0,     8,     9,    10,    11,    12,    13,    14,
     2765      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2766      25,  -294,    34,    26,    27,    28,     0,     0,     0,    38,
     2767      39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
     2768      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2769      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2770      34,     0,    31,   453,     0,     0,   454,    38,    39,     0,
     2771     711,  -294,     0,     0,   110,     0,     0,     0,     0,     0,
     2772       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2773      34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
     2774       0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
     2775       0,     0,   110,     0,     0,     8,     9,    10,    11,    12,
     2776      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2777      23,    24,    25,     0,   454,    26,    27,    28,  1109,     0,
     2778       0,     0,   110,     0,    31,   453,     8,     9,    10,    11,
     2779      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2780      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2781       0,     0,    34,     0,     0,    31,     0,     0,     0,    38,
     2782      39,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2783      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2784      24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
     2785     206,    39,     0,    31,     0,     0,   454,     0,     0,     0,
     2786    1236,     0,     0,     0,   110,     0,     0,     0,     0,     0,
     2787       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2788       0,    34,     0,     0,     0,     0,     0,   269,    38,    39,
     2789       0,     0,     0,     0,     0,   270,     0,     8,     9,    10,
     2790      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2791      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2792       0,     0,     0,     0,     0,   256,    31,     0,     0,     0,
     2793       0,     0,     0,   634,     0,     8,     9,    10,    11,    12,
     2794      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2795      23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
     2796       0,    38,    39,     0,    31,     8,     9,    10,    11,    12,
     2797      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2798      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2799       0,     0,    34,     0,    31,     0,     0,     0,   338,    38,
     2800      39,     0,     0,     0,     0,     0,   634,     0,     0,     0,
     2801       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2802       0,     0,    34,     0,     0,     0,     0,     0,     0,   206,
     2803      39,     0,     0,     0,     0,     0,   454,     0,     0,     0,
     2804       0,     0,     0,     0,   110,     0,     0,     8,     9,    10,
     2805      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2806      21,    22,    23,    24,    25,     0,   269,    26,    27,    28,
     2807       0,     0,     0,     0,   629,     0,    31,     8,     9,    10,
     2808      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2809      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2810       0,     0,     0,     0,    34,     0,    31,     0,     0,     0,
     2811       0,    38,    39,     0,     0,     8,     9,    10,    11,    12,
     2812      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2813      23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
     2814       0,    38,    39,     0,    31,     0,     0,     0,   599,     0,
     2815       0,     0,     0,     0,     0,     0,   634,     0,     0,     0,
     2816       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2817       0,     0,    34,     0,     0,     0,     0,     0,   338,    38,
     2818      39,     0,     0,     0,     0,     0,   110,     2,   205,     4,
     2819       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2820      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2821      25,     0,     0,    26,    27,    28,    44,     0,     0,     0,
     2822       0,     0,    31,     0,   110,     0,     0,     0,     0,     0,
     2823       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2824       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2825      34,     0,    35,     0,    36,     0,     0,    38,    39,   281,
     2826     282,     0,   283,  1063,     0,  1064,     0,     0,  1065,  1066,
     2827    1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1551,  1073,
     2828       0,     0,     0,  1074,  1075,     0,    33,     0,   284,     0,
     2829       0,     0,     0,  -415,   649,     0,     0,     0,   286,     0,
     2830       0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
     2831       0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
     2832       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2833       0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
     2834     296,   380,   298,   299,   300,   301,     0,     0,     0,     0,
     2835    1077,     0,   281,   282,  -129,   283,  1063,     0,  1064,     0,
     2836       0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,     0,
     2837       0,     0,  1073,     0,     0,     0,  1074,  1075,     0,    33,
     2838       0,   284,     0,     0,     0,     0,     0,   649,     0,     0,
     2839       0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
     2840       0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
     2841       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2842       0,     0,     0,     0,   294,     0,   378,     0,     0,   170,
     2843       0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
     2844       0,     0,     0,  1077,     0,     0,     0,  -129,     2,   205,
     2845       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2846      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2847      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2848       0,     0,     0,    31,     0,   281,   282,     0,   283,  1063,
     2849       0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,
     2850    1071,  1072,     0,     0,  1551,  1073,     0,     0,     0,  1074,
     2851    1075,    34,    33,    35,   284,    36,     0,     0,    38,    39,
     2852     649,     0,     0,     0,   286,     0,     0,   287,   288,   289,
     2853     290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
     2854    1330,     0,   293,     0,     0,     0,     0,     0,     0,     0,
     2855       0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
     2856       0,     0,   170,     0,     0,     0,   296,   380,   298,   299,
     2857     300,   301,     0,     0,   281,   282,  1077,   283,  1063,     0,
     2858    1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
     2859    1072,     0,     0,     0,  1073,     0,     0,     0,  1074,  1075,
     2860       0,    33,     0,   284,     0,     0,     0,     0,     0,   649,
     2861       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
     2862      41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
     2863       0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
     2864       0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
     2865       0,   170,     0,     0,     0,   296,   380,   298,   299,   300,
     2866     301,     0,     0,   281,   282,  1077,   283,  1063,     0,  1064,
     2867       0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
     2868       0,     0,     0,  1073,     0,     0,     0,  1074,  1075,     0,
     2869      33,     0,   284,     0,     0,     0,     0,     0,   649,     0,
     2870       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2871      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2872     293,   281,   282,     0,   283,     0,     0,     0,     0,     0,
     2873       0,     0,     0,     0,     0,   294,     0,   378,     0,     0,
     2874     170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2875     284,     0,     0,     0,  1077,     0,   649,     0,     0,     0,
     2876     286,     0,     0,   287,   288,   289,   290,    41,    42,     0,
     2877     291,   292,     0,     0,     0,     0,     0,     0,   293,   281,
     2878     282,     0,   283,     0,     0,     0,     0,     0,     0,     0,
     2879       0,     0,     0,   294,     0,   785,     0,     0,   281,   282,
     2880       0,   283,   296,   380,   298,   299,   300,   301,   284,     0,
     2881       0,     0,     0,     0,   285,     0,     0,     0,   286,     0,
     2882       0,   287,   288,   289,   290,    41,    42,   284,   291,   292,
     2883       0,     0,     0,   285,     0,     0,   293,   286,     0,     0,
     2884     287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
     2885       0,   294,     0,   378,     0,   293,   281,   282,     0,   283,
     2886     296,   827,   298,   299,   300,   301,     0,     0,     0,     0,
     2887     513,     0,     0,     0,     0,   281,   282,     0,   283,   296,
     2888     380,   298,   299,   300,   301,   284,     0,     0,     0,     0,
     2889       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     2890     289,   290,    41,    42,   284,   291,   292,     0,     0,     0,
     2891     285,     0,     0,   293,   286,     0,     0,   287,   288,   289,
     2892     290,    41,    42,     0,   291,   292,     0,     0,   294,     0,
     2893       0,     0,   293,   281,   282,     0,   283,   296,   380,   298,
     2894     299,   300,   301,     0,     0,     0,     0,   518,     0,     0,
     2895       0,     0,     0,     0,     0,     0,   296,   380,   298,   299,
     2896     300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
     2897       0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
     2898      42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
     2899     293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2900       0,     0,     0,     0,     0,   521,     0,     0,     0,     0,
     2901       0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
     2902       2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2903      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2904      22,    23,    24,    25,     0,     0,     0,     0,     0,     0,
     2905       0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
     2906       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2907       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2908       0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
     2909     173,   174,    40,     0,     0,     0,     0,     0,     0,    41,
     2910      42,   204,     2,   205,     4,     5,     6,     7,     8,     9,
     2911      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2912      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2913      28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
     2914       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2916       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2917       0,     0,   206,    39,   474,     2,   205,     4,     5,     6,
     2918       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2919      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2920       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2921      31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2922       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2923       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2924      35,     0,    36,     0,     0,    38,    39,     2,   205,     4,
     2925       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2926      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2927      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2928       0,     0,    31,     0,     8,     9,    10,    11,    12,    13,
     2929      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2930      24,    25,     0,     0,    26,    27,    28,   492,   493,   494,
     2931      34,     0,    35,    31,    36,     0,     0,   206,    39,     0,
     2932       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2933       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2934       0,    34,     0,     0,     0,     0,     0,     0,    38,    39
     2935};
     2936
     2937#define yypact_value_is_default(yystate) \
     2938  ((yystate) == (-1332))
     2939
     2940#define yytable_value_is_error(yytable_value) \
     2941  YYID (0)
     2942
     2943static const yytype_int16 yycheck[] =
     2944{
     2945       0,     1,     0,   203,   184,   184,   520,   698,   238,    43,
     2946     115,   184,     1,   698,    43,    43,   543,   185,   629,     0,
     2947     104,   218,   184,   280,   185,   456,   455,   698,   348,    29,
     2948      30,   184,    32,   184,    32,  1062,   184,   902,   167,   168,
     2949     609,   348,     1,    43,   656,    45,   278,    45,  1043,   611,
     2950    1006,    32,  1042,  1043,    32,    55,   497,     0,   759,   611,
     2951      28,    61,   612,    61,    64,   609,    64,    67,   618,    67,
     2952     154,   609,   499,   579,  1340,   718,   503,   999,    67,   609,
     2953     609,    81,    82,   780,   264,   264,   777,    51,   186,    32,
     2954    1421,   264,   777,   609,    82,   200,  1425,   265,   344,  1055,
     2955     529,    39,   264,   902,   265,   105,   777,     0,   108,    39,
     2956      78,   264,   417,   264,   609,   115,   264,     0,    43,    72,
     2957      43,    45,   363,   643,   644,   645,   367,   489,    44,    45,
     2958      83,    84,   437,    64,     0,    43,    82,    39,   227,    32,
     2959     445,    39,   662,    44,    45,   109,   146,    95,   146,    32,
     2960     184,     0,     1,    39,   154,   184,   184,   246,   111,   159,
     2961      63,   159,   260,   261,  1495,   111,    32,    44,    45,  1477,
     2962     109,    64,   613,   111,    85,   495,   617,  1443,   109,   109,
     2963      30,   111,   130,    32,   184,   185,   110,   185,     4,     5,
     2964       6,     7,     8,     9,  1523,   109,    39,   638,   114,  1528,
     2965     200,   642,   113,   255,  1512,    39,  1514,   109,   208,   111,
     2966     208,   294,   409,   114,   744,    64,   736,   217,    67,  1548,
     2967     220,   145,   220,   109,   902,   111,  1555,   227,   744,   132,
     2968     264,    81,    82,    96,    82,   264,   264,   405,   115,    11,
     2969     644,   645,   242,   489,   405,    82,   246,   109,  1243,   744,
     2970     250,   251,   250,    69,   511,    71,   112,   341,   662,   184,
     2971     123,   184,   110,  1062,   264,   265,   109,   265,   111,   250,
     2972     839,   271,   250,     0,     1,   109,   184,   111,   278,  1306,
     2973     117,   643,   644,   645,   208,   928,   370,   455,     0,   851,
     2974     395,   841,   251,   293,   455,   839,   114,   107,  1293,   851,
     2975     662,   839,  1292,  1293,   611,    32,     3,   250,   828,   839,
     2976     839,    82,  1009,   819,   238,   110,   132,   116,   423,   487,
     2977      32,   131,   117,   839,   429,   116,   487,   220,   328,   116,
     2978     328,    43,   736,    45,   293,   697,    82,  1259,   109,   951,
     2979      67,   132,   425,   426,   839,   132,   270,   347,   348,    61,
     2980     425,   426,    64,   116,   600,    67,   597,   250,   699,    55,
     2981      90,    91,  1227,   109,   364,   417,    72,   250,   368,   132,
     2982    1071,   220,   255,   297,   736,  1074,  1075,    83,    84,   379,
     2983     721,   109,   110,   629,   250,   437,   691,  1065,   634,   255,
     2984     959,    96,   242,   445,   109,   395,   126,   127,   960,   640,
     2985     110,   250,    72,   109,     3,   405,   116,   405,    82,   105,
     2986    1021,   773,   108,    83,    84,   959,   131,   116,   123,   676,
     2987     344,   959,  1417,   423,   828,   109,   501,  1417,  1227,   429,
     2988     513,   431,   873,    68,   146,   518,   110,    72,   521,  1466,
     2989      75,  1528,    77,   117,  1143,   520,  1473,   159,   532,    84,
     2990    1528,   697,    72,  1409,  1410,   455,   349,   121,   122,    72,
     2991     460,  1548,   132,    83,    84,   109,   828,   111,  1555,   116,
     2992      83,    84,   184,   185,   474,   119,   110,  1555,   116,   479,
     2993    1030,  1031,   699,   117,   112,   132,     0,   487,   116,   487,
     2994    1004,   491,   575,   491,   132,   495,   208,   131,   498,  1526,
     2995     500,   425,   426,     0,   721,   762,   119,  1306,   220,   938,
     2996     491,   586,   132,    88,    89,   474,   947,   946,   698,   698,
     2997     520,   217,   131,   250,   965,   698,   758,   773,   657,   379,
     2998    1142,   851,   700,    80,   417,   109,   698,   537,   250,   700,
     2999     540,   968,   542,   543,   851,   698,    72,   698,   491,  1227,
     3000     698,   417,   264,   116,   437,  1117,   109,    83,    84,   664,
     3001     110,   520,   445,   992,   111,   109,   113,   117,   666,   132,
     3002     117,   437,   115,   116,   110,   271,   211,   501,   537,   445,
     3003     116,   540,   278,   542,   543,   111,   109,   480,   131,   830,
     3004     590,   116,     3,   834,   109,   812,   520,   597,   491,    10,
     3005      11,    12,    13,    14,   109,  1306,   489,   132,   491,   609,
     3006     460,   611,   696,   116,    53,    72,   328,   598,   116,     4,
     3007       5,     6,     7,     8,     9,   491,    83,    84,    39,   132,
     3008     630,   590,   110,   116,   132,   119,   348,   978,   116,   691,
     3009     124,   125,   491,   112,   964,  1323,   646,   116,   498,   132,
     3010     500,   347,   652,   116,   111,   110,    67,    96,     0,     1,
     3011    1498,   661,   586,   663,   664,   665,  1504,  1466,   364,   132,
     3012      80,  1102,   368,   890,  1473,   129,   600,   131,   116,   116,
     3013    1042,   733,  1383,   924,    69,    72,    71,  1525,   772,   110,
     3014      32,   888,  1530,   405,   132,   132,    83,    84,   698,  1377,
     3015     700,   111,  1380,   113,   663,   629,   665,   117,   112,   109,
     3016     634,   111,   909,   713,   116,   110,   351,   112,   353,   719,
     3017     110,   116,    64,   723,   111,    67,   116,  1526,   110,   110,
     3018     132,   731,    45,   110,   116,   116,   131,   132,   631,   109,
     3019     970,   111,   110,   455,   744,   745,   112,  1425,    61,   119,
     3020     116,    64,  1430,   192,    67,   112,    72,   110,   758,   116,
     3021      76,   978,    72,   116,   491,   894,    76,    83,    84,  1470,
     3022     938,  1472,   731,    83,    84,  1021,   215,   938,   946,   491,
     3023     112,   110,  1460,   495,   116,   946,   225,    10,    11,    12,
     3024      13,    14,  1009,   109,  1135,  1322,    92,    93,   110,   109,
     3025    1162,   111,   652,   119,   116,   110,   441,    72,   691,   119,
     3026     109,   116,   111,   155,   697,   109,    39,   111,    83,    84,
     3027      10,    11,    12,    13,    14,   691,  1527,   109,   109,   111,
     3028     513,   724,   515,   146,  1034,   518,  1133,   119,   521,   839,
     3029    1137,  1532,  1059,   110,    67,   738,   159,  1532,   109,    39,
     3030     733,   851,  1193,  1194,   835,   294,   115,   116,   110,   110,
     3031     110,  1532,  1103,   713,   116,   116,   116,   733,  1546,   719,
     3032     116,   117,   185,   723,  1552,   115,  1133,    67,   220,   109,
     3033    1137,  1138,   109,   110,   111,  1563,   109,   132,   111,  1567,
     3034     773,   703,   110,   705,   894,   208,   119,   609,   116,   611,
     3035      72,   901,   902,   110,    76,   110,   111,   220,   250,   116,
     3036      64,    83,    84,   110,     1,   109,  1162,   111,  1135,   116,
     3037      72,   902,    74,    75,   924,    85,    86,    87,  1057,   109,
     3038    1292,    83,    84,    72,   630,    74,    75,   109,   938,   832,
     3039      58,    59,   110,   902,    83,    84,   946,   119,   116,   109,
     3040     646,   111,   109,   113,   114,   110,   112,   109,    45,   132,
     3041     110,   116,   114,   110,   964,   661,   116,   115,   116,   116,
     3042     109,   114,   109,   680,   111,   114,  1193,  1194,   114,    72,
     3043     969,    74,    75,    76,   984,   109,   698,   111,   700,   114,
     3044      83,    84,   109,   993,   111,   109,  1253,  1243,   109,   110,
     3045     111,  1001,   132,   442,  1004,   109,  1006,   111,    82,   902,
     3046      72,   132,    74,    75,   109,   328,   109,   104,   111,   902,
     3047    1125,    83,    84,   110,   117,   984,   119,    72,   109,    74,
     3048      75,    82,   744,   745,   116,   117,   902,   476,    83,    84,
     3049     112,   109,  1001,   111,   894,  1004,   970,  1006,   109,   110,
     3050     111,   901,   114,   902,   120,  1055,   116,   117,   145,   109,
     3051     110,   111,   758,  1404,   128,  1065,   111,   154,  1068,  1069,
     3052    1070,    58,    59,    60,   513,  1265,  1266,  1267,  1507,   518,
     3053    1421,  1062,   521,    72,  1341,    74,    75,    76,  1345,   129,
     3054     432,    94,   405,  1093,    83,    84,  1055,  1021,    44,    45,
     3055      10,    11,    12,    13,    14,   131,  1065,   111,   815,  1068,
     3056    1069,  1070,   564,   565,   566,   567,   109,   204,   825,   109,
     3057     969,   208,   110,  1206,  1207,  1125,  1209,   839,  1557,    39,
     3058     112,  1024,  1215,   840,    72,  1218,    74,    75,  1222,   851,
     3059     560,   561,   112,   993,   110,    83,    84,   562,   563,   491,
     3060     110,   238,   239,  1494,  1495,   110,    72,    67,    74,    75,
     3061      76,   110,    72,   110,    74,    75,    76,    83,    84,  1062,
     3062     568,   569,   109,    83,    84,   902,   112,   111,   131,  1062,
     3063     112,   114,   109,   270,   114,   116,   273,  1404,   114,   112,
     3064    1447,   533,   110,   109,    45,   111,  1062,   110,   112,   109,
     3065    1200,   111,   117,   119,  1421,   112,   112,   294,   112,   119,
     3066     297,    29,   117,  1062,   117,   116,  1205,   110,   110,   114,
     3067     117,   112,  1222,   110,   132,   115,   938,  1227,     3,   115,
     3068     115,   109,   116,   110,   946,    10,    11,    12,    13,    14,
     3069     679,   110,   969,  1093,   116,   110,  1227,   117,   110,   688,
     3070     110,   110,   964,   692,   341,   116,   598,   344,  1247,   110,
     3071     110,   110,     3,   110,    39,  1265,  1266,  1267,  1227,    10,
     3072      11,    12,    13,    14,   110,   110,   363,  1494,  1495,  1162,
     3073     367,   110,   110,   370,    10,    11,    12,    13,    14,   110,
     3074     110,   110,    67,   110,   110,  1400,  1379,   110,    39,    29,
     3075     115,   643,   644,   645,   131,   112,  1265,  1266,  1267,   110,
     3076     110,  1204,  1542,    39,   110,   110,   114,   116,   112,   112,
     3077     662,   110,  1322,  1323,   110,  1306,    67,   110,   116,   110,
     3078     117,   116,  1039,  1040,  1227,  1062,   116,   116,   425,   426,
     3079     112,    67,   116,   110,  1227,   110,   112,    85,    86,    87,
     3080    1200,  1340,  1532,  1532,   109,  1204,  1205,   208,   109,  1532,
     3081    1243,  1227,   109,  1322,  1323,  1533,   453,   109,   112,   456,
     3082    1532,   109,  1533,   111,   109,   113,   114,  1377,  1227,  1532,
     3083    1380,  1532,   132,   109,  1532,   111,   117,   474,   239,  1557,
     3084    1097,  1098,   115,   119,   736,   110,  1557,   110,  1247,  1399,
     3085    1400,   115,  1507,   110,   129,   115,   114,   112,  1301,  1409,
     3086    1410,   132,   499,  1306,   501,   110,   503,   116,  1377,   270,
     3087     112,  1380,   116,  1306,   112,  1425,   513,   110,   515,   110,
     3088    1430,   518,   110,   520,   521,   112,   471,   112,   112,   110,
     3089    1306,    47,   112,   294,   112,   532,   297,   112,  1448,   115,
     3090    1409,  1410,  1301,   132,  1443,   110,   132,  1306,   115,   132,
     3091    1460,   117,   110,   132,   115,   132,  1425,   112,   112,   112,
     3092     112,  1430,    72,   112,    74,    75,    76,   112,  1205,   112,
     3093     112,   110,   110,    83,    84,  1466,   828,   926,   112,  1448,
     3094     112,  1340,  1473,   835,     0,     1,   109,   109,  1532,   586,
     3095    1227,  1460,   109,  1532,  1532,    60,   110,  1507,  1508,   109,
     3096     597,   111,    55,   600,   110,   114,   132,  1517,   112,   119,
     3097    1247,   112,   117,  1523,   110,   112,    32,   110,  1528,    96,
     3098      96,   109,  1532,  1533,   109,  1533,   115,   110,   112,    45,
     3099     132,   110,   629,    42,   116,  1526,  1546,   634,  1548,  1508,
     3100     110,   110,  1552,   640,   117,  1555,   132,  1557,  1517,  1557,
     3101     902,    67,   105,  1563,  1523,   108,  1273,  1567,   132,  1528,
     3102     110,   110,    96,  1466,  1281,  1282,  1283,    96,   132,  1306,
     3103    1473,   110,   110,  1466,   132,   117,   132,  1546,   110,  1548,
     3104    1473,   112,   110,  1552,  1443,   115,  1555,   132,   104,   112,
     3105    1466,   109,   453,   115,  1563,   456,   132,  1473,  1567,   696,
     3106     115,   154,   110,  1340,    64,   110,   132,  1466,  1542,   110,
     3107     110,  1077,  1329,   571,  1473,   570,  1227,   969,   572,    64,
     3108      64,   718,   573,  1526,  1073,   574,  1495,  1385,  1567,    74,
     3109     146,  1316,  1138,  1526,   986,   680,  1473,    81,   154,   155,
     3110    1345,  1093,   705,   946,     4,     5,     6,     7,     8,     9,
     3111    1526,   748,   513,   453,   515,   471,   116,   518,   723,   453,
     3112     521,   948,   993,   590,   217,   894,   966,  1526,   658,   185,
     3113    1247,   116,   116,    33,   578,   772,   491,   758,    10,    11,
     3114      12,    13,    14,    -1,   200,   578,   748,   203,   204,   578,
     3115    1042,  1043,   208,  1399,    -1,    -1,    -1,    -1,    -1,   159,
     3116      -1,    -1,    -1,    -1,    -1,    -1,  1443,    39,    -1,    69,
     3117    1062,    71,    -1,   229,   159,   159,    -1,   233,   271,   235,
     3118      72,    -1,    74,    75,    76,   278,    -1,    -1,   244,  1466,
     3119      -1,    83,    84,   830,   250,    67,  1473,   834,    -1,   255,
     3120      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   265,
     3121      -1,    83,    84,    -1,    -1,    -1,    -1,   273,   283,    -1,
     3122     220,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
     3123     815,   296,   297,    -1,    -1,   220,   220,   109,    -1,   111,
     3124     825,    -1,    -1,   308,    -1,    -1,    -1,   119,    -1,  1526,
     3125      -1,    -1,    -1,    -1,   347,   840,    -1,    -1,   258,    -1,
     3126      -1,    -1,   262,    10,    11,    12,    13,    14,    -1,    -1,
     3127    1532,   364,    -1,   258,   258,   368,    -1,   262,   262,   344,
     3128      -1,    -1,    -1,    -1,    -1,   341,    -1,   924,   344,    -1,
     3129      -1,   928,    39,   278,   350,    -1,    -1,    97,    -1,    99,
     3130      -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,
     3131     947,   367,  1204,  1205,   370,   380,    -1,   718,    -1,    -1,
     3132      67,    -1,    -1,    -1,   680,    72,  1315,    74,    75,    76,
     3133      -1,   968,   969,   970,    -1,  1227,    83,    84,   431,    -1,
     3134      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   349,
     3135      -1,    83,    84,    -1,    -1,  1247,    72,    -1,    74,    75,
     3136      76,   417,   109,    -1,   349,   349,    -1,    83,    84,    -1,
     3137      -1,    72,   119,    74,    75,    76,   432,   109,    -1,   111,
     3138     180,   437,    83,    84,  1021,    -1,    -1,   119,    -1,   445,
     3139     190,   191,    -1,   109,    -1,   195,    -1,   197,   198,    -1,
     3140    1292,  1293,    -1,   119,    -1,    -1,    -1,    -1,   109,  1301,
     3141      -1,    -1,    -1,    -1,  1306,   471,    -1,    -1,   474,    -1,
     3142      51,    -1,    53,    -1,    -1,    56,    57,    58,    -1,    60,
     3143     430,    -1,    -1,   489,    -1,   491,    -1,    -1,    -1,    -1,
     3144      -1,    -1,    -1,   499,    75,   430,   430,   503,  1340,    10,
     3145      11,    12,    13,    14,  1039,  1040,    87,    88,    -1,   815,
     3146      -1,    -1,   447,    -1,    -1,  1102,  1103,    -1,    -1,   825,
     3147      72,    -1,    74,    75,    76,    -1,   532,   533,    39,    -1,
     3148     480,    83,    84,    -1,   840,  1474,    -1,  1476,    -1,    -1,
     3149      -1,    -1,   557,   558,   559,   480,   480,    72,    -1,    74,
     3150      75,    76,    -1,    -1,   597,    -1,    67,   109,    83,    84,
     3151      -1,    -1,  1097,  1098,    -1,    -1,    -1,   119,    -1,    -1,
     3152      -1,    -1,  1511,   579,  1513,  1417,    -1,   928,    -1,    -1,
     3153      -1,    -1,    -1,    -1,   109,   600,    -1,   630,    -1,    -1,
     3154      -1,   597,   598,    -1,   600,    -1,   947,    -1,   109,    -1,
     3155     111,  1443,    -1,   646,    -1,   611,    -1,    -1,   119,    -1,
     3156      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,   661,  1558,
     3157      -1,    -1,    -1,   629,  1466,    -1,    -1,    -1,   634,    -1,
     3158      -1,  1473,  1571,  1572,   640,  1222,    -1,   643,   644,   645,
     3159      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3160       0,    -1,    -1,   603,    -1,    -1,   662,    -1,    -1,    -1,
     3161    1247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   603,
     3162      -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,
     3163      -1,   631,    32,    -1,  1526,   691,   636,    -1,    -1,    -1,
     3164     696,   697,    -1,    -1,   700,    -1,   631,   631,    -1,    -1,
     3165      -1,   636,   636,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
     3166      -1,    -1,    -1,    -1,    -1,   758,    -1,    67,    -1,   734,
     3167      -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,
     3168     736,    -1,    -1,  1039,  1040,    -1,    -1,    -1,  1273,   745,
     3169      -1,    -1,   748,    -1,    -1,    -1,  1281,  1282,  1283,    -1,
     3170      -1,  1102,    -1,  1340,    -1,    -1,    -1,    -1,    -1,    -1,
     3171      -1,    -1,    -1,   344,   345,   780,   772,   773,    -1,    -1,
     3172      -1,    -1,   778,    -1,   724,   356,   357,    -1,    -1,    26,
     3173      27,    28,    -1,    -1,    -1,    -1,    -1,    -1,   738,   724,
     3174     724,  1097,  1098,    -1,  1329,    -1,    -1,    -1,    -1,    -1,
     3175      -1,    -1,    -1,   738,   738,   155,    -1,    -1,    -1,   815,
     3176      -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,   825,
     3177      -1,    -1,   828,   758,   830,    -1,    -1,   833,   834,   835,
     3178      -1,    -1,   582,   583,   840,    -1,    -1,    -1,    -1,    -1,
     3179      -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,    -1,    -1,
     3180      97,    -1,    99,    -1,    -1,    -1,  1443,    10,    11,    12,
     3181      13,    14,   612,    -1,    -1,   615,   616,    -1,   618,    -1,
     3182     620,   621,    -1,    -1,    -1,   625,   626,   124,    -1,   229,
     3183      -1,   924,   832,    -1,    -1,    -1,    39,    -1,  1475,    -1,
     3184    1477,    -1,    -1,    -1,    -1,    -1,   902,   832,   832,    -1,
     3185     250,    -1,    -1,    -1,    -1,   255,   188,    -1,    -1,    -1,
     3186      -1,    -1,    -1,   195,    67,    -1,    -1,    -1,   924,    72,
     3187      -1,    74,    75,    76,    -1,  1512,    -1,  1514,    -1,    -1,
     3188      83,    84,    -1,   180,    -1,  1241,    -1,    -1,    -1,    -1,
     3189      -1,   188,    -1,   190,   191,    -1,    -1,    -1,   195,    -1,
     3190     197,   198,    -1,    -1,   960,  1542,   109,    -1,   111,   709,
     3191     710,    -1,   968,   969,    -1,   715,   119,  1273,    -1,    10,
     3192      11,    12,    13,    14,    -1,  1281,  1282,  1283,    -1,    -1,
     3193     986,    -1,    -1,    -1,    -1,   267,    -1,    -1,    -1,    10,
     3194      11,    12,    13,    14,    -1,    -1,    -1,    -1,    39,    -1,
     3195     350,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    -1,
     3196      -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    39,    -1,
     3197     267,    -1,    -1,  1329,    -1,    -1,    67,    -1,  1034,    -1,
     3198      -1,    72,    -1,  1039,  1040,    76,  1042,  1043,    -1,    -1,
     3199      -1,   323,    83,    84,    -1,    -1,    67,  1062,    -1,   331,
     3200      -1,    72,   334,    74,    75,    76,  1062,    -1,    -1,    -1,
     3201      -1,    -1,    83,    84,    -1,    -1,    -1,   417,   109,    -1,
     3202      -1,     0,    -1,    -1,  1024,    -1,    -1,    -1,   119,    -1,
     3203      -1,    -1,   432,    -1,    -1,    -1,    -1,   437,   109,  1024,
     3204    1024,  1097,  1098,    -1,    -1,   445,    -1,  1103,   119,    -1,
     3205      -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3206      -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,    -1,   401,
     3207      -1,   471,    -1,    -1,  1475,    -1,  1477,    -1,    97,    98,
     3208      99,   100,   101,   102,   103,   104,   105,   106,    67,   489,
     3209      -1,   491,    -1,    -1,   725,    -1,   727,    -1,    -1,    -1,
     3210      -1,    -1,    -1,   734,   735,    -1,  1162,    -1,   739,    -1,
     3211      -1,  1512,   131,  1514,  1179,    10,    11,    12,    13,    14,
     3212     751,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,  1222,
     3213      -1,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,    -1,
     3214      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,  1205,
     3215      -1,   782,    -1,    -1,   486,    -1,    -1,    -1,    -1,    -1,
     3216      -1,    -1,    -1,    -1,    -1,    -1,  1222,    -1,    -1,    -1,
     3217      -1,  1227,    67,    -1,    -1,    -1,   155,    72,    -1,    -1,
     3218      -1,    76,    -1,    -1,    -1,  1241,    -1,  1243,    83,    84,
     3219      -1,  1247,    -1,    -1,    -1,    -1,   827,    -1,   598,    -1,
     3220      -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
     3221      -1,    -1,    -1,    -1,   109,    -1,    -1,  1273,    -1,  1204,
     3222    1204,    -1,    -1,    -1,   119,  1281,  1282,  1283,    -1,    -1,
     3223      -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    -1,
     3224      -1,    -1,    -1,   643,   644,   645,   578,   579,    -1,    -1,
     3225    1306,    -1,    -1,   884,   885,   886,   887,    -1,   889,    -1,
     3226      -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3227      -1,   250,    -1,  1329,   905,    -1,   255,    -1,    -1,    -1,
     3228     680,    -1,    -1,    -1,  1340,   582,   583,    -1,   919,    -1,
     3229      -1,   691,    -1,    -1,    -1,    -1,    -1,   697,    -1,  1099,
     3230      -1,  1301,    -1,    -1,    -1,    -1,  1399,    -1,    -1,    -1,
     3231      -1,    -1,    -1,    -1,    -1,   612,  1301,  1301,   615,   616,
     3232      -1,   618,    -1,   620,   621,    -1,    -1,   958,   625,   626,
     3233      -1,    -1,    -1,   733,    -1,   667,   736,    -1,    -1,   671,
     3234      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3235      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3236      -1,  1417,    -1,    -1,    -1,    -1,    -1,   998,    -1,    39,
     3237      -1,   350,   704,   773,  1005,    -1,    -1,    -1,    -1,  1010,
     3238      -1,    -1,    -1,    -1,  1015,    -1,  1017,  1443,    -1,    -1,
     3239    1021,  1022,  1023,    -1,    -1,  1026,    -1,    67,    -1,    -1,
     3240      -1,    -1,    -1,    -1,  1035,    -1,    -1,   704,    78,    -1,
     3241    1466,    -1,   709,   710,    -1,   815,    -1,  1473,   715,    -1,
     3242      -1,    -1,  1053,  1054,  1224,   825,    -1,    -1,   828,    -1,
     3243      -1,    -1,    -1,   833,    -1,   835,    -1,    -1,   417,    -1,
     3244     840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1080,
     3245      -1,    -1,  1083,   432,    -1,    -1,    -1,    -1,   437,    -1,
     3246      -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,    -1,
     3247    1526,    -1,    -1,    -1,    -1,    -1,    -1,  1533,    -1,    -1,
     3248      -1,    -1,    -1,    -1,    -1,    -1,    -1,   819,    -1,    -1,
     3249      -1,  1122,   471,    -1,    -1,    -1,    -1,  1128,  1129,    -1,
     3250      -1,    -1,   902,    -1,    -1,    -1,    -1,    -1,    -1,  1140,
     3251     489,    -1,   491,     0,  1145,    -1,    -1,  1148,    -1,  1150,
     3252      -1,    -1,  1153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3253      -1,    -1,    -1,    -1,    -1,  1166,    -1,    -1,    -1,    -1,
     3254      -1,    -1,    -1,    -1,    -1,    32,    37,    38,  1179,    40,
     3255    1181,  1182,  1183,  1184,   533,    -1,    -1,    -1,    -1,    -1,
     3256      -1,    -1,    -1,    -1,    -1,    -1,  1197,    -1,  1199,    -1,
     3257      -1,    -1,  1203,    -1,    -1,    66,    -1,    -1,    -1,    -1,
     3258      67,    72,    -1,    74,    75,    76,   986,    -1,    79,    80,
     3259      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3260     932,  1232,  1233,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3261      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   598,
     3262     111,    -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,
     3263     121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,  1039,
     3264    1040,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
     3265      -1,    -1,    -1,  1284,  1285,    -1,    -1,    -1,    -1,    -1,
     3266      -1,    -1,  1062,  1294,   643,   644,   645,    -1,   155,    -1,
     3267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1011,
     3268      -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,
     3269      -1,    -1,    -1,    -1,    -1,  1027,    -1,  1097,  1098,    -1,
     3270      -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3271      -1,    -1,   691,    -1,    -1,  1346,    -1,    -1,   697,    -1,
     3272      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1358,    -1,  1360,
     3273    1361,  1362,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     3274      -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3275    1381,    -1,    -1,    -1,   733,    -1,    -1,   736,    -1,    -1,
     3276      -1,    66,  1162,   250,    -1,    -1,  1397,    72,   255,    -1,
     3277      -1,    76,  1104,    -1,    79,    80,    81,    82,    83,    84,
     3278      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,     0,    94,
     3279      -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,
     3280      -1,    -1,  1099,    -1,   109,  1205,   111,    -1,    -1,   114,
     3281      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3282      32,    -1,  1453,  1454,    -1,    -1,    -1,  1227,    -1,    -1,
     3283      -1,    -1,    -1,    -1,    -1,  1466,   815,    -1,    -1,    -1,
     3284      -1,  1241,  1473,  1243,    -1,    -1,   825,    -1,    -1,   828,
     3285      -1,    -1,    -1,    -1,   833,    67,   835,    -1,    -1,    -1,
     3286      -1,   840,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,
     3287      -1,    -1,    -1,  1273,    -1,  1506,    -1,    -1,    -1,  1510,
     3288      -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,
     3289      -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,    -1,    -1,
     3290      -1,    -1,    -1,    -1,    -1,    -1,  1306,    -1,  1539,    -1,
     3291    1541,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3292      -1,    -1,    -1,   902,    -1,    -1,    -1,  1224,    -1,  1329,
     3293     417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,  1570,
     3294      -1,    -1,    -1,   155,    -1,   432,  1577,  1578,    -1,    -1,
     3295     437,    -1,    -1,    -1,    -1,    -1,     0,    -1,   445,     3,
     3296       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3297      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3298      24,    25,    26,    27,   471,    -1,    30,    31,    32,    33,
     3299      -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
     3300      -1,    -1,   489,    -1,   491,    -1,    -1,   986,    -1,    -1,
     3301      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1417,    -1,    -1,
     3302      64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     3303      74,    75,    76,    -1,    -1,    -1,    -1,    -1,   250,    83,
     3304      84,    -1,    -1,   255,    -1,    -1,   533,    -1,     7,    -1,
     3305      -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
     3306    1039,  1040,    -1,  1042,  1043,   109,  1466,   111,    -1,    -1,
     3307      -1,    -1,    -1,  1473,    -1,   119,    -1,    -1,    37,    38,
     3308      39,    40,    -1,  1062,    -1,    10,    11,    12,    13,    14,
     3309      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3310      25,    26,    27,    28,    -1,    -1,    -1,    66,    67,    -1,
     3311      -1,   598,    -1,    72,    39,    -1,    -1,    76,  1097,  1098,
     3312      79,    80,    81,    82,    83,    84,  1526,    86,    87,    -1,
     3313      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,   350,    -1,
     3314      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3315     109,    -1,   111,    78,    -1,    -1,   643,   644,   645,   118,
     3316     119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
     3317      -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,
     3318      -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
     3319      -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,
     3320      -1,    -1,    -1,    -1,   691,   417,    -1,    -1,    -1,    45,
     3321     697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3322     432,    -1,    -1,    -1,    -1,   437,  1205,    -1,    64,    -1,
     3323      -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,
     3324      -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,  1227,   736,
     3325      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,
     3326      -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,    -1,    -1,
     3327      -1,    -1,    -1,    -1,   110,    -1,    -1,   489,    -1,   491,
     3328     116,    -1,    -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,
     3329      -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
     3330      -1,    -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,   145,
     3331      -1,    -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,   155,
     3332      -1,   533,    -1,   159,    -1,    -1,    -1,  1306,   815,    -1,
     3333      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,
     3334      -1,   828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,
     3335    1329,    -1,    -1,   840,    10,    11,    12,    13,    14,    15,
     3336      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3337      26,    27,   208,    -1,    30,    31,    32,    -1,    -1,    -1,
     3338      -1,    -1,    -1,    39,   220,    -1,   598,    -1,    -1,    -1,
     3339      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3340      -1,    -1,   238,   239,    -1,    -1,    -1,    -1,    -1,    -1,
     3341      -1,    67,    -1,    -1,    -1,   902,    -1,    -1,    74,    75,
     3342      -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,    -1,
     3343      -1,   643,   644,   645,   270,    -1,    -1,    -1,  1417,    -1,
     3344      -1,    -1,    -1,    -1,   281,    -1,   283,   284,    -1,    -1,
     3345     662,    -1,    -1,    -1,   291,   292,    -1,    -1,   294,   296,
     3346     297,   297,    -1,   119,    -1,    -1,    -1,    -1,   680,    -1,
     3347      -1,   308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
     3348      -1,    -1,    -1,    -1,    -1,   697,    -1,  1466,    37,    38,
     3349      -1,    40,    -1,    -1,  1473,    -1,    -1,    -1,    -1,   986,
     3350      -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,   344,    -1,
     3351      -1,    -1,    -1,   349,    -1,    -1,    -1,    66,    -1,    -1,
     3352      -1,   733,    -1,    72,   736,    -1,    -1,    76,    -1,    -1,
     3353      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3354      -1,    -1,    -1,   380,    -1,    94,    -1,  1526,    -1,    -1,
     3355      -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,    -1,    -1,
     3356     109,   773,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
     3357     119,   120,   121,   122,   123,  1062,    -1,    -1,    -1,    -1,
     3358      -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,   425,
     3359     426,    -1,    -1,    -1,    -1,    74,   432,    76,    -1,    78,
     3360      -1,    -1,    -1,   815,    -1,    -1,    85,    -1,    -1,    -1,
     3361    1097,  1098,    -1,   825,    -1,    -1,   828,   453,    -1,    -1,
     3362     456,   833,    -1,   835,    -1,    -1,    -1,    -1,   840,    -1,
     3363      -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,   118,
     3364     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3365      -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,
     3366      -1,    -1,    -1,    -1,    -1,   501,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    -1,    -1,    -1,  1162,    -1,   513,    -1,   515,
     3368     159,    -1,   518,    -1,   520,   521,    -1,    -1,    -1,    -1,
     3369     902,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,    -1,
     3370      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3371      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,
     3372     557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
     3373     567,   568,   569,   570,   571,   572,   573,   574,    -1,    -1,
     3374    1227,   220,    -1,   222,   223,   224,    -1,    -1,    -1,    -1,
     3375     586,    -1,    -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,
     3376      -1,    -1,   598,   600,   600,    -1,    -1,   603,    -1,    -1,
     3377      -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,   258,
     3378      -1,    -1,    -1,   262,    -1,    -1,  1273,    -1,    -1,    -1,
     3379      -1,    -1,    -1,   629,  1281,  1282,  1283,    -1,   634,   278,
     3380      -1,    -1,    -1,    -1,    -1,  1292,  1293,   643,   644,   645,
     3381      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1306,
     3382      -1,    -1,    -1,    -1,    -1,    -1,   662,  1039,  1040,    -1,
     3383    1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3384      -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,   328,
     3385    1062,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3386      -1,   697,   699,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3387     349,    -1,    -1,    -1,    -1,   354,   355,    44,    -1,    -1,
     3388      -1,    -1,   718,   362,   721,  1097,  1098,    -1,    -1,    -1,
     3389      -1,    -1,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,
     3390     736,    -1,   738,    10,    11,    12,    13,    14,    15,    16,
     3391      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3392      27,    -1,    -1,    90,    -1,    -1,   405,    -1,    -1,    -1,
     3393    1417,    -1,    39,   100,    -1,    -1,    -1,   773,    -1,    -1,
     3394      -1,    -1,    -1,   780,   423,    -1,    -1,    -1,    -1,   428,
     3395    1162,   430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3396      67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,
     3397      -1,   450,   451,    -1,    -1,   812,    -1,    -1,    -1,  1466,
     3398      -1,    -1,    -1,    -1,    -1,    -1,  1473,   466,    -1,   156,
     3399     827,    -1,   828,  1205,    -1,    -1,   832,    -1,    -1,   835,
     3400      -1,   480,    -1,   170,    -1,    -1,    -1,    -1,   487,    -1,
     3401      -1,    -1,    -1,    -1,    -1,  1227,    -1,    -1,    -1,    -1,
     3402      -1,    -1,    -1,    -1,    -1,    -1,   193,    -1,    -1,  1241,
     3403      -1,  1243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,
     3404     207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,
     3405      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     3406      -1,  1273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1281,
     3407    1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3408    1292,  1293,    -1,    -1,   251,    -1,    -1,    -1,    -1,   256,
     3409      -1,    -1,   928,    -1,  1306,    -1,    -1,    -1,    -1,    -1,
     3410      -1,    -1,   269,    -1,    -1,    -1,    -1,    -1,   275,    -1,
     3411     277,   947,    -1,    -1,    -1,    -1,    -1,  1329,    -1,    -1,
     3412      -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,   295,    -1,
     3413      -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,    -1,
     3414      -1,   978,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3415     986,    -1,   631,    -1,    -1,    -1,    -1,   636,    -1,    -1,
     3416      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3417      -1,   338,  1009,    -1,    -1,    -1,   343,    -1,    -1,    -1,
     3418      -1,    -1,    -1,    -1,  1021,  1021,    -1,    -1,    -1,    -1,
     3419      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3420      -1,    -1,    -1,    -1,   371,  1417,  1042,  1043,   375,   376,
     3421      -1,   378,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,
     3422      -1,   388,   389,    -1,   391,  1062,   393,    -1,    -1,    -1,
     3423      -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
     3424      -1,    -1,    -1,   410,    -1,   724,    -1,    -1,    -1,    -1,
     3425      -1,   418,    -1,    -1,  1466,    -1,    -1,    -1,    -1,   738,
     3426      -1,  1473,    37,    38,    39,    40,  1102,    -1,    -1,    -1,
     3427      -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,   758,
     3428      -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,
     3429      -1,    66,    67,    -1,    -1,    -1,    -1,    72,  1135,    -1,
     3430      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3431     477,    86,    87,    -1,  1526,    -1,   483,    -1,    -1,    94,
     3432      -1,   488,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
     3434     819,    -1,  1179,   118,   119,   120,   121,   122,   123,    -1,
     3435      -1,    -1,    -1,   832,    -1,    -1,  1193,  1194,   525,    -1,
     3436      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,
     3437      -1,    -1,   851,    -1,   541,    -1,    -1,    -1,    -1,    -1,
     3438      -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3439      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3440      22,    23,    24,    25,    26,    27,    -1,  1243,    30,    31,
     3441      32,   578,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     3442     587,    -1,    -1,    -1,    -1,    -1,    -1,   594,    -1,    -1,
     3443      -1,    -1,   599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3444      -1,    -1,    -1,   610,    -1,    67,    -1,    69,    -1,    71,
     3445      72,    -1,    74,    75,    76,    -1,  1292,  1293,    -1,   938,
     3446      -1,    83,    84,    -1,    -1,  1301,    -1,    -1,    -1,    -1,
     3447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,   651,   964,    -1,   109,    -1,   111,
     3449      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
     3450      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3451      -1,    -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,
     3452     687,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3453      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3454      24,    25,    26,    27,    28,  1024,    30,    31,    32,    -1,
     3455      -1,    -1,    -1,    -1,    -1,    39,  1035,    -1,    -1,    -1,
     3456      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1404,    -1,    -1,
     3457      -1,    -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,
     3458      -1,  1417,    -1,    67,  1421,   752,   753,    -1,    -1,    -1,
     3459      74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,   766,
     3460      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,    -1,   783,    -1,   785,    -1,
     3462      -1,    -1,   789,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3463      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,  1117,  1475,
     3464      -1,  1477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3465      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1494,  1495,    -1,
     3466      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3467      37,    38,    -1,    40,    -1,    -1,  1512,    -1,  1514,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   855,    -1,
     3469      -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    66,
     3470      -1,    -1,    -1,    -1,    -1,    72,  1542,    -1,   875,    76,
     3471     877,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3472      87,    -1,    -1,    -1,   891,  1204,    -1,    94,    -1,    -1,
     3473      -1,   898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3474      -1,    -1,   109,   910,   111,    -1,   913,    -1,    -1,   116,
     3475      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3476      -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
     3477      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3478      -1,    -1,    -1,    -1,   154,   155,    -1,    -1,    -1,    -1,
     3479      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3481      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,
     3482      -1,    -1,  1301,    -1,    -1,   195,    -1,     3,     4,     5,
     3483       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3484      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3485      26,    27,    -1,  1020,    30,    31,    32,    33,    -1,    -1,
     3486      36,    -1,    -1,    39,    40,    10,    11,    12,    13,    14,
     3487      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3488      25,    26,    27,    -1,    -1,    30,    31,    32,    64,    -1,
     3489      -1,    67,    -1,    69,    39,    71,    72,   267,    74,    75,
     3490      76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,  1076,
     3491      -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,    -1,    -1,
     3492      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3493      75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,   115,
     3494      -1,    -1,    -1,   119,    -1,   145,  1113,    -1,    -1,    -1,
     3495      -1,  1118,    -1,   323,    -1,   155,    -1,    -1,    -1,  1126,
     3496      -1,   331,   332,    -1,   334,   335,    -1,   167,   168,    -1,
     3497      -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,   348,    -1,
     3498      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3499    1157,    -1,    -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,
     3500     370,    -1,  1169,    -1,    -1,  1172,    -1,  1174,    -1,    -1,
     3501      37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
     3502      -1,  1188,  1189,    -1,    -1,    -1,    -1,   397,    -1,    -1,
     3503      -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,   238,    66,
     3504      -1,    -1,    -1,  1210,    -1,    72,    -1,    -1,    -1,    76,
     3505      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3506      87,    -1,   432,   263,    -1,    -1,    -1,    94,    -1,    -1,
     3507    1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,
     3508      -1,    -1,   109,    -1,   111,   455,    -1,   114,    -1,    -1,
     3509      -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
     3510      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3511      -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,    -1,   489,
     3512      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    21053513       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,
     3514      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3515      -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,   529,
     3516      39,    -1,   532,   533,    -1,    -1,    -1,    -1,  1335,    -1,
     3517    1337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   379,
     3518      -1,    -1,    -1,  1350,    -1,  1352,    -1,    -1,    67,    -1,
     3519      69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,
     3520      -1,    -1,    -1,  1370,    -1,    -1,    -1,    -1,   578,   579,
     3521      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1386,
     3522    1387,    -1,    -1,    -1,    -1,    -1,    -1,   597,   598,    -1,
     3523     600,  1398,   111,    -1,  1401,    -1,    -1,    -1,    -1,   609,
     3524     119,   611,   612,    -1,    -1,    -1,    -1,    -1,   618,    -1,
     3525      -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   628,   629,
     3526      -1,    -1,    -1,    -1,   634,  1432,    -1,    -1,  1435,    -1,
     3527    1437,  1438,  1439,   643,   644,   645,    -1,    -1,    -1,    -1,
     3528      -1,   481,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3529      -1,    -1,   662,    -1,    -1,    -1,    -1,   667,   668,    -1,
     3530      -1,   671,   672,    -1,    -1,    -1,    -1,    -1,   678,    -1,
     3531      -1,    -1,  1479,    -1,  1481,    -1,    -1,  1484,    -1,    -1,
     3532     520,    -1,    -1,    -1,    -1,    -1,   696,   697,   698,    -1,
     3533     700,    -1,  1499,   533,   704,    -1,    -1,    -1,    -1,    -1,
     3534     540,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
     3535      -1,    -1,    -1,    -1,   554,   555,    -1,    -1,    -1,    -1,
     3536      -1,    -1,    -1,    -1,    -1,    -1,   736,   737,    -1,    -1,
     3537      -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
     3538      -1,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,
     3539      -1,    -1,    -1,   593,    -1,    -1,    -1,    -1,   598,    -1,
     3540      -1,    -1,   772,   773,    -1,    -1,    -1,   777,   778,    -1,
     3541      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
     3542       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3543      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3544      -1,    30,    31,    32,    33,    -1,    -1,    36,   648,   819,
     3545      39,    40,    -1,    -1,    -1,    -1,    -1,   657,   828,    -1,
     3546      -1,    -1,    -1,    -1,   834,   835,    -1,    -1,    -1,   839,
     3547      -1,   841,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
     3548      69,   851,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3549      -1,    -1,    -1,    -1,    83,    84,    -1,   697,    -1,    -1,
     3550      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3551      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3552     109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3553     119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3554      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3555      25,    26,    27,    28,   924,    30,    31,    32,    -1,    -1,
     3556      -1,    -1,   932,    -1,    39,    -1,    -1,    -1,   938,    -1,
     3557      -1,    -1,    -1,   773,    -1,   775,   946,    -1,    -1,    -1,
     3558      -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,   788,   959,
     3559     960,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3560      75,    76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,
     3561      -1,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,
     3562      -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3563      -1,    -1,   832,   833,   109,   835,   111,    -1,    -1,    -1,
     3564      -1,  1011,  1012,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3565     850,  1021,    -1,    -1,    -1,    -1,    -1,  1027,  1028,    -1,
     3566    1030,  1031,  1032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3567      -1,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3569     890,    -1,    -1,    -1,   894,     3,     4,     5,     6,     7,
     3570       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3571      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3572      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
     3573      -1,    39,    -1,  1103,  1104,  1105,    -1,    -1,    -1,    -1,
     3574      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,    -1,    -1,
     3575      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3576      -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
     3577     970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3578      -1,    -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,
     3579      -1,    -1,  1162,   993,    -1,    -1,    -1,    37,    38,   999,
     3580      40,    -1,  1002,   111,  1004,    -1,    -1,    -1,    -1,    -1,
     3581      -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3582      -1,    -1,    -1,    -1,  1024,    -1,    66,    -1,    -1,    -1,
     3583      -1,    -1,    72,    -1,    -1,  1035,    76,    -1,    -1,    79,
     3584      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3585      -1,    -1,  1222,    -1,    94,    37,    38,  1057,    40,  1059,
     3586      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
     3587      -1,   111,    -1,  1243,  1074,  1075,    -1,    -1,   118,   119,
     3588     120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,    -1,
     3589      72,    -1,    -1,    -1,    76,  1095,    -1,    79,    80,    81,
     3590      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3591      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3592      -1,    -1,  1292,  1293,    -1,    -1,    -1,   109,    -1,   111,
     3593      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     3594     122,   123,    -1,  1143,    -1,    -1,    -1,    -1,    -1,    -1,
     3595      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3596      -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3597      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,  1178,    -1,
     3598      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3599       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3600      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3601      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3602      38,    39,    40,    41,    -1,    43,    -1,    -1,    46,    47,
     3603      48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
     3604      -1,    -1,    -1,    61,    62,    -1,    64,  1417,    66,    67,
     3605      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1259,
     3606      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3607      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3608      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3609      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3610     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3611     128,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,
     3612    1320,    -1,  1322,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1507,    10,    11,
     3614      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3615      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3616      32,    -1,  1532,  1533,    -1,    -1,    -1,    39,    -1,    -1,
     3617      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3618      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,    -1,
     3619      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3620      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1408,    -1,
     3621      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3622       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3623      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3624      -1,    -1,    30,    31,    32,    33,    -1,   119,    36,    37,
     3625      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
     3626      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3627      27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
     3628      -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
     3629    1490,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3630      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3631      67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
     3632      -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,    -1,
     3633     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3634      -1,    -1,  1542,    -1,   132,     3,     4,     5,     6,     7,
     3635       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3636      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3637      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3638      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
     3639      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3640      27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
     3641      -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
     3642      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3643      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3644      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3645      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3646     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3647       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3648      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3649      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3650      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3652      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3653      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3654      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3655      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3656      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3657      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3658     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3659       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3660      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3661      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3662      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3663      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3664      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3665      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3666      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3667      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3668      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3669      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3670     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3671       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3672      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3673      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3674      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3675      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3676      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3677      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3678      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3679      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3680      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3681      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
     3682     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3683       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3684      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3685      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3686      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3687      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3688      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3689      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3690      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3691      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3692      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3694     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3695       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3696      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3697      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3698      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3700      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3701      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3702      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3703      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3704      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3705      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3706     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3707       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3708      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3709      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3710      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3712      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3713      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3714      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3715      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3717      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3718     118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
     3719       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3720      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3721      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3722      38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3723      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3724      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3725      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3726      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3727      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3729      -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
     3730     118,   119,   120,   121,   122,   123,     3,     4,     5,     6,
     3731       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3732      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3733      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3735      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3736      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3737      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3738       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3739      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3740      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3741      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3742      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3743      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3744      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     3745      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     3746      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3747      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3748      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     3749      -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,
     3750       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3751      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3752      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3753      -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3754      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3755      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
     3756      -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
     3757       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3758      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3759      25,    26,    27,    67,    -1,    30,    31,    32,    72,    -1,
     3760      74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,    83,
     3761      84,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3762      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3763      -1,    -1,    67,    -1,    69,    -1,    71,   111,    -1,    74,
     3764      75,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3765      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3766      -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3767      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3768      -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,     8,
     3769       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3770      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3771      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3773      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3774      25,    26,    27,    28,    -1,    30,    31,    32,    67,    -1,
     3775      69,    -1,    71,    -1,    39,    74,    75,    -1,    -1,    -1,
     3776      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3777      -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
     3778      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
     3779      75,    76,   111,    78,    -1,    -1,    -1,    -1,    83,    84,
     3780     119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3781      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3782      23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
     3783      -1,    -1,    -1,    -1,   119,    -1,    39,    -1,    -1,    -1,
     3784      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3785      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3786      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
     3787      -1,    74,    75,    -1,     4,     5,     6,     7,     8,     9,
     3788      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3789      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3790      30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
     3791      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3792      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3793      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
     3794      -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
     3795       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3796      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3797      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3798      -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3799      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3800      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3801      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3802       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3803      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3804      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3805      -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
     3806      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3807      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3808      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3809      74,    75,    10,    11,    12,    13,    14,    15,    16,    17,
     3810      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3811      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
     3812      38,    39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,
     3813      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3814      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
     3815      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
     3816      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3817      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3819      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3820     118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3821      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3822      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3823      -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
     3824      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3825      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3826      -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
     3827      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
     3828      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3829      94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
     3830      -1,    74,    75,    76,    -1,   109,    -1,   111,   112,    -1,
     3831      83,    84,    -1,    -1,   118,   119,   120,   121,   122,   123,
     3832      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3833      20,    21,    22,    23,    24,    25,    26,    27,   111,    -1,
     3834      30,    31,    32,    -1,    -1,    -1,   119,    37,    38,    39,
     3835      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3836      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3837      -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
     3838      39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
     3839      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
     3841      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
     3842     110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
     3843     120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
     3844      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3845      26,    27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,
     3846     119,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
     3847      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3848      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3849      66,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
     3850      76,    39,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3851      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3852      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3853      -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
     3854      -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
     3855      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3856      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3857      32,   109,    -1,   111,    -1,    37,    38,    39,    40,    -1,
     3858      -1,   119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3859      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3860      24,    25,    26,    27,    66,    67,    30,    31,    32,    -1,
     3861      72,    -1,    74,    75,    76,    39,    -1,    79,    80,    81,
     3862      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     3863      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3864      -1,    -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,
     3865      74,    75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     3866     122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
     3867      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3868      -1,    -1,    30,    31,    32,   109,    -1,   111,    -1,    37,
     3869      38,    39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,
     3870      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3871      20,    21,    22,    23,    24,    25,    26,    27,    66,    67,
     3872      30,    31,    32,    -1,    72,    -1,    74,    75,    76,    39,
     3873      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3874      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3876      -1,   109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,
     3877     118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3878      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3879      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3880      -1,   111,    -1,    37,    38,    39,    40,    -1,    -1,   119,
     3881      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3882      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3883      26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
     3884      74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
     3885      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3886      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3887      -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
     3888      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    21553889       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    21563890      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2157       23,    24,     0,    77,    25,    26,    27,    28,     0,     0,
    2158       29,     0,     0,    30,    31,     0,     0,     0,     0,     8,
    2159        9,    10,    11,    12,     0,     8,     9,    10,    11,    12,
    2160       84,     0,     0,     0,     0,     0,    54,     0,    32,     0,
    2161        0,    33,   163,    34,     0,    35,    36,    30,    37,    38,
    2162       39,     0,     0,    30,     0,     0,     0,    40,    41,     0,
    2163        0,   216,     0,     0,     0,     0,     0,     0,     0,     0,
    2164        0,     0,     0,     0,     0,    33,     0,     0,     0,     0,
    2165       36,    33,     0,    42,    39,    43,    36,   354,     0,     0,
    2166       39,    40,    41,    44,     0,     0,     0,    40,    41,     0,
    2167        0,     0,     0,    54,     0,     0,     0,   163,     0,     0,
    2168        0,     0,     0,   270,   361,     0,     0,    42,     0,     0,
    2169      346,     0,     0,   743,     0,     0,     0,   145,     0,     0,
    2170        0,     0,     0,   744,     0,     0,     0,     0,     0,     0,
    2171      354,   354,   163,   354,   354,     0,     0,     0,     0,     0,
    2172        0,     0,   367,     0,     0,     0,   373,     0,     0,     0,
    2173        0,     0,     0,    77,     0,     0,     0,   361,   361,     0,
    2174      361,   361,     0,     0,     0,     0,   346,   346,     0,     0,
    2175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2176       84,     0,     0,     0,     0,     0,    54,     0,   354,   354,
    2177        0,     0,     0,     0,     0,   163,     0,     0,     0,     0,
    2178        0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
    2179        0,     0,     0,     0,     0,   361,   361,     0,     0,     0,
    2180        0,   280,   281,     0,   282,   163,   460,     8,     9,    10,
    2181       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2182       21,    22,    23,    24,     0,     0,    25,    26,    27,   373,
    2183      283,     0,   354,     0,     0,    30,   284,   163,     0,     0,
    2184      285,     0,     0,   286,   287,   288,   289,    40,    41,     0,
    2185      290,   291,     0,     0,     0,     0,     0,     0,   292,   361,
    2186        0,   460,     0,    33,   163,     0,     0,     0,     0,     0,
    2187      205,    38,     0,   512,     0,   222,     0,     0,     0,     0,
    2188        0,     0,   295,   379,   297,   298,   299,   300,     0,     0,
    2189        0,     0,     0,     0,     0,     0,     0,    77,     0,     0,
    2190        0,     0,   223,     0,     0,     0,     0,    54,    54,     0,
    2191      354,   605,   354,     0,     0,   269,   629,     0,     0,     0,
    2192        0,     0,     0,     0,    84,     0,     0,     0,     0,     0,
    2193       54,     0,     0,     0,     0,     0,     0,   361,     0,   361,
    2194        0,     0,   354,     0,     0,     0,     0,     0,     0,    54,
    2195      354,   354,   354,     0,     0,     0,     0,     0,     0,     0,
    2196        0,   354,   354,     0,     0,     0,     0,     0,     0,   361,
    2197        0,     0,     0,     0,     0,    77,     0,   361,   361,   361,
    2198        0,     0,     0,     0,     0,     0,     0,     0,   361,   361,
    2199        0,     0,   163,   163,   346,   346,     0,     0,   354,   367,
    2200        0,     0,    84,    54,     0,     0,     0,     0,    54,     0,
    2201        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2202      460,     0,     0,   460,     0,   361,     0,     0,     0,   460,
    2203        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2204        0,     0,    54,     0,     0,     0,     0,     0,     0,     0,
    2205        0,     0,     0,     0,     0,     0,   740,     0,     0,     0,
    2206      209,     0,     0,     0,     0,     0,     0,     0,   163,     0,
    2207      229,     0,   233,     0,   235,     0,     0,     0,     0,     0,
    2208      460,   244,   460,     0,     0,   460,   354,   163,   460,     0,
    2209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2210      367,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2211        0,     0,   209,   361,   233,   235,   244,     0,     0,   346,
    2212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2213        0,     0,     0,     0,     0,    77,     0,   154,     0,     0,
    2214        0,     0,    77,     0,     0,    54,     0,     0,     0,     0,
    2215        0,     0,     0,   163,     0,   209,     0,     0,     0,     0,
    2216        0,     0,    84,     0,     0,   367,     0,   605,    54,    84,
    2217      836,     0,     0,     0,     0,    54,     0,     0,     0,     0,
    2218        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
    2219        0,     0,     0,   254,     0,    77,   605,     0,     0,     0,
    2220        0,   605,     0,     0,     0,     0,     0,     0,     0,     0,
    2221      367,   367,   367,     0,     0,     0,   209,     0,   233,   235,
    2222      244,     0,    84,     0,     0,     0,     0,     0,    54,   367,
    2223        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2224       17,    18,    19,    20,    21,    22,    23,    24,  -294,   154,
    2225       25,    26,    27,     0,   209,     0,     0,     0,   209,    30,
    2226        0,     0,     0,   384,   740,     0,     0,     0,     0,     0,
    2227        0,     0,     0,     0,   503,     0,     0,     0,     0,     0,
    2228        0,     0,     0,     0,     0,   460,   416,    33,     0,     0,
    2229        0,     0,     0,     0,    37,    38,     0,     0,  -294,     0,
    2230      431,     0,     0,   367,     0,   960,     0,     0,     0,   436,
    2231        0,     0,     0,     0,     0,     0,     0,     0,     0,   444,
    2232        0,     0,     0,     0,   209,     0,     0,     0,     0,   642,
    2233        0,   337,   280,   281,     0,   282,     0,     0,     0,   109,
    2234      740,     0,     0,     0,   470,   209,     0,     0,     0,   480,
    2235      233,   235,     0,     0,     0,     0,     0,     0,   244,     0,
    2236        0,   283,   488,     0,     0,     0,     0,   284,   498,     0,
    2237      502,   285,     0,     0,   286,   287,   288,   289,    40,    41,
    2238        0,   290,   291,     0,     0,     0,     0,     0,   532,   292,
    2239        0,     0,     0,     0,     0,   367,     0,     0,     0,   629,
    2240        0,   209,   367,     0,   293,     0,   377,     0,     0,   378,
    2241        0,     0,     0,   295,   379,   297,   298,   299,   300,   209,
    2242        0,     0,     0,     0,   209,     0,   209,     0,     0,     0,
    2243        0,   592,     0,     0,     0,     0,   597,     0,     0,     0,
    2244        0,     0,     0,   209,     0,     0,   209,   209,     0,     0,
    2245        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2246        0,     0,   209,     0,   643,     0,     0,     0,   644,   645,
    2247        0,   647,     0,     0,     0,     0,   209,     0,   659,   660,
    2248        0,   661,   662,   209,   663,     0,   664,     0,     0,     0,
    2249        0,     0,     0,  1176,     0,   460,     8,     9,    10,    11,
    2250       12,     0,     0,   592,     0,     0,     0,     0,     0,     0,
    2251        0,   679,     0,     0,     0,     0,     0,     0,     0,     0,
    2252        0,     0,   280,   281,    30,   282,     0,     0,     0,     0,
    2253        0,     0,     0,     0,     0,     0,   690,   163,     0,     0,
    2254        0,     0,     0,     0,     0,     0,     0,   696,     0,     0,
    2255        0,   283,    33,   367,     0,     0,     0,   284,     0,     0,
    2256        0,   285,     0,     0,   286,   287,   288,   289,    40,    41,
    2257      732,   290,   291,     0,     0,     0,   735,     0,     0,   292,
    2258        0,   470,     0,     0,     0,     0,     0,     0,   605,     0,
    2259        0,     0,     0,     0,   293,     0,   377,     0,     0,   209,
    2260        0,     0,     0,   295,  1177,   297,   298,   299,   300,   367,
    2261      367,     0,     0,     0,     0,     0,     0,     0,   772,     0,
    2262        0,     0,     0,     0,     0,     0,     0,   209,   513,     0,
    2263      515,   518,   209,     0,   787,     0,     0,     0,   521,   522,
    2264        0,     0,     0,   515,   515,     0,     0,     0,     0,     0,
    2265        0,     0,     0,     0,     0,   515,     0,     0,     0,     0,
    2266        0,     0,     0,     0,     0,   280,   281,     0,   282,   460,
    2267        0,   814,     0,     0,     0,     0,     0,     0,     0,     0,
    2268      824,     0,     0,     0,     0,     0,     0,   827,     0,     0,
    2269        0,   515,   834,     0,   283,     0,     0,     0,     0,     0,
    2270      284,     0,     0,   849,   285,     0,     0,   286,   287,   288,
    2271      289,    40,    41,     0,   290,   291,     0,     0,     0,     0,
    2272      209,     0,   292,     0,     0,     0,     0,   515,   740,     0,
    2273        0,     0,     0,     0,   209,     0,     0,   293,     0,   377,
    2274        0,     0,     0,     0,   889,   811,   295,   379,   297,   298,
    2275      299,   300,     0,     0,   503,     0,     0,     0,     0,     0,
    2276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2277      216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2278      834,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     3891      23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
     3892      -1,    -1,    -1,   119,    -1,    -1,    39,    -1,    -1,    -1,
     3893      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3894      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3895      30,    31,    32,    -1,    67,    -1,    69,    -1,    71,    39,
     3896      -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,
     3897      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3898      22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
     3899      32,    -1,    72,    -1,    74,    75,    76,    39,    -1,    -1,
     3900      -1,   114,    -1,    83,    84,    -1,    10,    11,    12,    13,
     3901      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3902      24,    25,    26,    27,    -1,    67,    30,    31,    32,   109,
     3903      72,   111,    74,    75,    76,    39,    -1,    -1,    -1,   119,
     3904      -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
     3905      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3906      26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
     3907      74,    75,    76,    39,    -1,    -1,    -1,   119,    -1,    83,
     3908      84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3909      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3910      28,    67,    30,    31,    32,   109,    72,   111,    74,    75,
     3911      76,    39,    -1,    -1,    -1,   119,    -1,    83,    84,    -1,
     3912      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3913      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3914      -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
     3915      78,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3916      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3917      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3918      -1,   109,    -1,   111,    39,    40,    -1,    -1,    -1,    -1,
     3919      -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
     3920      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3921      27,    28,    67,    30,    31,    32,    -1,    -1,    -1,    74,
     3922      75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
     3923      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3924      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3925      67,    -1,    39,    40,    -1,    -1,   111,    74,    75,    -1,
     3926     115,    78,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3927      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3928      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
     3929      -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
     3930      -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
     3931      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3932      25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
     3933      -1,    -1,   119,    -1,    39,    40,    10,    11,    12,    13,
     3934      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3935      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3936      -1,    -1,    67,    -1,    -1,    39,    -1,    -1,    -1,    74,
     3937      75,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3938      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3939      26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
     3940      74,    75,    -1,    39,    -1,    -1,   111,    -1,    -1,    -1,
     3941     115,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3942      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3943      -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,
     3944      -1,    -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,
    22793945      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,
     3946      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3947      -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
     3948      -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3949      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3950      25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
     3951      -1,    74,    75,    -1,    39,    10,    11,    12,    13,    14,
     3952      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3953      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3954      -1,    -1,    67,    -1,    39,    -1,    -1,    -1,   111,    74,
     3955      75,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3956      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3957      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3958      75,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
     3959      -1,    -1,    -1,    -1,   119,    -1,    -1,    10,    11,    12,
    23383960      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2339       23,    24,     0,     0,    25,    26,    27,   362,     0,     0,
    2340        0,     0,     0,    30,     0,     0,     0,     0,     0,   515,
    2341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2342      412,     0,     0,   320,     0,     0,  1396,     0,  1397,     0,
    2343        0,    33,     0,    34,     0,    35,     0,     0,    37,    38,
    2344        0,  1406,     0,  1407,     0,     0,     0,     0,   484,     0,
    2345        0,   412,     0,     0,   362,     0,     0,     0,     0,     0,
    2346        0,  1414,     0,     0,     0,     0,     0,     0,     0,     0,
    2347        0,     0,     0,     0,  -399,   686,     0,  1432,  1434,     0,
    2348        0,   515,     0,   633,     0,     0,     0,     0,     0,  1440,
    2349        0,     0,  1244,     0,   412,     0,     0,   340,   362,     0,
    2350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2351        0,     0,     0,     0,  1463,     0,     0,     0,     0,     0,
    2352        0,     0,     0,  1470,     0,   515,  1472,     0,  1474,  1476,
    2353     1478,     0,     0,     0,     0,     0,     0,     0,     0,   515,
    2354      515,     0,     0,   412,   412,     0,     0,     0,     0,     0,
    2355        0,   209,     0,     0,     0,     0,     0,     0,     0,     0,
    2356        0,     0,   829,   362,   380,   362,     0,     0,     0,     0,
    2357     1509,     0,  1511,     0,   621,  1244,   621,   621,     0,     0,
    2358        0,     0,     0,   621,     0,     0,     0,     0,     0,     0,
    2359     1523,     0,     0,   868,   362,     0,     0,     0,     0,   362,
    2360        0,     0,     0,     0,     0,     0,     0,     0,   362,   362,
    2361      362,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2362        0,     0,     0,     0,     0,     0,     0,   362,     0,     0,
    2363        0,     0,   412,   911,     0,     0,   412,   914,     0,     0,
    2364        0,     0,     0,   916,     0,     0,     0,     0,     0,     0,
    2365        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2366        0,   340,   362,   412,     0,   412,   734,     0,     0,   412,
    2367        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2368       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
    2369       25,    26,    27,     0,     0,     0,     0,     0,     0,    30,
    2370        0,   362,   621,     0,     0,   768,     0,     0,     0,     0,
    2371        0,     0,     0,     0,     0,     0,     0,     0,   781,     0,
    2372        0,     0,     0,     0,     0,   768,     0,    33,   768,     0,
    2373        0,     0,     0,     0,   205,    38,     0,   340,   362,   791,
    2374      792,     0,   412,   412,     0,     0,     0,     0,     0,   515,
    2375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2376        0,   813,     0,     0,     0,     0,   515,     0,     0,     0,
    2377        0,   822,     0,     0,     0,     0,     0,     0,   344,   628,
    2378        0,     0,     0,   781,   412,     0,     0,     0,     0,     0,
    2379        0,     0,     0,   362,     0,     0,     0,     0,     0,   829,
    2380      362,     0,     0,     0,   621,     0,   621,     0,     0,     0,
    2381        0,     0,     0,     0,     0,     0,   621,     0,     0,     0,
    2382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2383        0,     0,     0,   888,     0,     0,     0,     0,     0,   515,
    2384      515,     0,   380,     0,     0,     0,     0,     0,     0,     1,
    2385        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    2386       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2387       22,    23,    24,     0,     0,    25,    26,    27,    28,     0,
    2388        0,    29,   344,     0,    30,    31,     0,     0,     0,   829,
    2389        0,     0,     0,     0,     0,     0,     0,   412,   280,   281,
    2390        0,   282,     0,   412,     0,     0,     0,     0,     0,    32,
    2391        0,   412,    33,     0,    34,     0,    35,    36,     0,    37,
    2392       38,    39,     0,     0,   621,   621,     0,   283,    40,    41,
    2393        0,     0,     0,   284,     0,     0,     0,   285,     0,     0,
    2394      286,   287,   288,   289,    40,    41,     0,   290,   291,     0,
    2395        0,   362,     0,     0,    42,   292,    43,   412,   781,     0,
    2396      990,     0,     0,     0,    44,     0,   995,     0,     0,     0,
    2397      293,     0,   377,  1004,     0,   992,   412,  1157,     0,   295,
    2398      379,   297,   298,   299,   300,     0,   362,     0,     0,     0,
    2399        0,     0,   412,  1169,     0,   621,   621,  1174,     0,     0,
    2400        0,     0,     0,     0,     0,     0,     0,   362,   362,     0,
    2401        0,     0,     0,     0,     0,     0,     0,  1021,  1022,     0,
    2402      344,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2403        0,     0,     0,     0,     0,   344,     0,     0,     0,     0,
    2404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2406        0,     0,     0,     0,     0,     0,     0,     0,   829,   412,
    2407     1237,     0,     0,     0,     0,  1052,     0,     0,     0,   380,
    2408        0,   621,     0,     0,     0,     0,     1,     2,   204,     4,
    2409        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3961      23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
     3962      -1,    -1,    -1,    -1,   119,    -1,    39,    10,    11,    12,
     3963      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3964      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3965      -1,    -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    -1,
     3966      -1,    74,    75,    -1,    -1,    10,    11,    12,    13,    14,
    24103967      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2411        0,     0,    25,    26,    27,    28,     0,     0,    29,   280,
    2412      281,    30,  1061,  1062,     0,  1063,   362,     0,  1064,  1065,
    2413     1066,  1067,  1068,  1069,  1070,  1071,     0,     0,     0,  1072,
    2414        0,     0,     0,  1073,  1074,     0,    32,     0,   283,    33,
    2415        0,    34,     0,    35,   648,   320,    37,    38,   285,     0,
    2416        0,   286,   287,   288,   289,    40,    41,     0,   290,   291,
    2417        0,  1138,  1139,     0,     0,     0,   292,     0,   380,     0,
    2418        0,     0,   280,   281,   995,   282,   340,  1148,     0,   768,
    2419        0,   293,     0,  1075,     0,     0,   169,     0,     0,     0,
    2420      295,   296,   297,   298,   299,   300,   362,     0,     0,  1164,
    2421     1076,   283,     0,     0,  -129,     0,     0,   284,     0,     0,
    2422     1179,   285,     0,     0,   286,   287,   288,   289,    40,    41,
    2423        0,   290,   291,     0,     0,     0,     0,     0,     0,   292,
    2424        0,     0,   380,     0,  1197,     0,     0,     0,     0,     0,
    2425        0,     0,     0,     0,   293,   362,   362,     0,     0,   995,
    2426      995,     0,     0,   295,   379,   297,   298,   299,   300,     0,
    2427        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2428     1229,     0,     0,     0,     0,     0,     0,     0,     1,     2,
    2429      204,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2430       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2431       23,    24,     0,     0,    25,    26,    27,    28,     0,     0,
    2432       29,   280,   281,    30,   282,     0,     0,   995,     0,     0,
    2433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2434      280,   281,     0,   282,     0,     0,   888,     0,     0,     0,
    2435      283,    33,     0,    34,     0,    35,   284,     0,    37,    38,
    2436      285,  1281,  1282,   286,   287,   288,   289,    40,    41,   283,
    2437      290,   291,     0,     0,     0,   284,     0,     0,   292,   285,
    2438      362,     0,   286,   287,   288,   289,    40,    41,     0,   290,
    2439      291,     0,     0,   293,     0,  1075,     0,   292,     0,     0,
    2440        0,     0,   295,   296,   297,   298,   299,   300,     0,     0,
    2441        0,     0,   293,     0,   377,     0,  -129,     0,     0,     0,
    2442        0,   295,   379,   297,   298,   299,   300,     0,     0,     0,
    2443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2444        0,     0,   995,     0,     0,     0,     1,     2,   204,     4,
    2445        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2446       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2447      412,     0,    25,    26,    27,    28,     0,     0,    29,   280,
    2448      281,    30,   282,     0,     0,     0,     0,     0,     0,     0,
    2449        0,     0,     0,     0,     0,   412,   412,     0,     0,     0,
    2450        0,     0,     0,  1389,     0,   768,     0,     0,   283,    33,
    2451        0,    34,     0,    35,   284,     0,    37,    38,   285,     0,
    2452      412,   286,   287,   288,   289,    40,    41,     0,   290,   291,
    2453        0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
    2454        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2455        0,   293,     0,    43,     0,     0,     0,     0,     0,     0,
    2456      295,   296,   297,   298,   299,   300,     0,     0,     2,   204,
     3968      25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
     3969      -1,    74,    75,    -1,    39,    -1,    -1,    -1,   111,    -1,
     3970      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3971      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3972      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,
     3973      75,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,
     3974       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3975      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3976      27,    -1,    -1,    30,    31,    32,   111,    -1,    -1,    -1,
     3977      -1,    -1,    39,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3978      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980      67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    37,
     3981      38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,    47,
     3982      48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
     3983      -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
     3984      -1,    -1,    -1,   110,    72,    -1,    -1,    -1,    76,    -1,
     3985      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     3986      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3987      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3988      -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
     3989     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     3990     128,    -1,    37,    38,   132,    40,    41,    -1,    43,    -1,
     3991      -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
     3992      -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     3993      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3994      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3995      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
     3996      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3997      -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
     3998      -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
     3999      -1,    -1,    -1,   128,    -1,    -1,    -1,   132,     4,     5,
     4000       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     4001      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     4002      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4003      -1,    -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,
     4004      -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
     4005      52,    53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
     4006      62,    67,    64,    69,    66,    71,    -1,    -1,    74,    75,
     4007      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     4008      82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
     4009      96,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4010      -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
     4011      -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
     4012     122,   123,    -1,    -1,    37,    38,   128,    40,    41,    -1,
     4013      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
     4014      53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
     4015      -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
     4016      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     4017      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     4018      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4019      -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
     4020      -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
     4021     123,    -1,    -1,    37,    38,   128,    40,    41,    -1,    43,
     4022      -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
     4023      -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
     4024      64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4025      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4026      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     4027      94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
     4028      -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
     4029     114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
     4030      66,    -1,    -1,    -1,   128,    -1,    72,    -1,    -1,    -1,
     4031      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     4032      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    37,
     4033      38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4034      -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,    38,
     4035      -1,    40,   118,   119,   120,   121,   122,   123,    66,    -1,
     4036      -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
     4037      -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
     4038      -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,
     4039      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     4040      -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,    40,
     4041     118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
     4042     109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,   118,
     4043     119,   120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,
     4044      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     4045      81,    82,    83,    84,    66,    86,    87,    -1,    -1,    -1,
     4046      72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,    81,
     4047      82,    83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,
     4048      -1,    -1,    94,    37,    38,    -1,    40,   118,   119,   120,
     4049     121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,    -1,
     4050      -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
     4051     122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
     4052      -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
     4053      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     4054      94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4055      -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
     4056      -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    24574057       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24584058      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,
     4059      24,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,
     4060      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    35194061      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35204062      -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,
     4063      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
     4064      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     4065      84,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     4066      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     4067      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     4068      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
     4069      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4070      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4071      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     4072      -1,    -1,    74,    75,     3,     4,     5,     6,     7,     8,
     4073       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4074      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     4075      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     4076      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4077      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4078      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     4079      69,    -1,    71,    -1,    -1,    74,    75,     4,     5,     6,
    35244080       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    35254081      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,
     4082      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     4083      -1,    -1,    39,    -1,    10,    11,    12,    13,    14,    15,
    35734084      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,
     4085      26,    27,    -1,    -1,    30,    31,    32,    33,    34,    35,
     4086      67,    -1,    69,    39,    71,    -1,    -1,    74,    75,    -1,
    36354087      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36364088      -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
     4089      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75
    40044090};
    40054091
     
    40104096       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    40114097      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,
     4098      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
     4099      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
     4100      76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
    40154101     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,
     4102     222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
     4103     233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
     4104     244,   246,   254,   255,   282,   283,   284,   292,   295,   301,
     4105     302,   304,   306,   307,   313,   318,   322,   323,   324,   325,
     4106     326,   327,   328,   329,   349,   366,   367,   368,   369,    72,
     4107     119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
     4108     283,    82,   109,   311,   312,   313,   311,   311,    72,    74,
     4109      75,    76,   138,   139,   272,   273,   293,   294,    74,    75,
     4110     273,   109,   304,    11,   198,   109,   119,   318,   323,   324,
     4111     325,   327,   328,   329,   112,   134,   111,   217,   224,   226,
     4112     322,   326,   365,   366,   369,   370,   135,   107,   131,   276,
     4113     114,   135,   172,    74,    75,   137,   271,   135,   135,   135,
     4114     116,   135,    74,    75,   109,   119,   308,   317,   318,   319,
     4115     320,   321,   322,   326,   330,   331,   332,   333,   334,   340,
     4116       3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
     4117     227,   231,   234,   243,   284,   322,   326,   369,   214,   216,
     4118     226,   236,   240,   242,   283,   322,   326,    33,   232,   232,
     4119     227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
     4120     273,   284,   114,   273,   232,   227,   116,   135,   135,     0,
     4121     134,   109,   172,   311,   311,   134,   111,   224,   226,   367,
     4122     271,   271,   226,   131,   109,   119,   308,   318,   322,   111,
     4123     119,   369,   305,   229,   313,   109,   289,   109,   109,    51,
     4124     109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
     4125      82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
     4126     122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    40414127     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
     4128     161,   163,   165,   224,   275,   291,   365,   370,   226,   110,
     4129     110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
     4130     271,   349,   367,   111,   119,   163,   216,   217,   223,   226,
     4131     230,   231,   236,   239,   240,   242,   261,   262,   266,   267,
     4132     268,   269,   283,   349,   361,   362,   363,   364,   369,   370,
     4133     112,   109,   322,   326,   369,   109,   116,   132,   111,   114,
     4134     119,   163,   277,   277,   115,   134,   116,   132,   109,   116,
     4135     132,   116,   132,   116,   132,   311,   132,   318,   319,   320,
     4136     321,   331,   332,   333,   334,   226,   317,   330,    64,   310,
     4137     111,   311,   348,   349,   311,   311,   172,   134,   109,   311,
     4138     348,   311,   311,   226,   308,   109,   109,   225,   226,   224,
     4139     226,   112,   134,   224,   365,   370,   172,   134,   271,   276,
     4140     216,   231,   322,   326,   172,   134,   293,   226,   236,   132,
     4141     226,   226,   291,    40,   111,   224,   247,   248,   249,   250,
     4142     365,   369,   245,   257,   273,   256,   226,   293,   132,   132,
     4143     304,   134,   139,   270,     3,   135,   206,   207,   221,   223,
     4144     226,   134,   310,   109,   310,   163,   318,   226,   109,   134,
     4145     271,   114,    33,    34,    35,   224,   285,   286,   288,   134,
     4146     129,   131,   290,   134,   227,   233,   234,   271,   314,   315,
     4147     316,   109,   141,   109,   148,   109,   148,   150,   109,   148,
     4148     109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
     4149     274,   365,   112,   134,   150,   150,    82,    85,    86,    87,
     4150     109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
     4151     103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
     4152     121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
     4153     120,   128,   129,    94,    95,   130,   131,   372,   109,   119,
     4154     344,   345,   346,   347,   348,   110,   116,   109,   348,   349,
     4155     109,   348,   349,   134,   109,   224,   367,   112,   134,   111,
     4156     119,   135,   224,   226,   360,   361,   369,   370,   135,   109,
     4157     111,   119,   318,   335,   336,   337,   338,   339,   340,   341,
     4158     342,   343,   349,   350,   351,   352,   353,   354,   355,   119,
     4159     369,   226,   135,   135,   119,   224,   226,   362,   271,   224,
     4160     349,   362,   271,   109,   134,   134,   134,   112,   134,    72,
     4161      80,   111,   113,   140,   273,   277,   278,   279,   280,   281,
     4162     134,   134,   134,   134,   134,   134,   308,   110,   110,   110,
     4163     110,   110,   110,   110,   317,   330,   109,   276,   112,   206,
     4164     134,   308,   168,   275,   168,   275,   308,   111,   206,   310,
     4165     172,   134,   206,   110,   249,   250,   112,   134,   109,   117,
     4166     119,   251,   253,   317,   318,   330,   348,   356,   357,   358,
     4167     359,   115,   248,   116,   132,   116,   132,   273,   114,   116,
     4168     371,   131,   258,   114,   226,   263,   264,   265,   268,   269,
     4169     110,   116,   172,   134,   119,   163,   134,   223,   226,   262,
     4170     361,   369,   302,   303,   109,   119,   335,   110,   116,   372,
     4171     273,   285,   109,   114,   273,   275,   285,   110,   116,   109,
     4172     141,   110,   117,   274,   274,   274,   111,   139,   145,   163,
     4173     275,   274,   112,   134,   110,   116,   110,   109,   119,   356,
     4174     110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
     4175     139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
     4176     152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
     4177     158,   159,   117,   168,   163,   134,   345,   346,   347,   226,
     4178     344,   311,   311,   163,   275,   134,   270,   119,   134,   224,
     4179     349,   362,   226,   230,   112,   134,   112,   369,   112,   109,
     4180     134,   318,   336,   337,   338,   341,   351,   352,   353,   112,
     4181     134,   226,   335,   339,   350,   109,   311,   354,   372,   311,
     4182     311,   372,   109,   311,   354,   311,   311,   311,   311,   349,
     4183     224,   360,   370,   271,   112,   116,   112,   116,   372,   224,
     4184     362,   372,   259,   260,   261,   262,   259,   259,   271,   163,
     4185     134,   111,   273,   117,   116,   371,   277,    80,   111,   117,
     4186     281,    29,   208,   209,   271,   259,   139,   308,   139,   310,
     4187     109,   348,   349,   109,   348,   349,   141,   349,   172,   263,
     4188     110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
     4189     132,   111,   318,   357,   358,   359,   161,   162,   226,   356,
     4190     252,   253,   252,   311,   311,   273,   311,   247,   273,   115,
     4191     162,   257,   135,   135,   139,   221,   135,   135,   259,   109,
     4192     119,   369,   135,   115,   226,   286,   287,   135,   134,   134,
     4193     109,   135,   110,   315,   168,   169,   117,   132,   111,   141,
     4194     199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
     4195     110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
     4196     135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
     4197     263,   110,   110,   110,   344,   263,   110,   259,   224,   362,
     4198     111,   119,   163,   163,   226,   341,   263,   110,   110,   110,
     4199     110,   110,   110,   110,     7,   226,   335,   339,   350,   134,
     4200     134,   372,   134,   134,   110,   135,   135,   135,   135,   276,
     4201     135,   161,   162,   163,   309,   134,   277,   279,   115,   134,
     4202     210,   273,    40,    41,    43,    46,    47,    48,    49,    50,
     4203      51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
     4204     170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
     4205     197,   211,   307,    29,   135,   131,   276,   134,   134,   110,
     4206     135,   172,   247,   112,   110,   110,   110,   356,   251,   115,
     4207     258,   371,   110,   116,   112,   112,   135,   226,   116,   372,
     4208     289,   110,   285,   214,   216,   224,   297,   298,   299,   300,
     4209     291,   110,   110,   117,   162,   109,   110,   117,   116,   139,
     4210     163,   163,   278,   116,   135,   166,   112,   139,   146,   147,
     4211     163,   145,   135,   146,   161,   165,   135,   109,   348,   349,
     4212     135,   135,   134,   135,   135,   135,   163,   110,   135,   109,
     4213     348,   349,   109,   354,   109,   354,   349,   225,     7,   119,
     4214     135,   163,   263,   263,   262,   266,   266,   267,   116,   116,
     4215     110,   110,   112,    96,   123,   135,   135,   146,   277,   163,
     4216     116,   132,   211,   215,   226,   230,   109,   109,   170,   109,
     4217     109,   132,   139,   132,   139,   119,   139,   169,   109,   172,
     4218     164,   164,   112,   143,   117,   132,   135,   134,   135,   210,
     4219     110,   163,   263,   263,   311,   110,   115,   109,   348,   349,
     4220     115,   134,   110,   134,   135,   308,   115,   134,   135,   135,
     4221     110,   114,   199,   112,   162,   132,   199,   201,   110,   116,
     4222     135,   371,   164,   112,   135,    85,   113,   116,   135,   135,
     4223     112,   135,   110,   134,   110,   110,   112,   112,   112,   135,
     4224     110,   134,   134,   134,   163,   163,   135,   112,   135,   135,
     4225     135,   135,   134,   134,   162,   162,   112,   112,   135,   135,
     4226     273,   226,   168,   168,    47,   168,   134,   132,   132,   168,
     4227     132,   132,   168,    58,    59,    60,   193,   194,   195,   132,
     4228      63,   132,   114,   311,   174,   115,   132,   135,   135,   134,
     4229      96,   268,   269,   110,   298,   116,   132,   116,   132,   115,
     4230     296,   117,   141,   110,   110,   117,   166,   112,   115,   112,
     4231     111,   147,   111,   147,   147,   112,   112,   112,   263,   112,
     4232     263,   263,   263,   135,   135,   112,   112,   110,   110,   112,
     4233     116,    96,   262,    96,   135,   112,   112,   110,   110,   109,
     4234     110,   169,   190,   211,   132,   110,   109,   109,   172,   195,
     4235      58,    59,   163,   144,   170,   110,   110,   263,   114,   134,
     4236     134,   297,   141,   202,   109,   132,   202,   135,   117,   134,
     4237     134,   135,   135,   135,   135,   112,   112,   134,   135,   112,
     4238     170,    44,    45,   114,   180,   181,   182,   168,   170,   135,
     4239     110,   169,   114,   182,    96,   134,    96,   134,   109,   109,
     4240     132,   115,   135,   134,   271,   308,   115,   116,   117,   162,
     4241     110,   112,   163,   146,   146,   110,   110,   110,   110,   266,
     4242      42,   162,   178,   179,   309,   117,   134,   170,   180,   110,
     4243     132,   170,   132,   134,   110,   134,   110,   134,    96,   134,
     4244      96,   134,   132,   110,   297,   141,   139,   203,   110,   132,
     4245     117,   135,   135,   170,    96,   116,   117,   135,   204,   205,
     4246     211,   132,   169,   169,   204,   172,   196,   224,   365,   172,
     4247     196,   110,   134,   110,   134,   115,   110,   116,   163,   112,
     4248     112,   162,   178,   181,   183,   184,   134,   132,   181,   185,
     4249     186,   135,   109,   119,   308,   356,   139,   135,   172,   196,
     4250     172,   196,   109,   132,   139,   170,   175,   115,   181,   211,
     4251     169,    56,   175,   188,   115,   181,   110,   226,   110,   135,
     4252     135,   291,   170,   175,   132,   187,   188,   175,   188,   172,
     4253     172,   110,   110,   110,   187,   135,   135,   172,   172,   135,
     4254     135
    41684255};
    41694256
     
    50025089
    50035090/* Line 1806 of yacc.c  */
    5004 #line 290 "parser.yy"
     5091#line 292 "parser.yy"
    50055092    {
    50065093                        typedefTable.enterScope();
     
    50115098
    50125099/* Line 1806 of yacc.c  */
    5013 #line 296 "parser.yy"
     5100#line 298 "parser.yy"
    50145101    {
    50155102                        typedefTable.leaveScope();
     
    50205107
    50215108/* Line 1806 of yacc.c  */
    5022 #line 305 "parser.yy"
     5109#line 307 "parser.yy"
    50235110    { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }
    50245111    break;
     
    50275114
    50285115/* Line 1806 of yacc.c  */
    5029 #line 306 "parser.yy"
     5116#line 308 "parser.yy"
    50305117    { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }
    50315118    break;
     
    50345121
    50355122/* Line 1806 of yacc.c  */
    5036 #line 307 "parser.yy"
     5123#line 309 "parser.yy"
    50375124    { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }
    50385125    break;
     
    50415128
    50425129/* Line 1806 of yacc.c  */
    5043 #line 332 "parser.yy"
     5130#line 334 "parser.yy"
    50445131    { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }
    50455132    break;
     
    50485135
    50495136/* Line 1806 of yacc.c  */
    5050 #line 333 "parser.yy"
     5137#line 335 "parser.yy"
    50515138    { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); }
    50525139    break;
    50535140
    50545141  case 18:
    5055 
    5056 /* Line 1806 of yacc.c  */
    5057 #line 340 "parser.yy"
    5058     { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    5059     break;
    5060 
    5061   case 19:
    50625142
    50635143/* Line 1806 of yacc.c  */
     
    50665146    break;
    50675147
     5148  case 19:
     5149
     5150/* Line 1806 of yacc.c  */
     5151#line 344 "parser.yy"
     5152    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
     5153    break;
     5154
    50685155  case 20:
    50695156
    50705157/* Line 1806 of yacc.c  */
    5071 #line 344 "parser.yy"
     5158#line 346 "parser.yy"
    50725159    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    50735160    break;
     
    50765163
    50775164/* Line 1806 of yacc.c  */
    5078 #line 346 "parser.yy"
     5165#line 348 "parser.yy"
    50795166    { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); }
    50805167    break;
     
    50835170
    50845171/* Line 1806 of yacc.c  */
    5085 #line 356 "parser.yy"
     5172#line 358 "parser.yy"
    50865173    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }
    50875174    break;
     
    50905177
    50915178/* Line 1806 of yacc.c  */
    5092 #line 358 "parser.yy"
     5179#line 360 "parser.yy"
    50935180    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); }
    50945181    break;
     
    50975184
    50985185/* Line 1806 of yacc.c  */
    5099 #line 362 "parser.yy"
     5186#line 364 "parser.yy"
    51005187    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51015188    break;
     
    51045191
    51055192/* Line 1806 of yacc.c  */
    5106 #line 365 "parser.yy"
     5193#line 367 "parser.yy"
    51075194    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); }
    51085195    break;
     
    51115198
    51125199/* Line 1806 of yacc.c  */
    5113 #line 368 "parser.yy"
     5200#line 370 "parser.yy"
    51145201    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); }
    51155202    break;
     
    51185205
    51195206/* Line 1806 of yacc.c  */
    5120 #line 370 "parser.yy"
     5207#line 372 "parser.yy"
    51215208    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }
    51225209    break;
     
    51255212
    51265213/* Line 1806 of yacc.c  */
    5127 #line 372 "parser.yy"
    5128     { (yyval.en) = 0; }
     5214#line 374 "parser.yy"
     5215    { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); }
    51295216    break;
    51305217
     
    51325219
    51335220/* Line 1806 of yacc.c  */
    5134 #line 374 "parser.yy"
     5221#line 376 "parser.yy"
    51355222    {
    51365223                        Token fn; fn.str = new std::string( "?{}" ); // location undefined
     
    51425229
    51435230/* Line 1806 of yacc.c  */
    5144 #line 383 "parser.yy"
     5231#line 385 "parser.yy"
    51455232    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    51465233    break;
     
    51495236
    51505237/* Line 1806 of yacc.c  */
    5151 #line 388 "parser.yy"
     5238#line 390 "parser.yy"
    51525239    { (yyval.en) = 0; }
    51535240    break;
     
    51565243
    51575244/* Line 1806 of yacc.c  */
    5158 #line 391 "parser.yy"
     5245#line 393 "parser.yy"
    51595246    { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); }
    51605247    break;
     
    51635250
    51645251/* Line 1806 of yacc.c  */
    5165 #line 396 "parser.yy"
     5252#line 398 "parser.yy"
    51665253    { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }
    51675254    break;
     
    51705257
    51715258/* Line 1806 of yacc.c  */
    5172 #line 398 "parser.yy"
     5259#line 400 "parser.yy"
    51735260    { (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) )))); }
    51745261    break;
     
    51775264
    51785265/* Line 1806 of yacc.c  */
    5179 #line 403 "parser.yy"
     5266#line 405 "parser.yy"
    51805267    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    51815268    break;
     
    51845271
    51855272/* Line 1806 of yacc.c  */
    5186 #line 408 "parser.yy"
     5273#line 410 "parser.yy"
    51875274    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); }
    51885275    break;
     
    51915278
    51925279/* Line 1806 of yacc.c  */
    5193 #line 412 "parser.yy"
     5280#line 414 "parser.yy"
    51945281    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    51955282    break;
     
    51985285
    51995286/* Line 1806 of yacc.c  */
    5200 #line 414 "parser.yy"
     5287#line 416 "parser.yy"
    52015288    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52025289    break;
     
    52055292
    52065293/* Line 1806 of yacc.c  */
    5207 #line 416 "parser.yy"
     5294#line 418 "parser.yy"
    52085295    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); }
    52095296    break;
     
    52125299
    52135300/* Line 1806 of yacc.c  */
    5214 #line 418 "parser.yy"
     5301#line 420 "parser.yy"
    52155302    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); }
    52165303    break;
    52175304
    52185305  case 48:
    5219 
    5220 /* Line 1806 of yacc.c  */
    5221 #line 426 "parser.yy"
    5222     { (yyval.en) = (yyvsp[(1) - (1)].constant); }
    5223     break;
    5224 
    5225   case 49:
    52265306
    52275307/* Line 1806 of yacc.c  */
     
    52305310    break;
    52315311
     5312  case 49:
     5313
     5314/* Line 1806 of yacc.c  */
     5315#line 430 "parser.yy"
     5316    { (yyval.en) = (yyvsp[(1) - (1)].constant); }
     5317    break;
     5318
    52325319  case 50:
    52335320
    52345321/* Line 1806 of yacc.c  */
    5235 #line 430 "parser.yy"
     5322#line 432 "parser.yy"
    52365323    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    52375324    break;
     
    52405327
    52415328/* Line 1806 of yacc.c  */
    5242 #line 432 "parser.yy"
     5329#line 434 "parser.yy"
    52435330    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    52445331    break;
     
    52475334
    52485335/* Line 1806 of yacc.c  */
    5249 #line 434 "parser.yy"
     5336#line 436 "parser.yy"
    52505337    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    52515338    break;
     
    52545341
    52555342/* Line 1806 of yacc.c  */
    5256 #line 436 "parser.yy"
     5343#line 438 "parser.yy"
    52575344    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    52585345    break;
     
    52615348
    52625349/* Line 1806 of yacc.c  */
    5263 #line 438 "parser.yy"
     5350#line 440 "parser.yy"
    52645351    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    52655352    break;
     
    52685355
    52695356/* Line 1806 of yacc.c  */
    5270 #line 440 "parser.yy"
     5357#line 442 "parser.yy"
    52715358    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
    52725359    break;
     
    52755362
    52765363/* Line 1806 of yacc.c  */
    5277 #line 446 "parser.yy"
     5364#line 448 "parser.yy"
    52785365    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    52795366    break;
     
    52825369
    52835370/* Line 1806 of yacc.c  */
    5284 #line 448 "parser.yy"
     5371#line 450 "parser.yy"
    52855372    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    52865373    break;
     
    52895376
    52905377/* Line 1806 of yacc.c  */
    5291 #line 450 "parser.yy"
     5378#line 452 "parser.yy"
    52925379    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    52935380    break;
     
    52965383
    52975384/* Line 1806 of yacc.c  */
    5298 #line 452 "parser.yy"
     5385#line 454 "parser.yy"
    52995386    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    53005387    break;
     
    53035390
    53045391/* Line 1806 of yacc.c  */
    5305 #line 454 "parser.yy"
     5392#line 456 "parser.yy"
    53065393    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53075394    break;
     
    53105397
    53115398/* Line 1806 of yacc.c  */
    5312 #line 456 "parser.yy"
     5399#line 458 "parser.yy"
    53135400    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    53145401    break;
     
    53175404
    53185405/* Line 1806 of yacc.c  */
    5319 #line 458 "parser.yy"
     5406#line 460 "parser.yy"
    53205407    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    53215408    break;
     
    53245411
    53255412/* Line 1806 of yacc.c  */
    5326 #line 460 "parser.yy"
     5413#line 462 "parser.yy"
    53275414    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    53285415    break;
     
    53315418
    53325419/* Line 1806 of yacc.c  */
    5333 #line 462 "parser.yy"
     5420#line 464 "parser.yy"
    53345421    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    53355422    break;
     
    53385425
    53395426/* Line 1806 of yacc.c  */
    5340 #line 466 "parser.yy"
     5427#line 468 "parser.yy"
    53415428    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    53425429    break;
     
    53455432
    53465433/* Line 1806 of yacc.c  */
    5347 #line 467 "parser.yy"
     5434#line 469 "parser.yy"
    53485435    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    53495436    break;
     
    53525439
    53535440/* Line 1806 of yacc.c  */
    5354 #line 468 "parser.yy"
     5441#line 470 "parser.yy"
    53555442    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    53565443    break;
     
    53595446
    53605447/* Line 1806 of yacc.c  */
    5361 #line 469 "parser.yy"
     5448#line 471 "parser.yy"
    53625449    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    53635450    break;
    53645451
    53655452  case 70:
    5366 
    5367 /* Line 1806 of yacc.c  */
    5368 #line 475 "parser.yy"
    5369     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    5370     break;
    5371 
    5372   case 71:
    53735453
    53745454/* Line 1806 of yacc.c  */
     
    53775457    break;
    53785458
     5459  case 71:
     5460
     5461/* Line 1806 of yacc.c  */
     5462#line 479 "parser.yy"
     5463    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5464    break;
     5465
    53795466  case 73:
    53805467
    53815468/* Line 1806 of yacc.c  */
    5382 #line 483 "parser.yy"
     5469#line 485 "parser.yy"
    53835470    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53845471    break;
     
    53875474
    53885475/* Line 1806 of yacc.c  */
    5389 #line 485 "parser.yy"
     5476#line 487 "parser.yy"
    53905477    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53915478    break;
     
    53945481
    53955482/* Line 1806 of yacc.c  */
    5396 #line 487 "parser.yy"
     5483#line 489 "parser.yy"
    53975484    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    53985485    break;
     
    54015488
    54025489/* Line 1806 of yacc.c  */
    5403 #line 493 "parser.yy"
     5490#line 495 "parser.yy"
    54045491    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54055492    break;
     
    54085495
    54095496/* Line 1806 of yacc.c  */
    5410 #line 495 "parser.yy"
     5497#line 497 "parser.yy"
    54115498    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54125499    break;
     
    54155502
    54165503/* Line 1806 of yacc.c  */
    5417 #line 501 "parser.yy"
     5504#line 503 "parser.yy"
    54185505    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54195506    break;
     
    54225509
    54235510/* Line 1806 of yacc.c  */
    5424 #line 503 "parser.yy"
     5511#line 505 "parser.yy"
    54255512    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54265513    break;
     
    54295516
    54305517/* Line 1806 of yacc.c  */
    5431 #line 509 "parser.yy"
     5518#line 511 "parser.yy"
    54325519    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54335520    break;
     
    54365523
    54375524/* Line 1806 of yacc.c  */
    5438 #line 511 "parser.yy"
     5525#line 513 "parser.yy"
    54395526    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54405527    break;
     
    54435530
    54445531/* Line 1806 of yacc.c  */
    5445 #line 513 "parser.yy"
     5532#line 515 "parser.yy"
    54465533    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54475534    break;
     
    54505537
    54515538/* Line 1806 of yacc.c  */
    5452 #line 515 "parser.yy"
     5539#line 517 "parser.yy"
    54535540    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54545541    break;
     
    54575544
    54585545/* Line 1806 of yacc.c  */
    5459 #line 521 "parser.yy"
     5546#line 523 "parser.yy"
    54605547    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54615548    break;
     
    54645551
    54655552/* Line 1806 of yacc.c  */
    5466 #line 523 "parser.yy"
     5553#line 525 "parser.yy"
    54675554    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54685555    break;
     
    54715558
    54725559/* Line 1806 of yacc.c  */
    5473 #line 529 "parser.yy"
     5560#line 531 "parser.yy"
    54745561    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54755562    break;
     
    54785565
    54795566/* Line 1806 of yacc.c  */
    5480 #line 535 "parser.yy"
     5567#line 537 "parser.yy"
    54815568    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54825569    break;
     
    54855572
    54865573/* Line 1806 of yacc.c  */
    5487 #line 541 "parser.yy"
     5574#line 543 "parser.yy"
    54885575    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54895576    break;
     
    54925579
    54935580/* Line 1806 of yacc.c  */
    5494 #line 547 "parser.yy"
     5581#line 549 "parser.yy"
    54955582    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54965583    break;
     
    54995586
    55005587/* Line 1806 of yacc.c  */
    5501 #line 553 "parser.yy"
     5588#line 555 "parser.yy"
    55025589    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55035590    break;
     
    55065593
    55075594/* Line 1806 of yacc.c  */
    5508 #line 559 "parser.yy"
     5595#line 561 "parser.yy"
    55095596    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55105597    break;
     
    55135600
    55145601/* Line 1806 of yacc.c  */
    5515 #line 561 "parser.yy"
     5602#line 563 "parser.yy"
    55165603    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    55175604    break;
     
    55205607
    55215608/* Line 1806 of yacc.c  */
    5522 #line 563 "parser.yy"
     5609#line 565 "parser.yy"
    55235610    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55245611    break;
     
    55275614
    55285615/* Line 1806 of yacc.c  */
    5529 #line 574 "parser.yy"
     5616#line 576 "parser.yy"
    55305617    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55315618    break;
     
    55345621
    55355622/* Line 1806 of yacc.c  */
    5536 #line 576 "parser.yy"
     5623#line 578 "parser.yy"
    55375624    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55385625    break;
     
    55415628
    55425629/* Line 1806 of yacc.c  */
    5543 #line 578 "parser.yy"
     5630#line 580 "parser.yy"
    55445631    { (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) ); }
    55455632    break;
     
    55485635
    55495636/* Line 1806 of yacc.c  */
    5550 #line 583 "parser.yy"
     5637#line 585 "parser.yy"
    55515638    { (yyval.en) = new NullExprNode; }
    55525639    break;
     
    55555642
    55565643/* Line 1806 of yacc.c  */
    5557 #line 591 "parser.yy"
     5644#line 593 "parser.yy"
    55585645    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    55595646    break;
     
    55625649
    55635650/* Line 1806 of yacc.c  */
    5564 #line 593 "parser.yy"
     5651#line 595 "parser.yy"
    55655652    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    55665653    break;
     
    55695656
    55705657/* Line 1806 of yacc.c  */
    5571 #line 595 "parser.yy"
     5658#line 597 "parser.yy"
    55725659    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    55735660    break;
     
    55765663
    55775664/* Line 1806 of yacc.c  */
    5578 #line 597 "parser.yy"
     5665#line 599 "parser.yy"
    55795666    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    55805667    break;
     
    55835670
    55845671/* Line 1806 of yacc.c  */
    5585 #line 603 "parser.yy"
     5672#line 605 "parser.yy"
    55865673    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    55875674    break;
     
    55905677
    55915678/* Line 1806 of yacc.c  */
    5592 #line 607 "parser.yy"
     5679#line 609 "parser.yy"
    55935680    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    55945681    break;
     
    55975684
    55985685/* Line 1806 of yacc.c  */
    5599 #line 608 "parser.yy"
     5686#line 610 "parser.yy"
    56005687    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    56015688    break;
     
    56045691
    56055692/* Line 1806 of yacc.c  */
    5606 #line 609 "parser.yy"
     5693#line 611 "parser.yy"
    56075694    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    56085695    break;
     
    56115698
    56125699/* Line 1806 of yacc.c  */
    5613 #line 610 "parser.yy"
     5700#line 612 "parser.yy"
    56145701    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    56155702    break;
     
    56185705
    56195706/* Line 1806 of yacc.c  */
    5620 #line 611 "parser.yy"
     5707#line 613 "parser.yy"
    56215708    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    56225709    break;
     
    56255712
    56265713/* Line 1806 of yacc.c  */
    5627 #line 612 "parser.yy"
     5714#line 614 "parser.yy"
    56285715    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    56295716    break;
     
    56325719
    56335720/* Line 1806 of yacc.c  */
    5634 #line 613 "parser.yy"
     5721#line 615 "parser.yy"
    56355722    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    56365723    break;
     
    56395726
    56405727/* Line 1806 of yacc.c  */
    5641 #line 614 "parser.yy"
     5728#line 616 "parser.yy"
    56425729    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    56435730    break;
     
    56465733
    56475734/* Line 1806 of yacc.c  */
    5648 #line 615 "parser.yy"
     5735#line 617 "parser.yy"
    56495736    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    56505737    break;
     
    56535740
    56545741/* Line 1806 of yacc.c  */
    5655 #line 616 "parser.yy"
     5742#line 618 "parser.yy"
    56565743    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    56575744    break;
     
    56605747
    56615748/* Line 1806 of yacc.c  */
    5662 #line 622 "parser.yy"
     5749#line 624 "parser.yy"
    56635750    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56645751    break;
     
    56675754
    56685755/* Line 1806 of yacc.c  */
    5669 #line 627 "parser.yy"
     5756#line 629 "parser.yy"
    56705757    { (yyval.en) = 0; }
    56715758    break;
     
    56745761
    56755762/* Line 1806 of yacc.c  */
    5676 #line 636 "parser.yy"
     5763#line 638 "parser.yy"
    56775764    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56785765    break;
     
    56815768
    56825769/* Line 1806 of yacc.c  */
    5683 #line 643 "parser.yy"
     5770#line 645 "parser.yy"
    56845771    {
    56855772                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    56925779
    56935780/* Line 1806 of yacc.c  */
    5694 #line 652 "parser.yy"
     5781#line 654 "parser.yy"
    56955782    {
    56965783                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57015788
    57025789/* Line 1806 of yacc.c  */
    5703 #line 659 "parser.yy"
     5790#line 661 "parser.yy"
    57045791    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57055792    break;
     
    57085795
    57095796/* Line 1806 of yacc.c  */
    5710 #line 666 "parser.yy"
     5797#line 668 "parser.yy"
    57115798    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57125799    break;
     
    57155802
    57165803/* Line 1806 of yacc.c  */
    5717 #line 672 "parser.yy"
     5804#line 674 "parser.yy"
    57185805    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    57195806    break;
     
    57225809
    57235810/* Line 1806 of yacc.c  */
    5724 #line 677 "parser.yy"
     5811#line 679 "parser.yy"
    57255812    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57265813    break;
     
    57295816
    57305817/* Line 1806 of yacc.c  */
    5731 #line 679 "parser.yy"
     5818#line 681 "parser.yy"
    57325819    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    57335820    break;
     
    57365823
    57375824/* Line 1806 of yacc.c  */
    5738 #line 681 "parser.yy"
     5825#line 683 "parser.yy"
    57395826    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57405827    break;
     
    57435830
    57445831/* Line 1806 of yacc.c  */
    5745 #line 688 "parser.yy"
     5832#line 690 "parser.yy"
    57465833    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57475834    break;
     
    57505837
    57515838/* Line 1806 of yacc.c  */
    5752 #line 693 "parser.yy"
     5839#line 695 "parser.yy"
    57535840    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    57545841    break;
     
    57575844
    57585845/* Line 1806 of yacc.c  */
    5759 #line 699 "parser.yy"
     5846#line 701 "parser.yy"
    57605847    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57615848    break;
     
    57645851
    57655852/* Line 1806 of yacc.c  */
    5766 #line 701 "parser.yy"
     5853#line 703 "parser.yy"
    57675854    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    57685855    break;
     
    57715858
    57725859/* Line 1806 of yacc.c  */
    5773 #line 703 "parser.yy"
     5860#line 705 "parser.yy"
    57745861    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57755862    break;
     
    57785865
    57795866/* Line 1806 of yacc.c  */
    5780 #line 705 "parser.yy"
     5867#line 707 "parser.yy"
    57815868    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    57825869    break;
     
    57855872
    57865873/* Line 1806 of yacc.c  */
    5787 #line 710 "parser.yy"
     5874#line 712 "parser.yy"
    57885875    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    57895876    break;
     
    57925879
    57935880/* Line 1806 of yacc.c  */
    5794 #line 712 "parser.yy"
     5881#line 714 "parser.yy"
    57955882    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    57965883    break;
     
    57995886
    58005887/* Line 1806 of yacc.c  */
    5801 #line 719 "parser.yy"
     5888#line 721 "parser.yy"
    58025889    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58035890    break;
     
    58065893
    58075894/* Line 1806 of yacc.c  */
    5808 #line 721 "parser.yy"
     5895#line 723 "parser.yy"
    58095896    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58105897    break;
     
    58135900
    58145901/* Line 1806 of yacc.c  */
    5815 #line 728 "parser.yy"
     5902#line 730 "parser.yy"
    58165903    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    58175904    break;
     
    58205907
    58215908/* Line 1806 of yacc.c  */
    5822 #line 732 "parser.yy"
     5909#line 734 "parser.yy"
    58235910    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    58245911    break;
     
    58275914
    58285915/* Line 1806 of yacc.c  */
    5829 #line 733 "parser.yy"
     5916#line 735 "parser.yy"
    58305917    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    58315918    break;
     
    58345921
    58355922/* Line 1806 of yacc.c  */
    5836 #line 739 "parser.yy"
     5923#line 741 "parser.yy"
    58375924    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    58385925    break;
     
    58415928
    58425929/* Line 1806 of yacc.c  */
    5843 #line 743 "parser.yy"
     5930#line 745 "parser.yy"
    58445931    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58455932    break;
     
    58485935
    58495936/* Line 1806 of yacc.c  */
    5850 #line 748 "parser.yy"
     5937#line 750 "parser.yy"
    58515938    { (yyval.sn) = 0; }
    58525939    break;
     
    58555942
    58565943/* Line 1806 of yacc.c  */
    5857 #line 754 "parser.yy"
     5944#line 756 "parser.yy"
    58585945    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58595946    break;
     
    58625949
    58635950/* Line 1806 of yacc.c  */
    5864 #line 756 "parser.yy"
     5951#line 758 "parser.yy"
    58655952    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58665953    break;
     
    58695956
    58705957/* Line 1806 of yacc.c  */
    5871 #line 761 "parser.yy"
     5958#line 763 "parser.yy"
    58725959    { (yyval.sn) = 0; }
    58735960    break;
     
    58765963
    58775964/* Line 1806 of yacc.c  */
    5878 #line 767 "parser.yy"
     5965#line 769 "parser.yy"
    58795966    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58805967    break;
     
    58835970
    58845971/* Line 1806 of yacc.c  */
    5885 #line 769 "parser.yy"
     5972#line 771 "parser.yy"
    58865973    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    58875974    break;
     
    58905977
    58915978/* Line 1806 of yacc.c  */
    5892 #line 771 "parser.yy"
     5979#line 773 "parser.yy"
    58935980    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58945981    break;
     
    58975984
    58985985/* Line 1806 of yacc.c  */
    5899 #line 773 "parser.yy"
     5986#line 775 "parser.yy"
    59005987    { (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) ))))); }
    59015988    break;
     
    59045991
    59055992/* Line 1806 of yacc.c  */
    5906 #line 778 "parser.yy"
     5993#line 780 "parser.yy"
    59075994    { (yyval.sn) = 0; }
    59085995    break;
     
    59115998
    59125999/* Line 1806 of yacc.c  */
    5913 #line 783 "parser.yy"
     6000#line 785 "parser.yy"
    59146001    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59156002    break;
     
    59186005
    59196006/* Line 1806 of yacc.c  */
    5920 #line 784 "parser.yy"
     6007#line 786 "parser.yy"
    59216008    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    59226009    break;
     
    59256012
    59266013/* Line 1806 of yacc.c  */
    5927 #line 789 "parser.yy"
     6014#line 791 "parser.yy"
    59286015    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    59296016    break;
     
    59326019
    59336020/* Line 1806 of yacc.c  */
    5934 #line 791 "parser.yy"
     6021#line 793 "parser.yy"
    59356022    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    59366023    break;
     
    59396026
    59406027/* Line 1806 of yacc.c  */
    5941 #line 793 "parser.yy"
     6028#line 795 "parser.yy"
    59426029    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    59436030    break;
     
    59466033
    59476034/* Line 1806 of yacc.c  */
    5948 #line 798 "parser.yy"
     6035#line 800 "parser.yy"
    59496036    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59506037    break;
     
    59536040
    59546041/* Line 1806 of yacc.c  */
    5955 #line 800 "parser.yy"
     6042#line 802 "parser.yy"
    59566043    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59576044    break;
     
    59606047
    59616048/* Line 1806 of yacc.c  */
    5962 #line 805 "parser.yy"
     6049#line 807 "parser.yy"
    59636050    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    59646051    break;
     
    59676054
    59686055/* Line 1806 of yacc.c  */
    5969 #line 809 "parser.yy"
     6056#line 811 "parser.yy"
    59706057    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    59716058    break;
     
    59746061
    59756062/* Line 1806 of yacc.c  */
    5976 #line 812 "parser.yy"
     6063#line 814 "parser.yy"
    59776064    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    59786065    break;
     
    59816068
    59826069/* Line 1806 of yacc.c  */
    5983 #line 816 "parser.yy"
     6070#line 818 "parser.yy"
    59846071    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    59856072    break;
     
    59886075
    59896076/* Line 1806 of yacc.c  */
    5990 #line 819 "parser.yy"
     6077#line 821 "parser.yy"
    59916078    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    59926079    break;
     
    59956082
    59966083/* Line 1806 of yacc.c  */
    5997 #line 823 "parser.yy"
     6084#line 825 "parser.yy"
    59986085    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    59996086    break;
     
    60026089
    60036090/* Line 1806 of yacc.c  */
    6004 #line 825 "parser.yy"
     6091#line 827 "parser.yy"
    60056092    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60066093    break;
     
    60096096
    60106097/* Line 1806 of yacc.c  */
    6011 #line 827 "parser.yy"
     6098#line 829 "parser.yy"
    60126099    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60136100    break;
     
    60166103
    60176104/* Line 1806 of yacc.c  */
    6018 #line 831 "parser.yy"
     6105#line 833 "parser.yy"
    60196106    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    60206107    break;
     
    60236110
    60246111/* Line 1806 of yacc.c  */
    6025 #line 833 "parser.yy"
     6112#line 835 "parser.yy"
    60266113    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    60276114    break;
    60286115
    60296116  case 197:
    6030 
    6031 /* Line 1806 of yacc.c  */
    6032 #line 840 "parser.yy"
    6033     { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    6034     break;
    6035 
    6036   case 198:
    60376117
    60386118/* Line 1806 of yacc.c  */
     
    60416121    break;
    60426122
     6123  case 198:
     6124
     6125/* Line 1806 of yacc.c  */
     6126#line 844 "parser.yy"
     6127    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
     6128    break;
     6129
    60436130  case 199:
    60446131
    60456132/* Line 1806 of yacc.c  */
    6046 #line 844 "parser.yy"
     6133#line 846 "parser.yy"
    60476134    {
    60486135                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    60546141
    60556142/* Line 1806 of yacc.c  */
    6056 #line 855 "parser.yy"
     6143#line 857 "parser.yy"
    60576144    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60586145    break;
     
    60616148
    60626149/* Line 1806 of yacc.c  */
    6063 #line 857 "parser.yy"
     6150#line 859 "parser.yy"
    60646151    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60656152    break;
     
    60686155
    60696156/* Line 1806 of yacc.c  */
    6070 #line 859 "parser.yy"
     6157#line 861 "parser.yy"
    60716158    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    60726159    break;
     
    60756162
    60766163/* Line 1806 of yacc.c  */
    6077 #line 861 "parser.yy"
     6164#line 863 "parser.yy"
    60786165    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    60796166    break;
     
    60826169
    60836170/* Line 1806 of yacc.c  */
    6084 #line 866 "parser.yy"
     6171#line 868 "parser.yy"
    60856172    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    60866173    break;
     
    60896176
    60906177/* Line 1806 of yacc.c  */
    6091 #line 868 "parser.yy"
     6178#line 870 "parser.yy"
    60926179    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    60936180    break;
     
    60966183
    60976184/* Line 1806 of yacc.c  */
    6098 #line 870 "parser.yy"
     6185#line 872 "parser.yy"
    60996186    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
    61006187    break;
     
    61036190
    61046191/* Line 1806 of yacc.c  */
    6105 #line 872 "parser.yy"
     6192#line 874 "parser.yy"
    61066193    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
    61076194    break;
     
    61106197
    61116198/* Line 1806 of yacc.c  */
    6112 #line 877 "parser.yy"
     6199#line 879 "parser.yy"
    61136200    {
    61146201                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    61206207
    61216208/* Line 1806 of yacc.c  */
    6122 #line 891 "parser.yy"
     6209#line 893 "parser.yy"
    61236210    {
    61246211                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61306217
    61316218/* Line 1806 of yacc.c  */
    6132 #line 896 "parser.yy"
     6219#line 898 "parser.yy"
    61336220    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61346221    break;
     
    61376224
    61386225/* Line 1806 of yacc.c  */
    6139 #line 898 "parser.yy"
     6226#line 900 "parser.yy"
    61406227    {
    61416228                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61476234
    61486235/* Line 1806 of yacc.c  */
    6149 #line 907 "parser.yy"
     6236#line 909 "parser.yy"
    61506237    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    61516238    break;
     
    61546241
    61556242/* Line 1806 of yacc.c  */
    6156 #line 909 "parser.yy"
     6243#line 911 "parser.yy"
    61576244    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    61586245    break;
     
    61616248
    61626249/* Line 1806 of yacc.c  */
    6163 #line 911 "parser.yy"
     6250#line 913 "parser.yy"
    61646251    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    61656252    break;
     
    61686255
    61696256/* Line 1806 of yacc.c  */
    6170 #line 913 "parser.yy"
     6257#line 915 "parser.yy"
    61716258    { (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) ); }
    61726259    break;
     
    61756262
    61766263/* Line 1806 of yacc.c  */
    6177 #line 915 "parser.yy"
     6264#line 917 "parser.yy"
    61786265    { (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) ); }
    61796266    break;
     
    61826269
    61836270/* Line 1806 of yacc.c  */
    6184 #line 920 "parser.yy"
     6271#line 922 "parser.yy"
    61856272    { (yyval.flag) = false; }
    61866273    break;
     
    61896276
    61906277/* Line 1806 of yacc.c  */
    6191 #line 922 "parser.yy"
     6278#line 924 "parser.yy"
    61926279    { (yyval.flag) = true; }
    61936280    break;
     
    61966283
    61976284/* Line 1806 of yacc.c  */
    6198 #line 927 "parser.yy"
     6285#line 929 "parser.yy"
    61996286    { (yyval.en) = 0; }
    62006287    break;
     
    62036290
    62046291/* Line 1806 of yacc.c  */
    6205 #line 934 "parser.yy"
     6292#line 936 "parser.yy"
    62066293    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62076294    break;
     
    62106297
    62116298/* Line 1806 of yacc.c  */
    6212 #line 939 "parser.yy"
     6299#line 941 "parser.yy"
    62136300    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    62146301    break;
     
    62176304
    62186305/* Line 1806 of yacc.c  */
    6219 #line 941 "parser.yy"
     6306#line 943 "parser.yy"
    62206307    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    62216308    break;
     
    62246311
    62256312/* Line 1806 of yacc.c  */
    6226 #line 946 "parser.yy"
     6313#line 948 "parser.yy"
    62276314    { (yyval.constant) = 0; }
    62286315    break;
     
    62316318
    62326319/* Line 1806 of yacc.c  */
    6233 #line 948 "parser.yy"
     6320#line 950 "parser.yy"
    62346321    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    62356322    break;
     
    62386325
    62396326/* Line 1806 of yacc.c  */
    6240 #line 950 "parser.yy"
     6327#line 952 "parser.yy"
    62416328    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    62426329    break;
     
    62456332
    62466333/* Line 1806 of yacc.c  */
    6247 #line 955 "parser.yy"
     6334#line 957 "parser.yy"
    62486335    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    62496336    break;
     
    62526339
    62536340/* Line 1806 of yacc.c  */
    6254 #line 957 "parser.yy"
     6341#line 959 "parser.yy"
    62556342    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    62566343    break;
     
    62596346
    62606347/* Line 1806 of yacc.c  */
    6261 #line 964 "parser.yy"
     6348#line 966 "parser.yy"
    62626349    { (yyval.decl) = 0; }
    62636350    break;
     
    62666353
    62676354/* Line 1806 of yacc.c  */
    6268 #line 971 "parser.yy"
     6355#line 973 "parser.yy"
    62696356    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62706357    break;
     
    62736360
    62746361/* Line 1806 of yacc.c  */
    6275 #line 976 "parser.yy"
     6362#line 978 "parser.yy"
    62766363    { (yyval.decl) = 0; }
    62776364    break;
     
    62806367
    62816368/* Line 1806 of yacc.c  */
    6282 #line 983 "parser.yy"
     6369#line 985 "parser.yy"
    62836370    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62846371    break;
     
    62876374
    62886375/* Line 1806 of yacc.c  */
    6289 #line 997 "parser.yy"
     6376#line 999 "parser.yy"
    62906377    {}
    62916378    break;
     
    62946381
    62956382/* Line 1806 of yacc.c  */
    6296 #line 998 "parser.yy"
     6383#line 1000 "parser.yy"
    62976384    {}
    62986385    break;
     
    63016388
    63026389/* Line 1806 of yacc.c  */
    6303 #line 1027 "parser.yy"
     6390#line 1029 "parser.yy"
    63046391    {
    63056392                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6306                         (yyval.decl) = (yyvsp[(1) - (2)].decl);
     6393                        (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) );
    63076394                }
    63086395    break;
     
    63116398
    63126399/* Line 1806 of yacc.c  */
    6313 #line 1034 "parser.yy"
     6400#line 1036 "parser.yy"
    63146401    {
    63156402                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6316                         (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) );
     6403                        (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );;
    63176404                }
    63186405    break;
     
    63216408
    63226409/* Line 1806 of yacc.c  */
    6323 #line 1039 "parser.yy"
     6410#line 1041 "parser.yy"
    63246411    {
    63256412                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
    6326                         (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) );
     6413                        (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) );
    63276414                }
    63286415    break;
     
    63316418
    63326419/* Line 1806 of yacc.c  */
    6333 #line 1049 "parser.yy"
     6420#line 1051 "parser.yy"
    63346421    {
    63356422                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63416428
    63426429/* Line 1806 of yacc.c  */
    6343 #line 1054 "parser.yy"
     6430#line 1056 "parser.yy"
    63446431    {
    63456432                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63516438
    63526439/* Line 1806 of yacc.c  */
    6353 #line 1059 "parser.yy"
     6440#line 1061 "parser.yy"
    63546441    {
    63556442                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63616448
    63626449/* Line 1806 of yacc.c  */
    6363 #line 1067 "parser.yy"
     6450#line 1069 "parser.yy"
    63646451    {
    63656452                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63716458
    63726459/* Line 1806 of yacc.c  */
    6373 #line 1072 "parser.yy"
     6460#line 1074 "parser.yy"
    63746461    {
    63756462                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63816468
    63826469/* Line 1806 of yacc.c  */
    6383 #line 1077 "parser.yy"
     6470#line 1079 "parser.yy"
    63846471    {
    63856472                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63916478
    63926479/* Line 1806 of yacc.c  */
    6393 #line 1082 "parser.yy"
     6480#line 1084 "parser.yy"
    63946481    {
    63956482                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64016488
    64026489/* Line 1806 of yacc.c  */
    6403 #line 1087 "parser.yy"
     6490#line 1089 "parser.yy"
    64046491    {
    64056492                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64116498
    64126499/* Line 1806 of yacc.c  */
    6413 #line 1095 "parser.yy"
     6500#line 1097 "parser.yy"
    64146501    {
    64156502                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    64206507
    64216508/* Line 1806 of yacc.c  */
    6422 #line 1118 "parser.yy"
     6509#line 1120 "parser.yy"
    64236510    {
    64246511                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64296516
    64306517/* Line 1806 of yacc.c  */
    6431 #line 1122 "parser.yy"
     6518#line 1124 "parser.yy"
    64326519    {
    64336520                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64386525
    64396526/* Line 1806 of yacc.c  */
    6440 #line 1129 "parser.yy"
     6527#line 1131 "parser.yy"
    64416528    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64426529    break;
     
    64456532
    64466533/* Line 1806 of yacc.c  */
    6447 #line 1133 "parser.yy"
     6534#line 1135 "parser.yy"
    64486535    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64496536    break;
     
    64526539
    64536540/* Line 1806 of yacc.c  */
    6454 #line 1138 "parser.yy"
     6541#line 1140 "parser.yy"
    64556542    {
    64566543                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64626549
    64636550/* Line 1806 of yacc.c  */
    6464 #line 1143 "parser.yy"
     6551#line 1145 "parser.yy"
    64656552    {
    64666553                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64726559
    64736560/* Line 1806 of yacc.c  */
    6474 #line 1148 "parser.yy"
     6561#line 1150 "parser.yy"
    64756562    {
    64766563                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64826569
    64836570/* Line 1806 of yacc.c  */
    6484 #line 1159 "parser.yy"
     6571#line 1161 "parser.yy"
    64856572    {
    64866573                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64926579
    64936580/* Line 1806 of yacc.c  */
    6494 #line 1164 "parser.yy"
     6581#line 1166 "parser.yy"
    64956582    {
    64966583                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65026589
    65036590/* Line 1806 of yacc.c  */
    6504 #line 1169 "parser.yy"
     6591#line 1171 "parser.yy"
    65056592    {
    65066593                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65126599
    65136600/* Line 1806 of yacc.c  */
    6514 #line 1174 "parser.yy"
     6601#line 1176 "parser.yy"
    65156602    {
    65166603                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65226609
    65236610/* Line 1806 of yacc.c  */
    6524 #line 1179 "parser.yy"
     6611#line 1181 "parser.yy"
    65256612    {
    65266613                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65326619
    65336620/* Line 1806 of yacc.c  */
    6534 #line 1188 "parser.yy"
     6621#line 1190 "parser.yy"
    65356622    {
    65366623                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65426629
    65436630/* Line 1806 of yacc.c  */
    6544 #line 1193 "parser.yy"
     6631#line 1195 "parser.yy"
    65456632    {
    65466633                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65526639
    65536640/* Line 1806 of yacc.c  */
    6554 #line 1210 "parser.yy"
     6641#line 1212 "parser.yy"
    65556642    {
    65566643                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65626649
    65636650/* Line 1806 of yacc.c  */
    6564 #line 1215 "parser.yy"
     6651#line 1217 "parser.yy"
    65656652    {
    65666653                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65726659
    65736660/* Line 1806 of yacc.c  */
    6574 #line 1237 "parser.yy"
     6661#line 1239 "parser.yy"
    65756662    { (yyval.decl) = 0; }
    65766663    break;
     
    65796666
    65806667/* Line 1806 of yacc.c  */
    6581 #line 1249 "parser.yy"
     6668#line 1251 "parser.yy"
    65826669    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65836670    break;
     
    65866673
    65876674/* Line 1806 of yacc.c  */
    6588 #line 1260 "parser.yy"
     6675#line 1262 "parser.yy"
    65896676    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65906677    break;
     
    65936680
    65946681/* Line 1806 of yacc.c  */
    6595 #line 1262 "parser.yy"
     6682#line 1264 "parser.yy"
    65966683    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65976684    break;
     
    66006687
    66016688/* Line 1806 of yacc.c  */
    6602 #line 1264 "parser.yy"
     6689#line 1266 "parser.yy"
    66036690    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66046691    break;
     
    66076694
    66086695/* Line 1806 of yacc.c  */
    6609 #line 1266 "parser.yy"
     6696#line 1268 "parser.yy"
    66106697    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66116698    break;
     
    66146701
    66156702/* Line 1806 of yacc.c  */
    6616 #line 1268 "parser.yy"
     6703#line 1270 "parser.yy"
    66176704    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66186705    break;
     
    66216708
    66226709/* Line 1806 of yacc.c  */
    6623 #line 1270 "parser.yy"
     6710#line 1272 "parser.yy"
    66246711    {
    66256712                        typedefTable.enterScope();
     
    66306717
    66316718/* Line 1806 of yacc.c  */
    6632 #line 1274 "parser.yy"
     6719#line 1276 "parser.yy"
    66336720    {
    66346721                        typedefTable.leaveScope();
     
    66406727
    66416728/* Line 1806 of yacc.c  */
    6642 #line 1283 "parser.yy"
     6729#line 1285 "parser.yy"
    66436730    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66446731    break;
     
    66476734
    66486735/* Line 1806 of yacc.c  */
    6649 #line 1285 "parser.yy"
     6736#line 1287 "parser.yy"
    66506737    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66516738    break;
     
    66546741
    66556742/* Line 1806 of yacc.c  */
    6656 #line 1296 "parser.yy"
     6743#line 1298 "parser.yy"
    66576744    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66586745    break;
     
    66616748
    66626749/* Line 1806 of yacc.c  */
    6663 #line 1305 "parser.yy"
     6750#line 1307 "parser.yy"
    66646751    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66656752    break;
     
    66686755
    66696756/* Line 1806 of yacc.c  */
    6670 #line 1307 "parser.yy"
     6757#line 1309 "parser.yy"
    66716758    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66726759    break;
     
    66756762
    66766763/* Line 1806 of yacc.c  */
    6677 #line 1309 "parser.yy"
     6764#line 1311 "parser.yy"
    66786765    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66796766    break;
     
    66826769
    66836770/* Line 1806 of yacc.c  */
    6684 #line 1311 "parser.yy"
     6771#line 1313 "parser.yy"
    66856772    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66866773    break;
     
    66896776
    66906777/* Line 1806 of yacc.c  */
    6691 #line 1313 "parser.yy"
     6778#line 1315 "parser.yy"
    66926779    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    66936780    break;
     
    66966783
    66976784/* Line 1806 of yacc.c  */
    6698 #line 1315 "parser.yy"
     6785#line 1317 "parser.yy"
    66996786    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67006787    break;
     
    67036790
    67046791/* Line 1806 of yacc.c  */
    6705 #line 1317 "parser.yy"
     6792#line 1319 "parser.yy"
    67066793    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67076794    break;
     
    67106797
    67116798/* Line 1806 of yacc.c  */
    6712 #line 1319 "parser.yy"
     6799#line 1321 "parser.yy"
    67136800    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67146801    break;
     
    67176804
    67186805/* Line 1806 of yacc.c  */
    6719 #line 1324 "parser.yy"
     6806#line 1326 "parser.yy"
    67206807    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67216808    break;
     
    67246811
    67256812/* Line 1806 of yacc.c  */
    6726 #line 1326 "parser.yy"
     6813#line 1328 "parser.yy"
    67276814    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67286815    break;
     
    67316818
    67326819/* Line 1806 of yacc.c  */
    6733 #line 1328 "parser.yy"
     6820#line 1330 "parser.yy"
    67346821    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67356822    break;
     
    67386825
    67396826/* Line 1806 of yacc.c  */
    6740 #line 1330 "parser.yy"
     6827#line 1332 "parser.yy"
    67416828    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67426829    break;
     
    67456832
    67466833/* Line 1806 of yacc.c  */
    6747 #line 1332 "parser.yy"
     6834#line 1334 "parser.yy"
    67486835    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    67496836    break;
     
    67526839
    67536840/* Line 1806 of yacc.c  */
    6754 #line 1334 "parser.yy"
     6841#line 1336 "parser.yy"
    67556842    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    67566843    break;
     
    67596846
    67606847/* Line 1806 of yacc.c  */
    6761 #line 1336 "parser.yy"
     6848#line 1338 "parser.yy"
    67626849    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    67636850    break;
     
    67666853
    67676854/* Line 1806 of yacc.c  */
    6768 #line 1338 "parser.yy"
     6855#line 1340 "parser.yy"
    67696856    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    67706857    break;
     
    67736860
    67746861/* Line 1806 of yacc.c  */
    6775 #line 1340 "parser.yy"
     6862#line 1342 "parser.yy"
    67766863    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67776864    break;
     
    67806867
    67816868/* Line 1806 of yacc.c  */
    6782 #line 1342 "parser.yy"
     6869#line 1344 "parser.yy"
    67836870    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67846871    break;
     
    67876874
    67886875/* Line 1806 of yacc.c  */
    6789 #line 1344 "parser.yy"
     6876#line 1346 "parser.yy"
    67906877    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    67916878    break;
     
    67946881
    67956882/* Line 1806 of yacc.c  */
    6796 #line 1346 "parser.yy"
     6883#line 1348 "parser.yy"
    67976884    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    67986885    break;
    67996886
    6800   case 334:
    6801 
    6802 /* Line 1806 of yacc.c  */
    6803 #line 1353 "parser.yy"
     6887  case 333:
     6888
     6889/* Line 1806 of yacc.c  */
     6890#line 1350 "parser.yy"
     6891    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
     6892    break;
     6893
     6894  case 335:
     6895
     6896/* Line 1806 of yacc.c  */
     6897#line 1357 "parser.yy"
    68046898    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68056899    break;
    68066900
    6807   case 335:
    6808 
    6809 /* Line 1806 of yacc.c  */
    6810 #line 1355 "parser.yy"
     6901  case 336:
     6902
     6903/* Line 1806 of yacc.c  */
     6904#line 1359 "parser.yy"
    68116905    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68126906    break;
    68136907
    6814   case 336:
    6815 
    6816 /* Line 1806 of yacc.c  */
    6817 #line 1357 "parser.yy"
     6908  case 337:
     6909
     6910/* Line 1806 of yacc.c  */
     6911#line 1361 "parser.yy"
    68186912    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68196913    break;
    68206914
    6821   case 337:
    6822 
    6823 /* Line 1806 of yacc.c  */
    6824 #line 1359 "parser.yy"
     6915  case 338:
     6916
     6917/* Line 1806 of yacc.c  */
     6918#line 1363 "parser.yy"
    68256919    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68266920    break;
    68276921
    6828   case 339:
    6829 
    6830 /* Line 1806 of yacc.c  */
    6831 #line 1365 "parser.yy"
     6922  case 340:
     6923
     6924/* Line 1806 of yacc.c  */
     6925#line 1369 "parser.yy"
    68326926    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68336927    break;
    68346928
    6835   case 341:
    6836 
    6837 /* Line 1806 of yacc.c  */
    6838 #line 1372 "parser.yy"
     6929  case 342:
     6930
     6931/* Line 1806 of yacc.c  */
     6932#line 1376 "parser.yy"
    68396933    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68406934    break;
    68416935
    6842   case 342:
    6843 
    6844 /* Line 1806 of yacc.c  */
    6845 #line 1374 "parser.yy"
     6936  case 343:
     6937
     6938/* Line 1806 of yacc.c  */
     6939#line 1378 "parser.yy"
    68466940    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68476941    break;
    68486942
    6849   case 343:
    6850 
    6851 /* Line 1806 of yacc.c  */
    6852 #line 1376 "parser.yy"
     6943  case 344:
     6944
     6945/* Line 1806 of yacc.c  */
     6946#line 1380 "parser.yy"
    68536947    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68546948    break;
    68556949
    6856   case 344:
    6857 
    6858 /* Line 1806 of yacc.c  */
    6859 #line 1381 "parser.yy"
     6950  case 345:
     6951
     6952/* Line 1806 of yacc.c  */
     6953#line 1385 "parser.yy"
    68606954    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68616955    break;
    68626956
    6863   case 345:
    6864 
    6865 /* Line 1806 of yacc.c  */
    6866 #line 1383 "parser.yy"
     6957  case 346:
     6958
     6959/* Line 1806 of yacc.c  */
     6960#line 1387 "parser.yy"
    68676961    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68686962    break;
    68696963
    6870   case 346:
    6871 
    6872 /* Line 1806 of yacc.c  */
    6873 #line 1385 "parser.yy"
     6964  case 347:
     6965
     6966/* Line 1806 of yacc.c  */
     6967#line 1389 "parser.yy"
    68746968    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68756969    break;
    68766970
    6877   case 347:
    6878 
    6879 /* Line 1806 of yacc.c  */
    6880 #line 1387 "parser.yy"
     6971  case 348:
     6972
     6973/* Line 1806 of yacc.c  */
     6974#line 1391 "parser.yy"
    68816975    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68826976    break;
    68836977
    6884   case 349:
    6885 
    6886 /* Line 1806 of yacc.c  */
    6887 #line 1393 "parser.yy"
     6978  case 350:
     6979
     6980/* Line 1806 of yacc.c  */
     6981#line 1397 "parser.yy"
    68886982    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68896983    break;
    68906984
    6891   case 350:
    6892 
    6893 /* Line 1806 of yacc.c  */
    6894 #line 1395 "parser.yy"
     6985  case 351:
     6986
     6987/* Line 1806 of yacc.c  */
     6988#line 1399 "parser.yy"
    68956989    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68966990    break;
    68976991
    6898   case 351:
    6899 
    6900 /* Line 1806 of yacc.c  */
    6901 #line 1397 "parser.yy"
     6992  case 352:
     6993
     6994/* Line 1806 of yacc.c  */
     6995#line 1401 "parser.yy"
    69026996    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69036997    break;
    69046998
    6905   case 353:
    6906 
    6907 /* Line 1806 of yacc.c  */
    6908 #line 1403 "parser.yy"
     6999  case 354:
     7000
     7001/* Line 1806 of yacc.c  */
     7002#line 1407 "parser.yy"
    69097003    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69107004    break;
    69117005
    6912   case 354:
    6913 
    6914 /* Line 1806 of yacc.c  */
    6915 #line 1405 "parser.yy"
     7006  case 355:
     7007
     7008/* Line 1806 of yacc.c  */
     7009#line 1409 "parser.yy"
    69167010    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69177011    break;
    69187012
    6919   case 356:
    6920 
    6921 /* Line 1806 of yacc.c  */
    6922 #line 1411 "parser.yy"
     7013  case 357:
     7014
     7015/* Line 1806 of yacc.c  */
     7016#line 1415 "parser.yy"
    69237017    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69247018    break;
    69257019
    6926   case 357:
    6927 
    6928 /* Line 1806 of yacc.c  */
    6929 #line 1413 "parser.yy"
     7020  case 358:
     7021
     7022/* Line 1806 of yacc.c  */
     7023#line 1417 "parser.yy"
    69307024    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69317025    break;
    69327026
    6933   case 358:
    6934 
    6935 /* Line 1806 of yacc.c  */
    6936 #line 1415 "parser.yy"
     7027  case 359:
     7028
     7029/* Line 1806 of yacc.c  */
     7030#line 1419 "parser.yy"
    69377031    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69387032    break;
    69397033
    6940   case 359:
    6941 
    6942 /* Line 1806 of yacc.c  */
    6943 #line 1420 "parser.yy"
     7034  case 360:
     7035
     7036/* Line 1806 of yacc.c  */
     7037#line 1424 "parser.yy"
    69447038    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69457039    break;
    69467040
    6947   case 360:
    6948 
    6949 /* Line 1806 of yacc.c  */
    6950 #line 1422 "parser.yy"
     7041  case 361:
     7042
     7043/* Line 1806 of yacc.c  */
     7044#line 1426 "parser.yy"
    69517045    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69527046    break;
    69537047
    6954   case 361:
    6955 
    6956 /* Line 1806 of yacc.c  */
    6957 #line 1424 "parser.yy"
     7048  case 362:
     7049
     7050/* Line 1806 of yacc.c  */
     7051#line 1428 "parser.yy"
    69587052    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69597053    break;
    69607054
    6961   case 364:
    6962 
    6963 /* Line 1806 of yacc.c  */
    6964 #line 1434 "parser.yy"
     7055  case 365:
     7056
     7057/* Line 1806 of yacc.c  */
     7058#line 1438 "parser.yy"
    69657059    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    69667060    break;
    69677061
    6968   case 365:
    6969 
    6970 /* Line 1806 of yacc.c  */
    6971 #line 1436 "parser.yy"
    6972     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); }
    6973     break;
    6974 
    69757062  case 366:
    69767063
    69777064/* Line 1806 of yacc.c  */
    6978 #line 1438 "parser.yy"
    6979     { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); }
     7065#line 1440 "parser.yy"
     7066    {
     7067                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     7068                        (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 );
     7069                }
    69807070    break;
    69817071
     
    69837073
    69847074/* Line 1806 of yacc.c  */
    6985 #line 1440 "parser.yy"
     7075#line 1445 "parser.yy"
     7076    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7077    break;
     7078
     7079  case 368:
     7080
     7081/* Line 1806 of yacc.c  */
     7082#line 1447 "parser.yy"
     7083    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
     7084    break;
     7085
     7086  case 369:
     7087
     7088/* Line 1806 of yacc.c  */
     7089#line 1449 "parser.yy"
    69867090    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    69877091    break;
    69887092
    6989   case 368:
    6990 
    6991 /* Line 1806 of yacc.c  */
    6992 #line 1442 "parser.yy"
     7093  case 370:
     7094
     7095/* Line 1806 of yacc.c  */
     7096#line 1451 "parser.yy"
    69937097    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69947098    break;
    69957099
    6996   case 369:
    6997 
    6998 /* Line 1806 of yacc.c  */
    6999 #line 1447 "parser.yy"
     7100  case 371:
     7101
     7102/* Line 1806 of yacc.c  */
     7103#line 1456 "parser.yy"
    70007104    { (yyval.aggKey) = DeclarationNode::Struct; }
    70017105    break;
    70027106
    7003   case 370:
    7004 
    7005 /* Line 1806 of yacc.c  */
    7006 #line 1449 "parser.yy"
     7107  case 372:
     7108
     7109/* Line 1806 of yacc.c  */
     7110#line 1458 "parser.yy"
    70077111    { (yyval.aggKey) = DeclarationNode::Union; }
    70087112    break;
    70097113
    7010   case 371:
    7011 
    7012 /* Line 1806 of yacc.c  */
    7013 #line 1454 "parser.yy"
     7114  case 373:
     7115
     7116/* Line 1806 of yacc.c  */
     7117#line 1463 "parser.yy"
    70147118    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    70157119    break;
    70167120
    7017   case 372:
    7018 
    7019 /* Line 1806 of yacc.c  */
    7020 #line 1456 "parser.yy"
     7121  case 374:
     7122
     7123/* Line 1806 of yacc.c  */
     7124#line 1465 "parser.yy"
    70217125    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    70227126    break;
    70237127
    7024   case 374:
    7025 
    7026 /* Line 1806 of yacc.c  */
    7027 #line 1462 "parser.yy"
     7128  case 376:
     7129
     7130/* Line 1806 of yacc.c  */
     7131#line 1471 "parser.yy"
    70287132    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    70297133    break;
    70307134
    7031   case 376:
    7032 
    7033 /* Line 1806 of yacc.c  */
    7034 #line 1465 "parser.yy"
     7135  case 378:
     7136
     7137/* Line 1806 of yacc.c  */
     7138#line 1474 "parser.yy"
    70357139    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    70367140    break;
    70377141
    7038   case 378:
    7039 
    7040 /* Line 1806 of yacc.c  */
    7041 #line 1471 "parser.yy"
     7142  case 380:
     7143
     7144/* Line 1806 of yacc.c  */
     7145#line 1480 "parser.yy"
    70427146    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70437147    break;
    70447148
    7045   case 379:
    7046 
    7047 /* Line 1806 of yacc.c  */
    7048 #line 1473 "parser.yy"
     7149  case 381:
     7150
     7151/* Line 1806 of yacc.c  */
     7152#line 1482 "parser.yy"
    70497153    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70507154    break;
    70517155
    7052   case 380:
    7053 
    7054 /* Line 1806 of yacc.c  */
    7055 #line 1475 "parser.yy"
     7156  case 382:
     7157
     7158/* Line 1806 of yacc.c  */
     7159#line 1484 "parser.yy"
    70567160    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70577161    break;
    70587162
    7059   case 381:
    7060 
    7061 /* Line 1806 of yacc.c  */
    7062 #line 1480 "parser.yy"
     7163  case 383:
     7164
     7165/* Line 1806 of yacc.c  */
     7166#line 1489 "parser.yy"
    70637167    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70647168    break;
    70657169
    7066   case 382:
    7067 
    7068 /* Line 1806 of yacc.c  */
    7069 #line 1482 "parser.yy"
     7170  case 384:
     7171
     7172/* Line 1806 of yacc.c  */
     7173#line 1491 "parser.yy"
    70707174    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70717175    break;
    70727176
    7073   case 383:
    7074 
    7075 /* Line 1806 of yacc.c  */
    7076 #line 1487 "parser.yy"
     7177  case 385:
     7178
     7179/* Line 1806 of yacc.c  */
     7180#line 1496 "parser.yy"
    70777181    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70787182    break;
    70797183
    7080   case 384:
    7081 
    7082 /* Line 1806 of yacc.c  */
    7083 #line 1489 "parser.yy"
     7184  case 386:
     7185
     7186/* Line 1806 of yacc.c  */
     7187#line 1498 "parser.yy"
    70847188    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70857189    break;
    70867190
    7087   case 385:
    7088 
    7089 /* Line 1806 of yacc.c  */
    7090 #line 1492 "parser.yy"
     7191  case 387:
     7192
     7193/* Line 1806 of yacc.c  */
     7194#line 1501 "parser.yy"
    70917195    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70927196    break;
    70937197
    7094   case 386:
    7095 
    7096 /* Line 1806 of yacc.c  */
    7097 #line 1495 "parser.yy"
     7198  case 388:
     7199
     7200/* Line 1806 of yacc.c  */
     7201#line 1504 "parser.yy"
    70987202    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70997203    break;
    71007204
    7101   case 388:
    7102 
    7103 /* Line 1806 of yacc.c  */
    7104 #line 1501 "parser.yy"
     7205  case 390:
     7206
     7207/* Line 1806 of yacc.c  */
     7208#line 1510 "parser.yy"
    71057209    { (yyval.en) = 0; }
    71067210    break;
    71077211
    7108   case 389:
    7109 
    7110 /* Line 1806 of yacc.c  */
    7111 #line 1503 "parser.yy"
     7212  case 391:
     7213
     7214/* Line 1806 of yacc.c  */
     7215#line 1512 "parser.yy"
    71127216    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71137217    break;
    71147218
    7115   case 390:
    7116 
    7117 /* Line 1806 of yacc.c  */
    7118 #line 1508 "parser.yy"
     7219  case 392:
     7220
     7221/* Line 1806 of yacc.c  */
     7222#line 1517 "parser.yy"
    71197223    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71207224    break;
    71217225
    7122   case 392:
    7123 
    7124 /* Line 1806 of yacc.c  */
    7125 #line 1517 "parser.yy"
     7226  case 394:
     7227
     7228/* Line 1806 of yacc.c  */
     7229#line 1526 "parser.yy"
    71267230    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71277231    break;
    71287232
    7129   case 393:
    7130 
    7131 /* Line 1806 of yacc.c  */
    7132 #line 1519 "parser.yy"
    7133     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    7134     break;
    7135 
    7136   case 394:
    7137 
    7138 /* Line 1806 of yacc.c  */
    7139 #line 1521 "parser.yy"
    7140     { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    7141     break;
    7142 
    71437233  case 395:
    71447234
    71457235/* Line 1806 of yacc.c  */
    7146 #line 1526 "parser.yy"
     7236#line 1528 "parser.yy"
     7237    {
     7238                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     7239                        (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 );
     7240                }
     7241    break;
     7242
     7243  case 396:
     7244
     7245/* Line 1806 of yacc.c  */
     7246#line 1533 "parser.yy"
     7247    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
     7248    break;
     7249
     7250  case 397:
     7251
     7252/* Line 1806 of yacc.c  */
     7253#line 1535 "parser.yy"
     7254    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
     7255    break;
     7256
     7257  case 398:
     7258
     7259/* Line 1806 of yacc.c  */
     7260#line 1540 "parser.yy"
    71477261    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71487262    break;
    71497263
    7150   case 396:
    7151 
    7152 /* Line 1806 of yacc.c  */
    7153 #line 1528 "parser.yy"
     7264  case 399:
     7265
     7266/* Line 1806 of yacc.c  */
     7267#line 1542 "parser.yy"
    71547268    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71557269    break;
    71567270
    7157   case 397:
    7158 
    7159 /* Line 1806 of yacc.c  */
    7160 #line 1533 "parser.yy"
     7271  case 400:
     7272
     7273/* Line 1806 of yacc.c  */
     7274#line 1547 "parser.yy"
    71617275    { (yyval.en) = 0; }
    71627276    break;
    71637277
    7164   case 398:
    7165 
    7166 /* Line 1806 of yacc.c  */
    7167 #line 1535 "parser.yy"
     7278  case 401:
     7279
     7280/* Line 1806 of yacc.c  */
     7281#line 1549 "parser.yy"
    71687282    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71697283    break;
    71707284
    7171   case 399:
    7172 
    7173 /* Line 1806 of yacc.c  */
    7174 #line 1542 "parser.yy"
     7285  case 402:
     7286
     7287/* Line 1806 of yacc.c  */
     7288#line 1556 "parser.yy"
    71757289    { (yyval.decl) = 0; }
    71767290    break;
    71777291
    7178   case 403:
    7179 
    7180 /* Line 1806 of yacc.c  */
    7181 #line 1550 "parser.yy"
    7182     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7183     break;
    7184 
    7185   case 404:
    7186 
    7187 /* Line 1806 of yacc.c  */
    7188 #line 1552 "parser.yy"
    7189     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7190     break;
    7191 
    7192   case 405:
    7193 
    7194 /* Line 1806 of yacc.c  */
    7195 #line 1554 "parser.yy"
    7196     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7197     break;
    7198 
    7199   case 407:
    7200 
    7201 /* Line 1806 of yacc.c  */
    7202 #line 1562 "parser.yy"
    7203     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7204     break;
    7205 
    7206   case 408:
     7292  case 406:
    72077293
    72087294/* Line 1806 of yacc.c  */
     
    72117297    break;
    72127298
    7213   case 409:
     7299  case 407:
    72147300
    72157301/* Line 1806 of yacc.c  */
    72167302#line 1566 "parser.yy"
     7303    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7304    break;
     7305
     7306  case 408:
     7307
     7308/* Line 1806 of yacc.c  */
     7309#line 1568 "parser.yy"
     7310    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7311    break;
     7312
     7313  case 410:
     7314
     7315/* Line 1806 of yacc.c  */
     7316#line 1576 "parser.yy"
     7317    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7318    break;
     7319
     7320  case 411:
     7321
     7322/* Line 1806 of yacc.c  */
     7323#line 1578 "parser.yy"
     7324    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7325    break;
     7326
     7327  case 412:
     7328
     7329/* Line 1806 of yacc.c  */
     7330#line 1580 "parser.yy"
    72177331    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72187332    break;
    72197333
    7220   case 411:
    7221 
    7222 /* Line 1806 of yacc.c  */
    7223 #line 1572 "parser.yy"
     7334  case 414:
     7335
     7336/* Line 1806 of yacc.c  */
     7337#line 1586 "parser.yy"
    72247338    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72257339    break;
    72267340
    7227   case 412:
    7228 
    7229 /* Line 1806 of yacc.c  */
    7230 #line 1577 "parser.yy"
     7341  case 415:
     7342
     7343/* Line 1806 of yacc.c  */
     7344#line 1591 "parser.yy"
    72317345    { (yyval.decl) = 0; }
    72327346    break;
    72337347
    7234   case 415:
    7235 
    7236 /* Line 1806 of yacc.c  */
    7237 #line 1584 "parser.yy"
     7348  case 418:
     7349
     7350/* Line 1806 of yacc.c  */
     7351#line 1598 "parser.yy"
    72387352    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72397353    break;
    72407354
    7241   case 418:
    7242 
    7243 /* Line 1806 of yacc.c  */
    7244 #line 1591 "parser.yy"
     7355  case 421:
     7356
     7357/* Line 1806 of yacc.c  */
     7358#line 1605 "parser.yy"
    72457359    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72467360    break;
    72477361
    7248   case 419:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1593 "parser.yy"
     7362  case 422:
     7363
     7364/* Line 1806 of yacc.c  */
     7365#line 1607 "parser.yy"
    72527366    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72537367    break;
    72547368
    7255   case 421:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1602 "parser.yy"
     7369  case 424:
     7370
     7371/* Line 1806 of yacc.c  */
     7372#line 1616 "parser.yy"
    72597373    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72607374    break;
    72617375
    7262   case 422:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1605 "parser.yy"
     7376  case 425:
     7377
     7378/* Line 1806 of yacc.c  */
     7379#line 1619 "parser.yy"
    72667380    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72677381    break;
    72687382
    7269   case 423:
    7270 
    7271 /* Line 1806 of yacc.c  */
    7272 #line 1607 "parser.yy"
     7383  case 426:
     7384
     7385/* Line 1806 of yacc.c  */
     7386#line 1621 "parser.yy"
    72737387    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72747388    break;
    72757389
    7276   case 428:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1617 "parser.yy"
     7390  case 431:
     7391
     7392/* Line 1806 of yacc.c  */
     7393#line 1631 "parser.yy"
    72807394    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72817395    break;
    72827396
    7283   case 430:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1623 "parser.yy"
     7397  case 433:
     7398
     7399/* Line 1806 of yacc.c  */
     7400#line 1637 "parser.yy"
    72877401    {
    72887402                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    72917405    break;
    72927406
    7293   case 431:
    7294 
    7295 /* Line 1806 of yacc.c  */
    7296 #line 1628 "parser.yy"
     7407  case 434:
     7408
     7409/* Line 1806 of yacc.c  */
     7410#line 1642 "parser.yy"
    72977411    {
    72987412                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73017415    break;
    73027416
    7303   case 433:
    7304 
    7305 /* Line 1806 of yacc.c  */
    7306 #line 1637 "parser.yy"
     7417  case 436:
     7418
     7419/* Line 1806 of yacc.c  */
     7420#line 1651 "parser.yy"
    73077421    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73087422    break;
    73097423
    7310   case 434:
    7311 
    7312 /* Line 1806 of yacc.c  */
    7313 #line 1646 "parser.yy"
     7424  case 437:
     7425
     7426/* Line 1806 of yacc.c  */
     7427#line 1660 "parser.yy"
    73147428    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73157429    break;
    73167430
    7317   case 435:
    7318 
    7319 /* Line 1806 of yacc.c  */
    7320 #line 1648 "parser.yy"
     7431  case 438:
     7432
     7433/* Line 1806 of yacc.c  */
     7434#line 1662 "parser.yy"
    73217435    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73227436    break;
    73237437
    7324   case 447:
    7325 
    7326 /* Line 1806 of yacc.c  */
    7327 #line 1673 "parser.yy"
     7438  case 450:
     7439
     7440/* Line 1806 of yacc.c  */
     7441#line 1687 "parser.yy"
    73287442    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73297443    break;
    73307444
    7331   case 451:
    7332 
    7333 /* Line 1806 of yacc.c  */
    7334 #line 1681 "parser.yy"
     7445  case 454:
     7446
     7447/* Line 1806 of yacc.c  */
     7448#line 1695 "parser.yy"
    73357449    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73367450    break;
    73377451
    7338   case 452:
    7339 
    7340 /* Line 1806 of yacc.c  */
    7341 #line 1686 "parser.yy"
    7342     { (yyval.in) = 0; }
    7343     break;
    7344 
    7345   case 453:
    7346 
    7347 /* Line 1806 of yacc.c  */
    7348 #line 1688 "parser.yy"
    7349     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7350     break;
    7351 
    7352   case 454:
    7353 
    7354 /* Line 1806 of yacc.c  */
    7355 #line 1690 "parser.yy"
    7356     { (yyval.in) = (yyvsp[(2) - (2)].in); }
    7357     break;
    7358 
    73597452  case 455:
    7360 
    7361 /* Line 1806 of yacc.c  */
    7362 #line 1694 "parser.yy"
    7363     { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    7364     break;
    7365 
    7366   case 456:
    7367 
    7368 /* Line 1806 of yacc.c  */
    7369 #line 1695 "parser.yy"
    7370     { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    7371     break;
    7372 
    7373   case 457:
    73747453
    73757454/* Line 1806 of yacc.c  */
     
    73787457    break;
    73797458
     7459  case 456:
     7460
     7461/* Line 1806 of yacc.c  */
     7462#line 1702 "parser.yy"
     7463    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7464    break;
     7465
     7466  case 457:
     7467
     7468/* Line 1806 of yacc.c  */
     7469#line 1704 "parser.yy"
     7470    { (yyval.in) = (yyvsp[(2) - (2)].in); }
     7471    break;
     7472
     7473  case 458:
     7474
     7475/* Line 1806 of yacc.c  */
     7476#line 1708 "parser.yy"
     7477    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
     7478    break;
     7479
    73807480  case 459:
    73817481
    73827482/* Line 1806 of yacc.c  */
    7383 #line 1702 "parser.yy"
     7483#line 1709 "parser.yy"
     7484    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
     7485    break;
     7486
     7487  case 460:
     7488
     7489/* Line 1806 of yacc.c  */
     7490#line 1714 "parser.yy"
     7491    { (yyval.in) = 0; }
     7492    break;
     7493
     7494  case 462:
     7495
     7496/* Line 1806 of yacc.c  */
     7497#line 1716 "parser.yy"
    73847498    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73857499    break;
    73867500
    7387   case 460:
    7388 
    7389 /* Line 1806 of yacc.c  */
    7390 #line 1703 "parser.yy"
     7501  case 463:
     7502
     7503/* Line 1806 of yacc.c  */
     7504#line 1717 "parser.yy"
    73917505    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    73927506    break;
    73937507
    7394   case 461:
    7395 
    7396 /* Line 1806 of yacc.c  */
    7397 #line 1705 "parser.yy"
     7508  case 464:
     7509
     7510/* Line 1806 of yacc.c  */
     7511#line 1719 "parser.yy"
    73987512    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73997513    break;
    74007514
    7401   case 463:
    7402 
    7403 /* Line 1806 of yacc.c  */
    7404 #line 1721 "parser.yy"
     7515  case 466:
     7516
     7517/* Line 1806 of yacc.c  */
     7518#line 1735 "parser.yy"
    74057519    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    74067520    break;
    74077521
    7408   case 465:
    7409 
    7410 /* Line 1806 of yacc.c  */
    7411 #line 1727 "parser.yy"
     7522  case 468:
     7523
     7524/* Line 1806 of yacc.c  */
     7525#line 1741 "parser.yy"
    74127526    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    74137527    break;
    74147528
    7415   case 466:
    7416 
    7417 /* Line 1806 of yacc.c  */
    7418 #line 1735 "parser.yy"
     7529  case 469:
     7530
     7531/* Line 1806 of yacc.c  */
     7532#line 1749 "parser.yy"
    74197533    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    74207534    break;
    74217535
    7422   case 467:
    7423 
    7424 /* Line 1806 of yacc.c  */
    7425 #line 1737 "parser.yy"
     7536  case 470:
     7537
     7538/* Line 1806 of yacc.c  */
     7539#line 1751 "parser.yy"
    74267540    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    74277541    break;
    74287542
    7429   case 468:
    7430 
    7431 /* Line 1806 of yacc.c  */
    7432 #line 1740 "parser.yy"
     7543  case 471:
     7544
     7545/* Line 1806 of yacc.c  */
     7546#line 1754 "parser.yy"
    74337547    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74347548    break;
    74357549
    7436   case 469:
    7437 
    7438 /* Line 1806 of yacc.c  */
    7439 #line 1742 "parser.yy"
     7550  case 472:
     7551
     7552/* Line 1806 of yacc.c  */
     7553#line 1756 "parser.yy"
    74407554    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    74417555    break;
    74427556
    7443   case 470:
    7444 
    7445 /* Line 1806 of yacc.c  */
    7446 #line 1744 "parser.yy"
     7557  case 473:
     7558
     7559/* Line 1806 of yacc.c  */
     7560#line 1758 "parser.yy"
    74477561    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    74487562    break;
    74497563
    7450   case 471:
    7451 
    7452 /* Line 1806 of yacc.c  */
    7453 #line 1746 "parser.yy"
     7564  case 474:
     7565
     7566/* Line 1806 of yacc.c  */
     7567#line 1760 "parser.yy"
    74547568    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    74557569    break;
    74567570
    7457   case 473:
    7458 
    7459 /* Line 1806 of yacc.c  */
    7460 #line 1770 "parser.yy"
     7571  case 476:
     7572
     7573/* Line 1806 of yacc.c  */
     7574#line 1784 "parser.yy"
    74617575    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74627576    break;
    74637577
    7464   case 474:
    7465 
    7466 /* Line 1806 of yacc.c  */
    7467 #line 1772 "parser.yy"
     7578  case 477:
     7579
     7580/* Line 1806 of yacc.c  */
     7581#line 1786 "parser.yy"
    74687582    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74697583    break;
    74707584
    7471   case 475:
    7472 
    7473 /* Line 1806 of yacc.c  */
    7474 #line 1774 "parser.yy"
     7585  case 478:
     7586
     7587/* Line 1806 of yacc.c  */
     7588#line 1788 "parser.yy"
    74757589    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74767590    break;
    74777591
    7478   case 477:
    7479 
    7480 /* Line 1806 of yacc.c  */
    7481 #line 1780 "parser.yy"
     7592  case 480:
     7593
     7594/* Line 1806 of yacc.c  */
     7595#line 1794 "parser.yy"
    74827596    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74837597    break;
    74847598
    7485   case 478:
    7486 
    7487 /* Line 1806 of yacc.c  */
    7488 #line 1782 "parser.yy"
     7599  case 481:
     7600
     7601/* Line 1806 of yacc.c  */
     7602#line 1796 "parser.yy"
    74897603    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74907604    break;
    74917605
    7492   case 479:
    7493 
    7494 /* Line 1806 of yacc.c  */
    7495 #line 1787 "parser.yy"
     7606  case 482:
     7607
     7608/* Line 1806 of yacc.c  */
     7609#line 1801 "parser.yy"
    74967610    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74977611    break;
    74987612
    7499   case 481:
    7500 
    7501 /* Line 1806 of yacc.c  */
    7502 #line 1793 "parser.yy"
     7613  case 484:
     7614
     7615/* Line 1806 of yacc.c  */
     7616#line 1807 "parser.yy"
    75037617    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75047618    break;
    75057619
    7506   case 482:
    7507 
    7508 /* Line 1806 of yacc.c  */
    7509 #line 1798 "parser.yy"
     7620  case 485:
     7621
     7622/* Line 1806 of yacc.c  */
     7623#line 1812 "parser.yy"
    75107624    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75117625    break;
    75127626
    7513   case 483:
    7514 
    7515 /* Line 1806 of yacc.c  */
    7516 #line 1800 "parser.yy"
     7627  case 486:
     7628
     7629/* Line 1806 of yacc.c  */
     7630#line 1814 "parser.yy"
    75177631    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75187632    break;
    75197633
    7520   case 485:
    7521 
    7522 /* Line 1806 of yacc.c  */
    7523 #line 1806 "parser.yy"
     7634  case 488:
     7635
     7636/* Line 1806 of yacc.c  */
     7637#line 1820 "parser.yy"
    75247638    { (yyval.tclass) = DeclarationNode::Type; }
    75257639    break;
    75267640
    7527   case 486:
    7528 
    7529 /* Line 1806 of yacc.c  */
    7530 #line 1808 "parser.yy"
     7641  case 489:
     7642
     7643/* Line 1806 of yacc.c  */
     7644#line 1822 "parser.yy"
    75317645    { (yyval.tclass) = DeclarationNode::Ftype; }
    75327646    break;
    75337647
    7534   case 487:
    7535 
    7536 /* Line 1806 of yacc.c  */
    7537 #line 1810 "parser.yy"
     7648  case 490:
     7649
     7650/* Line 1806 of yacc.c  */
     7651#line 1824 "parser.yy"
    75387652    { (yyval.tclass) = DeclarationNode::Dtype; }
    75397653    break;
    75407654
    7541   case 488:
    7542 
    7543 /* Line 1806 of yacc.c  */
    7544 #line 1815 "parser.yy"
    7545     { (yyval.decl) = 0; }
    7546     break;
    7547 
    7548   case 489:
    7549 
    7550 /* Line 1806 of yacc.c  */
    7551 #line 1817 "parser.yy"
    7552     { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    7553     break;
    7554 
    7555   case 490:
    7556 
    7557 /* Line 1806 of yacc.c  */
    7558 #line 1822 "parser.yy"
    7559     {
    7560                         typedefTable.openContext( *(yyvsp[(2) - (5)].tok) );
    7561                         (yyval.decl) = DeclarationNode::newContextUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
    7562                 }
    7563     break;
    7564 
    75657655  case 491:
    7566 
    7567 /* Line 1806 of yacc.c  */
    7568 #line 1827 "parser.yy"
    7569     { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    7570     break;
    7571 
    7572   case 492:
    75737656
    75747657/* Line 1806 of yacc.c  */
     
    75777660    break;
    75787661
     7662  case 492:
     7663
     7664/* Line 1806 of yacc.c  */
     7665#line 1831 "parser.yy"
     7666    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
     7667    break;
     7668
    75797669  case 493:
    75807670
    75817671/* Line 1806 of yacc.c  */
    7582 #line 1834 "parser.yy"
     7672#line 1836 "parser.yy"
     7673    {
     7674                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     7675                        (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) );
     7676                }
     7677    break;
     7678
     7679  case 494:
     7680
     7681/* Line 1806 of yacc.c  */
     7682#line 1841 "parser.yy"
     7683    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
     7684    break;
     7685
     7686  case 495:
     7687
     7688/* Line 1806 of yacc.c  */
     7689#line 1843 "parser.yy"
     7690    { (yyval.decl) = 0; }
     7691    break;
     7692
     7693  case 496:
     7694
     7695/* Line 1806 of yacc.c  */
     7696#line 1848 "parser.yy"
    75837697    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    75847698    break;
    75857699
    7586   case 495:
    7587 
    7588 /* Line 1806 of yacc.c  */
    7589 #line 1837 "parser.yy"
     7700  case 498:
     7701
     7702/* Line 1806 of yacc.c  */
     7703#line 1851 "parser.yy"
    75907704    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    75917705    break;
    75927706
    7593   case 496:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1839 "parser.yy"
     7707  case 499:
     7708
     7709/* Line 1806 of yacc.c  */
     7710#line 1853 "parser.yy"
    75977711    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    75987712    break;
    75997713
    7600   case 497:
    7601 
    7602 /* Line 1806 of yacc.c  */
    7603 #line 1844 "parser.yy"
     7714  case 500:
     7715
     7716/* Line 1806 of yacc.c  */
     7717#line 1858 "parser.yy"
    76047718    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76057719    break;
    76067720
    7607   case 498:
    7608 
    7609 /* Line 1806 of yacc.c  */
    7610 #line 1846 "parser.yy"
     7721  case 501:
     7722
     7723/* Line 1806 of yacc.c  */
     7724#line 1860 "parser.yy"
    76117725    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76127726    break;
    76137727
    7614   case 499:
    7615 
    7616 /* Line 1806 of yacc.c  */
    7617 #line 1848 "parser.yy"
     7728  case 502:
     7729
     7730/* Line 1806 of yacc.c  */
     7731#line 1862 "parser.yy"
    76187732    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76197733    break;
    76207734
    7621   case 500:
    7622 
    7623 /* Line 1806 of yacc.c  */
    7624 #line 1853 "parser.yy"
     7735  case 503:
     7736
     7737/* Line 1806 of yacc.c  */
     7738#line 1867 "parser.yy"
    76257739    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76267740    break;
    76277741
    7628   case 501:
    7629 
    7630 /* Line 1806 of yacc.c  */
    7631 #line 1855 "parser.yy"
     7742  case 504:
     7743
     7744/* Line 1806 of yacc.c  */
     7745#line 1869 "parser.yy"
    76327746    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76337747    break;
    76347748
    7635   case 502:
    7636 
    7637 /* Line 1806 of yacc.c  */
    7638 #line 1860 "parser.yy"
     7749  case 505:
     7750
     7751/* Line 1806 of yacc.c  */
     7752#line 1874 "parser.yy"
    76397753    {
    76407754                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76437757    break;
    76447758
    7645   case 503:
    7646 
    7647 /* Line 1806 of yacc.c  */
    7648 #line 1865 "parser.yy"
     7759  case 506:
     7760
     7761/* Line 1806 of yacc.c  */
     7762#line 1879 "parser.yy"
    76497763    {
    76507764                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76537767    break;
    76547768
    7655   case 504:
    7656 
    7657 /* Line 1806 of yacc.c  */
    7658 #line 1873 "parser.yy"
     7769  case 507:
     7770
     7771/* Line 1806 of yacc.c  */
     7772#line 1887 "parser.yy"
    76597773    {
    76607774                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
    7661                         (yyval.decl) = DeclarationNode::newContext( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
     7775                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 );
    76627776                }
    76637777    break;
    76647778
    7665   case 505:
    7666 
    7667 /* Line 1806 of yacc.c  */
    7668 #line 1878 "parser.yy"
     7779  case 508:
     7780
     7781/* Line 1806 of yacc.c  */
     7782#line 1892 "parser.yy"
    76697783    {
    7670                         typedefTable.enterContext( *(yyvsp[(2) - (8)].tok) );
     7784                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
    76717785                        typedefTable.enterScope();
    76727786                }
    76737787    break;
    76747788
    7675   case 506:
    7676 
    7677 /* Line 1806 of yacc.c  */
    7678 #line 1883 "parser.yy"
     7789  case 509:
     7790
     7791/* Line 1806 of yacc.c  */
     7792#line 1897 "parser.yy"
    76797793    {
    7680                         typedefTable.leaveContext();
     7794                        typedefTable.leaveTrait();
    76817795                        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) );
     7796                        (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) );
    76837797                }
    76847798    break;
    76857799
    7686   case 508:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1893 "parser.yy"
     7800  case 511:
     7801
     7802/* Line 1806 of yacc.c  */
     7803#line 1907 "parser.yy"
    76907804    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76917805    break;
    76927806
    7693   case 511:
    7694 
    7695 /* Line 1806 of yacc.c  */
    7696 #line 1903 "parser.yy"
     7807  case 514:
     7808
     7809/* Line 1806 of yacc.c  */
     7810#line 1917 "parser.yy"
    76977811    {
    76987812                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77017815    break;
    77027816
    7703   case 512:
    7704 
    7705 /* Line 1806 of yacc.c  */
    7706 #line 1908 "parser.yy"
     7817  case 515:
     7818
     7819/* Line 1806 of yacc.c  */
     7820#line 1922 "parser.yy"
    77077821    {
    77087822                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77117825    break;
    77127826
    7713   case 513:
    7714 
    7715 /* Line 1806 of yacc.c  */
    7716 #line 1913 "parser.yy"
     7827  case 516:
     7828
     7829/* Line 1806 of yacc.c  */
     7830#line 1927 "parser.yy"
    77177831    {
    77187832                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77217835    break;
    77227836
    7723   case 514:
    7724 
    7725 /* Line 1806 of yacc.c  */
    7726 #line 1921 "parser.yy"
     7837  case 517:
     7838
     7839/* Line 1806 of yacc.c  */
     7840#line 1935 "parser.yy"
    77277841    {
    77287842                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77317845    break;
    77327846
    7733   case 515:
    7734 
    7735 /* Line 1806 of yacc.c  */
    7736 #line 1926 "parser.yy"
     7847  case 518:
     7848
     7849/* Line 1806 of yacc.c  */
     7850#line 1940 "parser.yy"
    77377851    {
    77387852                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77417855    break;
    77427856
    7743   case 516:
    7744 
    7745 /* Line 1806 of yacc.c  */
    7746 #line 1936 "parser.yy"
     7857  case 519:
     7858
     7859/* Line 1806 of yacc.c  */
     7860#line 1950 "parser.yy"
    77477861    {}
    77487862    break;
    77497863
    7750   case 517:
    7751 
    7752 /* Line 1806 of yacc.c  */
    7753 #line 1938 "parser.yy"
     7864  case 520:
     7865
     7866/* Line 1806 of yacc.c  */
     7867#line 1952 "parser.yy"
    77547868    {
    77557869                        if ( theTree ) {
     
    77617875    break;
    77627876
    7763   case 519:
    7764 
    7765 /* Line 1806 of yacc.c  */
    7766 #line 1950 "parser.yy"
     7877  case 522:
     7878
     7879/* Line 1806 of yacc.c  */
     7880#line 1964 "parser.yy"
    77677881    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77687882    break;
    77697883
    7770   case 520:
    7771 
    7772 /* Line 1806 of yacc.c  */
    7773 #line 1955 "parser.yy"
     7884  case 523:
     7885
     7886/* Line 1806 of yacc.c  */
     7887#line 1969 "parser.yy"
    77747888    { (yyval.decl) = 0; }
    77757889    break;
    77767890
    7777   case 524:
    7778 
    7779 /* Line 1806 of yacc.c  */
    7780 #line 1963 "parser.yy"
     7891  case 527:
     7892
     7893/* Line 1806 of yacc.c  */
     7894#line 1977 "parser.yy"
    77817895    {}
    77827896    break;
    77837897
    7784   case 525:
    7785 
    7786 /* Line 1806 of yacc.c  */
    7787 #line 1965 "parser.yy"
     7898  case 528:
     7899
     7900/* Line 1806 of yacc.c  */
     7901#line 1979 "parser.yy"
    77887902    {
    77897903                        linkageStack.push( linkage );
     
    77927906    break;
    77937907
    7794   case 526:
    7795 
    7796 /* Line 1806 of yacc.c  */
    7797 #line 1970 "parser.yy"
     7908  case 529:
     7909
     7910/* Line 1806 of yacc.c  */
     7911#line 1984 "parser.yy"
    77987912    {
    77997913                        linkage = linkageStack.top();
     
    78037917    break;
    78047918
    7805   case 527:
    7806 
    7807 /* Line 1806 of yacc.c  */
    7808 #line 1976 "parser.yy"
     7919  case 530:
     7920
     7921/* Line 1806 of yacc.c  */
     7922#line 1990 "parser.yy"
    78097923    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78107924    break;
    78117925
    7812   case 529:
    7813 
    7814 /* Line 1806 of yacc.c  */
    7815 #line 1986 "parser.yy"
     7926  case 532:
     7927
     7928/* Line 1806 of yacc.c  */
     7929#line 2000 "parser.yy"
    78167930    {
    78177931                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78217935    break;
    78227936
    7823   case 530:
    7824 
    7825 /* Line 1806 of yacc.c  */
    7826 #line 1992 "parser.yy"
     7937  case 533:
     7938
     7939/* Line 1806 of yacc.c  */
     7940#line 2006 "parser.yy"
    78277941    {
    78287942                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78327946    break;
    78337947
    7834   case 531:
    7835 
    7836 /* Line 1806 of yacc.c  */
    7837 #line 2001 "parser.yy"
     7948  case 534:
     7949
     7950/* Line 1806 of yacc.c  */
     7951#line 2015 "parser.yy"
    78387952    {
    78397953                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78437957    break;
    78447958
    7845   case 532:
    7846 
    7847 /* Line 1806 of yacc.c  */
    7848 #line 2007 "parser.yy"
     7959  case 535:
     7960
     7961/* Line 1806 of yacc.c  */
     7962#line 2021 "parser.yy"
    78497963    {
    78507964                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78547968    break;
    78557969
    7856   case 533:
    7857 
    7858 /* Line 1806 of yacc.c  */
    7859 #line 2013 "parser.yy"
     7970  case 536:
     7971
     7972/* Line 1806 of yacc.c  */
     7973#line 2027 "parser.yy"
    78607974    {
    78617975                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78657979    break;
    78667980
    7867   case 534:
    7868 
    7869 /* Line 1806 of yacc.c  */
    7870 #line 2019 "parser.yy"
     7981  case 537:
     7982
     7983/* Line 1806 of yacc.c  */
     7984#line 2033 "parser.yy"
    78717985    {
    78727986                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78767990    break;
    78777991
    7878   case 535:
    7879 
    7880 /* Line 1806 of yacc.c  */
    7881 #line 2025 "parser.yy"
     7992  case 538:
     7993
     7994/* Line 1806 of yacc.c  */
     7995#line 2039 "parser.yy"
    78827996    {
    78837997                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78878001    break;
    78888002
    7889   case 536:
    7890 
    7891 /* Line 1806 of yacc.c  */
    7892 #line 2033 "parser.yy"
     8003  case 539:
     8004
     8005/* Line 1806 of yacc.c  */
     8006#line 2047 "parser.yy"
    78938007    {
    78948008                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78988012    break;
    78998013
    7900   case 537:
    7901 
    7902 /* Line 1806 of yacc.c  */
    7903 #line 2039 "parser.yy"
     8014  case 540:
     8015
     8016/* Line 1806 of yacc.c  */
     8017#line 2053 "parser.yy"
    79048018    {
    79058019                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79098023    break;
    79108024
    7911   case 538:
    7912 
    7913 /* Line 1806 of yacc.c  */
    7914 #line 2047 "parser.yy"
     8025  case 541:
     8026
     8027/* Line 1806 of yacc.c  */
     8028#line 2061 "parser.yy"
    79158029    {
    79168030                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79208034    break;
    79218035
    7922   case 539:
    7923 
    7924 /* Line 1806 of yacc.c  */
    7925 #line 2053 "parser.yy"
     8036  case 542:
     8037
     8038/* Line 1806 of yacc.c  */
     8039#line 2067 "parser.yy"
    79268040    {
    79278041                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79318045    break;
    79328046
    7933   case 543:
    7934 
    7935 /* Line 1806 of yacc.c  */
    7936 #line 2068 "parser.yy"
     8047  case 546:
     8048
     8049/* Line 1806 of yacc.c  */
     8050#line 2082 "parser.yy"
    79378051    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    79388052    break;
    79398053
    7940   case 546:
    7941 
    7942 /* Line 1806 of yacc.c  */
    7943 #line 2078 "parser.yy"
     8054  case 549:
     8055
     8056/* Line 1806 of yacc.c  */
     8057#line 2092 "parser.yy"
    79448058    { (yyval.decl) = 0; }
    79458059    break;
    79468060
    7947   case 549:
    7948 
    7949 /* Line 1806 of yacc.c  */
    7950 #line 2085 "parser.yy"
     8061  case 552:
     8062
     8063/* Line 1806 of yacc.c  */
     8064#line 2099 "parser.yy"
    79518065    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79528066    break;
    79538067
    7954   case 550:
    7955 
    7956 /* Line 1806 of yacc.c  */
    7957 #line 2091 "parser.yy"
     8068  case 553:
     8069
     8070/* Line 1806 of yacc.c  */
     8071#line 2105 "parser.yy"
    79588072    { (yyval.decl) = 0; }
    79598073    break;
    79608074
    7961   case 556:
    7962 
    7963 /* Line 1806 of yacc.c  */
    7964 #line 2106 "parser.yy"
     8075  case 559:
     8076
     8077/* Line 1806 of yacc.c  */
     8078#line 2120 "parser.yy"
    79658079    {}
    79668080    break;
    79678081
    7968   case 557:
    7969 
    7970 /* Line 1806 of yacc.c  */
    7971 #line 2107 "parser.yy"
     8082  case 560:
     8083
     8084/* Line 1806 of yacc.c  */
     8085#line 2121 "parser.yy"
    79728086    {}
    79738087    break;
    79748088
    7975   case 558:
    7976 
    7977 /* Line 1806 of yacc.c  */
    7978 #line 2108 "parser.yy"
     8089  case 561:
     8090
     8091/* Line 1806 of yacc.c  */
     8092#line 2122 "parser.yy"
    79798093    {}
    79808094    break;
    79818095
    7982   case 559:
    7983 
    7984 /* Line 1806 of yacc.c  */
    7985 #line 2109 "parser.yy"
     8096  case 562:
     8097
     8098/* Line 1806 of yacc.c  */
     8099#line 2123 "parser.yy"
    79868100    {}
    79878101    break;
    79888102
    7989   case 560:
    7990 
    7991 /* Line 1806 of yacc.c  */
    7992 #line 2144 "parser.yy"
     8103  case 563:
     8104
     8105/* Line 1806 of yacc.c  */
     8106#line 2158 "parser.yy"
    79938107    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79948108    break;
    79958109
    7996   case 562:
    7997 
    7998 /* Line 1806 of yacc.c  */
    7999 #line 2147 "parser.yy"
     8110  case 565:
     8111
     8112/* Line 1806 of yacc.c  */
     8113#line 2161 "parser.yy"
    80008114    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80018115    break;
    80028116
    8003   case 563:
    8004 
    8005 /* Line 1806 of yacc.c  */
    8006 #line 2149 "parser.yy"
     8117  case 566:
     8118
     8119/* Line 1806 of yacc.c  */
     8120#line 2163 "parser.yy"
    80078121    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80088122    break;
    80098123
    8010   case 564:
    8011 
    8012 /* Line 1806 of yacc.c  */
    8013 #line 2154 "parser.yy"
     8124  case 567:
     8125
     8126/* Line 1806 of yacc.c  */
     8127#line 2168 "parser.yy"
    80148128    {
    80158129                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80188132    break;
    80198133
    8020   case 565:
    8021 
    8022 /* Line 1806 of yacc.c  */
    8023 #line 2159 "parser.yy"
     8134  case 568:
     8135
     8136/* Line 1806 of yacc.c  */
     8137#line 2173 "parser.yy"
    80248138    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80258139    break;
    80268140
    8027   case 566:
    8028 
    8029 /* Line 1806 of yacc.c  */
    8030 #line 2164 "parser.yy"
     8141  case 569:
     8142
     8143/* Line 1806 of yacc.c  */
     8144#line 2178 "parser.yy"
    80318145    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80328146    break;
    80338147
    8034   case 567:
    8035 
    8036 /* Line 1806 of yacc.c  */
    8037 #line 2166 "parser.yy"
     8148  case 570:
     8149
     8150/* Line 1806 of yacc.c  */
     8151#line 2180 "parser.yy"
    80388152    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80398153    break;
    80408154
    8041   case 568:
    8042 
    8043 /* Line 1806 of yacc.c  */
    8044 #line 2168 "parser.yy"
     8155  case 571:
     8156
     8157/* Line 1806 of yacc.c  */
     8158#line 2182 "parser.yy"
    80458159    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80468160    break;
    80478161
    8048   case 569:
    8049 
    8050 /* Line 1806 of yacc.c  */
    8051 #line 2173 "parser.yy"
     8162  case 572:
     8163
     8164/* Line 1806 of yacc.c  */
     8165#line 2187 "parser.yy"
    80528166    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80538167    break;
    80548168
    8055   case 570:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2175 "parser.yy"
     8169  case 573:
     8170
     8171/* Line 1806 of yacc.c  */
     8172#line 2189 "parser.yy"
    80598173    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80608174    break;
    80618175
    8062   case 571:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2177 "parser.yy"
     8176  case 574:
     8177
     8178/* Line 1806 of yacc.c  */
     8179#line 2191 "parser.yy"
    80668180    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80678181    break;
    80688182
    8069   case 572:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2179 "parser.yy"
     8183  case 575:
     8184
     8185/* Line 1806 of yacc.c  */
     8186#line 2193 "parser.yy"
    80738187    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80748188    break;
    80758189
    8076   case 573:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2184 "parser.yy"
     8190  case 576:
     8191
     8192/* Line 1806 of yacc.c  */
     8193#line 2198 "parser.yy"
    80808194    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80818195    break;
    80828196
    8083   case 574:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2186 "parser.yy"
     8197  case 577:
     8198
     8199/* Line 1806 of yacc.c  */
     8200#line 2200 "parser.yy"
    80878201    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80888202    break;
    80898203
    8090   case 575:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2196 "parser.yy"
     8204  case 578:
     8205
     8206/* Line 1806 of yacc.c  */
     8207#line 2210 "parser.yy"
    80948208    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80958209    break;
    80968210
    8097   case 577:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2199 "parser.yy"
     8211  case 580:
     8212
     8213/* Line 1806 of yacc.c  */
     8214#line 2213 "parser.yy"
    81018215    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81028216    break;
    81038217
    8104   case 578:
    8105 
    8106 /* Line 1806 of yacc.c  */
    8107 #line 2204 "parser.yy"
     8218  case 581:
     8219
     8220/* Line 1806 of yacc.c  */
     8221#line 2218 "parser.yy"
    81088222    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81098223    break;
    81108224
    8111   case 579:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2206 "parser.yy"
     8225  case 582:
     8226
     8227/* Line 1806 of yacc.c  */
     8228#line 2220 "parser.yy"
    81158229    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81168230    break;
    81178231
    8118   case 580:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2208 "parser.yy"
     8232  case 583:
     8233
     8234/* Line 1806 of yacc.c  */
     8235#line 2222 "parser.yy"
    81228236    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81238237    break;
    81248238
    8125   case 581:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2213 "parser.yy"
     8239  case 584:
     8240
     8241/* Line 1806 of yacc.c  */
     8242#line 2227 "parser.yy"
    81298243    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81308244    break;
    81318245
    8132   case 582:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2215 "parser.yy"
     8246  case 585:
     8247
     8248/* Line 1806 of yacc.c  */
     8249#line 2229 "parser.yy"
    81368250    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81378251    break;
    81388252
    8139   case 583:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2217 "parser.yy"
     8253  case 586:
     8254
     8255/* Line 1806 of yacc.c  */
     8256#line 2231 "parser.yy"
    81438257    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81448258    break;
    81458259
    8146   case 584:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2222 "parser.yy"
     8260  case 587:
     8261
     8262/* Line 1806 of yacc.c  */
     8263#line 2236 "parser.yy"
    81508264    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81518265    break;
    81528266
    8153   case 585:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2224 "parser.yy"
     8267  case 588:
     8268
     8269/* Line 1806 of yacc.c  */
     8270#line 2238 "parser.yy"
    81578271    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81588272    break;
    81598273
    8160   case 586:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2226 "parser.yy"
     8274  case 589:
     8275
     8276/* Line 1806 of yacc.c  */
     8277#line 2240 "parser.yy"
    81648278    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81658279    break;
    81668280
    8167   case 590:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2241 "parser.yy"
     8281  case 593:
     8282
     8283/* Line 1806 of yacc.c  */
     8284#line 2255 "parser.yy"
    81718285    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81728286    break;
    81738287
    8174   case 591:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2243 "parser.yy"
     8288  case 594:
     8289
     8290/* Line 1806 of yacc.c  */
     8291#line 2257 "parser.yy"
    81788292    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    81798293    break;
    81808294
    8181   case 592:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2245 "parser.yy"
     8295  case 595:
     8296
     8297/* Line 1806 of yacc.c  */
     8298#line 2259 "parser.yy"
    81858299    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81868300    break;
    81878301
    8188   case 593:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2250 "parser.yy"
     8302  case 596:
     8303
     8304/* Line 1806 of yacc.c  */
     8305#line 2264 "parser.yy"
    81928306    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81938307    break;
    81948308
    8195   case 594:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2252 "parser.yy"
     8309  case 597:
     8310
     8311/* Line 1806 of yacc.c  */
     8312#line 2266 "parser.yy"
    81998313    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82008314    break;
    82018315
    8202   case 595:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2254 "parser.yy"
     8316  case 598:
     8317
     8318/* Line 1806 of yacc.c  */
     8319#line 2268 "parser.yy"
    82068320    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82078321    break;
    82088322
    8209   case 596:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2259 "parser.yy"
     8323  case 599:
     8324
     8325/* Line 1806 of yacc.c  */
     8326#line 2273 "parser.yy"
    82138327    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82148328    break;
    82158329
    8216   case 597:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2261 "parser.yy"
     8330  case 600:
     8331
     8332/* Line 1806 of yacc.c  */
     8333#line 2275 "parser.yy"
    82208334    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82218335    break;
    82228336
    8223   case 598:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2263 "parser.yy"
     8337  case 601:
     8338
     8339/* Line 1806 of yacc.c  */
     8340#line 2277 "parser.yy"
    82278341    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82288342    break;
    82298343
    8230   case 599:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2278 "parser.yy"
     8344  case 602:
     8345
     8346/* Line 1806 of yacc.c  */
     8347#line 2292 "parser.yy"
    82348348    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82358349    break;
    82368350
    8237   case 601:
    8238 
    8239 /* Line 1806 of yacc.c  */
    8240 #line 2281 "parser.yy"
     8351  case 604:
     8352
     8353/* Line 1806 of yacc.c  */
     8354#line 2295 "parser.yy"
    82418355    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82428356    break;
    82438357
    8244   case 602:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2283 "parser.yy"
     8358  case 605:
     8359
     8360/* Line 1806 of yacc.c  */
     8361#line 2297 "parser.yy"
    82488362    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82498363    break;
    82508364
    8251   case 604:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2289 "parser.yy"
     8365  case 607:
     8366
     8367/* Line 1806 of yacc.c  */
     8368#line 2303 "parser.yy"
    82558369    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82568370    break;
    82578371
    8258   case 605:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2294 "parser.yy"
     8372  case 608:
     8373
     8374/* Line 1806 of yacc.c  */
     8375#line 2308 "parser.yy"
    82628376    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82638377    break;
    82648378
    8265   case 606:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2296 "parser.yy"
     8379  case 609:
     8380
     8381/* Line 1806 of yacc.c  */
     8382#line 2310 "parser.yy"
    82698383    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82708384    break;
    82718385
    8272   case 607:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2298 "parser.yy"
     8386  case 610:
     8387
     8388/* Line 1806 of yacc.c  */
     8389#line 2312 "parser.yy"
    82768390    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82778391    break;
    82788392
    8279   case 608:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2303 "parser.yy"
     8393  case 611:
     8394
     8395/* Line 1806 of yacc.c  */
     8396#line 2317 "parser.yy"
    82838397    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82848398    break;
    82858399
    8286   case 609:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2305 "parser.yy"
     8400  case 612:
     8401
     8402/* Line 1806 of yacc.c  */
     8403#line 2319 "parser.yy"
    82908404    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82918405    break;
    82928406
    8293   case 610:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2307 "parser.yy"
     8407  case 613:
     8408
     8409/* Line 1806 of yacc.c  */
     8410#line 2321 "parser.yy"
    82978411    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82988412    break;
    82998413
    8300   case 611:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2309 "parser.yy"
     8414  case 614:
     8415
     8416/* Line 1806 of yacc.c  */
     8417#line 2323 "parser.yy"
    83048418    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83058419    break;
    83068420
    8307   case 612:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2314 "parser.yy"
     8421  case 615:
     8422
     8423/* Line 1806 of yacc.c  */
     8424#line 2328 "parser.yy"
    83118425    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83128426    break;
    83138427
    8314   case 613:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2316 "parser.yy"
     8428  case 616:
     8429
     8430/* Line 1806 of yacc.c  */
     8431#line 2330 "parser.yy"
    83188432    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83198433    break;
    83208434
    8321   case 614:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2318 "parser.yy"
     8435  case 617:
     8436
     8437/* Line 1806 of yacc.c  */
     8438#line 2332 "parser.yy"
    83258439    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83268440    break;
    83278441
    8328   case 615:
    8329 
    8330 /* Line 1806 of yacc.c  */
    8331 #line 2328 "parser.yy"
     8442  case 618:
     8443
     8444/* Line 1806 of yacc.c  */
     8445#line 2342 "parser.yy"
    83328446    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83338447    break;
    83348448
    8335   case 617:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2331 "parser.yy"
     8449  case 620:
     8450
     8451/* Line 1806 of yacc.c  */
     8452#line 2345 "parser.yy"
    83398453    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83408454    break;
    83418455
    8342   case 618:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2333 "parser.yy"
     8456  case 621:
     8457
     8458/* Line 1806 of yacc.c  */
     8459#line 2347 "parser.yy"
    83468460    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83478461    break;
    83488462
    8349   case 619:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2338 "parser.yy"
     8463  case 622:
     8464
     8465/* Line 1806 of yacc.c  */
     8466#line 2352 "parser.yy"
    83538467    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83548468    break;
    83558469
    8356   case 620:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2340 "parser.yy"
     8470  case 623:
     8471
     8472/* Line 1806 of yacc.c  */
     8473#line 2354 "parser.yy"
    83608474    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83618475    break;
    83628476
    8363   case 621:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2342 "parser.yy"
     8477  case 624:
     8478
     8479/* Line 1806 of yacc.c  */
     8480#line 2356 "parser.yy"
    83678481    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83688482    break;
    83698483
    8370   case 622:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2347 "parser.yy"
     8484  case 625:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2361 "parser.yy"
    83748488    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83758489    break;
    83768490
    8377   case 623:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2349 "parser.yy"
     8491  case 626:
     8492
     8493/* Line 1806 of yacc.c  */
     8494#line 2363 "parser.yy"
    83818495    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83828496    break;
    83838497
    8384   case 624:
    8385 
    8386 /* Line 1806 of yacc.c  */
    8387 #line 2351 "parser.yy"
     8498  case 627:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2365 "parser.yy"
    83888502    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83898503    break;
    83908504
    8391   case 625:
    8392 
    8393 /* Line 1806 of yacc.c  */
    8394 #line 2353 "parser.yy"
     8505  case 628:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2367 "parser.yy"
    83958509    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83968510    break;
    83978511
    8398   case 626:
    8399 
    8400 /* Line 1806 of yacc.c  */
    8401 #line 2358 "parser.yy"
     8512  case 629:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2372 "parser.yy"
    84028516    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84038517    break;
    84048518
    8405   case 627:
    8406 
    8407 /* Line 1806 of yacc.c  */
    8408 #line 2360 "parser.yy"
     8519  case 630:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2374 "parser.yy"
    84098523    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84108524    break;
    84118525
    8412   case 628:
    8413 
    8414 /* Line 1806 of yacc.c  */
    8415 #line 2362 "parser.yy"
     8526  case 631:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2376 "parser.yy"
    84168530    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84178531    break;
    84188532
    8419   case 629:
    8420 
    8421 /* Line 1806 of yacc.c  */
    8422 #line 2393 "parser.yy"
     8533  case 632:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2407 "parser.yy"
    84238537    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84248538    break;
    84258539
    8426   case 631:
    8427 
    8428 /* Line 1806 of yacc.c  */
    8429 #line 2396 "parser.yy"
     8540  case 634:
     8541
     8542/* Line 1806 of yacc.c  */
     8543#line 2410 "parser.yy"
    84308544    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84318545    break;
    84328546
    8433   case 632:
    8434 
    8435 /* Line 1806 of yacc.c  */
    8436 #line 2398 "parser.yy"
     8547  case 635:
     8548
     8549/* Line 1806 of yacc.c  */
     8550#line 2412 "parser.yy"
    84378551    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84388552    break;
    84398553
    8440   case 633:
    8441 
    8442 /* Line 1806 of yacc.c  */
    8443 #line 2403 "parser.yy"
     8554  case 636:
     8555
     8556/* Line 1806 of yacc.c  */
     8557#line 2417 "parser.yy"
    84448558    {
    84458559                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84488562    break;
    84498563
    8450   case 634:
    8451 
    8452 /* Line 1806 of yacc.c  */
    8453 #line 2408 "parser.yy"
     8564  case 637:
     8565
     8566/* Line 1806 of yacc.c  */
     8567#line 2422 "parser.yy"
    84548568    {
    84558569                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84588572    break;
    84598573
    8460   case 635:
    8461 
    8462 /* Line 1806 of yacc.c  */
    8463 #line 2416 "parser.yy"
     8574  case 638:
     8575
     8576/* Line 1806 of yacc.c  */
     8577#line 2430 "parser.yy"
    84648578    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84658579    break;
    84668580
    8467   case 636:
    8468 
    8469 /* Line 1806 of yacc.c  */
    8470 #line 2418 "parser.yy"
     8581  case 639:
     8582
     8583/* Line 1806 of yacc.c  */
     8584#line 2432 "parser.yy"
    84718585    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84728586    break;
    84738587
    8474   case 637:
    8475 
    8476 /* Line 1806 of yacc.c  */
    8477 #line 2420 "parser.yy"
     8588  case 640:
     8589
     8590/* Line 1806 of yacc.c  */
     8591#line 2434 "parser.yy"
    84788592    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84798593    break;
    84808594
    8481   case 638:
    8482 
    8483 /* Line 1806 of yacc.c  */
    8484 #line 2425 "parser.yy"
     8595  case 641:
     8596
     8597/* Line 1806 of yacc.c  */
     8598#line 2439 "parser.yy"
    84858599    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84868600    break;
    84878601
    8488   case 639:
    8489 
    8490 /* Line 1806 of yacc.c  */
    8491 #line 2427 "parser.yy"
     8602  case 642:
     8603
     8604/* Line 1806 of yacc.c  */
     8605#line 2441 "parser.yy"
    84928606    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84938607    break;
    84948608
    8495   case 640:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2432 "parser.yy"
     8609  case 643:
     8610
     8611/* Line 1806 of yacc.c  */
     8612#line 2446 "parser.yy"
    84998613    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85008614    break;
    85018615
    8502   case 641:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2434 "parser.yy"
     8616  case 644:
     8617
     8618/* Line 1806 of yacc.c  */
     8619#line 2448 "parser.yy"
    85068620    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85078621    break;
    85088622
    8509   case 643:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2449 "parser.yy"
     8623  case 646:
     8624
     8625/* Line 1806 of yacc.c  */
     8626#line 2463 "parser.yy"
    85138627    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85148628    break;
    85158629
    8516   case 644:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2451 "parser.yy"
     8630  case 647:
     8631
     8632/* Line 1806 of yacc.c  */
     8633#line 2465 "parser.yy"
    85208634    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85218635    break;
    85228636
    8523   case 645:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2456 "parser.yy"
     8637  case 648:
     8638
     8639/* Line 1806 of yacc.c  */
     8640#line 2470 "parser.yy"
    85278641    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85288642    break;
    85298643
    8530   case 646:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2458 "parser.yy"
     8644  case 649:
     8645
     8646/* Line 1806 of yacc.c  */
     8647#line 2472 "parser.yy"
    85348648    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85358649    break;
    85368650
    8537   case 647:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2460 "parser.yy"
     8651  case 650:
     8652
     8653/* Line 1806 of yacc.c  */
     8654#line 2474 "parser.yy"
    85418655    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85428656    break;
    85438657
    8544   case 648:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2462 "parser.yy"
     8658  case 651:
     8659
     8660/* Line 1806 of yacc.c  */
     8661#line 2476 "parser.yy"
    85488662    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85498663    break;
    85508664
    8551   case 649:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2464 "parser.yy"
     8665  case 652:
     8666
     8667/* Line 1806 of yacc.c  */
     8668#line 2478 "parser.yy"
    85558669    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85568670    break;
    85578671
    8558   case 651:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2470 "parser.yy"
     8672  case 654:
     8673
     8674/* Line 1806 of yacc.c  */
     8675#line 2484 "parser.yy"
    85628676    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85638677    break;
    85648678
    8565   case 652:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2472 "parser.yy"
     8679  case 655:
     8680
     8681/* Line 1806 of yacc.c  */
     8682#line 2486 "parser.yy"
    85698683    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85708684    break;
    85718685
    8572   case 653:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2474 "parser.yy"
     8686  case 656:
     8687
     8688/* Line 1806 of yacc.c  */
     8689#line 2488 "parser.yy"
    85768690    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85778691    break;
    85788692
    8579   case 654:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2479 "parser.yy"
     8693  case 657:
     8694
     8695/* Line 1806 of yacc.c  */
     8696#line 2493 "parser.yy"
    85838697    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    85848698    break;
    85858699
    8586   case 655:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2481 "parser.yy"
     8700  case 658:
     8701
     8702/* Line 1806 of yacc.c  */
     8703#line 2495 "parser.yy"
    85908704    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85918705    break;
    85928706
    8593   case 656:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2483 "parser.yy"
     8707  case 659:
     8708
     8709/* Line 1806 of yacc.c  */
     8710#line 2497 "parser.yy"
    85978711    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85988712    break;
    85998713
    8600   case 657:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2489 "parser.yy"
     8714  case 660:
     8715
     8716/* Line 1806 of yacc.c  */
     8717#line 2503 "parser.yy"
    86048718    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86058719    break;
    86068720
    8607   case 658:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2491 "parser.yy"
     8721  case 661:
     8722
     8723/* Line 1806 of yacc.c  */
     8724#line 2505 "parser.yy"
    86118725    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86128726    break;
    86138727
    8614   case 660:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2497 "parser.yy"
     8728  case 663:
     8729
     8730/* Line 1806 of yacc.c  */
     8731#line 2511 "parser.yy"
    86188732    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    86198733    break;
    86208734
    8621   case 661:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2499 "parser.yy"
     8735  case 664:
     8736
     8737/* Line 1806 of yacc.c  */
     8738#line 2513 "parser.yy"
    86258739    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    86268740    break;
    86278741
    8628   case 662:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2501 "parser.yy"
     8742  case 665:
     8743
     8744/* Line 1806 of yacc.c  */
     8745#line 2515 "parser.yy"
    86328746    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    86338747    break;
    86348748
    8635   case 663:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2503 "parser.yy"
     8749  case 666:
     8750
     8751/* Line 1806 of yacc.c  */
     8752#line 2517 "parser.yy"
    86398753    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86408754    break;
    86418755
    8642   case 665:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2518 "parser.yy"
     8756  case 668:
     8757
     8758/* Line 1806 of yacc.c  */
     8759#line 2532 "parser.yy"
    86468760    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86478761    break;
    86488762
    8649   case 666:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2520 "parser.yy"
     8763  case 669:
     8764
     8765/* Line 1806 of yacc.c  */
     8766#line 2534 "parser.yy"
    86538767    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86548768    break;
    86558769
    8656   case 667:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2525 "parser.yy"
     8770  case 670:
     8771
     8772/* Line 1806 of yacc.c  */
     8773#line 2539 "parser.yy"
    86608774    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86618775    break;
    86628776
    8663   case 668:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2527 "parser.yy"
     8777  case 671:
     8778
     8779/* Line 1806 of yacc.c  */
     8780#line 2541 "parser.yy"
    86678781    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86688782    break;
    86698783
    8670   case 669:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2529 "parser.yy"
     8784  case 672:
     8785
     8786/* Line 1806 of yacc.c  */
     8787#line 2543 "parser.yy"
    86748788    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86758789    break;
    86768790
    8677   case 670:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2531 "parser.yy"
     8791  case 673:
     8792
     8793/* Line 1806 of yacc.c  */
     8794#line 2545 "parser.yy"
    86818795    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86828796    break;
    86838797
    8684   case 671:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2533 "parser.yy"
     8798  case 674:
     8799
     8800/* Line 1806 of yacc.c  */
     8801#line 2547 "parser.yy"
    86888802    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86898803    break;
    86908804
    8691   case 673:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2539 "parser.yy"
     8805  case 676:
     8806
     8807/* Line 1806 of yacc.c  */
     8808#line 2553 "parser.yy"
    86958809    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86968810    break;
    86978811
    8698   case 674:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2541 "parser.yy"
     8812  case 677:
     8813
     8814/* Line 1806 of yacc.c  */
     8815#line 2555 "parser.yy"
    87028816    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87038817    break;
    87048818
    8705   case 675:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2543 "parser.yy"
     8819  case 678:
     8820
     8821/* Line 1806 of yacc.c  */
     8822#line 2557 "parser.yy"
    87098823    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87108824    break;
    87118825
    8712   case 676:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2548 "parser.yy"
     8826  case 679:
     8827
     8828/* Line 1806 of yacc.c  */
     8829#line 2562 "parser.yy"
    87168830    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    87178831    break;
    87188832
    8719   case 677:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2550 "parser.yy"
     8833  case 680:
     8834
     8835/* Line 1806 of yacc.c  */
     8836#line 2564 "parser.yy"
    87238837    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87248838    break;
    87258839
    8726   case 678:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2552 "parser.yy"
     8840  case 681:
     8841
     8842/* Line 1806 of yacc.c  */
     8843#line 2566 "parser.yy"
    87308844    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87318845    break;
    87328846
    8733   case 680:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2559 "parser.yy"
     8847  case 683:
     8848
     8849/* Line 1806 of yacc.c  */
     8850#line 2573 "parser.yy"
    87378851    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87388852    break;
    87398853
    8740   case 682:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2570 "parser.yy"
     8854  case 685:
     8855
     8856/* Line 1806 of yacc.c  */
     8857#line 2584 "parser.yy"
    87448858    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87458859    break;
    87468860
    8747   case 683:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2573 "parser.yy"
     8861  case 686:
     8862
     8863/* Line 1806 of yacc.c  */
     8864#line 2587 "parser.yy"
    87518865    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87528866    break;
    87538867
    8754   case 684:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2575 "parser.yy"
     8868  case 687:
     8869
     8870/* Line 1806 of yacc.c  */
     8871#line 2589 "parser.yy"
    87588872    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87598873    break;
    87608874
    8761   case 685:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2578 "parser.yy"
     8875  case 688:
     8876
     8877/* Line 1806 of yacc.c  */
     8878#line 2592 "parser.yy"
    87658879    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87668880    break;
    87678881
    8768   case 686:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2580 "parser.yy"
     8882  case 689:
     8883
     8884/* Line 1806 of yacc.c  */
     8885#line 2594 "parser.yy"
    87728886    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    87738887    break;
    87748888
    8775   case 687:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2582 "parser.yy"
     8889  case 690:
     8890
     8891/* Line 1806 of yacc.c  */
     8892#line 2596 "parser.yy"
    87798893    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    87808894    break;
    87818895
    8782   case 689:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2596 "parser.yy"
     8896  case 692:
     8897
     8898/* Line 1806 of yacc.c  */
     8899#line 2610 "parser.yy"
    87868900    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87878901    break;
    87888902
    8789   case 690:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2598 "parser.yy"
     8903  case 693:
     8904
     8905/* Line 1806 of yacc.c  */
     8906#line 2612 "parser.yy"
    87938907    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87948908    break;
    87958909
    8796   case 691:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2603 "parser.yy"
     8910  case 694:
     8911
     8912/* Line 1806 of yacc.c  */
     8913#line 2617 "parser.yy"
    88008914    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    88018915    break;
    88028916
    8803   case 692:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2605 "parser.yy"
     8917  case 695:
     8918
     8919/* Line 1806 of yacc.c  */
     8920#line 2619 "parser.yy"
    88078921    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88088922    break;
    88098923
    8810   case 693:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2607 "parser.yy"
     8924  case 696:
     8925
     8926/* Line 1806 of yacc.c  */
     8927#line 2621 "parser.yy"
    88148928    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    88158929    break;
    88168930
    8817   case 694:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2609 "parser.yy"
     8931  case 697:
     8932
     8933/* Line 1806 of yacc.c  */
     8934#line 2623 "parser.yy"
    88218935    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88228936    break;
    88238937
    8824   case 695:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2611 "parser.yy"
     8938  case 698:
     8939
     8940/* Line 1806 of yacc.c  */
     8941#line 2625 "parser.yy"
    88288942    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88298943    break;
    88308944
    8831   case 697:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2617 "parser.yy"
     8945  case 700:
     8946
     8947/* Line 1806 of yacc.c  */
     8948#line 2631 "parser.yy"
    88358949    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88368950    break;
    88378951
    8838   case 698:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2619 "parser.yy"
     8952  case 701:
     8953
     8954/* Line 1806 of yacc.c  */
     8955#line 2633 "parser.yy"
    88428956    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88438957    break;
    88448958
    8845   case 699:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2621 "parser.yy"
     8959  case 702:
     8960
     8961/* Line 1806 of yacc.c  */
     8962#line 2635 "parser.yy"
    88498963    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88508964    break;
    88518965
    8852   case 700:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2626 "parser.yy"
     8966  case 703:
     8967
     8968/* Line 1806 of yacc.c  */
     8969#line 2640 "parser.yy"
    88568970    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88578971    break;
    88588972
    8859   case 701:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2628 "parser.yy"
     8973  case 704:
     8974
     8975/* Line 1806 of yacc.c  */
     8976#line 2642 "parser.yy"
    88638977    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88648978    break;
    88658979
    8866   case 704:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2638 "parser.yy"
     8980  case 707:
     8981
     8982/* Line 1806 of yacc.c  */
     8983#line 2652 "parser.yy"
    88708984    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88718985    break;
    88728986
    8873   case 707:
    8874 
    8875 /* Line 1806 of yacc.c  */
    8876 #line 2648 "parser.yy"
     8987  case 710:
     8988
     8989/* Line 1806 of yacc.c  */
     8990#line 2662 "parser.yy"
    88778991    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88788992    break;
    88798993
    8880   case 708:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2650 "parser.yy"
     8994  case 711:
     8995
     8996/* Line 1806 of yacc.c  */
     8997#line 2664 "parser.yy"
    88848998    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88858999    break;
    88869000
    8887   case 709:
    8888 
    8889 /* Line 1806 of yacc.c  */
    8890 #line 2652 "parser.yy"
     9001  case 712:
     9002
     9003/* Line 1806 of yacc.c  */
     9004#line 2666 "parser.yy"
    88919005    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88929006    break;
    88939007
    8894   case 710:
    8895 
    8896 /* Line 1806 of yacc.c  */
    8897 #line 2654 "parser.yy"
     9008  case 713:
     9009
     9010/* Line 1806 of yacc.c  */
     9011#line 2668 "parser.yy"
    88989012    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88999013    break;
    89009014
    8901   case 711:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2656 "parser.yy"
     9015  case 714:
     9016
     9017/* Line 1806 of yacc.c  */
     9018#line 2670 "parser.yy"
    89059019    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89069020    break;
    89079021
    8908   case 712:
    8909 
    8910 /* Line 1806 of yacc.c  */
    8911 #line 2658 "parser.yy"
     9022  case 715:
     9023
     9024/* Line 1806 of yacc.c  */
     9025#line 2672 "parser.yy"
    89129026    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89139027    break;
    89149028
    8915   case 713:
    8916 
    8917 /* Line 1806 of yacc.c  */
    8918 #line 2665 "parser.yy"
     9029  case 716:
     9030
     9031/* Line 1806 of yacc.c  */
     9032#line 2679 "parser.yy"
    89199033    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89209034    break;
    89219035
    8922   case 714:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2667 "parser.yy"
     9036  case 717:
     9037
     9038/* Line 1806 of yacc.c  */
     9039#line 2681 "parser.yy"
    89269040    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89279041    break;
    89289042
    8929   case 715:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2669 "parser.yy"
     9043  case 718:
     9044
     9045/* Line 1806 of yacc.c  */
     9046#line 2683 "parser.yy"
    89339047    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89349048    break;
    89359049
    8936   case 716:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2671 "parser.yy"
     9050  case 719:
     9051
     9052/* Line 1806 of yacc.c  */
     9053#line 2685 "parser.yy"
    89409054    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89419055    break;
    89429056
    8943   case 717:
    8944 
    8945 /* Line 1806 of yacc.c  */
    8946 #line 2673 "parser.yy"
     9057  case 720:
     9058
     9059/* Line 1806 of yacc.c  */
     9060#line 2687 "parser.yy"
    89479061    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89489062    break;
    89499063
    8950   case 718:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2675 "parser.yy"
     9064  case 721:
     9065
     9066/* Line 1806 of yacc.c  */
     9067#line 2689 "parser.yy"
    89549068    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89559069    break;
    89569070
    8957   case 719:
    8958 
    8959 /* Line 1806 of yacc.c  */
    8960 #line 2677 "parser.yy"
     9071  case 722:
     9072
     9073/* Line 1806 of yacc.c  */
     9074#line 2691 "parser.yy"
    89619075    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89629076    break;
    89639077
    8964   case 720:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2679 "parser.yy"
     9078  case 723:
     9079
     9080/* Line 1806 of yacc.c  */
     9081#line 2693 "parser.yy"
    89689082    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89699083    break;
    89709084
    8971   case 721:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2681 "parser.yy"
     9085  case 724:
     9086
     9087/* Line 1806 of yacc.c  */
     9088#line 2695 "parser.yy"
    89759089    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89769090    break;
    89779091
    8978   case 722:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2683 "parser.yy"
     9092  case 725:
     9093
     9094/* Line 1806 of yacc.c  */
     9095#line 2697 "parser.yy"
    89829096    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89839097    break;
    89849098
    8985   case 723:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2688 "parser.yy"
     9099  case 726:
     9100
     9101/* Line 1806 of yacc.c  */
     9102#line 2702 "parser.yy"
    89899103    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89909104    break;
    89919105
    8992   case 724:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2690 "parser.yy"
     9106  case 727:
     9107
     9108/* Line 1806 of yacc.c  */
     9109#line 2704 "parser.yy"
    89969110    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89979111    break;
    89989112
    8999   case 725:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2695 "parser.yy"
     9113  case 728:
     9114
     9115/* Line 1806 of yacc.c  */
     9116#line 2709 "parser.yy"
    90039117    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    90049118    break;
    90059119
    9006   case 726:
    9007 
    9008 /* Line 1806 of yacc.c  */
    9009 #line 2697 "parser.yy"
     9120  case 729:
     9121
     9122/* Line 1806 of yacc.c  */
     9123#line 2711 "parser.yy"
    90109124    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90119125    break;
    90129126
    9013   case 728:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2724 "parser.yy"
     9127  case 731:
     9128
     9129/* Line 1806 of yacc.c  */
     9130#line 2738 "parser.yy"
    90179131    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90189132    break;
    90199133
    9020   case 732:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2735 "parser.yy"
     9134  case 735:
     9135
     9136/* Line 1806 of yacc.c  */
     9137#line 2749 "parser.yy"
    90249138    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90259139    break;
    90269140
    9027   case 733:
    9028 
    9029 /* Line 1806 of yacc.c  */
    9030 #line 2737 "parser.yy"
     9141  case 736:
     9142
     9143/* Line 1806 of yacc.c  */
     9144#line 2751 "parser.yy"
    90319145    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90329146    break;
    90339147
    9034   case 734:
    9035 
    9036 /* Line 1806 of yacc.c  */
    9037 #line 2739 "parser.yy"
     9148  case 737:
     9149
     9150/* Line 1806 of yacc.c  */
     9151#line 2753 "parser.yy"
    90389152    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90399153    break;
    90409154
    9041   case 735:
    9042 
    9043 /* Line 1806 of yacc.c  */
    9044 #line 2741 "parser.yy"
     9155  case 738:
     9156
     9157/* Line 1806 of yacc.c  */
     9158#line 2755 "parser.yy"
    90459159    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90469160    break;
    90479161
    9048   case 736:
    9049 
    9050 /* Line 1806 of yacc.c  */
    9051 #line 2743 "parser.yy"
     9162  case 739:
     9163
     9164/* Line 1806 of yacc.c  */
     9165#line 2757 "parser.yy"
    90529166    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90539167    break;
    90549168
    9055   case 737:
    9056 
    9057 /* Line 1806 of yacc.c  */
    9058 #line 2745 "parser.yy"
     9169  case 740:
     9170
     9171/* Line 1806 of yacc.c  */
     9172#line 2759 "parser.yy"
    90599173    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90609174    break;
    90619175
    9062   case 738:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2752 "parser.yy"
     9176  case 741:
     9177
     9178/* Line 1806 of yacc.c  */
     9179#line 2766 "parser.yy"
    90669180    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90679181    break;
    90689182
    9069   case 739:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2754 "parser.yy"
     9183  case 742:
     9184
     9185/* Line 1806 of yacc.c  */
     9186#line 2768 "parser.yy"
    90739187    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90749188    break;
    90759189
    9076   case 740:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2756 "parser.yy"
     9190  case 743:
     9191
     9192/* Line 1806 of yacc.c  */
     9193#line 2770 "parser.yy"
    90809194    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90819195    break;
    90829196
    9083   case 741:
    9084 
    9085 /* Line 1806 of yacc.c  */
    9086 #line 2758 "parser.yy"
     9197  case 744:
     9198
     9199/* Line 1806 of yacc.c  */
     9200#line 2772 "parser.yy"
    90879201    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90889202    break;
    90899203
    9090   case 742:
    9091 
    9092 /* Line 1806 of yacc.c  */
    9093 #line 2760 "parser.yy"
     9204  case 745:
     9205
     9206/* Line 1806 of yacc.c  */
     9207#line 2774 "parser.yy"
    90949208    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90959209    break;
    90969210
    9097   case 743:
    9098 
    9099 /* Line 1806 of yacc.c  */
    9100 #line 2762 "parser.yy"
     9211  case 746:
     9212
     9213/* Line 1806 of yacc.c  */
     9214#line 2776 "parser.yy"
    91019215    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91029216    break;
    91039217
    9104   case 744:
    9105 
    9106 /* Line 1806 of yacc.c  */
    9107 #line 2767 "parser.yy"
     9218  case 747:
     9219
     9220/* Line 1806 of yacc.c  */
     9221#line 2781 "parser.yy"
    91089222    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91099223    break;
    91109224
    9111   case 745:
    9112 
    9113 /* Line 1806 of yacc.c  */
    9114 #line 2772 "parser.yy"
     9225  case 748:
     9226
     9227/* Line 1806 of yacc.c  */
     9228#line 2786 "parser.yy"
    91159229    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    91169230    break;
    91179231
    9118   case 746:
    9119 
    9120 /* Line 1806 of yacc.c  */
    9121 #line 2774 "parser.yy"
     9232  case 749:
     9233
     9234/* Line 1806 of yacc.c  */
     9235#line 2788 "parser.yy"
    91229236    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91239237    break;
    91249238
    9125   case 747:
    9126 
    9127 /* Line 1806 of yacc.c  */
    9128 #line 2776 "parser.yy"
     9239  case 750:
     9240
     9241/* Line 1806 of yacc.c  */
     9242#line 2790 "parser.yy"
    91299243    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    91309244    break;
    91319245
    9132   case 750:
    9133 
    9134 /* Line 1806 of yacc.c  */
    9135 #line 2800 "parser.yy"
     9246  case 753:
     9247
     9248/* Line 1806 of yacc.c  */
     9249#line 2814 "parser.yy"
    91369250    { (yyval.en) = 0; }
    91379251    break;
    91389252
    9139   case 751:
    9140 
    9141 /* Line 1806 of yacc.c  */
    9142 #line 2802 "parser.yy"
     9253  case 754:
     9254
     9255/* Line 1806 of yacc.c  */
     9256#line 2816 "parser.yy"
    91439257    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91449258    break;
     
    91479261
    91489262/* Line 1806 of yacc.c  */
    9149 #line 9150 "Parser/parser.cc"
     9263#line 9264 "Parser/parser.cc"
    91509264      default: break;
    91519265    }
     
    93789492
    93799493/* Line 2067 of yacc.c  */
    9380 #line 2805 "parser.yy"
     9494#line 2819 "parser.yy"
    93819495
    93829496// ----end of grammar----
     
    93859499        std::cout << "Error ";
    93869500        if ( yyfilename ) {
    9387             std::cout << "in file " << yyfilename << " ";
     9501                std::cout << "in file " << yyfilename << " ";
    93889502        } // if
    93899503        std::cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << std::endl;
Note: See TracChangeset for help on using the changeset viewer.